hyperframes 0.7.98 → 0.7.100

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.98" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.100" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -58575,7 +58575,7 @@ var RUNTIME_IIFE;
58575
58575
  var init_runtime_inline = __esm({
58576
58576
  "../core/dist/generated/runtime-inline.js"() {
58577
58577
  "use strict";
58578
- RUNTIME_IIFE = '"use strict";(()=>{var fd=Object.create;var Jr=Object.defineProperty;var md=Object.getOwnPropertyDescriptor;var pd=Object.getOwnPropertyNames;var hd=Object.getPrototypeOf,gd=Object.prototype.hasOwnProperty;var xd=(e,t,n)=>t in e?Jr(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 bd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of pd(t))!gd.call(e,i)&&i!==n&&Jr(e,i,{get:()=>t[i],enumerable:!(r=md(t,i))||r.enumerable});return e};var yd=(e,t,n)=>(n=e!=null?fd(hd(e)):{},bd(t||!e||!e.__esModule?Jr(n,"default",{value:e,enumerable:!0}):n,e));var he=(e,t,n)=>xd(e,typeof t!="symbol"?t+"":t,n);var Ps=Z((qb,Bi)=>{var K=String,Is=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};Bi.exports=Is();Bi.exports.createColors=Is});var Ui=Z(()=>{});var ir=Z((Yb,Hs)=>{"use strict";var Os=Ps(),Gs=Ui(),dn=class e extends Error{constructor(t,n,r,i,o,a){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),a&&(this.plugin=a),typeof n<"u"&&typeof r<"u"&&(typeof n=="number"?(this.line=n,this.column=r):(this.line=n.line,this.column=n.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",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=Os.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Os.createColors(!0);i=x=>c(f(x)),r=x=>m(x),Gs&&(o=x=>Gs(x))}let a=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let E=20,S=Math.max(0,this.column-E),w=Math.max(this.column+E,this.endColumn+E),T=c.slice(S,w),k=r(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return i(">")+r(x)+o(T)+`\n `+k+i("^")}let y=r(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return i(">")+r(x)+o(c)+`\n `+y+i("^")}return" "+r(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Hs.exports=dn;dn.default=dn});var Wi=Z((Xb,Us)=>{"use strict";var pm=/(<)(\\/?style\\b)/gi,hm=/(<)(!--)/g;function ot(e){return typeof e!="string"||!e.includes("<")?e:e.replace(pm,"\\\\3c $2").replace(hm,"\\\\3c $2")}var Bs={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function gm(e){return e[0].toUpperCase()+e.slice(1)}var fn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(ot(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`\n`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(ot(n+r)+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(ot(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:ot(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(ot("/*"+n+t.text+r+"*/"),t)}decl(t,n){let r=t.raws,i=this.raw(t,"between","colon"),o=t.prop+i+this.rawValue(t,"value");t.important&&(o+=r.important||" !important"),n&&(o+=";"),this.builder(ot(o),t)}document(t){this.body(t)}raw(t,n,r){let i;if(r||(r=n),n&&(i=t.raws[n],typeof i<"u"))return i;let o=t.parent;if(r==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Bs[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+gm(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=Bs[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let r;return t.walkComments(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeDecl"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeDecl(t,n){let r;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeRule"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeOpen(t){let n;return t.walk(r=>{if(r.type!=="decl"&&(n=r.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&typeof r.raws.before<"u")return n=r.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(r=>{if(typeof r.raws.between<"u")return n=r.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length===0&&(n=r.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof r.raws.before<"u"){let o=r.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:ot(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(ot(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)}};Us.exports=fn;fn.default=fn});var mn=Z((Jb,Ws)=>{"use strict";var xm=Wi();function Vi(e,t){new xm(t).stringify(e)}Ws.exports=Vi;Vi.default=Vi});var or=Z((Qb,zi)=>{"use strict";zi.exports.isClean=Symbol("isClean");zi.exports.my=Symbol("my")});var gn=Z((Zb,Vs)=>{"use strict";var bm=ir(),ym=Wi(),Sm=mn(),{isClean:pn,my:vm}=or();function $i(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>$i(a,n)):(o==="object"&&i!==null&&(i=$i(i)),n[r]=i)}return n}function Je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,r=1,i=0;for(let o=0;o<e.length;o++){if(r===t.line&&n===t.column){i=o;break}e[o]===`\n`?(n=1,r+=1):n+=1}return i}var hn=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[pn]=!1,this[vm]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}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=$i(this);for(let r in t)n[r]=t[r];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:r,start:i}=this.rangeBy(n);return this.source.input.error(t,{column:i.column,line:i.line},{column:r.column,line:r.line},n)}return new bm(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[pn]=!0}markDirty(){if(this[pn]){this[pn]=!1;let t=this;for(;t=t.parent;)t[pn]=!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 r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(Je(r,this.source.start),Je(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=Je(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`\n`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}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,r={column:this.source.start.column,line:this.source.start.line,offset:Je(n,this.source.start)},i=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:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(Je(n,this.source.start),Je(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:Je(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:Je(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new ym().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,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Sm){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};Vs.exports=hn;hn.default=hn});var bn=Z((ey,zs)=>{"use strict";var Em=gn(),xn=class extends Em{constructor(t){super(t),this.type="comment"}};zs.exports=xn;xn.default=xn});var Sn=Z((ty,$s)=>{"use strict";var Cm=gn(),yn=class extends Cm{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"}};$s.exports=yn;yn.default=yn});var at=Z((ny,el)=>{"use strict";var qs=bn(),js=Sn(),_m=gn(),{isClean:Ks,my:Ys}=or(),qi,Xs,Js,ji;function Qs(e){return e.map(t=>(t.nodes&&(t.nodes=Qs(t.nodes)),delete t.source,t))}function Zs(e){if(e[Ks]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Zs(t)}var Ue=class e extends _m{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 r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}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(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}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")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(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 r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Qs(Xs(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"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 js(t)]}else if(t.selector||t.selectors)t=[new ji(t)];else if(t.name)t=[new qi(t)];else if(t.text)t=[new qs(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Ys]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Ks]&&Zs(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.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 r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};Ue.registerParse=e=>{Xs=e};Ue.registerRule=e=>{ji=e};Ue.registerAtRule=e=>{qi=e};Ue.registerRoot=e=>{Js=e};el.exports=Ue;Ue.default=Ue;Ue.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,qi.prototype):e.type==="rule"?Object.setPrototypeOf(e,ji.prototype):e.type==="decl"?Object.setPrototypeOf(e,js.prototype):e.type==="comment"?Object.setPrototypeOf(e,qs.prototype):e.type==="root"&&Object.setPrototypeOf(e,Js.prototype),e[Ys]=!0,e.nodes&&e.nodes.forEach(t=>{Ue.rebuild(t)})}});var ar=Z((ry,nl)=>{"use strict";var tl=at(),Dt=class extends tl{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)}};nl.exports=Dt;Dt.default=Dt;tl.registerAtRule(Dt)});var sr=Z((iy,ol)=>{"use strict";var Am=at(),rl,il,xt=class extends Am{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new rl(new il,this,t).stringify()}};xt.registerLazyResult=e=>{rl=e};xt.registerProcessor=e=>{il=e};ol.exports=xt;xt.default=xt});var sl=Z((oy,al)=>{var wm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Tm=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Rm=(e=21)=>{let t="",n=e|0;for(;n--;)t+=wm[Math.random()*64|0];return t};al.exports={nanoid:Rm,customAlphabet:Tm}});var lr=Z(()=>{});var ur=Z(()=>{});var Ki=Z(()=>{});var ll=Z(()=>{});var Xi=Z((py,dl)=>{"use strict";var{existsSync:Fm,readFileSync:Lm}=ll(),{dirname:Yi,join:Nm}=lr(),{SourceMapConsumer:ul,SourceMapGenerator:cl}=ur();function km(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var vn=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 r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Yi(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ul(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return km(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}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 r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Yi(t),Fm(t)))return this.mapFile=t,Lm(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 r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof ul)return cl.fromSourceMap(n).toString();if(n instanceof cl)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 r=this.annotation;t&&(r=Nm(Yi(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};dl.exports=vn;vn.default=vn});var En=Z((hy,gl)=>{"use strict";var{nanoid:Mm}=sl(),{isAbsolute:Zi,resolve:eo}=lr(),{SourceMapConsumer:Dm,SourceMapGenerator:Im}=ur(),{fileURLToPath:fl,pathToFileURL:cr}=Ki(),ml=ir(),Pm=Xi(),Ji=Ui(),Qi=Symbol("lineToIndexCache"),Om=!!(Dm&&Im),pl=!!(eo&&Zi);function hl(e){if(e[Qi])return e[Qi];let t=e.css.split(`\n`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[Qi]=n,n}var It=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&&(!pl||/^\\w+:\\/\\//.test(n.from)||Zi(n.from)?this.file=n.from:this.file=eo(n.from)),pl&&Om){let r=new Pm(this.css,n);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+Mm(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let x=this.fromOffset(s);n=x.line,r=x.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);a=x.line,o=x.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let c=this.origin(n,r,a,o);return c?u=new ml(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,i.plugin):u=new ml(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(cr&&(u.input.url=cr(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return hl(this)[t-1]+n-1}fromOffset(t){let n=hl(this),r=n[n.length-1],i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,a;for(;i<o;)if(a=i+(o-i>>1),t<n[a])o=a-1;else if(t>=n[a+1])i=a+1;else{i=a;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:eo(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;Zi(a.source)?s=cr(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||cr(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(fl)u.file=fl(s);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(a.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}};gl.exports=It;It.default=It;Ji&&Ji.registerInput&&Ji.registerInput(It)});var Pt=Z((gy,Sl)=>{"use strict";var xl=at(),bl,yl,st=class extends xl{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="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 i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new bl(new yl,this,t).stringify()}};st.registerLazyResult=e=>{bl=e};st.registerProcessor=e=>{yl=e};Sl.exports=st;st.default=st;xl.registerRoot(st)});var to=Z((xy,vl)=>{"use strict";var Cn={comma(e){return Cn.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Cn.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===s&&(l=!1):c===\'"\'||c==="\'"?(l=!0,s=c):c==="("?a+=1:c===")"?a>0&&(a-=1):a===0&&t.includes(c)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=c;return(n||i!=="")&&r.push(i.trim()),r}};vl.exports=Cn;Cn.default=Cn});var dr=Z((by,Cl)=>{"use strict";var El=at(),Gm=to(),Ot=class extends El{get selectors(){return Gm.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};Cl.exports=Ot;Ot.default=Ot;El.registerRule(Ot)});var Al=Z((yy,_l)=>{"use strict";var Hm=ar(),Bm=bn(),Um=Sn(),Wm=En(),Vm=Xi(),zm=Pt(),$m=dr();function _n(e,t){if(Array.isArray(e))return e.map(i=>_n(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:Wm.prototype};o.map&&(o.map={...o.map,__proto__:Vm.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>_n(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new zm(r);if(r.type==="decl")return new Um(r);if(r.type==="rule")return new $m(r);if(r.type==="comment")return new Bm(r);if(r.type==="atrule")return new Hm(r);throw new Error("Unknown node type: "+e.type)}_l.exports=_n;_n.default=_n});var ro=Z((Sy,Nl)=>{"use strict";var{dirname:fr,relative:Tl,resolve:Rl,sep:Fl}=lr(),{SourceMapConsumer:Ll,SourceMapGenerator:mr}=ur(),{pathToFileURL:wl}=Ki(),qm=En(),jm=!!(Ll&&mr),Km=!!(fr&&Rl&&Tl&&Fl),no=class{constructor(t,n,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r,this.css=i,this.originalCSS=i,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)),r=t.root||fr(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Ll(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}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(),Km&&jm&&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=mr.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new mr({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 mr({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\\n/g),a?(t+=a.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}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 r=this.opts.to?fr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=fr(Rl(r,this.mapOpts.annotation)));let i=Tl(r,t);return this.memoizedPaths.set(t,i),i}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 qm(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 r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,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(wl){let r=wl(t).toString();return this.memoizedFileURLs.set(t,r),r}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;Fl==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Nl.exports=no});var Dl=Z((vy,Ml)=>{"use strict";var pr=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,hr=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Ym=/.[\\r\\n"\'(/\\\\]/,kl=/[\\da-f]/i;Ml.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,x,y,E=r.length,S=0,w=[],T=[],k=-1;function D(){return S}function P(A){throw t.error("Unclosed "+A,S)}function _(){return T.length===0&&S>=E}function b(A){if(T.length)return T.pop();if(S>=E)return;let R=A?A.ignoreUnclosed:!1;switch(o=r.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{s=S;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(S,s)],S=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let N=String.fromCharCode(o);c=[N,N,S];break}case 40:{if(y=w.length?w.pop()[1]:"",x=r.charCodeAt(S+1),y==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){s=S;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||R){s=S;break}else P("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(S,s+1),S,s],S=s}else S<=k?c=["(","(",S]:(s=r.indexOf(")",S+1),a=r.slice(S,s+1),s===-1||Ym.test(a)?(k=s===-1?E:s,c=["(","(",S]):(c=["brackets",a,S,s],S=s));break}case 39:case 34:{u=o===39?"\'":\'"\',s=S;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||R){s=S+1;break}else P("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(S,s+1),S,s],S=s;break}case 64:{pr.lastIndex=S+1,pr.test(r),pr.lastIndex===0?s=r.length-1:s=pr.lastIndex-2,c=["at-word",r.slice(S,s+1),S,s],S=s;break}case 92:{for(s=S,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,kl.test(r.charAt(s)))){for(;kl.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(S,s+1),S,s],S=s;break}default:{o===47&&r.charCodeAt(S+1)===42?(s=r.indexOf("*/",S+2)+1,s===0&&(i||R?s=r.length:P("comment")),c=["comment",r.slice(S,s+1),S,s],S=s):(hr.lastIndex=S+1,hr.test(r),hr.lastIndex===0?s=r.length-1:s=hr.lastIndex-2,c=["word",r.slice(S,s+1),S,s],w.push(c),S=s);break}}return S++,c}function v(A){T.push(A)}return{back:v,endOfFile:_,nextToken:b,position:D}}});var Gl=Z((Ey,Ol)=>{"use strict";var Xm=ar(),Jm=bn(),Qm=Sn(),Zm=Pt(),Il=dr(),ep=Dl(),Pl={empty:!0,space:!0};function tp(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var io=class{constructor(t){this.input=t,this.root=new Zm,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 Xm;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.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 r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new Jm;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=ep(this.input)}decl(t,n){let r=new Qm;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||tp(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.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("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.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 Il;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,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}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,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Pl[m]&&!Pl[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((x,y)=>x+y[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Il;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}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})}};Ol.exports=io});var xr=Z((Cy,Hl)=>{"use strict";var np=at(),rp=En(),ip=Gl();function gr(e,t){let n=new rp(e,t),r=new ip(n);try{r.parse()}catch(i){throw i}return r.root}Hl.exports=gr;gr.default=gr;np.registerParse(gr)});var oo=Z((_y,Bl)=>{"use strict";var An=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}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}};Bl.exports=An;An.default=An});var br=Z((Ay,Ul)=>{"use strict";var op=oo(),wn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,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 r=new op(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};Ul.exports=wn;wn.default=wn});var ao=Z((wy,Vl)=>{"use strict";var Wl={};Vl.exports=function(t){Wl[t]||(Wl[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var uo=Z((Ry,jl)=>{"use strict";var ap=at(),sp=sr(),lp=ro(),up=xr(),zl=br(),cp=Pt(),dp=mn(),{isClean:Ke,my:fp}=or(),Ty=ao(),mp={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},pp={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},hp={Once:!0,postcssPlugin:!0,prepare:!0},Gt=0;function Tn(e){return typeof e=="object"&&typeof e.then=="function"}function ql(e){let t=!1,n=mp[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Gt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Gt,n+"Exit"]:[n,n+"Exit"]}function $l(e){let t;return e.type==="document"?t=["Document",Gt,"DocumentExit"]:e.type==="root"?t=["Root",Gt,"RootExit"]:t=ql(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function so(e){return e[Ke]=!1,e.nodes&&e.nodes.forEach(t=>so(t)),e}var lo={},lt=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,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=so(n);else if(n instanceof e||n instanceof zl)i=so(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=up;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[fp]&&ap.rebuild(i)}this.result=new zl(t,i,r),this.helpers={...lo,postcss:lo,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 r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!pp[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!hp[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}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],r=this.runOnRoot(n);if(Tn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];){t[Ke]=!0;let n=[$l(t)];for(;n.length>0;){let r=this.visitTick(n);if(Tn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}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(r=>t.Once(r,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=dp;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new lp(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[Ke];)t[Ke]=!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[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,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:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ke]){l[Ke]=!0,t.push($l(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Gt){r.nodes&&r.nodes.length&&(r[Ke]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ke]=!0;let n=ql(t);for(let r of n)if(r===Gt)t.nodes&&t.each(i=>{i[Ke]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};lt.registerPostcss=e=>{lo=e};jl.exports=lt;lt.default=lt;cp.registerLazyResult(lt);sp.registerLazyResult(lt)});var Yl=Z((Ly,Kl)=>{"use strict";var gp=ro(),xp=xr(),bp=br(),yp=mn(),Fy=ao(),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=xp;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=yp;this.result=new bp(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new gp(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.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[]}};Kl.exports=Rn;Rn.default=Rn});var Jl=Z((Ny,Xl)=>{"use strict";var Sp=sr(),vp=uo(),Ep=Yl(),Cp=Pt(),bt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Ep(this,t,n):new vp(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Xl.exports=bt;bt.default=bt;Cp.registerProcessor(bt);Sp.registerProcessor(bt)});var ou=Z((ky,iu)=>{"use strict";var Ql=ar(),Zl=bn(),_p=at(),Ap=ir(),eu=Sn(),tu=sr(),wp=Al(),Tp=En(),Rp=uo(),Fp=to(),Lp=gn(),Np=xr(),co=Jl(),kp=br(),nu=Pt(),ru=dr(),Mp=mn(),Dp=oo();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new co(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!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(...a);return l.postcssPlugin=t,l.postcssVersion=new co().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return le([i(s)]).process(a,l)},i};le.stringify=Mp;le.parse=Np;le.fromJSON=wp;le.list=Fp;le.comment=e=>new Zl(e);le.atRule=e=>new Ql(e);le.decl=e=>new eu(e);le.rule=e=>new ru(e);le.root=e=>new nu(e);le.document=e=>new tu(e);le.CssSyntaxError=Ap;le.Declaration=eu;le.Container=_p;le.Processor=co;le.Document=tu;le.Comment=Zl;le.Warning=Dp;le.AtRule=Ql;le.Result=kp;le.Input=Tp;le.Rule=ru;le.Root=nu;le.Node=Lp;Rp.registerPostcss(le);iu.exports=le;le.default=le});function Wn(){return globalThis}function F(e,t){if(typeof window>"u")return;let n=Wn(),r=n.__hf?.onSwallowed;if(r)try{r({label:e,error:t})}catch(i){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}var Sd=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function vd(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let i=n%r;n=r,r=i}return n||1}function Ed(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=vd(r,n);return{numerator:r/i,denominator:n/i}}function Qr(e){if(typeof e!="object"||e===null)return null;let t=e;return!Number.isFinite(t.numerator)||!Number.isFinite(t.denominator)||(t.numerator??0)<=0||(t.denominator??0)<=0?null:Number(t.numerator)/Number(t.denominator)}function Vn(e){return{protocolVersion:1,capabilities:Sd,fps:Ed(e)}}function Cd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function la(e,t=30){if(typeof e!="object"||e===null)return{status:"legacy",fps:t};let n=e;if(n.protocolVersion===void 0)return{status:"legacy",fps:t};if(n.protocolVersion!==1)return{status:"unsupported",code:"unsupported_protocol_version",receivedVersion:n.protocolVersion};let r=Qr(n.fps);return r===null||!Cd(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var ua=30;function ca(e){ua=Number.isFinite(e)&&e>0?e:30}function xe(e){try{window.parent.postMessage({...e,...Vn(ua)},"*")}catch(t){F("bridge.postMessage",t)}}var _d={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Ad(e,t),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=>Td(e)};function Ad(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Qr(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function wd(e){let t=la(e);return t.status!=="unsupported"?!1:(xe({source:"hf-preview",type:"diagnostic",code:`runtime.protocol.${t.code}`,details:{receivedVersion:typeof t.receivedVersion=="string"||typeof t.receivedVersion=="number"?t.receivedVersion:null}}),!0)}function Td(e){let t=e.selectors,n=e.duration||800;t&&Rd(t,n)}function da(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||wd(r))return;let i=r.action;if(typeof i!="string")return;let o=_d[i];o&&o(r,e)};return window.addEventListener("message",t),xe({source:"hf-preview",type:"ready"}),t}function Rd(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(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){F("bridge.flashElements.querySelector",r)}}var Zr=null;function fa(e){Zr=e}function Ne(e,t){if(Zr)try{Zr({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){F("runtime.analytics.site1",n)}}function Fd(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function At(e){return`--${Fd(e)}`}function ma(e){let t=new Map;for(let n of e){let r=At(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function pa(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let r of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(r);let t={};for(let r of e)Object.assign(t,Qt(r));let n=$n();return{...t,...n}}function Qt(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 r={};for(let i of n){if(!i||typeof i!="object")continue;let o=i;typeof o.id!="string"||!("default"in o)||(r[o.id]=o.default)}return r}var ei="data-hf-css-vars";function zn(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ti(e,t){if(!zn(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=At(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(ei,n.join(" "))}function ha(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=At(i);((zn(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function ga(e){if(!zn(e))return;let t=e.getAttribute(ei);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ei)}}function xa(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=$n(),r=[];for(let i of t)r.push(...Ld(i,n,e.defaultView));for(let i of ma(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${At(i[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Ld(e,t,n){if(!zn(e))return[];let r=Qt(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=At(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return ti(e,i),Object.keys(r)}function ba(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 $n(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ya(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){F("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){F("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){F("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){F("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){F("runtime.adapters.css.site4",m)}},s=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=r(c.el);for(let f of n(c.el)){let x=i(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=r(m.el),x=Math.max(0,c-f)*1e3,y=m.animations;if(y.length>0){o(y,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),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Sa(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function va(){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??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){F("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 r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){F("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){F("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){F("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Ca(){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??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){F("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 r of n)try{if(ni(r))r.goToAndStop(t*1e3,!1);else if(ri(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){F("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(ni(t)||ri(t))&&t.pause()}catch(n){F("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 r of e){let i=null;try{i=Nd(r)}catch(o){F("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function Ea(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Nd(e){return ni(e)?Ea(e.totalFrames,e.frameRate):ri(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Ea(e.totalFrames,e.frameRate):null}function ni(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ri(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var ii=-1,qn=new Set,wt,oi=0;function _a(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){F("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));qn.add(i),i.then(o=>{qn.delete(i)&&o.status==="rejected"&&wt===void 0&&(wt={reason:o.reason})})}function jn(e){e!==ii&&(ii=e,_a(e))}function Kn(e){ii=e,_a(e)}function Aa(){return oi>0}async function ai(){oi+=1;let e=wt;try{for(await Promise.resolve();qn.size>0;){let r=(await Promise.all([...qn])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=wt;if(e===void 0&&(e=t),wt===t&&(wt=void 0),e)throw e.reason}finally{oi-=1}}function wa(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{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{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,jn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function $e(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Ta(){return $e({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 Ra(){return $e({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 Fa(){return $e({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 La(){return $e({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 Na(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var kd=250;function ka(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(Aa()||(window.__hfTypegpuTime=e,Kn(e)))},kd))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,jn(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}function Ma(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 Da(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=Ma(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Ia(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=Ma(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Pa(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=S=>{let w=Number(S.currentTime);return Number.isFinite(w)&&w>0?w:0},c=(S,w)=>w<=0?S:S>=w?Math.max(0,S-w):S,m=(S,w)=>{let T=l.get(S);if(T)return T;let k={compositionTimeMs:w,animationTimeMs:e?c(u(S),w):u(S)};return l.set(S,k),k},f=(S,w)=>{if(!a.has(S)){a.add(S);let T=()=>{a.delete(S)};try{S.addEventListener("finish",T,{once:!0}),S.addEventListener("cancel",T,{once:!0})}catch(k){F("runtime.adapters.waapi.site4",k)}}m(S,w)},x=(S,w)=>{for(let T of S)f(T,w)},y=()=>{if(n||typeof Element>"u")return;let S=Element.prototype;if(typeof S.animate!="function"||S.__hfOriginalAnimate)return;let w=S.animate;try{Object.defineProperty(S,"__hfOriginalAnimate",{value:w,configurable:!0});let T=function(...k){let D=w.apply(this,k);return f(D,t),D};S.animate=T,r=S,i=w,o=T,n=!0}catch{}},E=S=>{let w=null;try{w=S.effect?.getComputedTiming?.()??null}catch(D){F("runtime.adapters.waapi.site4",D)}if(!w)return{};let T=Number(w.endTime);return Number.isFinite(T)?{endSeconds:(l.get(S)?.compositionTimeMs??0)/1e3+T/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,y(),x(s(),t)},seek:S=>{let w=Math.max(0,(Number(S.time)||0)*1e3);t=w,(!e||a.size>0)&&x(s(),e?w:0);for(let T of a){let k=e?m(T,w):m(T,0),D=k.animationTimeMs+Math.max(0,w-k.compositionTimeMs);try{T.currentTime=D}catch(P){F("runtime.adapters.waapi.site1",P)}try{T.pause()}catch(P){F("runtime.adapters.waapi.site2",P)}}},pause:()=>{e||x(s(),t);for(let S of a)try{S.pause()}catch(w){F("runtime.adapters.waapi.site3",w)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(S){F("runtime.adapters.waapi.site5",S)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let S=0;for(let w of s()){let T=E(w);T.endSeconds!=null&&(S=Math.max(S,T.endSeconds))}return S>0?S:null}}}function Oa(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function Md(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function Yn(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Dd(e,t){let n=Yn(e.dataset.start)??0,r=Yn(e.dataset.end),i=Yn(e.dataset.duration),o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Yn(e.dataset.volume)??1,l=Math.max(0,Math.min(1,a));return{start:n,end:o,staticVolume:l}}function Id(e,t,n,r){let{start:i,end:o,staticVolume:a}=Dd(e,n);e.volume=a;let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=[],m;for(let x=s;x<=u+1e-6;x=Math.min(u,x+l)){t(x);let y=Number(e.volume);if(Number.isFinite(y)){let E=Math.max(0,Math.min(1,y)),S={time:Number(x.toFixed(6)),volume:Number(E.toFixed(6))};Md(c,m,S,x===u),m=S}if(x===u)break}return c.some(x=>Math.abs(x.volume-a)>1e-4)?c:null}function Ga(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Id(e,o,n,60);Number.isFinite(a)&&o(a),l&&r.set(e,l)}function Ha(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function qe(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Ha(n)}function Rt(e){let t=Number.parseFloat(e.getAttribute("data-playback-start")??e.getAttribute("data-media-start")??"");return Number.isFinite(t)&&t>=0?t:0}function Ba(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>0);return n.length>0?Math.min(...n):null}function Ua(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Number.parseFloat(a.dataset.playbackStart??a.dataset.mediaStart??"0")||0,u=qe(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-s)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,y=Number.parseFloat(a.dataset.volume??""),E={el:a,start:l,mediaStart:s,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(y)?y:null,playbackRate:u,loop:c,sourceDuration:m};r.push(E),a.tagName==="VIDEO"&&i.push(E),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var si=new WeakMap,en=new WeakMap,li=new WeakSet,Tt=new WeakSet;function Pd(e){if(Tt.has(e))return;Tt.add(e);let t=()=>Tt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Od=3;function Gd(e){return e.error!=null||e.networkState===Od}var ui=new WeakMap;function Zt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function ci(e){si.delete(e),en.delete(e),li.delete(e),ui.delete(e)}function Wa(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let U=n.sourceDuration-n.mediaStart;U>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%U)}let u=Zt(e.userVolume??1),c=Zt(n.volume??1),m=ui.get(r),f=Zt(r.volume),x;n.volumeKeyframes&&n.volumeKeyframes.length>0?x=Zt(Oa(n.volumeKeyframes,i)):m===void 0||Math.abs(f-m)>1e-4?x=f:x=c;let y=Zt(x*u);r.volume=y,ui.set(r,y),e.onElementVolume?.(r,y),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(U){F("runtime.media.site1",U)}let E=.04,S=2,w=r.currentTime||0,T=Math.abs(w-i),k=i-w,D=si.get(r);si.set(r,k);let P=D===void 0,_=!P&&Math.abs(k-D)>.5,b=T>3,v=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(P||_||b),A=r.tagName==="VIDEO"&&!r.paused,R=D!==void 0&&Math.abs(k-D)<.004,N=!1;if(!A&&!v&&!P&&R&&T>E){let U=(en.get(r)??0)+1;en.set(r,U),U>=S&&(N=!0,en.set(r,0))}else T<=E&&en.set(r,0);let G=!A&&e.forceSync&&T>.02;if(v||N||G){if(!(r.tagName==="VIDEO"&&r.id&&!!document.getElementById(`__render_frame_${r.id}__`))){try{r.currentTime=i}catch(ne){F("runtime.media.site2",ne)}if(Math.abs(r.currentTime-i)>.5&&!li.has(r)){li.add(r),r.load();try{r.currentTime=i}catch(ne){F("runtime.media.site3",ne)}}}Tt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Tt.has(r)&&!Gd(r)?(Pd(r),r.play().catch(U=>{Tt.delete(r),(U&&typeof U=="object"&&"name"in U?String(U.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}ci(r),r.paused||r.pause()}}var Hd="hf-proxy",Va="runtime_media_proxy_fallback",za="runtime_media_proxy_unavailable",tn=new WeakSet,$a=new WeakSet;function Xn(e){return e.currentSrc||e.src}function di(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!e.id&&!!document.getElementById(`__render_frame_${e.id}__`)}function fi(e){let t=Xn(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function Bd(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function Ud(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function mi(e,t){return t[e]??Bd(e,t)??Ud(e,t)}function Wd(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Hd,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Vd={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function gt(e,t,n){if($a.has(e))return;$a.add(e);let r=Vd[t];xe({source:"hf-preview",type:"diagnostic",code:za,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${za}: "${n}" (${t}): ${r}`)}function pi(e,t=null,n="reactive"){if(tn.has(e))return;let r=Xn(e),i;try{i=Wd(r,t)}catch(l){F("runtime.mediaProxy.swap",l),gt(e,"invalid_source_url",r);return}tn.add(e),ci(e),e.src=i,e.load();let o=t?.codecName??null;xe({source:"hf-preview",type:"diagnostic",code:Va,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${Va}: "${r}" uses a codec (${o??"unknown"}) this browser can\'t decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function qa(e){if(di(e)||!(e instanceof HTMLVideoElement)||tn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=fi(e);if(n===null)return;let r=mi(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||pi(e,r,"proactive")}function ja(e){if(di(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Xn(e);if(tn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=fi(e);if(r===null){gt(e,"cross_origin",t);return}let i=mi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}pi(e,i,"reactive")}function Ka(e){if(di(e)||!(e instanceof HTMLVideoElement))return;let t=Xn(e);if(tn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=fi(e);if(r===null){gt(e,"cross_origin",t);return}let i=mi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}pi(e,i,"tertiary")}var be=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);he(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},zd=[0,0,0],$d=[1,1,1],Jn=64;function qd(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===\'"\'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function nt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new be(`Invalid number "${e}"`,t);return n}function Ya(e,t,n){if(e.length!==3)throw new be(`${t} expects three numbers`,n);return[nt(e[0],n),nt(e[1],n),nt(e[2],n)]}function Xa(e,t,n){if(!e)throw new be(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new be(`${t} must be an integer greater than 1`,n);return r}function jd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new be("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Kd(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 Yd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Ja(e,t={}){let n=t.maxSize??Jn,r=null,i=zd,o=$d,a=null,l=null,s=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=qd(u[m]??"").trim();if(!x)continue;let y=x.split(/\\s+/),E=(y[0]??"").toUpperCase(),S=y.slice(1);if(E==="TITLE"){r=Kd(x);continue}if(E==="DOMAIN_MIN"){i=Ya(S,E,f);continue}if(E==="DOMAIN_MAX"){o=Ya(S,E,f);continue}if(E==="LUT_3D_INPUT_RANGE"){if(S.length!==2)throw new be(`${E} expects two numbers`,f);let w=nt(S[0],f),T=nt(S[1],f);if(T<=w)throw new be("LUT_3D_INPUT_RANGE max must exceed min",f);i=[w,w,w],o=[T,T,T];continue}if(E==="LUT_1D_SIZE"){a=Xa(S[0],E,f);continue}if(E==="LUT_3D_SIZE"){if(l=Xa(S[0],E,f),l>n)throw new be(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!Yd(E)){if(E.startsWith("LUT_"))throw new be(`Unsupported cube keyword ${E}`,f);continue}if(!l)throw a?new be("1D cube LUTs are not supported yet",f):new be("LUT data appears before LUT_3D_SIZE",f);if(y.length!==3)throw new be("LUT data rows must contain three numbers",f);s.push(nt(y[0],f),nt(y[1],f),nt(y[2],f))}if(a&&l)throw new be("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new be("1D cube LUTs are not supported yet"):new be("Missing LUT_3D_SIZE");jd(i,o);let c=l*l*l;if(s.length!==c*3)throw new be(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function Xd(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function nn(e){return Math.round(Xd(e)*255)}function hi(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=nn(e.data[s]??0),i[u+1]=nn(e.data[s+1]??0),i[u+2]=nn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Qa="rec709";var ce={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var Za=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],es=["shadows","midtones","highlights"],ts=["master","red","green","blue"],ns=["hueVsHue","hueVsSaturation","hueVsLuma"];var rs=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],is=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var jx=ce.unit,Kx=ce.signedUnit,Yx=ce.effects;var je=1024,rn=16;function os(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function ye(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function Jd(e){let t=[],n=[],r=ye(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=ye(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=os(ye(t,0),ye(t,1),i,ye(n,1)),o[o.length-1]=os(ye(t,t.length-1),ye(t,t.length-2),ye(n,n.length-1),ye(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=ye(n,a-1),s=ye(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=ye(t,a-1),c=ye(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function as(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function Qd(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function Zd(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ss(e,t,n,r,i){Qd(e,r,i);let o=Jd(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>ye(e,l+1)[0];)l+=1;let c=ye(e,l),m=ye(e,l+1),f=Zd(u,c,m,ye(o,l),ye(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Ft(e,t=je){if(as(e,t),e.length>rn)throw new RangeError(`A color curve supports at most ${rn} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return ss(e,t,n=>n/(t-1),0,1)}function xi(e,t,n,r=je){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>rn)throw new RangeError(`A hue curve supports at most ${rn} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return as(l,r),ss(l,r,s=>s/r*360,t,n)}var on="data-color-grading",an="data-hf-color-grading-source-hidden",er="data-hf-authored-opacity",fs="__hf_color_grading_",tf=Qa,Si={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},vi={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Ei={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var tr=Za,ms=es,ps=ts,hs=ns,_i=rs,Ai=is,ls={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},us={vignette:.18};function Se(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...Si,...n},details:{...vi,...r},effects:{...Ei,...i}}}var wi=[Se("neutral","Neutral"),Se("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Se("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Se("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Se("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Se("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Se("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Se("vintage-wash","Vintage Wash",ls,us),Se("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Se("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Se("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Se("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Se("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Se("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Se("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Se("home-movie-8mm","8mm Home Movie",ls,{...us,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Se("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Se("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],nf=new Map(wi.map(e=>[e.id,e])),rf=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,of={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}},Lt={hue:0,amount:0,level:0},cs={amount:ce.unit,level:ce.signedUnit},rt=[[0,0],[1,1]],Nt=[],af={hueVsHue:ce.secondaryHueShift,hueVsSaturation:ce.signedUnit,hueVsLuma:ce.signedUnit},bi={center:0,range:180,softness:0},yi={min:0,max:1,softness:.05},sf={vignette:ce.unit,vignetteMidpoint:ce.unit,vignetteRoundness:ce.signedUnit,vignetteFeather:ce.unit,grain:ce.unit,grainSize:ce.unit,grainRoughness:ce.unit},Ci=ce.unit,lf=ce.effects,gs=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var uf=wi.filter(e=>gs.some(t=>e.effects[t]>1e-4)),rb=wi.filter(e=>!uf.includes(e)),ib={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},xs=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var cf=/^#[0-9a-f]{6}$/i;function df(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&cf.test(t))?null:e.map(t=>t.toLowerCase())}function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zn(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function bs(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function we(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Zn(n,t.min,t.max):0}function Ti(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function ff(e){let t=Ce(e)?e:{};return ms.reduce((n,r)=>{let i=Ce(t[r])?t[r]:{};return n[r]={hue:Ti(i.hue,Lt.hue),amount:we(i.amount??Lt.amount,cs.amount),level:we(i.level??Lt.level,cs.level)},n},{shadows:{...Lt},midtones:{...Lt},highlights:{...Lt}})}function mf(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[Zn(t,0,1),Zn(n,0,1)]:null}function ys(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function pf(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function hf(e){if(!Array.isArray(e)||e.length<2)return rt;let t=[];for(let n of e){let r=mf(n);if(!r)return rt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),ys(t)||(pf(t),t.length>16)?rt:t}function gf(e){let t=Ce(e)?e:{};return ps.reduce((n,r)=>(n[r]=hf(t[r]),n),{master:rt,red:rt,green:rt,blue:rt})}function xf(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[Ti(n),Zn(r,t.min,t.max)]:null}function bf(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Nt;let n=[];for(let r of e){let i=xf(r,t);if(!i)return Nt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),ys(n)?Nt:n}function yf(e){let t=Ce(e)?e:{};return hs.reduce((n,r)=>(n[r]=bf(t[r],af[r]),n),{hueVsHue:Nt,hueVsSaturation:Nt,hueVsLuma:Nt})}function ds(e){let t=Ce(e)?e:{},n=we(t.min??yi.min,Ci),r=we(t.max??yi.max,Ci);return{min:Math.min(n,r),max:Math.max(n,r),softness:we(t.softness??yi.softness,ce.secondarySoftRangeSoftness)}}function Sf(e){let t=Ce(e)?e:{},n=we(t.range??bi.range,ce.secondaryHueRange);return{center:Ti(t.center,bi.center),range:n,softness:we(t.softness??bi.softness,{min:ce.secondaryHueSoftness.min,max:ce.secondaryHueCombinedMax-n})}}function vf(e){return{hueShift:we(e.hueShift??0,ce.secondaryHueShift),saturation:we(e.saturation??0,ce.signedUnit),luma:we(e.luma??0,ce.signedUnit),temperature:we(e.temperature??0,ce.signedUnit),tint:we(e.tint??0,ce.signedUnit)}}function Ef(e){return!Ce(e)||!Ce(e.key)||!Ce(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Sf(e.key.hue),saturation:ds(e.key.saturation),luma:ds(e.key.luma)},correction:vf(e.correction)}}function Cf(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Ef(n);r&&t.push(r)}return t}function _f(e){if(e==null)return null;let t=String(e).trim();return t||null}function Af(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Ce(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:bs(e.intensity,1)}}function wf(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Ce(n)?n:null}catch{return null}return{preset:t}}return Ce(e)?e:null}function Tf(e,t){let n=e.trim().match(rf);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function Qn(e,t){if(typeof e=="string"){let r=Tf(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return Qn(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Qn(r,t));if(!Ce(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Qn(i,t);return n}function Rf(e){return e?nf.get(e)??null:null}function nr(e){let t=wf(e);if(!t||t.enabled===!1)return null;let n=_f(t.preset),r=Rf(n),i=r?.adjust??Si,o=r?.details??vi,a=r?.effects??Ei,l=Ce(t.adjust)?t.adjust:{},s=Ce(t.details)?t.details:{},u=Ce(t.effects)?t.effects:{},c=tr.reduce((x,y)=>(x[y]=we(l[y]??i[y],of[y]),x),{...Si}),m=_i.reduce((x,y)=>(x[y]=we(s[y]??o[y],sf[y]),x),{...vi}),f=Ai.reduce((x,y)=>(x[y]=we(u[y]??a[y],lf[y]??Ci),x),{...Ei});return{enabled:!0,preset:n,intensity:bs(t.intensity,r?.intensity??1),adjust:c,wheels:ff(t.wheels),curves:gf(t.curves),hueCurves:yf(t.hueCurves),secondaries:Cf(t.secondaries),details:m,effects:f,palette:df(t.palette),lut:Af(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():tf}}function Ss(e,t){return nr(Qn(e,t))}function Ff(e){return ms.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Ri(e){return ps.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Fi(e){return hs.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Li(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function vs(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||gs.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:tr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Ff(e.wheels):!1)||(e.curves?Ri(e.curves):!1)||(e.hueCurves?Fi(e.hueCurves):!1)||(e.secondaries?Li(e.secondaries):!1):!1}var Lf=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Nf=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Es(e){let t=!1,n=null,r=null,i=null,o=null;function a(b,v){try{window.dispatchEvent(new CustomEvent(b,{detail:v}))}catch(A){F("runtime.picker.site1",A)}}function l(b){i=b,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(b){o=b,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(b){let v=b.ownerDocument.defaultView;if(!v)return!1;let A=b;for(;A&&A!==document.body&&A!==document.documentElement;){let R=v.getComputedStyle(A);if(R.display==="none"||R.visibility==="hidden"||R.pointerEvents==="none")return!0;let N=Number.parseFloat(R.opacity);if(Number.isFinite(N)&&N<=.01&&!A.hasAttribute(an))return!0;A=A.parentElement}return!1}function c(b){if(!b||b===document.body||b===document.documentElement)return!1;let v=b.tagName.toLowerCase();return!(v==="script"||v==="style"||v==="link"||v==="meta"||b.classList.contains("__hf-pick-highlight")||b.closest(Lf)||u(b))}function m(b){return!!b?.closest(Nf)}function f(b){let v=b;if(v.id)return`#${CSS.escape(v.id)}`;let A=b.getAttribute("data-composition-id");if(A)return`[data-composition-id="${CSS.escape(A)}"]`;let R=b.getAttribute("data-composition-src");if(R)return`[data-composition-src="${CSS.escape(R)}"]`;let N=b.getAttribute("data-track-index");if(N)return`[data-track-index="${CSS.escape(N)}"]`;let G=b.tagName.toLowerCase(),U=b.parentElement;if(!U)return G;let ne=U.querySelectorAll(`:scope > ${G}`);if(ne.length===1)return G;for(let H=0;H<ne.length;H+=1)if(ne[H]===b)return`${G}:nth-of-type(${H+1})`;return G}function x(b){let v=b.tagName.toLowerCase(),A=(b.textContent??"").trim().replace(/\\s+/g," "),R=(N,G)=>N.length>G?`${N.slice(0,G-1)}\\u2026`:N;return v==="h1"||v==="h2"||v==="h3"?"Heading":v==="p"||v==="span"||v==="div"?A.length>0?R(A,56):"Text":v==="img"?"Image":v==="video"?"Video":v==="audio"?"Audio":v==="svg"?"Shape":b.getAttribute("data-composition-src")?"Composition":v==="section"?"Section":`${v.charAt(0).toUpperCase()}${v.slice(1)}`}function y(b,v,A){let R=typeof A=="number"&&A>0?A:8,N=[];if(document.elementsFromPoint)N=document.elementsFromPoint(b,v);else if(document.elementFromPoint){let ne=document.elementFromPoint(b,v);N=ne?[ne]:[]}if(m(N[0]??null))return[];let G={},U=[];for(let[ne,H]of N.entries()){if(!c(H))continue;let J=`${H.tagName}::${H.id||""}::${ne}`;if(!G[J]&&(G[J]=!0,U.push(H),U.length>=R))break}return U}function E(b){let v=b.getBoundingClientRect(),A={};for(let N of Array.from(b.attributes))N.name.startsWith("data-")&&(A[N.name]=N.value);return{id:b.id||null,tagName:b.tagName.toLowerCase(),selector:f(b),label:x(b),boundingBox:{x:v.left,y:v.top,width:v.width,height:v.height},textContent:b.textContent?b.textContent.trim().slice(0,200):null,src:b.getAttribute("src")||b.getAttribute("data-composition-src")||null,dataAttributes:A}}function S(b,v,A){return y(b,v,A).map(E)}function w(b){if(!t)return;let A=y(b.clientX,b.clientY,1)[0]??(b.target instanceof Element?b.target:null);if(!c(A)||n===A)return;n&&n.classList.remove("__hf-pick-highlight"),n=A,A.classList.add("__hf-pick-highlight");let R=E(A);l(R),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:R})}function T(b){if(!t)return;b.preventDefault(),b.stopPropagation(),b.stopImmediatePropagation();let v=S(b.clientX,b.clientY,8);v.length!==0&&(l(v[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:v,selectedIndex:0,point:{x:b.clientX,y:b.clientY}}))}function k(b){b.key==="Escape"&&(P(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function D(){t||(t=!0,r=document.createElement("style"),r.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(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",T,!0),document.addEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function P(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",T,!0),document.removeEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:D,disable:P,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(b,v,A)=>Number.isFinite(b)&&Number.isFinite(v)?S(b,v,A):[],pickAtPoint:(b,v,A)=>{if(!Number.isFinite(b)||!Number.isFinite(v))return null;let R=S(b,v,8);if(!R.length)return null;let N=Math.max(0,Math.min(R.length-1,Number(A??0))),G=R[N]??null;return G?(s(G),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),P(),G):null},pickManyAtPoint:(b,v,A)=>{if(!Number.isFinite(b)||!Number.isFinite(v))return[];let R=S(b,v,8);if(!R.length)return[];let N=[],G=Array.isArray(A)?A:[0];for(let U of G){let ne=Math.max(0,Math.min(R.length-1,Math.floor(Number(U)))),H=R[ne];if(!H)continue;N.some(_e=>_e.selector===H.selector&&_e.tagName===H.tagName)||N.push(H)}return N.length?(s(N[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:N}),P(),N):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:D,disablePickMode:P,installPickerApi:_}}var kf=["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 kt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function Cs(e,t,n=kf){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function sn(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&F("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Be(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&F("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function ln(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){F("runtime.player.site1",i)}}}function _s(e,t,n,r){let i=kt(t,n),o=r?.suppressEvents===!0;return Be(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Mf(e,t,n,r,i){let o=[];ln(e,t,a=>{Be(a,"play"),o.push(a)});try{return _s(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){F("runtime.player.site2",l)}}}function Df(e,t){ln(e,t,n=>{Be(n,"play")})}function As(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??sn(n,"duration",0))||0);r>0&&Math.max(0,sn(n,"time",0))>=r&&(Be(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Be(n,"play"),ln(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Be(n,"pause"),ln(e.getTimelineRegistry?.(),n,i=>{Be(i,"pause")});let r=Math.max(0,sn(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Mf(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play"),ln(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Be(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(Df(e.getTimelineRegistry?.(),i),_s(i,n,o,r)):kt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>sn(e.getTimeline(),"time",0),getDuration:()=>sn(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function ws(){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:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var If=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ki(e){return e.id||e.getAttribute("data-hf-id")||null}function Ni(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Pf(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Of(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Ni(e.getAttribute("data-playback-start"))??Ni(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function Gf(e,t,n,r){let i=Ni(e.getAttribute("data-duration"));return i!=null&&i>0?i:Pf(e,t)??Of(e)??Math.max(0,n-r)}function Hf(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Ts(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||If.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Gf(l,n,r,s)<=0)continue;let u={id:ki(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Hf(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var Mi="css:root",Rs=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Bf=new Set([...Rs,"contain","isolation","mask-border","mix-blend-mode","opacity"]),Uf=new Set(["absolute","relative"]),Wf=new Set(["flex","inline-flex","grid","inline-grid"]),Vf=new Set(["layout","paint","strict","content"]),zf=new Set(["size","inline-size"]);function $f(e){return e.position==="fixed"||e.position==="sticky"}function qf(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(Uf.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&Wf.has(n)}function jf(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Rs.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function Kf(e){return e.getPropertyValue("contain").split(/\\s+/).some(n=>Vf.has(n))?!0:zf.has(e.getPropertyValue("container-type"))}function Yf(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Bf.has(t))}function Xf(e,t){return $f(t)||qf(e,t)||jf(t)||Kf(t)?!0:Yf(t)}function Jf(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function rr(e){let t=e.ownerDocument.defaultView;if(!t)return Mi;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(Xf(n,t.getComputedStyle(n)))return Jf(n)}catch{return Mi}n=n.parentElement}return Mi}var Mt=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),xb=Object.freeze([Mt.start,Mt.duration,Mt.trackIndex]),bb=Object.freeze([Mt.derivedEnd]),yb=Object.freeze([Mt.derivedEnd,Mt.legacyTrack]);function ke(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Ls=/^[A-Za-z0-9_.:-]+$/;function Ns(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Fs(e,t){let n=t;for(;n>=0&&Ns(e,n);)n--;return n}function Qf(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function Zf(e){let t=e.length-1;if(!Ns(e,t))return null;let n=Fs(e,t);return e[n]==="."&&(n=Fs(e,n-1)),n+1}function em(e){let t=Zf(e);if(t==null)return null;let n=Qf(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Ls.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Di(e){let t=(e??"").trim();if(!t)return null;let n=ke(t);if(n!=null)return{kind:"absolute",value:n};if(Ls.test(t))return{kind:"reference",refId:t,offset:0};let r=em(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}var tm="data-hf-authored-duration",nm="data-hf-authored-end";function rm(e){return ke(e.getAttribute("data-duration"))}function im(e){return ke(e.getAttribute("data-end"))}function om(e){return ke(e.getAttribute(tm))}function am(e){return ke(e.getAttribute(nm))}function it(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let x=r.getElementById(f);return x||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let x=f.ownerDocument.defaultView?.HTMLMediaElement;return x?f instanceof x:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let x=o.get(f);if(x!==void 0)return x;let y=null,E=rm(f)??(n?om(f):null);if(E!=null&&E>0&&(y=E),y==null||y<=0){let S=im(f)??(n?am(f):null);if(S!=null){let w=m(f,0),T=S-w;Number.isFinite(T)&&T>0&&(y=T)}}if((y==null||y<=0)&&s(f)){let S=ke(f.getAttribute("data-playback-start"))??ke(f.getAttribute("data-media-start"))??0;Number.isFinite(f.duration)&&f.duration>S&&(y=(f.duration-S)/qe(f))}if(y==null||y<=0){let S=f.getAttribute("data-composition-id");if(S){let w=t[S]??null;if(w&&typeof w.duration=="function")try{let T=Number(w.duration());Number.isFinite(T)&&T>0&&(y=T)}catch(T){F("runtime.startResolver.site1",T)}}}return y!=null&&Number.isFinite(y)&&y>0?(o.set(f,y),y):(o.set(f,null),null)},c=(f,x)=>{if(f.hasAttribute("data-composition-id")){let E=f.parentElement?.closest("[data-composition-id]");return E?m(E,x):0}let y=f.closest("[data-composition-id]");return y?m(y,x):0},m=(f,x)=>{let y=i.get(f);if(y!==void 0)return y??x;if(a.has(f))return x;a.add(f);try{let E=Di(f.getAttribute("data-start"));if(!E){if(f.hasAttribute("data-composition-id")){let D=f.parentElement;if(D&&(D.hasAttribute("data-composition-src")||D.hasAttribute("data-composition-id")||D.hasAttribute("data-composition-file"))){let P=m(D,x);return i.set(f,P),P}}return i.set(f,x),x}if(E.kind==="absolute"){let D=Math.max(0,E.value),P=Math.max(0,c(f,x)+D);return i.set(f,P),P}let S=l(E.refId);if(!S)return i.set(f,x),x;let w=m(S,0),T=u(S);if(T==null||T<=0){let D=Math.max(0,w+E.offset);return i.set(f,D),D}let k=Math.max(0,w+T+E.offset);return i.set(f,k),k}finally{a.delete(f)}};return{resolveStartForElement:(f,x=0)=>m(f,Math.max(0,x)),resolveDurationForElement:f=>u(f)}}function Ii(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var lm="data-hf-authored-duration",um="data-hf-authored-end";function Te(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Pi(e){return Te(e.getAttribute("data-duration"))??Te(e.getAttribute(lm))}function ks(e){return Te(e.getAttribute("data-end"))??Te(e.getAttribute(um))}function Oi(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 Gi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function Hi(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function cn(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 Ms(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return cn(t);let n=e.getAttribute("data-composition-src");if(n)return cn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?cn(r.getAttribute("src")):null}function cm(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 dm(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 fm(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function un(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function mm(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return un(i);let o=e.id;if(o)return un(o);let a=cm(e);if(a)return un(a);let l=dm(Ms(e));if(l)return un(l);let s=fm(e);return s||`${un(t)} ${n+1}`}function Ds(e){let n=window.__timelines??{},r=it({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=B=>{if(!B)return null;let M=n[B]??null;if(!M||typeof M.duration!="function")return null;try{let I=Number(M.duration());return Number.isFinite(I)&&I>0?I:null}catch{return null}},o=B=>{let M=Te(B.getAttribute("data-duration"));if(M!=null&&M>0)return M;let I=Te(B.getAttribute("data-playback-start"))??Te(B.getAttribute("data-media-start"))??0;return Number.isFinite(B.duration)&&B.duration>I?Math.max(0,(B.duration-I)/qe(B)):null},a=()=>{let B=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(B.length===0)return null;let M=0;for(let I of B){let ue=I.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(I,0):Math.max(0,Number(I.getAttribute("data-start")??0)||0);if(!Number.isFinite(ue))continue;let ae=o(I);ae==null||ae<=0||(M=Math.max(M,Math.max(0,ue)+ae))}return M>0?M:null},l=(B,M)=>{let I=[],ue=null,ae=null,$=null,q=B.parentElement;for(;q;){let j=q.getAttribute("data-composition-id");j&&(I.push(j),!$&&q!==M&&($=j),ue==null&&(ue=r.resolveStartForElement(q,0)),ae==null&&(ae=Te(q.getAttribute("data-duration"))??i(j)??null)),q=q.parentElement}return{parentCompositionId:$,compositionAncestors:I.reverse(),inheritedStart:ue,inheritedDuration:ae}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,y=i(c),E=Pi(s??document.body),S=Gi(...u.filter(B=>B!==s).map(B=>{let M=r.resolveStartForElement(B,0),I=r.resolveDurationForElement(B)??i(B.getAttribute("data-composition-id"))??null;return!Number.isFinite(M)||I==null||I<=0?null:Math.max(0,M)+I})),w=S!=null?Math.max(0,S-Math.max(0,m)):null,T=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,k=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,D=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,P=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=Gi(D,P),b=T!=null&&_!=null&&T>_+1,A=k??(b?_:Gi(T,D,P))??null,N=(A!=null?m+A:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(B,M)=>!Number.isFinite(M)||M<=0?0:N==null||!Number.isFinite(N)?M:!Number.isFinite(B)||B>=N?0:Math.max(0,Math.min(M,N-B)),U=[],ne=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),J=0;for(let[B,M]of H.entries()){if(M===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(M.tagName))continue;let I=l(M,s),ue=r.resolveStartForElement(M,I.inheritedStart??0),ae=M.getAttribute("data-composition-id"),$=Pi(M);if(($==null||$<=0)&&ae&&ae!==c&&($=i(ae)),($==null||$<=0)&&M instanceof HTMLMediaElement){let me=Te(M.getAttribute("data-playback-start"))??Te(M.getAttribute("data-media-start"))??0;Number.isFinite(M.duration)&&M.duration>0&&($=Math.max(0,M.duration-me))}if($==null||$<=0){let me=I.inheritedDuration;if(me!=null&&me>0){let Ie=(I.inheritedStart??0)+me;$=Math.max(0,Ie-ue)}}if($==null||$<=0||($=G(ue,$),$<=0))continue;let q=ue+$;J=Math.max(J,q);let j=M.tagName.toLowerCase(),Ve=ae&&ae!==c?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";U.push({id:ki(M)??ae??null,label:mm(M,Ve,U.length),start:ue,duration:$,track:Hi(M,B),zIndex:Oi(M),stackingContextId:rr(M),kind:Ve,tagName:j,compositionId:M.getAttribute("data-composition-id"),compositionAncestors:I.compositionAncestors,parentCompositionId:I.parentCompositionId,nodePath:null,compositionSrc:cn(M.getAttribute("data-composition-src")),playbackStart:Rt(M),playbackRate:qe(M),assetUrl:Ms(M),timelineRole:M.getAttribute("data-timeline-role"),timelineLabel:M.getAttribute("data-timeline-label"),timelineGroup:M.getAttribute("data-timeline-group"),timelinePriority:Te(M.getAttribute("data-timeline-priority"))})}let _e=new Set(U.map(B=>B.id)),z=s?.getAttribute("data-composition-id")??null,Y=z?n[z]??null:null;if(Y&&s){let B=Y;if(typeof B.getChildren=="function")try{let M=B.getChildren(!0,!0,!1)??[],I=new Map;for(let $ of s.children){let q=$;if(!q.id)continue;let j=q.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||I.set(q,{id:q.id,start:1/0,end:-1/0})}let ue=$=>{let q=$;for(;q;){if(I.has(q))return q;if(q===s)return null;q=q.parentElement}return null};for(let $ of M){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let q=$.startTime(),j=$.parent;for(;j&&j!==Y&&typeof j.startTime=="function";)q+=j.startTime(),j=j.parent;let Ve=q+$.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Ve)))for(let me of $.targets()){if(!(me instanceof Element))continue;let Ct=ue(me);if(!Ct)continue;let Ie=I.get(Ct);Ie&&(Ie.start=Math.min(Ie.start,q),Ie.end=Math.max(Ie.end,Ve))}}let ae=U.length>0?Math.max(...U.map($=>$.track))+1:0;for(let[$,q]of I){if(q.start===1/0||q.end===-1/0)continue;let j=$;if(_e.has(j.id))continue;let Ve=Math.max(0,q.end-q.start);if(Ve<=0)continue;let me=G(q.start,Ve);me<=0||(J=Math.max(J,q.start+me),U.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:q.start,duration:me,track:Hi(j,ae),zIndex:Oi(j),stackingContextId:rr(j),kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(j),playbackRate:qe(j),assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:Te(j.getAttribute("data-timeline-priority"))}),_e.add(j.id))}}catch(M){F("runtime.timeline.site1",M)}}if(s&&A!=null&&A>0){let B=U.length>0?Math.max(...U.map(M=>M.track))+1:0;for(let M of s.children){let I=M;if(!I.id||_e.has(I.id))continue;let ue=I.getAttribute("data-timeline-role");if(ue!=="overlay"&&ue!=="persistent-overlay")continue;let ae=I.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(I).display==="none")continue;let q=G(0,A);q<=0||(J=Math.max(J,q),U.push({id:I.id,label:I.getAttribute("data-timeline-label")??I.getAttribute("data-label")??I.getAttribute("aria-label")??I.id,start:0,duration:q,track:Hi(I,B),zIndex:Oi(I),stackingContextId:rr(I),kind:"element",tagName:ae,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(I),playbackRate:qe(I),assetUrl:null,timelineRole:ue,timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Te(I.getAttribute("data-timeline-priority"))}),_e.add(I.id))}}for(let B of u){if(B===s)continue;let M=B.getAttribute("data-composition-id");if(!M||!Ii(M))continue;let I=r.resolveStartForElement(B,0),ue=Pi(B);if((ue==null||ue<=0)&&ks(B)!=null){let j=ks(B);ue=Math.max(0,j-I)}let ae=i(M),$=ue&&ue>0?ue:ae;if($==null||$<=0)continue;let q=G(I,$);q<=0||ne.push({id:M,label:B.getAttribute("data-label")??M,start:I,duration:q,thumbnailUrl:cn(B.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,J||1,A??0),ee=b&&k==null,Ae=ee?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...Vn(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:ee?Number.POSITIVE_INFINITY:V,durationInFrames:Ae,clips:U,scenes:ne,compositionWidth:Te(s?.getAttribute("data-width"))??1920,compositionHeight:Te(s?.getAttribute("data-height"))??1080}}var de=yd(ou(),1),au=de.default,My=de.default.stringify,Dy=de.default.fromJSON,Iy=de.default.plugin,Py=de.default.parse,Oy=de.default.list,Gy=de.default.document,Hy=de.default.comment,By=de.default.atRule,Uy=de.default.rule,Wy=de.default.decl,Vy=de.default.root,zy=de.default.CssSyntaxError,$y=de.default.Declaration,qy=de.default.Container,jy=de.default.Processor,Ky=de.default.Document,Yy=de.default.Comment,Xy=de.default.Warning,Jy=de.default.AtRule,Qy=de.default.Result,Zy=de.default.Input,eS=de.default.Rule,tS=de.default.Root,nS=de.default.Node;var fo="data-hf-authored-id",su="data-hf-inner-root";function mo(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function po(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ip(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function uu(e){let t=e.trim();return t?Array.from(new Set([t,Ip(t)])).filter(Boolean):[]}function Pp(e){return!!e&&/[\\w-]/.test(e)}function Op(e,t,n){let r=uu(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\\\"&&(a=null);continue}if(s===\'"\'||s==="\'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!Pp(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function Gp(e,t){let n=t?.trim();return n?Op(e,n,`[${fo}="${po(n)}"]`):e}function lu(e){return`${e}:not(:has([${su}])), ${e} > [${su}]`}function Hp(e,t,n,r,i,o){let a=Gp(e,r),l=Bp(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?lu(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${mo(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?lu(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(i){let f=r?`[${fo}="${po(r)}"]`:null;if(f&&s.startsWith(f)){let x=s.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${s}${m}`}function Bp(e,t,n){let r=mo(n),i=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${r}"|\'${r}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Up=new Set(["keyframes","-webkit-keyframes","font-face"]);function Wp(e){return e?.type==="atrule"}function Vp(e){let t=e.parent;for(;t;){if(Wp(t)&&Up.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function zp(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function cu(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${po(o)}"]`,l=au.parse(e);return l.walkRules(s=>{Vp(s)||zp(s)||(s.selectors=s.selectors.map(u=>Hp(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function du(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=JSON.stringify(t),l=JSON.stringify(i),s=JSON.stringify(n),u=mo(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(r??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*\\]`),y=JSON.stringify(uu(o?.trim()||""));return`(function(){\n var __hfCompId = ${a};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${s};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(fo)};\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 = ${y};\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 if (prop !== __hfCompId) {\n return Reflect.get(target, prop, target);\n }\n var authoredValue = Reflect.get(target, prop, target);\n return authoredValue === undefined\n ? Reflect.get(target, __hfTimelineCompId, target)\n : authoredValue;\n },\n set: function(target, prop, value, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.set(target, prop, value, target);\n }\n // The authored node remains in the compiled DOM when its local id\n // differs from the runtime mount id, so readiness legitimately sees\n // both compositions. Publish the same timeline under both identities\n // instead of replacing one with the other.\n var authoredSet = Reflect.set(target, __hfCompId, value, target);\n var runtimeSet = Reflect.set(target, __hfTimelineCompId, value, target);\n return authoredSet && runtimeSet;\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 // Common authoring boilerplate assigns the registry back to\n // itself (window.__timelines = window.__timelines || {}). The\n // getter above returns our proxy; do not replace the canonical\n // registry with that proxy or later wrappers will stack proxies.\n if (value === __hfTimelineRegistryProxy) return true;\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 $p=["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 fu(e){let t=e.getAttribute("id")?.trim();for(let n of $p)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var qp=8e3,jp=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Kp=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Yp=["src","href"];function Xp(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function pu(e,t){if(!t)return e;let n=e.trim();if(Xp(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function hu(e,t){return!t||!e?e:e.replace(Kp,(n,r,i)=>{let o=pu(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function Jp(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of Yp){let i=n.getAttribute(r);if(i==null)continue;let o=pu(i,t);o!==i&&n.setAttribute(r,o)}}function Qp(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=hu(r,t);i!==r&&n.setAttribute("style",i)}}function Zp(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=hu(r,t);i!==r&&(n.textContent=i)}}function gu(e,t){if(t){Jp(e,t),Qp(e,t),Zp(e,t);for(let n of Array.from(e.querySelectorAll("template")))gu(n.content,t)}}function e0(e,t){return`${e}__hf${t}`}var t0=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),qp)});function go(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function n0(e){let t=document.importNode(e,!0);fu(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function mu(e,t){let n=e.trim();if(!n)return e;try{return jp.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function ho(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function yr(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 r0(e){let t=new Map;for(let n of e){let r=yr(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function xu(e){let t=yr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function i0(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function o0(e){return e.hasAttribute("data-composition-src")?!0:xu(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:i0(e):!1}function bo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:xu(t))}function bu(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(bo().map(n=>yr(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function yu(e,t=r0(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=yr(i),l=o0(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?e0(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function xo(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,r=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,i=e.runtimeCompositionId||r||null,o=t?.getAttribute("id")?.trim()||null,a=i?`[data-composition-id="${CSS.escape(i)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=(f.getAttribute("href")||"").trim();if(!x)continue;let y=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&ho(y,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(y)}"]`))continue;let E=f.cloneNode(!0);E.href=y,document.head.appendChild(E),e.injectedLinks.push(E)}let l=f=>{for(let x of f){let y=x.cloneNode(!0);y instanceof HTMLStyleElement&&(r&&(y.textContent=cu(y.textContent||"",r,a,o,{scopeRootSelectors:!0})),document.head.appendChild(y),e.injectedStyles.push(y))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let s=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",y=f.getAttribute("src")?.trim()??"";if(y){let E=mu(y,e.compositionUrl);if(e.compositionUrl&&ho(E,e.compositionUrl))continue;s.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&s.push({kind:"inline",content:E,type:x,scopeCompositionId:r})}}let u=Array.from(n.querySelectorAll("script")),c=[...s];for(let f of u){let x=f.getAttribute("type")?.trim()??"",y=f.getAttribute("src")?.trim()??"";if(y){let E=mu(y,e.compositionUrl);if(e.compositionUrl&&ho(E,e.compositionUrl)){f.parentNode?.removeChild(f);continue}c.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&c.push({kind:"inline",content:E,type:x,scopeCompositionId:r})}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"),y=e.parseDimensionPx(f),E=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),y&&e.host instanceof HTMLElement&&(e.host.style.width=y),E&&e.host instanceof HTMLElement&&(e.host.style.height=E),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(n0(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;i&&a0(e,n,i);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=du(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",a,i||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let y=await t0(x);y.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:y.status,elapsedMs:y.elapsedMs}})}}}async function Su(e){let t=bo();if(bu(),t.length===0)return;let n=yu(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);go(i),await xo({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function vu(e){let t=bo();if(bu(),t.length===0)return;let n=yu(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}go(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await xo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,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(),y=new DOMParser().parseFromString(f,"text/html");gu(y,u);let E=(l?y.querySelector(`template#${CSS.escape(l)}-template`):null)??y.querySelector("template"),S=E?E.content:y.body,w=E?void 0:Array.from(y.head.querySelectorAll("style")),T=E?void 0:Array.from(y.head.querySelectorAll("script")),k=Array.from(y.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await xo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:y.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,headStyles:w,headScripts:T,headLinks:k,declaredVariableDefaults:Qt(y.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),go(i)}}))}function a0(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?Qt(t):{}),...ba(e.host)};ga(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,ti(e.host,{...ha(e.host,i,window),...$n()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function s0(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function l0(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function u0(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 yo(){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=l0();for(let r of t){let i=null;if(r.wordId&&(i=s0(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=s[0]?String(s[0].vars.color):"";for(let c of s)String(c.vars.color)===u?r.dimColor&&(c.vars.color=r.dimColor):r.activeColor&&(c.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=u0(i);e.set(l,o)}}}).catch(()=>{})}var vo="data-hf-edit-base-x",Eo="data-hf-edit-base-y",Ht="data-hf-edit-original-translate",Sr=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},c0=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},Eu=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,So=(e,t)=>Eu.test(e)&&Eu.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,d0=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=c0(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${So(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${So(r,t)} ${So(i,n)}${a}`},f0=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},m0=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},Co=new WeakMap;function p0(e,t){let n=Co.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Ne("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=Sr(e.getAttribute("data-x"))-Sr(e.getAttribute(vo)),i=Sr(e.getAttribute("data-y"))-Sr(e.getAttribute(Eo));e.hasAttribute(Ht)||e.setAttribute(Ht,m0(e)),n===void 0&&f0(e);let o=e.getAttribute(Ht)??"",a=d0(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),Co.set(e,e.style.getPropertyValue("translate"))}function vr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Ht}]:not([${vo}]):not([${Eo}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Ht)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Ht),Co.delete(u)}let a=e.querySelectorAll(`[${vo}], [${Eo}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(p0(u,t),l+=1)}return l}var Cu="__hfPositionEditsSeekReapplyWrapped",_u=new WeakSet,Au=new WeakMap,wu=new WeakMap;function Tu(e){let t=e,n=()=>{try{vr(t.document)}catch{}},r=m=>typeof m=="function"&&(_u.has(m)||!!m[Cu]),i=m=>{_u.add(m);try{Object.defineProperty(m,Cu,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...x){let y=m.apply(this,x);return n(),y};return i(f),f},a=(m,f)=>{let x=Au.get(m);if(x?.has(f))return!0;let y=Object.getOwnPropertyDescriptor(m,f);if(y?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let E=m[f],S=y?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:y?.enumerable??!0,get:()=>E,set:w=>{E=o(w),S?.call(m,w)}}),E=o(E),x??(x=new Set),x.add(f),Au.set(m,x),n(),!0},l=(m,f)=>{let x=wu.get(t),y=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(y?.configurable===!1){let w=t[m];return w?a(w,f):!1}let S=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:y?.enumerable??!0,get:()=>S,set:w=>{S=w,S&&a(S,f)}}),x??(x=new Set),x.add(m),wu.set(t,x)}let E=t[m];return E?a(E,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Er(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Cr(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Ru=new Set(["img","video","audio","source"]);function h0(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 g0(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\\//i.test(t):!1:!1}function x0(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function b0(e){if(Cr(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 _o(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Er(e);return t.set(n,i),i}function y0(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function S0(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function v0(e,t){let n=new Set,r=S0(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=_o(i,t);for(let[a,l]of Object.entries(o)){let s=b0(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,x0(s))}}}function Ao(e){let t=new Map;v0(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Ru.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Ru).join("/")}.`);continue}let i=h0(_o(n,t)[r]);if(i!==null){if(!g0(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=_o(n,t)[r];Cr(i)&&y0(n,String(i))}}var Qe=new Map,E0="data-hf-color-grading-canvas",C0="__hf_color_grading_canvas__";function Hu(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(er)||r.setAttribute(er,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var _0=16,A0=4,Ut={enabled:!1,position:.5,softness:0,lineWidth:2},wo=["#000000","#ffffff"],w0=["#1a1a1a","#f5f5dc"],Dn=3,T0=Dn-1,R0=5,To=`${je}.0`,Fu=`${je-1}.0`,F0=`${Dn}.0`,L0=`${(T0+.5)/Dn}`;function _r(e){let t=e.getAttribute(on);return t==null?null:Ss(t,Er(e))}var N0=["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`),k0=["#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_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","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 vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","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_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","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)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","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;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Fu};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Fu});`,` float y = (row + 0.5) / ${F0};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${To}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${To}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${To}, ${L0}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","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));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= 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));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","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);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," 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);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 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 warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," 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`),M0=["#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;","uniform float u_bloomPass;","uniform float u_threshold;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," if (u_bloomPass > 0.5) {"," float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));"," if (u_threshold >= 0.0 && luminance <= u_threshold) color.rgb = vec3(0.0);"," return vec4(color.rgb, 1.0);"," }"," color.rgb *= color.a;"," return color;","}","void main(){"," if (u_bloomPass > 0.5) {"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) * 0.5;"," vec4 bloom = readSource(v_uv) * 0.227027;"," bloom += readSource(v_uv + stepUv) * 0.1945946;"," bloom += readSource(v_uv - stepUv) * 0.1945946;"," bloom += readSource(v_uv + stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv - stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv + stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv - stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv + stepUv * 4.0) * 0.016216;"," bloom += readSource(v_uv - stepUv * 4.0) * 0.016216;"," gl_FragColor = bloom;"," return;"," }"," 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`),D0=["#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 vec2 u_texel;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_blur;","uniform float u_kuwaharaRadius;","vec3 readPrepared(vec2 displayUv){"," vec2 uv = (displayUv - u_uvOffset) / u_uvScale;"," vec3 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," if (u_blurReady > 0.5 && u_blur > 0.0) {"," vec3 blurred = texture2D(u_blurSource, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," color = mix(color, blurred, clamp(u_blur, 0.0, 1.0));"," }"," return color;","}","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec3 sum = vec3(0.0);"," float sumSquares = 0.0;"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec3 color = readPrepared(v_uv + vec2(float(offset), 0.0) * u_texel);"," sum += color;"," sumSquares += dot(color, color) / 3.0;"," count += 1.0;"," }"," gl_FragColor = vec4(sum / count, sumSquares / count);","}"].join(`\n`),I0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_kuwaharaMoments;","uniform vec2 u_texel;","uniform float u_kuwaharaRadius;","uniform float u_kuwaharaSharpness;","uniform float u_kuwaharaSaturation;","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec2 origins[4];"," origins[0] = vec2(-radius, -radius);"," origins[1] = vec2(0.0, -radius);"," origins[2] = vec2(-radius, 0.0);"," origins[3] = vec2(0.0, 0.0);"," vec3 means[4];"," float variances[4];"," float minVariance = 1.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," vec4 moment = vec4(0.0);"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec2 sampleOffset = origins[quadrant] + vec2(0.0, float(offset));"," moment += texture2D(u_kuwaharaMoments, clamp(v_uv + sampleOffset * u_texel, vec2(0.0), vec2(1.0)));"," count += 1.0;"," }"," moment /= count;"," vec3 mean = moment.rgb;"," float meanSquare = moment.a * 3.0;"," float variance = max(meanSquare - dot(mean, mean), 0.0);"," means[quadrant] = mean;"," variances[quadrant] = variance;"," minVariance = min(minVariance, variance);"," }"," float exponent = 1.0 + clamp(u_kuwaharaSharpness, 0.0, 1.0) * 8.0;"," vec3 result = vec3(0.0);"," float totalWeight = 0.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," float weight = pow((minVariance + 0.0001) / (variances[quadrant] + 0.0001), exponent);"," result += means[quadrant] * weight;"," totalWeight += weight;"," }"," result /= max(totalWeight, 0.0001);"," float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));"," float saturation = clamp(u_kuwaharaSaturation, 0.0, 1.0) * 2.0;"," gl_FragColor = vec4(clamp(mix(vec3(luma), result, saturation), 0.0, 1.0), 1.0);","}"].join(`\n`);function St(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Lu(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Nu(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(F("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Fr(e,t=k0){let n=Nu(e,N0,e.VERTEX_SHADER),r=Nu(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(F("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Ar(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),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,n,null),r):null}function P0(e,t){let n=Fr(e,M0);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"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function O0(e,t){let n=Fr(e,D0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function G0(e,t){let n=Fr(e,I0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function Nn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Ar(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function Tr(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function Ro(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function ku(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function ko(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Fr(t),r=Ar(t),i=Ar(t,t.NEAREST),o=Ar(t,t.NEAREST);if(!n||!r||!i||!o)return ku(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),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"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:Ro(t,n,tr),detailUniforms:Ro(t,n,_i),effectUniforms:Ro(t,n,Ai),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),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")}}):(ku(t,n,[r,i,o]),null)}function H0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function B0(e){if(!H0(e))return{...Ut};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Ut.position,0,1),softness:t(e.softness,Ut.softness,0,.25),lineWidth:t(e.lineWidth,Ut.lineWidth,0,12)}}function Bu(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 Lr(e){return e instanceof Error?e.message:"LUT failed to load"}function U0(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 Uu(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return U0(t)}function Mo(e){let t=Bu(e);if("error"in t)return{state:"error",message:t.error};let n=Qe.get(t.href);if(n)return n;let r=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=>Ja(o,{maxSize:Jn})),i={state:"pending",promise:r};for(;Qe.size>=_0;){let o=Qe.keys().next().value;if(!o)break;Qe.delete(o)}return Qe.set(t.href,i),r.then(o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"ready",lut:o})},o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"error",message:Lr(o)})}),i}function Mu(e,t,n){if(e.lut?.src===t)return e.lut;let r=hi(n),{gl:i,program:o}=e;try{return Wu(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=Lr(a),e.lutLoadingSrc=null,F("runtime.colorGrading.uploadLut",a),null}}async function W0(e){let t=Mo(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function Wu(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function V0(e,t,n){let r=hi(n),{gl:i,program:o}=e;return Wu(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Xe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Do(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Xe(e.gl,t.scratch),Xe(e.gl,t.blur),t.bloom&&Xe(e.gl,t.bloom),e.effectTargets=null)}function Io(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Xe(e.gl,t.moments),Xe(e.gl,t.output),e.kuwaharaTargets=null)}function wr(e,t=!1){Do(e),Io(e),z0(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function z0(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function $0(e){let t=ko(e.canvas);return t?(wr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function No(e){if(!e.sourceHidden)return;e.element.removeAttribute(an);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 q0(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=P0(t,e.program.quad),r=Nn(t),i=Nn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Xe(t,r),i&&Xe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function j0(e,t){return t.bloom||(t.bloom=Nn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Du(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function K0(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=O0(t,e.program.quad),o=G0(t,e.program.quad),a=Nn(t,n.HALF_FLOAT_OES,t.NEAREST),l=Nn(t);return!i||!o||!a||!l?(Y0(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function Y0(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Vu(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Tr(e,t,o,a),Tr(e,n,o,a),{width:o,height:a}}function Rr(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),kn(e,t)}function X0(e,t,n,r,i,o,a){let l=Vu(e,t.scratch,r,i/2,o/2),s=a/2;Rr(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),Rr(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function J0(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)Rr(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),Rr(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function kn(e,t){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 Q0(e,t,n,r,i,o,a,l){Tr(e,t.moments,i.width,i.height),Tr(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),kn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),kn(e,u)}function Z0(e,t,n,r){if(n<=0)return!1;let i=Vu(e.gl,t.scratch,t.blur,r.width,r.height);return J0(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function eh(e,t,n,r,i,o){if(n<=0)return Du(e),null;o||Du(e);let a=o?j0(e,t):t.blur;return a?(X0(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function th(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&Do(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=q0(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=Z0(e,l,o,n),u=eh(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function nh(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&Io(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=K0(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(Q0(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function zu(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=th(e,t,n,o),l=nh(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function rh(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 r=Bu(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=Mo(t);return i.state==="ready"?Mu(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Mu(e,r.href,o),Me(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Lr(o),e.lutLoadingSrc=null,Me(e))})),null)}function Fn(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&&St(n))return n;try{let r=document.querySelector(t);return r&&St(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&St(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&St(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)),r=t[n]??null;return r&&St(r)?r:null}catch{return null}}function $u(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 qu(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 ju(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&qu(t)?t:null}function Iu(e){if(!(e instanceof HTMLVideoElement))return!1;let t=ju(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function ih(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function oh(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function Ku(e){if(e instanceof HTMLVideoElement){let t=ju(e);if(t)return t}return qu(e)?e:null}function Pu(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 r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function ah(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Pu(o,"x"),l=Pu(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function Yu(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=ah(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function sh(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Ou(e,t){return Math.max(0,Math.round(e>0?e:t))}function lh(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&sh(e,i);let o=window.getComputedStyle(t);Cs(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Ou(n.offsetWidth,a.width),s=Ou(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Bt(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function vt(e,t,n,r){e.set(r,(t*je+n)*4)}function ut(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Fo(e,t,n){return e.length>=3?xi(e,t,n):new Float32Array(je)}function yt(e,t){return e[t]??0}function uh(e,t,n){let r=Ft(t.red),i=Ft(t.green),o=Ft(t.blue),a=Ft(t.master),l=Fo(n.hueVsHue,-180,180),s=Fo(n.hueVsSaturation,-1,1),u=Fo(n.hueVsLuma,-1,1);for(let c=0;c<je;c+=1)vt(e,0,c,[yt(r,c),yt(i,c),yt(o,c),yt(a,c)]),vt(e,1,c,[ut(yt(l,c),180),ut(yt(s,c),1),ut(yt(u,c),1),1])}function ch(e,t,n){let r=n*R0;vt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),vt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),vt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),vt(e,2,r+3,[ut(t.correction.hueShift,180),ut(t.correction.saturation,1),ut(t.correction.luma,1),ut(t.correction.temperature,1)]),vt(e,2,r+4,[ut(t.correction.tint,1),.5,.5,1])}function dh(e,t,n){let r=new Float32Array(je*Dn*4);uh(r,e,t);let i=0;for(let o of n)o.enabled&&(ch(r,o,i),i+=1);return r}var Gu=new WeakMap;function fh(e,t,n){let r=Gu.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Gu.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function mh(e,t,n,r){let{curves:i,hueCurves:o}=n,a=fh(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(dh(i,o,r),nn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,je,Dn,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function Lo(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function Xu(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:x,secondaries:y}=n,E=Ri(f),S=Fi(x),w=Li(y)?y.reduce((D,P)=>D+Number(P.enabled),0):0;(E||S||w>0)&&mh(e,t,n,y),Lo(e,t.shadowWheel,n.wheels.shadows),Lo(e,t.midtoneWheel,n.wheels.midtones),Lo(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,E?1:0),e.uniform1f(t.hueCurvesEnabled,S?1:0),e.uniform1f(t.secondaryCount,w);for(let[D,P]of t.adjustUniforms)e.uniform1f(P,n.adjust[D]);for(let[D,P]of t.detailUniforms)e.uniform1f(P,n.details[D]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[D,P]of t.effectUniforms)e.uniform1f(P,n.effects[D]);let T=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?w0:wo),k=T[T.length-1]??wo[1];e.uniform1f(t.paletteSize,T.length),Bt(e,t.palette0,T[0]??wo[0]),Bt(e,t.palette1,T[1]??k),Bt(e,t.palette2,T[2]??k),Bt(e,t.palette3,T[3]??k),Bt(e,t.palette4,T[4]??k),Bt(e,t.palette5,T[5]??k),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function ph(e){if(!e.sourceHidden){let t=e.element.getAttribute(er);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(an,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ze(e){let t=xs.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var Ju=Ze("intensity"),Qu=Ze("lut.intensity"),Zu=Ze("adjust.exposure"),ec=Ze("effects.kuwahara"),tc=[["blur",Ze("effects.blur")],["bloom",Ze("effects.bloom")],["kuwahara",ec],["pixelate",Ze("effects.pixelate")],["ascii",Ze("effects.ascii")],["dither",Ze("effects.dither")]],nc=[Ju,Qu,Zu,...tc.map(([,e])=>e)];function Et(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Ln(e,t){return t!==null&&(vs(t)||nc.some(n=>Et(e,n)!==null))}function hh(e,t){let n=null;for(let[r,i]of tc){let o=Et(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function gh(e){let{element:t,grading:n}=e,r=Et(t,Ju),i=Et(t,Qu),o=Et(t,Zu),a=hh(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function rc(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function ic(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Me(e){if(e.destroyed||e.contextLost)return!1;let t=Ku(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=$u(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=ih(t);if(s&&oh(e,t),s||!a){let y=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=y.opacity||"1",e.sourceVisibleForCanvas=(s||l!=="hidden")&&y.visibility!=="hidden"}let u=lh(e,r);if(!u)return!1;let c=window.getComputedStyle(r),m=Yu(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let y=gh(e),E=rh(e);rc(f,x.texture,t);let S=Et(e.element,ec)!==null,w=zu(e,y,u,m,{preserveKuwahara:S});f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),ic(f,x,w);let T=window.__player?.getTime?.(),k=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(k*60);return Xu(f,x,y,E,w.blurReady,w.bloomReady,w.kuwaharaReady,e.compare,u,m,D,k),kn(f,x),ph(e),e.hasDrawn=!0,e.drawError=null,!0}catch(y){return e.drawError=y instanceof Error?y.message:"Shader draw failed",F("runtime.colorGrading.drawEntry",y),!1}}function xh(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function bh(){let e=document.createElement("canvas"),t=ko(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function yh(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Sh(e,t,n,r){let i=Ku(t);if(!i)return null;let o=$u(i);if(!o)return null;let a=xh(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=Yu(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return rc(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:yh(t,r),grainSeed:Uu(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function vh(e,t,n,r,i=!1){let o=Sh(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=nr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let x=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=V0(e,f.lut.src,await W0(f.lut.src))),x=e.lut),c.push({id:m.id,dataUrl:Eh(e,f,x,a,l,s,u)})}catch(y){c.push({id:m.id,dataUrl:null,error:Lr(y)})}}return{...a,images:c}}function Eh(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=zu(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),ic(s,u,c),n||(e.lut=null),Xu(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Ut,r,i,o,a),kn(s,u),l.toDataURL("image/png")}function Ye(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Ch(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 Mn(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,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Mn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Mn(e)})}function _h(e){let t=()=>{Me(e)};if(Ye(e,e.element,"load",t),Ye(e,e.element,"loadedmetadata",t),Ye(e,e.element,"loadeddata",t),Ye(e,e.element,"seeked",t),Ye(e,e.element,"timeupdate",t),Ye(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ye(e,e.element,"play",()=>Mn(e)),Ye(e,e.element,"pause",t)),Ye(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",No(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!$0(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",No(e);return}e.drawError=null,Me(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Me(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ah(e){if(e.destroyed)return null;e.destroyed=!0,Ch(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Do(e),Io(e),No(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function oc(e,t){return e.removeAttribute("style"),t.id?e.id=`${fs}${t.id}`:e.removeAttribute("id"),e.className=C0,e.setAttribute(E0,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function wh(e){return oc(document.createElement("canvas"),e)}function ac(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(_,b,v)=>{let A=e.get(_);if(A)return A.grading=b,A.source=v,Me(A),_ instanceof HTMLVideoElement&&!_.paused&&Mn(A),!0;let R=n.pop();if(R)oc(R.canvas,_);else{let G=wh(_),U=ko(G);if(!U)return G.remove(),!1;R={canvas:G,gl:U.gl,program:U.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let N={element:_,...R,grading:b,compare:{...Ut},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:v,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(_).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(_).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:Uu(_),destroyed:!1};return e.set(_,N),t.add(_),_h(N),Me(N),_ instanceof HTMLVideoElement&&!_.paused&&Mn(N),!0},s=(_,b)=>{if(a)return!1;let v=Fn(_);if(!v)return!1;let A=e.get(v);if(!A){let R=_r(v);if(!Ln(v,R)||!l(v,R,"attribute"))return!1;A=e.get(v)}return A?(A.compare=B0(b),Me(A),!0):!1},u=_=>{let b=e.get(_);if(!b)return;let v=Ah(b);v&&(b.contextLost||n.length>=A0?wr(v,!0):n.push(v)),e.delete(_),t.delete(_)},c=()=>{if(a)return 0;let _=new Set;document.querySelectorAll(`video[${on}], img[${on}]`).forEach(v=>{if(!St(v))return;_.add(v);let A=_r(v);Ln(v,A)&&(Lu(v)||Iu(v))?l(v,A,"attribute"):u(v)});for(let v of t){let A=e.get(v);A&&(!v.isConnected||A.source==="attribute"&&!_.has(v))&&u(v)}return t.size},m=()=>{if(a)return 0;let _=0;for(let b of t){let v=e.get(b);v&&Me(v)&&(_+=1)}return _},f=async()=>{let _=new Set;for(let b of t){let v=e.get(b)?.grading.lut;if(!v?.src.trim()||(v.intensity??1)<=0)continue;let A=Mo(v.src);A.state==="pending"&&_.add(A.promise)}return _.size>0&&await Promise.allSettled(_),m(),_.size},x=()=>{if(a)return 0;let _=0;for(let b of t){let v=e.get(b);!v||!nc.some(R=>Et(b,R)!==null)||b instanceof HTMLVideoElement&&!b.paused&&!b.ended||Me(v)&&(_+=1)}return _},y=(_,b)=>{if(a)return!1;let v=Fn(_);if(!v)return!1;let A=nr(b);return Ln(v,A)?l(v,A,"live"):(u(v),!0)},E=(_,b)=>{if(!St(_))return!1;let v=e.get(_);if(!v){if(!b)return!1;let A=_r(_);return Ln(_,A)&&l(_,A,"attribute")}return v.sourceVisibleForCanvas=b,!b&&v.source==="attribute"&&u(_),!0},S=_=>{let b=Fn(_);if(!b)return{state:"missing",message:"Media not found"};let v=e.get(b);if(v)return v.effectError?{state:"unavailable",message:v.effectError}:v.drawError?{state:"unavailable",message:v.drawError}:v.lutError?{state:"unavailable",message:`LUT error: ${v.lutError}`}:v.grading.lut&&v.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:v.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:v.lut?"Shader + LUT active":"Shader active"};let A=_r(b);return Ln(b,A)?!Lu(b)&&!Iu(b)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},w=async(_,b,v)=>{let A=async()=>{if(a||b.length===0)return null;let N=Fn(_);return!N||(i??(i=bh()),!i)?null:vh(i,N,b,v?.maxDimension,v?.useMediaTime)},R=o.then(A,A);return o=R.then(()=>{},()=>{}),R},T=_=>{let b=Fn(_);if(!(b instanceof HTMLVideoElement))return null;if(!b.paused)return()=>{};let v=b.currentTime,A=b.loop,R=b.muted;return b.loop=!0,b.muted=!0,(b.ended||Number.isFinite(b.duration)&&v>=b.duration)&&(b.currentTime=0),b.play().catch(()=>{}),()=>{b.pause(),b.loop=A,b.muted=R,b.currentTime=v}},k=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let _ of t)u(_);for(let _ of n)wr(_,!0);n.length=0,i&&(wr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[on]}));let D={refresh:c,redraw:m,redrawAnimated:x,waitForActiveLuts:f,setGrading:y,setCompare:s,setSourceVisibility:E,getStatus:S,renderPreviews:w,startPreviewPlayback:T,destroy:k},P=window;return P.__hf=P.__hf||{},P.__hf.colorGrading=D,c(),D}var Nr=class{constructor(t){he(this,"_baseTime",0);he(this,"_playStartMs",null);he(this,"_rate",1);he(this,"_duration",1/0);he(this,"_nowMs");he(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 r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}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 sc(e){return!Number.isFinite(e)||e<=0?1:e}function Th(e,t){t||e.paused||!Wn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Rh(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,safeRate:o,clipDuration:a}=t,l=Number.isFinite(a)&&a>0,s=a*o;if(n>=0){let c=s-n;return l&&c<=0?!1:(l?e.start(0,n+r,c):e.start(0,n+r),!0)}let u=-n/o;return l?e.start(i+u,r,s):e.start(i+u,r),!0}var kr=class{constructor(){he(this,"_ctx",null);he(this,"_bufferCache",new Map);he(this,"_failedSrcs",new Set);he(this,"_activeSources",[]);he(this,"_masterGain",null);he(this,"_rateAnchorCtx",0);he(this,"_rateAnchorComp",0);he(this,"_rate",1);he(this,"_paused",!0);he(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 r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return F("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return F("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),F("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,r,i,o,a,l,s=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=sc(s),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=a,m.connect(f),f.connect(this._masterGain);let x=o-r,y=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=y,this._rateAnchorComp=o,!Rh(m,{elapsed:x,mediaStart:i,scheduledAt:y,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let E=t.muted;t.muted=!0,Th(t,E);let S={el:t,sourceNode:m,gainNode:f,compositionStart:r,mediaStart:i,scheduledAt:y,priorMuted:E,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(S),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(S);w!==-1&&(this._activeSources.splice(w,1),t.muted=E,this._activeSources.length===0&&(this._paused=!0))}),S}catch(c){return F("webAudioTransport.schedule",c),null}}setRate(t){let n=sc(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 r of this._activeSources)try{r.sourceNode.playbackRate.value=n}catch(i){F("webAudioTransport.setRate",i)}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 r=Math.max(0,Math.min(1,n));for(let i of this._activeSources)if(i.el===t)try{i.gainNode.gain.value=r}catch(o){F("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 lc="data-hf-studio-manual-edit-gesture";function uc(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Fh=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function cc(e){return Math.max(0,Math.min(1,e))}function dc(e){let t=Fh.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?cc(n):null}function fc(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=cc(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var Lh=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,Nh=Math.PI*2;function kh(e){let t=Lh.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function Mh(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(Nh*t*e)}function mc(e,t){let n=kh(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>Mh(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var Dh=24,pc=e=>e>=1?1:0,Ih=e=>e,Mr=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,Ph=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Mr}\\s*,\\s*${Mr}\\s+${Mr}\\s*,\\s*${Mr}\\s+1\\s*,\\s*1\\s*$`,"i");function hc(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function Oh(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<Dh;l+=1){let s=(o+a)/2;hc(s,t,r)<e?o=s:a=s}return hc((o+a)/2,n,i)}function Gh(e){let t=Ph.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>Oh(a,n,r,i,o)}function Hh(e,t){if(!e.startsWith("spring("))return null;let n=dc(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>fc(o,n);return t.set(n,i),i}function Bh(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=Gh(n);return i&&t.set(n,i),i}function gc(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?pc:mc(s,i)??Hh(s,r)??Bh(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(s.trim())&&Ne("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??Ih)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",pc);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Po="data-hf-authored-duration",Oo="data-hf-authored-end",xc=!1;function et(e){if(e){if(typeof e.pause!="function"){xc||(xc=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){F("runtime.timeline.pause",t)}}}function Uh(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function bc(){let e=ws();fa(xe),vr(document),Ao(document);let t=Uh();e.canonicalFps=t.fps??e.canonicalFps,ca(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,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,h,p)=>{s.has(d)||(s.add(d),Ne(h,p))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){F("runtime.init.site1",d)}let c=new Nr;e.transportClock=c;let m=new kr,f=!1;m.init().then(d=>{f=d});let x=()=>{let d=window.gsap,h=window;if(!(!d?.registerPlugin||h.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),h.__hfAutoNoopRegistered=!0}catch(p){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),F("runtime.autoMarker.install",p)}},y=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{gc(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(h){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),F("runtime.customEase.install",h)}};x(),y(),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{xa(document)}catch(d){F("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let E=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let h=Array.from(document.querySelectorAll("[data-composition-id]"));return h.find(p=>!p.parentElement?.closest("[data-composition-id]"))??h[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,h=E()?.getAttribute("data-composition-id")??"root",p={};if(d.length===1)p[h]=d[0];else for(let g=0;g<d.length;g++)p[`tl-${g}`]=d[g];window.__timelines=p}let S=E();S&&!S.hasAttribute("data-start")&&S.setAttribute("data-start","0");let w=d=>{o.push(d)},T=(d,h,p)=>{let g=p??`${d}:${JSON.stringify(h)}`;a.has(g)||(a.add(g),xe({source:"hf-preview",type:"diagnostic",code:d,details:h}))},k=d=>{let h={scale:1,focusX:960,focusY:540},p=[],g=[],C={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:()=>h,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>p,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:()=>g,getRenderState:()=>({...C,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},D=1/60,P=.75,_=.05,b=100,v=240,A=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??"")}},R=d=>{let h=d.toLowerCase();return h.includes("cannot read properties of null")||h.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:h.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:h.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},N=d=>{if(d==null||d.trim()==="")return null;let h=Number.parseFloat(d);return!Number.isFinite(h)||h<=0?null:`${h}px`},G=()=>E(),U=()=>{let d=G();if(!d)return;let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p),h&&d.style.setProperty("--comp-width",h),p&&d.style.setProperty("--comp-height",p)},ne=()=>{let d=G(),h=Array.from(document.querySelectorAll("[data-composition-id]")).filter(p=>p.hasAttribute("data-duration")||p.hasAttribute("data-end"));for(let p of h){if(d&&p===d)continue;let g=p.getAttribute("data-duration"),C=p.getAttribute("data-end");g!=null&&!p.hasAttribute(Po)&&p.setAttribute(Po,g),C!=null&&!p.hasAttribute(Oo)&&p.setAttribute(Oo,C),p.removeAttribute("data-duration"),p.removeAttribute("data-end")}},H=()=>{let d=G();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p);let g=Array.from(d.children);for(let C of g){let L=C.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!C.hasAttribute("data-start")||C.hasAttribute("data-hf-autostamped"))continue;let O=(C.style.top==="0px"||C.style.top==="0")&&(C.style.left==="0px"||C.style.left==="0")&&C.style.width==="100%"&&C.style.height==="100%",X=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(C.style.transform);if(O&&X&&!C.hasAttribute("data-width")&&!C.hasAttribute("data-height")){let ve=C.style.top,Xt=C.style.left,Ee=C.style.width,Jt=C.style.height;C.style.top="",C.style.left="",C.style.width="",C.style.height="";let re=window.getComputedStyle(C);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(C.style.top=ve,C.style.left=Xt,C.style.width=Ee,C.style.height=Jt)}let W=window.getComputedStyle(C),se=W.position;if(se!=="absolute"&&se!=="fixed"&&(C.style.position="absolute"),!!C.style.top||!!C.style.bottom||W.top!=="auto"||W.bottom!=="auto"||(C.style.top="0"),!!C.style.left||!!C.style.right||W.left!=="auto"||W.right!=="auto"||(C.style.left="0"),L!=="audio"){let ve=N(C.getAttribute("data-width")),Xt=N(C.getAttribute("data-height")),Ee=W.width!=="0px"&&W.width!=="auto",Jt=W.height!=="0px"&&W.height!=="auto";ve?!C.style.width&&!Ee&&(C.style.width=ve):!C.style.width&&W.width==="0px"&&(C.style.width="100%"),Xt?!C.style.height&&!Jt&&(C.style.height=Xt):!C.style.height&&W.height==="0px"&&(C.style.height="100%")}}},J=(d,h=0,p)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,h),_e=(d,h)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),z=d=>{let h=d.closest("[data-composition-id]"),p=h?J(h,0):null,g=h?_e(h,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:h,inheritedStart:p,inheritedDuration:g}},Y=d=>{let h=z(d),p=h.inheritedStart??0,g=ke(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||g==null||p<=0)return J(d,p);let C=ke(d.getAttribute("data-duration")),L=h.inheritedDuration,O=L!=null&&L>0?p+L:null,X=C!=null&&C>0?g+C:g;return(O==null?g>=p:g<O&&(X>p||g===p))?g:p+g};window.__hfResolveMediaStartSeconds=Y,o.push(()=>{window.__hfResolveMediaStartSeconds===Y&&delete window.__hfResolveMediaStartSeconds});let V=(d,h)=>{let p=d.tagName.toLowerCase();if(p==="script"||p==="style"||p==="link"||p==="meta")return!1;let C=p==="video"||p==="audio"?Y(d):J(d,0),L=_e(d),O=d.getAttribute("data-composition-id");if(O){let W=(window.__timelines??{})[O],se=null;if(W&&typeof W.duration=="function"){let ie=Number(W.duration());Number.isFinite(ie)&&ie>0&&(se=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Po)||d.hasAttribute(Oo))&&(L==null||L<=0)&&se!=null&&(L=se)}let X=L!=null&&L>0?C+L:Number.POSITIVE_INFINITY;return h>=C&&(Number.isFinite(X)?h<X:!0)},ee=!!document.querySelector("[data-composition-src]"),Ae=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let h of d){let p=h.getAttribute("data-composition-id");if(p&&h.children.length===0&&document.querySelector(`template#${CSS.escape(p)}-template`)){Ae=!0;break}}}let B=!ee&&!Ae,M=d=>{if(!d||typeof d.duration!="function")return null;try{let h=Number(d.duration());return Number.isFinite(h)?Math.max(0,h):null}catch{return null}},I=d=>typeof d=="number"&&Number.isFinite(d)&&d>D,ue=d=>{let h=Number(d.getAttribute("data-duration"));if(Number.isFinite(h)&&h>0)return h;let p=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),g=Number.isFinite(p)?Math.max(0,p):0;return Number.isFinite(d.duration)&&d.duration>g?Math.max(0,d.duration-g):null},ae=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let h=0;for(let p of d){let g=Y(p);if(!Number.isFinite(g))continue;let C=ue(p);C==null||C<=D||(h=Math.max(h,Math.max(0,g)+C))}return h>D?h:null},$=()=>{let d=G();if(!d)return null;let h=window.__timelines??{},p=it({timelineRegistry:h,includeAuthoredTimingAttrs:!0}),g=0,C=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(C)&&C>0&&(g=C);let L=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let O of L){if(!(O instanceof Element)||O.parentElement?.closest("[data-composition-id]")!==d)continue;let W=p.resolveStartForElement(O,0),se=p.resolveDurationForElement(O);!Number.isFinite(W)||se==null||se<=0||(g=Math.max(g,Math.max(0,W)+se))}return g>D?g:null},q=()=>{let d=ae();return typeof d!="number"||!Number.isFinite(d)||d<=D?null:d},j=d=>I(d)?Math.max(D,d*P):D,Ve=()=>{let d=0;for(let h of e.deterministicAdapters){let p=h.getInferredDurationSeconds;if(typeof p!="function")continue;let g=null;try{g=p()}catch(C){F("runtime.init.adapterDuration",C)}typeof g=="number"&&Number.isFinite(g)&&g>0&&(d=Math.max(d,g))}return d>D?d:null},me=(d,h=0)=>{let p=M(d),g=q(),C=$(),L=Ve(),O=Math.max(g??0,C??0,L??0),X=Number.isFinite(h)&&h>D?h:0,W=0;return I(p)?W=Math.max(p,O,X):I(O)?W=Math.max(O,X):W=X,W>0?Math.max(0,W):0},Ct=()=>{let d=window.__timelines??{},h=re=>{let Q=Object.entries(d).filter(oe=>!!oe[1]&&typeof oe[1].play=="function"&&typeof oe[1].pause=="function");if(Q.length!==1)return{timeline:null};let fe=Q[0];if(!fe)return{timeline:null};let[pe,ge]=fe;return{timeline:ge,selectedTimelineIds:[pe],selectedDurationSeconds:M(ge),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},p=it({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),g=q(),C=$(),L=Math.max(g??0,C??0)||null,O=j(L),X=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?p.resolveStartForElement(Q,0):0},W=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let fe=Q.timeline({paused:!0});for(let pe of re)fe.add(pe.timeline,X(pe.compositionId));return fe},se=(re,Q)=>{if(!I(re))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(oe){F("runtime.init.site2",oe)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:re})}catch(oe){F("runtime.init.site3",oe)}return pe},Le=(re,Q)=>{let fe=re;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let oe of Q)if(!pe.some(He=>He===oe.timeline))try{let He=X(oe.compositionId);re.add(oe.timeline,He),ge.push(oe.compositionId)}catch(He){F("runtime.init.site4",He)}return ge}catch{return[]}},ie=G(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return h("root_missing_composition_id");let ve=d[te]??null,Ee=(()=>{if(!ie)return[];let re=new Set,Q=Array.from(ie.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of Q){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===te||re.has(ge))continue;re.add(ge);let oe=d[ge]??null;if(!oe||typeof oe.play!="function"||typeof oe.pause!="function")continue;let Re=M(oe);fe.push({compositionId:ge,timeline:oe,durationSeconds:Re??0})}return fe})(),Jt=re=>{for(let Q of re){let fe=Q.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){F("runtime.init.site5",pe)}}};if(Ee.length>0&&Jt(Ee),ve){let re=Ee.length>0?Le(ve,Ee):[];if((Ee.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+te+"\'])"))&&(Ie=!0),re.length>0)try{let oe=ve.time();ve.seek(oe,!1)}catch{}let Q=M(ve);if(!I(Q)&&Ee.length>0){let oe=Ee.map(dd=>dd.compositionId),Re=W(Ee),He=M(Re);if(Re&&I(He))return{timeline:Re,selectedTimelineIds:oe,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedTimelineIds:oe,autoNestedChildren:re}}};let Yr=se(L??0,ve),Xr=M(Yr);if(Yr&&I(Xr))return{timeline:Yr,selectedTimelineIds:[te],selectedDurationSeconds:Xr,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:Xr,selectedTimelineIds:[te],autoNestedChildren:re}}}}if(!I(Q)&&Ee.length===0){let oe=se(L??0,ve),Re=M(oe);if(oe&&I(Re))return{timeline:oe,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:Re,selectedTimelineIds:[te]}}}}let fe=ie?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(I(pe)?pe:0,C??0);if(ge>0&&I(ge)&&I(Q)&&ge>=Q+.5){let oe=ve;if(typeof oe.to=="function")try{oe.to({},{duration:0},ge)}catch(He){F("runtime.init.site6",He)}let Re=M(ve);if(I(Re))return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:C,newDur:Re}}}}return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:Q,mediaDurationFloorSeconds:g,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(Ee.length>0){let re=Ee.map(pe=>pe.compositionId),Q=W(Ee),fe=M(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,selectedTimelineIds:re}}}}return h("root_composition_id_unmatched_in_registry")},Ie=!1,$c=d=>{let h=window.gsap,p=d;if(!(!p||typeof p.getChildren!="function"||!h||typeof h.parseEase!="function"))for(let g of p.getChildren(!0,!0,!0)){let C=g,L=C.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let O=C.vars?.keyframes,W=(O&&!Array.isArray(O)?O.ease:void 0)??C.vars?.ease??"none";try{let se=h.parseEase(W);typeof se=="function"&&(L._ease=se)}catch(se){Ne("keyframe_ease_repair_failed",{ease:typeof W=="string"?W:String(W)}),F("runtime.keyframeEase.repair",se)}}},$t=()=>{if(y(),!B)return!1;let d=e.capturedTimeline,h=M(d),p=I(h);if(d&&p&&Ie)return!1;let g=Ct();if(!g.timeline)return!1;if(d&&d===g.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=g.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),$c(e.capturedTimeline);let C=me(e.capturedTimeline,0);if(C<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),et(e.capturedTimeline)),C>0){try{c.setDuration(C)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let O=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(O,!1),et(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),vr(document)}if(g.diagnostics&&xe({source:"hf-preview",type:"diagnostic",code:g.diagnostics.code,details:g.diagnostics.details}),xe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:g.selectedTimelineIds??[],selectedDurationSeconds:g.selectedDurationSeconds??null,mediaDurationFloorSeconds:g.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=G(),O=C>0?C:0,X=String(O>0?O:1),W=new Set,se=new Set(document.querySelectorAll("[data-start]")),Le=ie=>{let te=ie.parentElement;for(;te&&te!==L;){if(se.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==L&&(te.hasAttribute("data-start")||Le(te)||W.has(te)||(W.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",X),te.setAttribute("data-hf-autostamped","1")))}catch{}if(L instanceof HTMLElement)for(let ie of L.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==L&&(ie.hasAttribute("data-start")||Le(ie)||W.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||(W.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",X),ie.setAttribute("data-hf-autostamped","1")))}for(let L of qt)On.delete(L),Xo(L);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,$t(),Vr(e.currentTime)};let qc=()=>{let d=G();if(!(d instanceof HTMLElement))return;let h=d.getBoundingClientRect(),p=Number(d.getAttribute("data-width")),g=Number(d.getAttribute("data-height")),C=window.getComputedStyle(d),L=Number.isFinite(p)&&p>0&&Number.isFinite(g)&&g>0,O=h.width<=0||h.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!O||T("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:p,declaredHeight:g,rectWidth:Math.round(h.width),rectHeight:Math.round(h.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:C.display,visibility:C.visibility,overflow:C.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},jc=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,qc()}))},Kc=()=>{r=d=>{let h=A(d.error??d.message).slice(0,v);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:p.code,details:{category:p.category,message:h,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let h=A(d.reason).slice(0,v);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:`${p.code}_unhandled_rejection`,details:{category:`${p.category}-unhandled-rejection`,message:h}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},Yc=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let p of d){let g=()=>{if(!(p instanceof Element))return;let C=p.tagName.toLowerCase(),L=p.getAttribute("src")??p.getAttribute("href")??p.getAttribute("poster")??null,O=C==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";T(O,{tagName:C,assetUrl:L,currentSrc:(p instanceof HTMLImageElement||p instanceof HTMLMediaElement)&&p.currentSrc||null,readyState:p instanceof HTMLMediaElement?p.readyState:null,networkState:p instanceof HTMLMediaElement?p.networkState:null},`${O}:${C}:${L??"unknown"}`)};p.addEventListener("error",g),w(()=>{p.removeEventListener("error",g)})}let h=document.fonts;h&&h.ready.then(()=>{if(e.tornDown)return;let p=Array.from(h).filter(g=>g.status==="error").map(g=>g.family).filter(g=>!!g).slice(0,10);p.length!==0&&T("runtime_font_load_issue",{failedFamilies:p,totalFaces:Array.from(h).length},`runtime-font-load-issue:${p.join("|")}`)}).catch(()=>{})},Xc=(d,h)=>{if(!d.timeline)return!1;let p=e.capturedTimeline;if(p&&p===d.timeline)return!1;let g=Math.max(0,e.currentTime||0),C=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{et(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(g,!1),C&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){F("runtime.init.site7",L)}return xe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:h,previousTime:g,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ft=null,qo=!1,jo=!1,qt=new Set,On=new WeakMap,Gn=()=>{e.tornDown||(ft!=null&&window.clearTimeout(ft),ft=window.setTimeout(()=>{if(e.tornDown||(ft=null,jo&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Ct();if(!d.timeline||!I(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){$t()&&(mt(),Fe(!0));return}if(qo)return;let p=M(e.capturedTimeline),g=d.selectedDurationSeconds??M(d.timeline);I(g)&&(!I(p)||g>=p+_)&&Xc(d,"manual")&&(qo=!0,xe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:p??null,selectedDurationSeconds:g??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),mt(),Fe(!0))},b))},Ko=d=>{d.currentTarget instanceof HTMLMediaElement&&ja(d.currentTarget)},Yo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ka(d.currentTarget)},Jc=()=>{for(let d of qt)d.removeEventListener("loadedmetadata",Gn),d.removeEventListener("durationchange",Gn),d.removeEventListener("loadedmetadata",Ko),d.removeEventListener("error",Yo);qt.clear()},Hr=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let h of d){if(qt.has(h))continue;qt.add(h);let p=Number.parseFloat(h.dataset.volume??"");Number.isFinite(p)&&(h.volume=Math.max(0,Math.min(1,p))),h.addEventListener("loadedmetadata",Gn),h.addEventListener("durationchange",Gn),h.addEventListener("loadedmetadata",Ko),h.addEventListener("error",Yo),qa(h),h.preload!=="auto"&&(h.preload="auto"),h.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&h.load(),Xo(h)}},Xo=d=>{On.has(d)||Ga(d,e.capturedTimeline,me(e.capturedTimeline,0),On,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Br=new WeakMap,Jo=d=>{let h=Br.get(d);if(h!==void 0)return h;let p=window.getComputedStyle(d).position,g=p==="static"||p==="relative"||p==="sticky";return Br.set(d,g),g},Ur=new WeakMap,Qc=d=>{let h=Ur.get(d);if(h!==void 0)return h;let p=d.querySelector("[data-start]")===null;return Ur.set(d,p),p},Zc=()=>{Br=new WeakMap,Ur=new WeakMap},Wr=new WeakMap,Hn=new WeakSet,Vr=(d,h=Array.from(document.querySelectorAll("[data-start]")))=>{let p=G();for(let g of h){if(!(g instanceof HTMLElement))continue;if(g.hasAttribute("data-hidden")){Hn.has(g)||(Wr.set(g,g.style.getPropertyValue("display")),Hn.add(g)),g.style.display="none",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,!1);continue}if(Hn.has(g)){let L=Wr.get(g);L?g.style.display=L:g.style.removeProperty("display"),Wr.delete(g),Hn.delete(g)}let C=V(g,d);if(C){let L=g.parentElement;for(;L&&L!==p;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!V(L,d)){C=!1;break}L=L.parentElement}}g.style.visibility=C?"visible":"hidden",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,C),C?Jo(g)&&g.style.removeProperty("display"):Jo(g)&&Qc(g)&&(g.style.display="none")}},Pe=()=>{let d=Ua({shouldIncludeElement:p=>p.hasAttribute("data-start")||!!z(p).compositionRoot,resolveStartSeconds:p=>Y(p),resolveDurationSeconds:p=>{let g=z(p),C=Y(p),L=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,O=g.inheritedStart!=null&&g.inheritedDuration!=null&&g.inheritedDuration>0?Math.max(0,g.inheritedStart+g.inheritedDuration-C):null,X=Number.isFinite(p.duration)&&p.duration>L?Math.max(0,p.duration-L):null,W=Number.parseFloat(p.dataset.duration??""),se=Number.isFinite(W)&&W>0?W:null;return Ba({isVideo:p.tagName==="VIDEO",sourceDuration:X,hostRemaining:O,explicitDuration:se})}});for(let p of d.mediaClips){let g=On.get(p.el);g&&(p.volumeKeyframes=g)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Wa({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&m.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(p,g)=>m.setElementVolume(p,g),isWebAudioOwned:p=>m.ownsElement(p),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,xe({source:"hf-preview",type:"media-autoplay-blocked"}))}}),Vr(e.currentTime)},Fe=d=>{let h=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),p=Date.now();(d||h!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||p-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=h,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=p,xe({source:"hf-preview",type:"state",frame:h,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},zr="",Qo=0,ed=()=>{let d="";for(let h of document.querySelectorAll("[data-start]"))d+=`${h.id}:${h.tagName}|`;return d},mt=()=>{ne(),U(),H();let d=G();if(d){let g=N(d.getAttribute("data-width")),C=N(d.getAttribute("data-height")),L=g?parseInt(g,10):0,O=C?parseInt(C,10):0;L>0&&O>0&&xe({source:"hf-preview",type:"stage-size",width:L,height:O})}$t();let h=Ds({canonicalFps:e.canonicalFps});window.__clipManifest=h;let p=ed();if(zr!==p&&Zc(),!window.__clipTree||zr!==p){let g=window;window.__clipTree=Ts({startResolver:it({timelineRegistry:g.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:g.__timelines??{},rootDuration:h.durationInFrames/e.canonicalFps}),zr=p}xe(h),jc()},$r=d=>Number.isFinite(d)&&d>0?d:0,td=d=>{let h=$r(Number(d));if(h<=0)return;let p=G(),g=$r(Number.parseFloat(p?.getAttribute("data-duration")??"")),C=Math.max(Qo,$r(c.getDuration()),g);h<=C||(Qo=h,p?.setAttribute("data-duration",String(h)),c.setDuration(h),mt(),Fe(!0))},Oe=(d,h=0)=>{for(let p of e.deterministicAdapters){try{d==="discover"&&p.discover(),d==="pause"&&p.pause(),d==="play"&&p.play&&p.play()}catch(g){F("runtime.init.site8",g)}if(d==="discover")try{p.seek({time:h,suppressEvents:!0})}catch(g){F("runtime.init.site9",g)}}},pt=()=>{window.__renderReady=!1},jt=null,Kt=!0,nd=()=>{let d=[];for(let h of e.deterministicAdapters){let p=h.getReadyPromise;if(typeof p=="function")try{let g=p();g&&d.push(g)}catch(g){F("runtime.init.adapterReady",g)}}return d},rd=()=>{let d=nd();if(d.length===0)return jt=null,Kt=!0,!0;let h=d[0];if(!h)return!0;let p=d.length===1?h:Promise.all(d);return p!==jt&&(jt=p,Kt=!1,Promise.resolve(p).then(()=>{jt===p&&(Kt=!0,pt())},g=>{jt===p&&(Kt=!0,F("runtime.init.adapterReady",g),pt())})),Kt};if(B)yo();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:N,onDiagnostic:({code:h,details:p})=>{xe({source:"hf-preview",type:"diagnostic",code:h,details:p})}};vu(d).then(()=>Su(d)).finally(()=>{B=!0,Hr(),Yc(),yo(),Ao(document),pt()})}let Bn=Es({postMessage:d=>xe(d)});Bn.installPickerApi(),Vr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=ac();n=ze,w(()=>{ze.destroy(),n=null});let qr=d=>{let h=Number(d);!Number.isFinite(h)||h<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,h)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let p=document.querySelectorAll("video, audio");for(let g of p)if(g instanceof HTMLMediaElement)try{g.playbackRate=e.playbackRate}catch(C){F("runtime.init.site10",C)}},Zo={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let h=me(d,0);if(h>0)c.setDuration(h),c.reachedEnd()&&(c.seek(0),e.currentTime=0,ht(0));else{let p=G(),g=Number(p?.getAttribute("data-duration")??0);g>0&&c.setDuration(g)}et(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,oa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&aa(),Oe("play"),Pe(),ze.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,oa(e.currentTime);let d=e.capturedTimeline;et(d),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},seek:(d,h)=>{let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let g=c.isPlaying();g&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let C=e.capturedTimeline;if(et(C),ht(e.currentTime),Oe("pause"),h?.keepPlaying&&g){Zo.play();return}Pe(),ze.redraw(),Fe(!0)},renderSeek:(d,h)=>{jo=!0;let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ht(e.currentTime,{activateChildren:!0,suppressEvents:h?.suppressEvents}),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{qr(d),c.setRate(e.playbackRate),sa()},getPlaybackRate:()=>e.playbackRate},ea=me(e.capturedTimeline,0);ea>0&&c.setDuration(ea);let Ge=As({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:qr,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,h)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==h&&(e.mediaForceSyncNextTick=!0),e.isPlaying=h,Pe()},onStatePost:Fe,onDeterministicSeek:(d,h)=>{for(let p of e.deterministicAdapters)if(!(p.name==="gsap"&&e.capturedTimeline))try{p.seek({time:Number(d)||0,suppressEvents:h?.suppressEvents})}catch(g){F("runtime.init.site11",g)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{ze.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>me(e.capturedTimeline,0),transport:Zo});window.__player=k(Ge),window.__playerReady=!0,Ne("composition_loaded",{duration:Ge.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Pa(),ya({resolveStartSeconds:d=>J(d,0)}),va(),Ca(),wa(),Ta(),Ra(),Fa(),La(),Na(),ka(),Sa({getTimeline:()=>e.capturedTimeline})],Da(),Ia(),window.__hfReseekGpu=d=>{let h=Math.max(0,Number(d)||0);window.__hfThreeTime=h,window.__hfTypegpuTime=h,Kn(h)},window.__hfWaitForSeekCompletion=ai,o.push(()=>{window.__hfWaitForSeekCompletion===ai&&delete window.__hfWaitForSeekCompletion}),Kc(),Hr(),Oe("discover");let id=()=>{let d=e.capturedTimeline,h=$t();e.capturedTimeline&&(h||e.capturedTimeline!==d||!Ge._timeline)&&(Ge._timeline=e.capturedTimeline);let p=me(e.capturedTimeline,0);if(p>0&&c.setDuration(p),Oe("discover",e.currentTime),!e.capturedTimeline){let g=window.__timelines??{},C=Object.keys(g).filter(L=>g[L]);if(C.length>0){let O=G()?.getAttribute("data-composition-id")??null;T("root_timeline_unbound_registry_present",{reason:O?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:O,registeredTimelineKeys:C},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(O?`Root data-composition-id is "${O}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${C.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${O??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,mt(),Fe(!0)},_t=null,od=()=>{if(_t)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),_t=null,pt()};_t=d,window.addEventListener("hf-timelines-built",d)};w(()=>{_t&&(window.removeEventListener("hf-timelines-built",_t),_t=null)}),pt=()=>{if(!B){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,od();return}if(Oe("discover",e.currentTime),!rd()){window.__renderReady=!1;return}id()},pt(),B&&setTimeout(()=>{pt()},0);let Un=0,jr=!1,ad=(d,h,p,g)=>{try{let C=g?.suppressEvents===!0;et(d),typeof d.totalTime=="function"?d.totalTime(h,C):d.seek(h,C)}catch(C){F(p,C)}},sd=(d,h)=>{let p=window.__timelines??{},g=G()?.getAttribute("data-composition-id")??null;for(let[C,L]of Object.entries(p)){if(!L||C===g)continue;let O=document.querySelector(`[data-composition-id="${CSS.escape(C)}"]`);if(!O)continue;let X=J(O,0);if(!Number.isFinite(X))continue;let W=M(L),se=Rt(O)+Math.max(0,d-X)*qe(O),Le=Math.max(0,W!=null&&W>0?Math.min(W,se):se);ad(L,Le,"runtime.init.transport.childTimeline",h)}},ta=d=>{let h=window.__timelines??{};for(let p of Object.values(h))if(!(!p||p===d))try{p.play()}catch(g){F("runtime.init.activateSiblings",g)}},na=d=>typeof d=="object"&&d!==null,Yt=new WeakMap,ld=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],ra=(d,h)=>{let p=d[h];if(typeof p!="function")return null;try{let g=Number(p.call(d));return Number.isFinite(g)?g:null}catch(g){return F("runtime.init.gsapCallbackDuration",g),null}},ud=d=>{let h=Yt.get(d);if(h!=null)return h;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let p;try{p=d.getChildren(!0,!0,!0)}catch(g){return F("runtime.init.gsapCallbackChildren",g),Yt.set(d,!1),!1}if(!Array.isArray(p))return Yt.set(d,!1),!1;for(let g of p){if(!na(g))continue;let C=g.vars;if(!na(C)||!ld.some(W=>typeof C[W]=="function"))continue;let X=ra(g,"totalDuration")??ra(g,"duration");if(X!=null&&X<=1e-6)return Yt.set(d,!0),!0}return Yt.set(d,!1),!1};function ht(d,h){let p=e.capturedTimeline,g=h?.suppressEvents===!0;if(p){h?.activateChildren&&ta(p);let C=p,L=d;if(typeof C.totalDuration=="function")try{let O=Number(C.totalDuration());Number.isFinite(O)&&O>0&&d>O&&(L=O)}catch(O){F("runtime.init.transport.clampDuration",O)}try{typeof p.totalTime=="function"?(p.totalTime(L,g),!g&&!ud(p)&&(p.totalTime(L+.001,!0),p.totalTime(L,!0))):p.seek(L,g)}catch(O){F("runtime.init.transport.seek",O)}}sd(d,h),p&&h?.activateChildren&&ta(p);for(let C of e.deterministicAdapters)if(!(C.name==="gsap"&&p))try{C.seek({time:d,suppressEvents:g})}catch(L){F("runtime.init.transport.adapter",L)}}let cd=()=>{try{return document.querySelector(`[${lc}]`)!=null}catch{return!1}},ia=()=>{if(!(e.tornDown||jr)){jr=!0;try{if(e.transportRafId=window.requestAnimationFrame(ia),Un+=1,uc({tick:Un,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let h=e.capturedTimeline;if($t()){e.capturedTimeline&&!Ge._timeline&&(Ge._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&et(e.capturedTimeline);let p=me(e.capturedTimeline,0);p>0&&c.setDuration(p),mt()}}if(Un%20===0&&mt(),Un%30===0&&Hr(),e.capturedTimeline){let h=me(e.capturedTimeline,0);h>0&&(!c.isPlaying()||h>=c.getDuration())&&c.setDuration(h)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let h=m.getTime();h>=0&&c.attachAudioSource({currentTimeSeconds:h})}else{let h=document.querySelectorAll("audio[data-start]"),p=!1;for(let g of h){if(!(g instanceof HTMLMediaElement)||!g.isConnected)continue;let C=Number.parseFloat(g.dataset.start??""),L=Number.parseFloat(g.dataset.duration??""),O=Number.isFinite(L)&&L>0?C+L:1/0,X=Number.parseFloat(g.dataset.playbackStart??g.dataset.mediaStart??"0")||0;if(Number.isFinite(C)&&e.currentTime>=C&&e.currentTime<O){g.paused?!g.error&&g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),p=!0):(c.attachAudioSource({el:g,compositionStart:C,mediaStart:X}),p=!0);break}}!p&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!cd())&&ht(d),c.isPlaying()&&ze.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{jr=!1}}},oa=d=>{let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let C=Number.parseFloat(p.dataset.duration??""),L=Number.isFinite(C)&&C>0?g+C:1/0;if(d<g||d>=L)continue;let O=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,X=d-g+O;if(X>=0)try{p.currentTime=X}catch{}}},aa=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),h=document.querySelectorAll("audio[data-start]");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let C=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,L=Number.parseFloat(p.dataset.volume??""),O=Number.isFinite(L)?L:1,X=Number.parseFloat(p.dataset.duration??""),W=Number.isFinite(X)&&X>0?X:Number.POSITIVE_INFINITY,se=p.closest("[data-composition-id]");if(se){let Le=J(se,0),ie=_e(se,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&(W=Math.min(W,Math.max(0,Le+ie-g)))}m.decodeAudioElement(p).then(Le=>{!Le||!c.isPlaying()||m.schedulePlayback(p,Le,g,C,c.now(),O*e.bridgeVolume,d,e.playbackRate,W)})}};function sa(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),aa())}if(e.capturedTimeline){let d=me(e.capturedTimeline,0);d>0&&c.setDuration(d),et(e.capturedTimeline)}Tu(window),e.transportRafId=window.requestAnimationFrame(ia),mt(),Fe(!0),e.controlBridgeHandler=da({onPlay:()=>{Ge.play(),Ne("composition_played",{time:Ge.getTime()})},onPause:()=>{Ge.pause(),Ne("composition_paused",{time:Ge.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let h of d)h instanceof HTMLMediaElement&&!h.paused&&h.pause()},onSeek:(d,h)=>{Ge.seek(d),Ne("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let h=d||e.mediaOutputMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement))continue;let g=parseFloat(p.dataset.volume??""),C=Number.isFinite(g)?g:1;p.volume=C*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let h=d||e.bridgeMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{qr(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),sa()},onSetRootDuration:td,onSetColorGrading:(d,h)=>{ze.setGrading(d,h)},onSetColorGradingCompare:(d,h)=>{ze.setCompare(d,h)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,ht(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>Bn.enablePickMode(),onDisablePickMode:()=>Bn.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Kr=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),ft!=null&&(window.clearTimeout(ft),ft=null),l!=null&&(window.cancelAnimationFrame(l),l=null),Jc(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),Bn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(h){F("runtime.init.site12",h)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(h){F("runtime.init.site13",h)}for(let d of e.injectedCompStyles)try{d.remove()}catch(h){F("runtime.init.site14",h)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(h){F("runtime.init.site15",h)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(h){F("runtime.init.site16",h)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Kr&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Kr,e.beforeUnloadHandler=Kr,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var yc=["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"],Go=[[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 Wh(e){if(e<=255)return yc[e];let t=0,n=Go.length-1;for(;t<=n;){let r=t+n>>1,i=Go[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Vh(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!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 y=e.charCodeAt(u+1);y>=56320&&y<=57343&&(m=(c-55296<<10)+(y-56320)+65536,f=2)}let x=Wh(m);(x==="R"||x==="AL"||x==="AN")&&(r=!0);for(let y=0;y<f;y++)n[u+y]=x;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=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")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=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 E=u;E<c;E++)n[E]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);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 Sc(e,t){let n=Vh(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var zh=/[ \\t\\n\\r\\f]+/g,$h=/[\\t\\n\\r\\f]| {2,}|^ | $/;function qh(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function jh(e){if(!$h.test(e))return e;let t=e.replace(zh," ");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 Kh(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Ho=null,Yh;function Xh(){return Ho===null&&(Ho=new Intl.Segmenter(Yh,{granularity:"word"})),Ho}var Jh=/\\p{Script=Arabic}/u,Dr=/\\p{M}/u,Rc=/\\p{Nd}/u;function vc(e){return Jh.test(e)}function Ec(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 We(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 r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){let i=(n-55296<<10)+(r-56320)+65536;if(Ec(i))return!0;t++;continue}}if(Ec(n))return!0}}return!1}function Qh(e){let t=Or(e);return t!==null&&(Pr.has(t)||ct.has(t))}var Zh=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function eg(e){return We(e)}function tg(e){let t=Or(e);return t!==null&&Zh.has(t)}function Ir(e){return!Qh(e)&&!tg(e)}var Pr=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"]),Pn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Uo=new Set(["\'","\\u2019"]),ct=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),ng=new Set([":",".","\\u060C","\\u061B"]),rg=new Set(["\\u104F"]),ig=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function og(e){if(Wo(e))return!0;let t=!1;for(let n of e){if(ct.has(n)){t=!0;continue}if(!(t&&Dr.test(n)))return!1}return t}function ag(e){for(let t of e)if(!Pr.has(t)&&!ct.has(t))return!1;return e.length>0}function sg(e){if(Wo(e))return!0;for(let t of e)if(!Pn.has(t)&&!Uo.has(t)&&!Dr.test(t))return!1;return e.length>0}function Wo(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Dr.test(n))){if(Pn.has(n)||ct.has(n)||Uo.has(n)){t=!0;continue}return!1}return t}function Fc(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let o=e.charCodeAt(i);return o>=55296&&o<=56319?i:n}function Or(e){if(e.length===0)return null;let t=Fc(e,e.length);return e.slice(t)}function lg(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Dr.test(r)){n--;continue}if(Pn.has(r)||Uo.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function ug(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Cc(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function _c(e,t){return e&&t!==null&&ng.has(t)}function cg(e){let t=Or(e);return t!==null&&rg.has(t)}function dg(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 Gr(e){let t=e.length;for(;t>0;){let n=Fc(e,t),r=e.slice(n,t);if(ig.has(r))return!0;if(!ct.has(r))return!1;t=n}return!1}function fg(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 mg=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function pg(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function hg(e,t,n,r){if(!mg.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=fg(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function Bo(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var gg=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function xg(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:gg.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function bg(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function yg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!xg(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Bo(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function Sg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!bg(a))continue;let l=o+1;if(l>=e.len||Bo(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Bo(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var vg=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Ac=/^[A-Za-z0-9_]+[,:;]*$/,wc=/[,:;]+$/;function Lc(e){for(let t of e)if(Rc.test(t))return!0;return!1}function In(e){if(e.length===0)return!1;for(let t of e)if(!(Rc.test(t)||vg.has(t)))return!1;return!0}function Eg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&In(a)&&Lc(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&In(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Cg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Ac.test(a)){let u=[a],c=wc.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Ac.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=wc.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function _g(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!Lc(c)||!In(c))&&(s=!1)}if(s){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),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Ag(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="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=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function wg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!We(t[o])||!We(t[o+1]))continue;let a=lg(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Tc(e,t,n){let r=Xh(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],x=[],y=[],E=[],S=[];for(let _ of r.segment(e))for(let b of hg(_.segment,_.isWordLike??!1,_.index,n)){let J=function(){c[H]!==null&&(a[H]=[Cc(o,c,m,H)],c[H]=null),a[H].push(b.text),l[H]=l[H]||b.isWordLike,f[H]=f[H]||R,x[H]=x[H]||N,y[H]=U,E[H]=ne,S[H]=_c(x[H],G)},v=b.kind==="text",A=ug(b.text,b.isWordLike,b.kind),R=We(b.text),N=vc(b.text),G=Or(b.text),U=Gr(b.text),ne=cg(b.text),H=i-1;t.carryCJKAfterClosingQuote&&v&&i>0&&s[H]==="text"&&R&&f[H]&&y[H]||v&&i>0&&s[H]==="text"&&ag(b.text)&&f[H]||v&&i>0&&s[H]==="text"&&E[H]?J():v&&i>0&&s[H]==="text"&&b.isWordLike&&N&&S[H]?(J(),l[H]=!0):A!==null&&i>0&&s[H]==="text"&&c[H]===A?m[H]=(m[H]??1)+1:v&&!b.isWordLike&&i>0&&s[H]==="text"&&(og(b.text)||b.text==="-"&&l[H])?J():(o[i]=b.text,a[i]=[b.text],l[i]=b.isWordLike,s[i]=b.kind,u[i]=b.start,c[i]=A,m[i]=A===null?0:1,f[i]=R,x[i]=N,y[i]=U,E[i]=ne,S[i]=_c(N,G),i++)}for(let _=0;_<i;_++){if(c[_]!==null){o[_]=Cc(o,c,m,_);continue}o[_]=De(a[_])}for(let _=1;_<i;_++)s[_]==="text"&&!l[_]&&Wo(o[_])&&s[_-1]==="text"&&(o[_-1]+=o[_],l[_-1]=l[_-1]||l[_],o[_]="");let w=Array.from({length:i},()=>null),T=-1;for(let _=i-1;_>=0;_--){let b=o[_];if(b.length!==0){if(s[_]==="text"&&!l[_]&&sg(b)&&T>=0&&s[T]==="text"){let v=w[T]??[];v.push(b),w[T]=v,u[T]=u[_],o[_]="";continue}T=_}}for(let _=0;_<i;_++){let b=w[_];b!=null&&(o[_]=pg(b,o[_]))}let k=0;for(let _=0;_<i;_++){let b=o[_];b.length!==0&&(k!==_&&(o[k]=b,l[k]=l[_],s[k]=s[_],u[k]=u[_]),k++)}o.length=k,l.length=k,s.length=k,u.length=k;let D=Ag({len:k,texts:o,isWordLike:l,kinds:s,starts:u}),P=wg(Cg(_g(Eg(Sg(yg(D))))));for(let _=0;_<P.len-1;_++){let b=dg(P.texts[_]);b!==null&&(P.kinds[_]!=="space"&&P.kinds[_]!=="preserved-space"||P.kinds[_+1]!=="text"||!vc(P.texts[_+1])||(P.texts[_]=b.space,P.isWordLike[_]=!1,P.kinds[_]=P.kinds[_]==="preserved-space"?"preserved-space":"space",P.texts[_+1]=b.marks+P.texts[_+1],P.starts[_+1]=P.starts[_]+b.space.length))}return P}function Tg(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Rg(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],y=e.isWordLike[m],E=e.starts[m];if(x==="text"){let S=eg(f),w=Ir(f);if(o!==null&&s&&u){o.push(f),a=a||y,s=s||S,u=w;continue}c(),o=[f],a=y,l=E,s=S,u=w;continue}c(),t.push(f),n.push(y),r.push(x),i.push(E)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Nc(e,t,n="normal",r="normal"){let i=qh(n),o=i.mode==="pre-wrap"?Kh(e):jh(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Rg(Tc(o,t,i)):Tc(o,t,i);return{normalized:o,chunks:Tg(a,i),...a}}var Wt=null,kc=new Map,Vt=null,Fg=96,Lg=/\\p{Emoji_Presentation}/u,Ng=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Vo=null,Mc=new Map;function zo(){if(Wt!==null)return Wt;if(typeof OffscreenCanvas<"u")return Wt=new OffscreenCanvas(1,1).getContext("2d"),Wt;if(typeof document<"u")return Wt=document.createElement("canvas").getContext("2d"),Wt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function kg(e){let t=kc.get(e);return t||(t=new Map,kc.set(e,t)),t}function tt(e,t){let n=t.get(e);return n===void 0&&(n={width:zo().measureText(e).width,containsCJK:We(e)},t.set(e,n)),n}function zt(){if(Vt!==null)return Vt;if(typeof navigator>"u")return Vt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Vt;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/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return Vt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},Vt}function Mg(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function Dc(){return Vo===null&&(Vo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Vo}function Dg(e){return Lg.test(e)||e.includes("\\uFE0F")}function Ic(e){return Ng.test(e)}function Ig(e,t){let n=Mc.get(e);if(n!==void 0)return n;let r=zo();r.font=e;let i=r.measureText("\\u{1F600}").width;if(n=0,i>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 a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return Mc.set(e,n),n}function Pg(e){let t=0,n=Dc();for(let r of n.segment(e))Dg(r.segment)&&t++;return t}function Og(e,t){return t.emojiCount===void 0&&(t.emojiCount=Pg(e)),t.emojiCount}function dt(e,t,n){return n===0?t.width:t.width-Og(e,t)*n}function Pc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Dc(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=tt(m,n);c.push(dt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>Fg){let c=[],m=null,f=0;for(let x of a){let y=tt(x,n),E=dt(x,y,r);if(m===null)c.push(E);else{let S=m+x,w=tt(S,n);c.push(dt(S,w,r)-f)}m=x,f=E}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=tt(s,n),f=dt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function Oc(e,t){let n=zo();n.font=e;let r=kg(e),i=Mg(e),o=t?Ig(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function Gg(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 Hg(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Bg(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function Gc(e,t){return e.simpleLineWalkFastPath?Hc(e,t):Bc(e,t)}function Hc(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=zt().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,x=0,y=0,E=0,S=-1,w=0;function T(){S=-1,w=0}function k(A=y,R=E,N=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:A,endGraphemeIndex:R,width:N}),c=0,m=!1,T()}function D(A,R){m=!0,f=A,x=0,y=A+1,E=0,c=R}function P(A,R,N){m=!0,f=A,x=R,y=A,E=R+1,c=N}function _(A,R){if(!m){D(A,R);return}c+=R,y=A+1,E=0}function b(A,R){let N=o[A];for(let G=R;G<N.length;G++){let U=N[G];m?c+U>s?(k(),P(A,G,U)):(c+=U,y=A,E=G+1):P(A,G,U)}m&&y===A&&E===N.length&&(y=A+1,E=0)}let v=0;for(;v<r.length&&!(!m&&(v=Gg(e,v),v>=r.length));){let A=r[v],R=i[v],N=R==="space"||R==="preserved-space"||R==="tab"||R==="zero-width-break"||R==="soft-hyphen";if(!m){A>t&&o[v]!==null?b(v,0):D(v,A),N&&(S=v+1,w=c-A),v++;continue}if(c+A>s){if(N){_(v,A),k(v+1,0,c-A),v++;continue}if(S>=0){if(y>S||y===S&&E>0){k();continue}k(S,0,w);continue}if(A>t&&o[v]!==null){k(),b(v,0),v++;continue}k();continue}_(v,A),N&&(S=v+1,w=c-A),v++}return m&&k(),u}function Bc(e,t,n){if(e.simpleLineWalkFastPath)return Hc(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=zt(),f=m.lineFitEpsilon,x=t+f,y=0,E=0,S=!1,w=0,T=0,k=0,D=0,P=-1,_=0,b=0,v=null;function A(){P=-1,_=0,b=0,v=null}function R(z=k,Y=D,V=E){y++,n?.({startSegmentIndex:w,startGraphemeIndex:T,endSegmentIndex:z,endGraphemeIndex:Y,width:V}),E=0,S=!1,A()}function N(z,Y){S=!0,w=z,T=0,k=z+1,D=0,E=Y}function G(z,Y,V){S=!0,w=z,T=Y,k=z,D=Y+1,E=V}function U(z,Y){if(!S){N(z,Y);return}E+=Y,k=z+1,D=0}function ne(z,Y,V,ee){if(!Y)return;let Ae=z==="tab"?0:i[V],B=z==="tab"?ee:o[V];P=V+1,_=E-ee+Ae,b=E-ee+B,v=z}function H(z,Y){let V=l[z];for(let ee=Y;ee<V.length;ee++){let Ae=V[ee];S?E+Ae>x?(R(),G(z,ee,Ae)):(E+=Ae,k=z,D=ee+1):G(z,ee,Ae)}S&&k===z&&D===V.length&&(k=z+1,D=0)}function J(z){if(v!=="soft-hyphen")return!1;let Y=l[z];if(Y==null)return!1;let{fitCount:V,fittedWidth:ee}=Bg(Y,E,t,f,s);return V===0?!1:(E=ee,k=z,D=V,A(),V===Y.length?(k=z+1,D=0,!0):(R(z,V,ee+s),H(z,V),!0))}function _e(z){y++,n?.({startSegmentIndex:z.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:z.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),A()}for(let z=0;z<c.length;z++){let Y=c[z];if(Y.startSegmentIndex===Y.endSegmentIndex){_e(Y);continue}S=!1,E=0,w=Y.startSegmentIndex,T=0,k=Y.startSegmentIndex,D=0,A();let V=Y.startSegmentIndex;for(;V<Y.endSegmentIndex;){let ee=a[V],Ae=ee==="space"||ee==="preserved-space"||ee==="tab"||ee==="zero-width-break"||ee==="soft-hyphen",B=ee==="tab"?Hg(E,u):r[V];if(ee==="soft-hyphen"){S&&(k=V+1,D=0,P=V+1,_=E+s,b=E+s,v=ee),V++;continue}if(!S){B>t&&l[V]!==null?H(V,0):N(V,B),ne(ee,Ae,V,B),V++;continue}if(E+B>x){let I=E+(ee==="tab"?0:i[V]),ue=E+(ee==="tab"?B:o[V]);if(v==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){R(P,0,b);continue}if(v==="soft-hyphen"&&J(V)){V++;continue}if(Ae&&I<=x){U(V,B),R(V+1,0,ue),V++;continue}if(P>=0&&_<=x){if(k>P||k===P&&D>0){R();continue}let ae=P;R(ae,0,b),V=ae;continue}if(B>t&&l[V]!==null){R(),H(V,0),V++;continue}R();continue}U(V,B),ne(ee,Ae,V,B),V++}if(S){let ee=P===Y.consumedEndSegmentIndex?b:E;R(Y.consumedEndSegmentIndex,0,ee)}}return y}var $o=null;function Ug(){return $o===null&&($o=new Intl.Segmenter(void 0,{granularity:"grapheme"})),$o}function Wg(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 Vg(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,x){r=[m],i=f,o=x,a=Gr(m),l=Pn.has(m)}function c(m,f){r.push(m),o=o||f;let x=Gr(m);m.length===1&&ct.has(m)?a=a||x:a=x,l=!1}for(let m of Ug().segment(e)){let f=m.segment,x=We(f);if(r.length===0){u(f,m.index,x);continue}if(l||Pr.has(f)||ct.has(f)||t.carryCJKAfterClosingQuote&&x&&a){c(f,x);continue}if(!o&&!x){c(f,x);continue}s(),u(f,m.index,x)}return s(),n}function zg(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=We(e[0].text),o=Ir(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=We(s.text),c=Ir(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function $g(e,t,n,r){let i=zt(),{cache:o,emojiCorrection:a}=Oc(t,Ic(e.normalized)),l=dt("-",tt("-",o),a),u=dt(" ",tt(" ",o),a)*8;if(e.len===0)return Wg(n);let c=[],m=[],f=[],x=[],y=e.chunks.length<=1,E=n?[]:null,S=[],w=n?[]:null,T=Array.from({length:e.len});function k(b,v,A,R,N,G,U){N!=="text"&&N!=="space"&&N!=="zero-width-break"&&(y=!1),c.push(v),m.push(A),f.push(R),x.push(N),E?.push(G),S.push(U),w!==null&&w.push(b)}function D(b,v,A,R,N){let G=tt(b,o),U=dt(b,G,a),ne=v==="space"||v==="preserved-space"||v==="zero-width-break"?0:U,H=v==="space"||v==="zero-width-break"?0:U;if(N&&R&&b.length>1){let J="sum-graphemes";In(b)?J="pair-context":i.preferPrefixWidthsForBreakableRuns&&(J="segment-prefixes");let _e=Pc(b,G,o,a,J);k(b,U,ne,H,v,A,_e);return}k(b,U,ne,H,v,A,null)}for(let b=0;b<e.len;b++){T[b]=c.length;let v=e.texts[b],A=e.isWordLike[b],R=e.kinds[b],N=e.starts[b];if(R==="soft-hyphen"){k(v,0,l,l,R,N,null);continue}if(R==="hard-break"){k(v,0,0,0,R,N,null);continue}if(R==="tab"){k(v,0,0,0,R,N,null);continue}let G=tt(v,o);if(R==="text"&&G.containsCJK){let U=Vg(v,i),ne=r==="keep-all"?zg(U):U;for(let H=0;H<ne.length;H++){let J=ne[H];D(J.text,"text",N+J.start,A,r==="keep-all"||!We(J.text))}continue}D(v,R,N,A,!0)}let P=qg(e.chunks,T,c.length),_=E===null?null:Sc(e.normalized,E);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:y,segLevels:_,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:y,segLevels:_,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P}}function qg(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function jg(e,t,n,r){let i=r?.wordBreak??"normal",o=Nc(e,zt(),r?.whiteSpace,i);return $g(o,t,n,i)}function Uc(e,t,n){return jg(e,t,!1,n)}function Wc(e,t,n){let r=Gc(e,t);return{lineCount:r,height:r*n}}var Kg={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Vc(e,t){let n={...Kg,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=Uc(e,o),{lineCount:l}=Wc(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Hu();window.__hyperframes={fitTextFontSize:Vc,getVariables:pa};function zc(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,bc())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zc,{once:!0}):zc();})();\n';
58578
+ RUNTIME_IIFE = '"use strict";(()=>{var xd=Object.create;var Qr=Object.defineProperty;var bd=Object.getOwnPropertyDescriptor;var yd=Object.getOwnPropertyNames;var Sd=Object.getPrototypeOf,Ed=Object.prototype.hasOwnProperty;var vd=(e,t,n)=>t in e?Qr(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 Cd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of yd(t))!Ed.call(e,i)&&i!==n&&Qr(e,i,{get:()=>t[i],enumerable:!(r=bd(t,i))||r.enumerable});return e};var _d=(e,t,n)=>(n=e!=null?xd(Sd(e)):{},Cd(t||!e||!e.__esModule?Qr(n,"default",{value:e,enumerable:!0}):n,e));var he=(e,t,n)=>vd(e,typeof t!="symbol"?t+"":t,n);var Bs=Z((ry,Wi)=>{var K=String,Hs=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};Wi.exports=Hs();Wi.exports.createColors=Hs});var Vi=Z(()=>{});var or=Z((ay,Vs)=>{"use strict";var Us=Bs(),Ws=Vi(),fn=class e extends Error{constructor(t,n,r,i,o,a){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),a&&(this.plugin=a),typeof n<"u"&&typeof r<"u"&&(typeof n=="number"?(this.line=n,this.column=r):(this.line=n.line,this.column=n.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",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=Us.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Us.createColors(!0);i=x=>c(f(x)),r=x=>m(x),Ws&&(o=x=>Ws(x))}let a=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let C=20,y=Math.max(0,this.column-C),w=Math.max(this.column+C,this.endColumn+C),T=c.slice(y,w),k=r(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,C-1)).replace(/[^\\t]/g," ");return i(">")+r(x)+o(T)+`\n `+k+i("^")}let E=r(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return i(">")+r(x)+o(c)+`\n `+E+i("^")}return" "+r(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Vs.exports=fn;fn.default=fn});var zi=Z((sy,$s)=>{"use strict";var vm=/(<)(\\/?style\\b)/gi,Cm=/(<)(!--)/g;function ot(e){return typeof e!="string"||!e.includes("<")?e:e.replace(vm,"\\\\3c $2").replace(Cm,"\\\\3c $2")}var zs={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function _m(e){return e[0].toUpperCase()+e.slice(1)}var mn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(ot(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`\n`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(ot(n+r)+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(ot(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:ot(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(ot("/*"+n+t.text+r+"*/"),t)}decl(t,n){let r=t.raws,i=this.raw(t,"between","colon"),o=t.prop+i+this.rawValue(t,"value");t.important&&(o+=r.important||" !important"),n&&(o+=";"),this.builder(ot(o),t)}document(t){this.body(t)}raw(t,n,r){let i;if(r||(r=n),n&&(i=t.raws[n],typeof i<"u"))return i;let o=t.parent;if(r==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return zs[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+_m(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=zs[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let r;return t.walkComments(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeDecl"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeDecl(t,n){let r;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeRule"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeOpen(t){let n;return t.walk(r=>{if(r.type!=="decl"&&(n=r.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&typeof r.raws.before<"u")return n=r.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(r=>{if(typeof r.raws.between<"u")return n=r.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length===0&&(n=r.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof r.raws.before<"u"){let o=r.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:ot(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(ot(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)}};$s.exports=mn;mn.default=mn});var pn=Z((ly,qs)=>{"use strict";var Am=zi();function $i(e,t){new Am(t).stringify(e)}qs.exports=$i;$i.default=$i});var ar=Z((uy,qi)=>{"use strict";qi.exports.isClean=Symbol("isClean");qi.exports.my=Symbol("my")});var xn=Z((cy,js)=>{"use strict";var wm=or(),Tm=zi(),Rm=pn(),{isClean:hn,my:Fm}=ar();function ji(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>ji(a,n)):(o==="object"&&i!==null&&(i=ji(i)),n[r]=i)}return n}function Je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,r=1,i=0;for(let o=0;o<e.length;o++){if(r===t.line&&n===t.column){i=o;break}e[o]===`\n`?(n=1,r+=1):n+=1}return i}var gn=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[hn]=!1,this[Fm]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}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=ji(this);for(let r in t)n[r]=t[r];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:r,start:i}=this.rangeBy(n);return this.source.input.error(t,{column:i.column,line:i.line},{column:r.column,line:r.line},n)}return new wm(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[hn]=!0}markDirty(){if(this[hn]){this[hn]=!1;let t=this;for(;t=t.parent;)t[hn]=!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 r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(Je(r,this.source.start),Je(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=Je(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`\n`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}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,r={column:this.source.start.column,line:this.source.start.line,offset:Je(n,this.source.start)},i=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:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(Je(n,this.source.start),Je(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:Je(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:Je(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new Tm().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,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Rm){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};js.exports=gn;gn.default=gn});var yn=Z((dy,Ks)=>{"use strict";var Lm=xn(),bn=class extends Lm{constructor(t){super(t),this.type="comment"}};Ks.exports=bn;bn.default=bn});var En=Z((fy,Ys)=>{"use strict";var Nm=xn(),Sn=class extends Nm{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"}};Ys.exports=Sn;Sn.default=Sn});var at=Z((my,il)=>{"use strict";var Xs=yn(),Js=En(),km=xn(),{isClean:Qs,my:Zs}=ar(),Ki,el,tl,Yi;function nl(e){return e.map(t=>(t.nodes&&(t.nodes=nl(t.nodes)),delete t.source,t))}function rl(e){if(e[Qs]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)rl(t)}var Ue=class e extends km{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 r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}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(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}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")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(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 r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=nl(el(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"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 Js(t)]}else if(t.selector||t.selectors)t=[new Yi(t)];else if(t.name)t=[new Ki(t)];else if(t.text)t=[new Xs(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Zs]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Qs]&&rl(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.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 r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};Ue.registerParse=e=>{el=e};Ue.registerRule=e=>{Yi=e};Ue.registerAtRule=e=>{Ki=e};Ue.registerRoot=e=>{tl=e};il.exports=Ue;Ue.default=Ue;Ue.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Ki.prototype):e.type==="rule"?Object.setPrototypeOf(e,Yi.prototype):e.type==="decl"?Object.setPrototypeOf(e,Js.prototype):e.type==="comment"?Object.setPrototypeOf(e,Xs.prototype):e.type==="root"&&Object.setPrototypeOf(e,tl.prototype),e[Zs]=!0,e.nodes&&e.nodes.forEach(t=>{Ue.rebuild(t)})}});var sr=Z((py,al)=>{"use strict";var ol=at(),It=class extends ol{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)}};al.exports=It;It.default=It;ol.registerAtRule(It)});var lr=Z((hy,ul)=>{"use strict";var Mm=at(),sl,ll,xt=class extends Mm{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new sl(new ll,this,t).stringify()}};xt.registerLazyResult=e=>{sl=e};xt.registerProcessor=e=>{ll=e};ul.exports=xt;xt.default=xt});var dl=Z((gy,cl)=>{var Dm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Im=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Pm=(e=21)=>{let t="",n=e|0;for(;n--;)t+=Dm[Math.random()*64|0];return t};cl.exports={nanoid:Pm,customAlphabet:Im}});var ur=Z(()=>{});var cr=Z(()=>{});var Xi=Z(()=>{});var fl=Z(()=>{});var Qi=Z((Ay,hl)=>{"use strict";var{existsSync:Om,readFileSync:Gm}=fl(),{dirname:Ji,join:Hm}=ur(),{SourceMapConsumer:ml,SourceMapGenerator:pl}=cr();function Bm(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var vn=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 r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Ji(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ml(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return Bm(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}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 r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Ji(t),Om(t)))return this.mapFile=t,Gm(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 r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof ml)return pl.fromSourceMap(n).toString();if(n instanceof pl)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 r=this.annotation;t&&(r=Hm(Ji(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};hl.exports=vn;vn.default=vn});var Cn=Z((wy,Sl)=>{"use strict";var{nanoid:Um}=dl(),{isAbsolute:to,resolve:no}=ur(),{SourceMapConsumer:Wm,SourceMapGenerator:Vm}=cr(),{fileURLToPath:gl,pathToFileURL:dr}=Xi(),xl=or(),zm=Qi(),Zi=Vi(),eo=Symbol("lineToIndexCache"),$m=!!(Wm&&Vm),bl=!!(no&&to);function yl(e){if(e[eo])return e[eo];let t=e.css.split(`\n`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[eo]=n,n}var Pt=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&&(!bl||/^\\w+:\\/\\//.test(n.from)||to(n.from)?this.file=n.from:this.file=no(n.from)),bl&&$m){let r=new zm(this.css,n);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+Um(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let x=this.fromOffset(s);n=x.line,r=x.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);a=x.line,o=x.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let c=this.origin(n,r,a,o);return c?u=new xl(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,i.plugin):u=new xl(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(dr&&(u.input.url=dr(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return yl(this)[t-1]+n-1}fromOffset(t){let n=yl(this),r=n[n.length-1],i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,a;for(;i<o;)if(a=i+(o-i>>1),t<n[a])o=a-1;else if(t>=n[a+1])i=a+1;else{i=a;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:no(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;to(a.source)?s=dr(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||dr(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(gl)u.file=gl(s);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(a.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}};Sl.exports=Pt;Pt.default=Pt;Zi&&Zi.registerInput&&Zi.registerInput(Pt)});var Ot=Z((Ty,_l)=>{"use strict";var El=at(),vl,Cl,st=class extends El{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="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 i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new vl(new Cl,this,t).stringify()}};st.registerLazyResult=e=>{vl=e};st.registerProcessor=e=>{Cl=e};_l.exports=st;st.default=st;El.registerRoot(st)});var ro=Z((Ry,Al)=>{"use strict";var _n={comma(e){return _n.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return _n.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===s&&(l=!1):c===\'"\'||c==="\'"?(l=!0,s=c):c==="("?a+=1:c===")"?a>0&&(a-=1):a===0&&t.includes(c)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=c;return(n||i!=="")&&r.push(i.trim()),r}};Al.exports=_n;_n.default=_n});var fr=Z((Fy,Tl)=>{"use strict";var wl=at(),qm=ro(),Gt=class extends wl{get selectors(){return qm.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};Tl.exports=Gt;Gt.default=Gt;wl.registerRule(Gt)});var Fl=Z((Ly,Rl)=>{"use strict";var jm=sr(),Km=yn(),Ym=En(),Xm=Cn(),Jm=Qi(),Qm=Ot(),Zm=fr();function An(e,t){if(Array.isArray(e))return e.map(i=>An(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:Xm.prototype};o.map&&(o.map={...o.map,__proto__:Jm.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>An(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new Qm(r);if(r.type==="decl")return new Ym(r);if(r.type==="rule")return new Zm(r);if(r.type==="comment")return new Km(r);if(r.type==="atrule")return new jm(r);throw new Error("Unknown node type: "+e.type)}Rl.exports=An;An.default=An});var oo=Z((Ny,Il)=>{"use strict";var{dirname:mr,relative:Nl,resolve:kl,sep:Ml}=ur(),{SourceMapConsumer:Dl,SourceMapGenerator:pr}=cr(),{pathToFileURL:Ll}=Xi(),ep=Cn(),tp=!!(Dl&&pr),np=!!(mr&&kl&&Nl&&Ml),io=class{constructor(t,n,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r,this.css=i,this.originalCSS=i,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)),r=t.root||mr(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Dl(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}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(),np&&tp&&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=pr.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new pr({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 pr({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\\n/g),a?(t+=a.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}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 r=this.opts.to?mr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=mr(kl(r,this.mapOpts.annotation)));let i=Nl(r,t);return this.memoizedPaths.set(t,i),i}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 ep(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 r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,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(Ll){let r=Ll(t).toString();return this.memoizedFileURLs.set(t,r),r}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;Ml==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Il.exports=io});var Gl=Z((ky,Ol)=>{"use strict";var hr=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,gr=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,rp=/.[\\r\\n"\'(/\\\\]/,Pl=/[\\da-f]/i;Ol.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,x,E,C=r.length,y=0,w=[],T=[],k=-1;function D(){return y}function P(A){throw t.error("Unclosed "+A,y)}function _(){return T.length===0&&y>=C}function b(A){if(T.length)return T.pop();if(y>=C)return;let R=A?A.ignoreUnclosed:!1;switch(o=r.charCodeAt(y),o){case 10:case 32:case 9:case 13:case 12:{s=y;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(y,s)],y=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let N=String.fromCharCode(o);c=[N,N,y];break}case 40:{if(E=w.length?w.pop()[1]:"",x=r.charCodeAt(y+1),E==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){s=y;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||R){s=y;break}else P("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(y,s+1),y,s],y=s}else y<=k?c=["(","(",y]:(s=r.indexOf(")",y+1),a=r.slice(y,s+1),s===-1||rp.test(a)?(k=s===-1?C:s,c=["(","(",y]):(c=["brackets",a,y,s],y=s));break}case 39:case 34:{u=o===39?"\'":\'"\',s=y;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||R){s=y+1;break}else P("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(y,s+1),y,s],y=s;break}case 64:{hr.lastIndex=y+1,hr.test(r),hr.lastIndex===0?s=r.length-1:s=hr.lastIndex-2,c=["at-word",r.slice(y,s+1),y,s],y=s;break}case 92:{for(s=y,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,Pl.test(r.charAt(s)))){for(;Pl.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(y,s+1),y,s],y=s;break}default:{o===47&&r.charCodeAt(y+1)===42?(s=r.indexOf("*/",y+2)+1,s===0&&(i||R?s=r.length:P("comment")),c=["comment",r.slice(y,s+1),y,s],y=s):(gr.lastIndex=y+1,gr.test(r),gr.lastIndex===0?s=r.length-1:s=gr.lastIndex-2,c=["word",r.slice(y,s+1),y,s],w.push(c),y=s);break}}return y++,c}function S(A){T.push(A)}return{back:S,endOfFile:_,nextToken:b,position:D}}});var Wl=Z((My,Ul)=>{"use strict";var ip=sr(),op=yn(),ap=En(),sp=Ot(),Hl=fr(),lp=Gl(),Bl={empty:!0,space:!0};function up(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var ao=class{constructor(t){this.input=t,this.root=new sp,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 ip;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.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 r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new op;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=lp(this.input)}decl(t,n){let r=new ap;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||up(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.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("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.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 Hl;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,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}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,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Bl[m]&&!Bl[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((x,E)=>x+E[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Hl;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}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})}};Ul.exports=ao});var br=Z((Dy,Vl)=>{"use strict";var cp=at(),dp=Cn(),fp=Wl();function xr(e,t){let n=new dp(e,t),r=new fp(n);try{r.parse()}catch(i){throw i}return r.root}Vl.exports=xr;xr.default=xr;cp.registerParse(xr)});var so=Z((Iy,zl)=>{"use strict";var wn=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}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}};zl.exports=wn;wn.default=wn});var yr=Z((Py,$l)=>{"use strict";var mp=so(),Tn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,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 r=new mp(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};$l.exports=Tn;Tn.default=Tn});var lo=Z((Oy,jl)=>{"use strict";var ql={};jl.exports=function(t){ql[t]||(ql[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var fo=Z((Hy,Jl)=>{"use strict";var pp=at(),hp=lr(),gp=oo(),xp=br(),Kl=yr(),bp=Ot(),yp=pn(),{isClean:Ke,my:Sp}=ar(),Gy=lo(),Ep={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},vp={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},Cp={Once:!0,postcssPlugin:!0,prepare:!0},Ht=0;function Rn(e){return typeof e=="object"&&typeof e.then=="function"}function Xl(e){let t=!1,n=Ep[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Ht,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Ht,n+"Exit"]:[n,n+"Exit"]}function Yl(e){let t;return e.type==="document"?t=["Document",Ht,"DocumentExit"]:e.type==="root"?t=["Root",Ht,"RootExit"]:t=Xl(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function uo(e){return e[Ke]=!1,e.nodes&&e.nodes.forEach(t=>uo(t)),e}var co={},lt=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,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=uo(n);else if(n instanceof e||n instanceof Kl)i=uo(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=xp;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[Sp]&&pp.rebuild(i)}this.result=new Kl(t,i,r),this.helpers={...co,postcss:co,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 r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!vp[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cp[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}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],r=this.runOnRoot(n);if(Rn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];){t[Ke]=!0;let n=[Yl(t)];for(;n.length>0;){let r=this.visitTick(n);if(Rn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}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(r=>t.Once(r,this.helpers));return Rn(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=yp;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new gp(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(Rn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];)t[Ke]=!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[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Rn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ke]){l[Ke]=!0,t.push(Yl(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Ht){r.nodes&&r.nodes.length&&(r[Ke]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ke]=!0;let n=Xl(t);for(let r of n)if(r===Ht)t.nodes&&t.each(i=>{i[Ke]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};lt.registerPostcss=e=>{co=e};Jl.exports=lt;lt.default=lt;bp.registerLazyResult(lt);hp.registerLazyResult(lt)});var Zl=Z((Uy,Ql)=>{"use strict";var _p=oo(),Ap=br(),wp=yr(),Tp=pn(),By=lo(),Fn=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=Ap;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=Tp;this.result=new wp(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new _p(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.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[]}};Ql.exports=Fn;Fn.default=Fn});var tu=Z((Wy,eu)=>{"use strict";var Rp=lr(),Fp=fo(),Lp=Zl(),Np=Ot(),bt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Lp(this,t,n):new Fp(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};eu.exports=bt;bt.default=bt;Np.registerProcessor(bt);Rp.registerProcessor(bt)});var uu=Z((Vy,lu)=>{"use strict";var nu=sr(),ru=yn(),kp=at(),Mp=or(),iu=En(),ou=lr(),Dp=Fl(),Ip=Cn(),Pp=fo(),Op=ro(),Gp=xn(),Hp=br(),mo=tu(),Bp=yr(),au=Ot(),su=fr(),Up=pn(),Wp=so();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new mo(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!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(...a);return l.postcssPlugin=t,l.postcssVersion=new mo().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return le([i(s)]).process(a,l)},i};le.stringify=Up;le.parse=Hp;le.fromJSON=Dp;le.list=Op;le.comment=e=>new ru(e);le.atRule=e=>new nu(e);le.decl=e=>new iu(e);le.rule=e=>new su(e);le.root=e=>new au(e);le.document=e=>new ou(e);le.CssSyntaxError=Mp;le.Declaration=iu;le.Container=kp;le.Processor=mo;le.Document=ou;le.Comment=ru;le.Warning=Wp;le.AtRule=nu;le.Result=Bp;le.Input=Ip;le.Rule=su;le.Root=au;le.Node=Gp;Pp.registerPostcss(le);lu.exports=le;le.default=le});function Vn(){return globalThis}function F(e,t){if(typeof window>"u")return;let n=Vn(),r=n.__hf?.onSwallowed;if(r)try{r({label:e,error:t})}catch(i){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}var Ad=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function wd(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let i=n%r;n=r,r=i}return n||1}function Td(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=wd(r,n);return{numerator:r/i,denominator:n/i}}function Zr(e){if(typeof e!="object"||e===null)return null;let t=e;return!Number.isFinite(t.numerator)||!Number.isFinite(t.denominator)||(t.numerator??0)<=0||(t.denominator??0)<=0?null:Number(t.numerator)/Number(t.denominator)}function zn(e){return{protocolVersion:1,capabilities:Ad,fps:Td(e)}}function Rd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ua(e,t=30){if(typeof e!="object"||e===null)return{status:"legacy",fps:t};let n=e;if(n.protocolVersion===void 0)return{status:"legacy",fps:t};if(n.protocolVersion!==1)return{status:"unsupported",code:"unsupported_protocol_version",receivedVersion:n.protocolVersion};let r=Zr(n.fps);return r===null||!Rd(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var ca=30;function da(e){ca=Number.isFinite(e)&&e>0?e:30}function xe(e){try{window.parent.postMessage({...e,...zn(ca)},"*")}catch(t){F("bridge.postMessage",t)}}var Fd={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Ld(e,t),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=>kd(e)};function Ld(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Zr(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function Nd(e){let t=ua(e);return t.status!=="unsupported"?!1:(xe({source:"hf-preview",type:"diagnostic",code:`runtime.protocol.${t.code}`,details:{receivedVersion:typeof t.receivedVersion=="string"||typeof t.receivedVersion=="number"?t.receivedVersion:null}}),!0)}function kd(e){let t=e.selectors,n=e.duration||800;t&&Md(t,n)}function fa(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||Nd(r))return;let i=r.action;if(typeof i!="string")return;let o=Fd[i];o&&o(r,e)};return window.addEventListener("message",t),xe({source:"hf-preview",type:"ready"}),t}function Md(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(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){F("bridge.flashElements.querySelector",r)}}var ei=null;function ma(e){ei=e}function Ne(e,t){if(ei)try{ei({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){F("runtime.analytics.site1",n)}}function Dd(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function At(e){return`--${Dd(e)}`}function pa(e){let t=new Map;for(let n of e){let r=At(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function ha(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let r of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(r);let t={};for(let r of e)Object.assign(t,Zt(r));let n=qn();return{...t,...n}}function Zt(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 r={};for(let i of n){if(!i||typeof i!="object")continue;let o=i;typeof o.id!="string"||!("default"in o)||(r[o.id]=o.default)}return r}var ti="data-hf-css-vars";function $n(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ni(e,t){if(!$n(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=At(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(ti,n.join(" "))}function ga(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=At(i);(($n(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function xa(e){if(!$n(e))return;let t=e.getAttribute(ti);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ti)}}function ba(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=qn(),r=[];for(let i of t)r.push(...Id(i,n,e.defaultView));for(let i of pa(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${At(i[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Id(e,t,n){if(!$n(e))return[];let r=Zt(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=At(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return ni(e,i),Object.keys(r)}function ya(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 qn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Sa(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){F("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){F("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){F("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){F("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){F("runtime.adapters.css.site4",m)}},s=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=r(c.el);for(let f of n(c.el)){let x=i(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=r(m.el),x=Math.max(0,c-f)*1e3,E=m.animations;if(E.length>0){o(E,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),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Ea(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function va(){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??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){F("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 r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){F("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){F("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){F("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function _a(){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??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){F("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 r of n)try{if(ri(r))r.goToAndStop(t*1e3,!1);else if(ii(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){F("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(ri(t)||ii(t))&&t.pause()}catch(n){F("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 r of e){let i=null;try{i=Pd(r)}catch(o){F("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function Ca(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Pd(e){return ri(e)?Ca(e.totalFrames,e.frameRate):ii(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Ca(e.totalFrames,e.frameRate):null}function ri(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ii(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var oi=-1,jn=new Set,wt,ai=0;function Aa(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){F("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));jn.add(i),i.then(o=>{jn.delete(i)&&o.status==="rejected"&&wt===void 0&&(wt={reason:o.reason})})}function Kn(e){e!==oi&&(oi=e,Aa(e))}function Yn(e){oi=e,Aa(e)}function wa(){return ai>0}async function si(){ai+=1;let e=wt;try{for(await Promise.resolve();jn.size>0;){let r=(await Promise.all([...jn])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=wt;if(e===void 0&&(e=t),wt===t&&(wt=void 0),e)throw e.reason}finally{ai-=1}}function Ta(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{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{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Kn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function $e(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Ra(){return $e({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 Fa(){return $e({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 La(){return $e({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 Na(){return $e({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 ka(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var Od=250;function Ma(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(wa()||(window.__hfTypegpuTime=e,Yn(e)))},Od))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Kn(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}function Da(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 Ia(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=Da(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Pa(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=Da(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Oa(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=y=>{let w=Number(y.currentTime);return Number.isFinite(w)&&w>0?w:0},c=(y,w)=>w<=0?y:y>=w?Math.max(0,y-w):y,m=(y,w)=>{let T=l.get(y);if(T)return T;let k={compositionTimeMs:w,animationTimeMs:e?c(u(y),w):u(y)};return l.set(y,k),k},f=(y,w)=>{if(!a.has(y)){a.add(y);let T=()=>{a.delete(y)};try{y.addEventListener("finish",T,{once:!0}),y.addEventListener("cancel",T,{once:!0})}catch(k){F("runtime.adapters.waapi.site4",k)}}m(y,w)},x=(y,w)=>{for(let T of y)f(T,w)},E=()=>{if(n||typeof Element>"u")return;let y=Element.prototype;if(typeof y.animate!="function"||y.__hfOriginalAnimate)return;let w=y.animate;try{Object.defineProperty(y,"__hfOriginalAnimate",{value:w,configurable:!0});let T=function(...k){let D=w.apply(this,k);return f(D,t),D};y.animate=T,r=y,i=w,o=T,n=!0}catch{}},C=y=>{let w=null;try{w=y.effect?.getComputedTiming?.()??null}catch(D){F("runtime.adapters.waapi.site4",D)}if(!w)return{};let T=Number(w.endTime);return Number.isFinite(T)?{endSeconds:(l.get(y)?.compositionTimeMs??0)/1e3+T/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,E(),x(s(),t)},seek:y=>{let w=Math.max(0,(Number(y.time)||0)*1e3);t=w,(!e||a.size>0)&&x(s(),e?w:0);for(let T of a){let k=e?m(T,w):m(T,0),D=k.animationTimeMs+Math.max(0,w-k.compositionTimeMs);try{T.currentTime=D}catch(P){F("runtime.adapters.waapi.site1",P)}try{T.pause()}catch(P){F("runtime.adapters.waapi.site2",P)}}},pause:()=>{e||x(s(),t);for(let y of a)try{y.pause()}catch(w){F("runtime.adapters.waapi.site3",w)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(y){F("runtime.adapters.waapi.site5",y)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let y=0;for(let w of s()){let T=C(w);T.endSeconds!=null&&(y=Math.max(y,T.endSeconds))}return y>0?y:null}}}function Ga(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function Gd(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function Xn(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Hd(e,t){let n=Xn(e.dataset.start)??0,r=Xn(e.dataset.end),i=Xn(e.dataset.duration),o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Xn(e.dataset.volume)??1,l=Math.max(0,Math.min(1,a));return{start:n,end:o,staticVolume:l}}function Bd(e,t,n,r){let{start:i,end:o,staticVolume:a}=Hd(e,n);e.volume=a;let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=[],m;for(let x=s;x<=u+1e-6;x=Math.min(u,x+l)){t(x);let E=Number(e.volume);if(Number.isFinite(E)){let C=Math.max(0,Math.min(1,E)),y={time:Number(x.toFixed(6)),volume:Number(C.toFixed(6))};Gd(c,m,y,x===u),m=y}if(x===u)break}return c.some(x=>Math.abs(x.volume-a)>1e-4)?c:null}function Ha(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Bd(e,o,n,60);Number.isFinite(a)&&o(a),l&&r.set(e,l)}function Ba(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function qe(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Ba(n)}function Rt(e){let t=Number.parseFloat(e.getAttribute("data-playback-start")??e.getAttribute("data-media-start")??"");return Number.isFinite(t)&&t>=0?t:0}function Ua(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>0);return n.length>0?Math.min(...n):null}function Wa(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Number.parseFloat(a.dataset.playbackStart??a.dataset.mediaStart??"0")||0,u=qe(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-s)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,E=Number.parseFloat(a.dataset.volume??""),C={el:a,start:l,mediaStart:s,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(E)?E:null,playbackRate:u,loop:c,sourceDuration:m};r.push(C),a.tagName==="VIDEO"&&i.push(C),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var li=new WeakMap,tn=new WeakMap,ui=new WeakSet,Tt=new WeakSet;function Ud(e){if(Tt.has(e))return;Tt.add(e);let t=()=>Tt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Wd=3;function Vd(e){return e.error!=null||e.networkState===Wd}var ci=new WeakMap;function en(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function di(e){li.delete(e),tn.delete(e),ui.delete(e),ci.delete(e)}function Va(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let U=n.sourceDuration-n.mediaStart;U>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%U)}let u=en(e.userVolume??1),c=en(n.volume??1),m=ci.get(r),f=en(r.volume),x;n.volumeKeyframes&&n.volumeKeyframes.length>0?x=en(Ga(n.volumeKeyframes,i)):m===void 0||Math.abs(f-m)>1e-4?x=f:x=c;let E=en(x*u);r.volume=E,ci.set(r,E),e.onElementVolume?.(r,E),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(U){F("runtime.media.site1",U)}let C=.04,y=2,w=r.currentTime||0,T=Math.abs(w-i),k=i-w,D=li.get(r);li.set(r,k);let P=D===void 0,_=!P&&Math.abs(k-D)>.5,b=T>3,S=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(P||_||b),A=r.tagName==="VIDEO"&&!r.paused,R=D!==void 0&&Math.abs(k-D)<.004,N=!1;if(!A&&!S&&!P&&R&&T>C){let U=(tn.get(r)??0)+1;tn.set(r,U),U>=y&&(N=!0,tn.set(r,0))}else T<=C&&tn.set(r,0);let G=!A&&e.forceSync&&T>.02;if(S||N||G){if(!(r.tagName==="VIDEO"&&r.id&&!!document.getElementById(`__render_frame_${r.id}__`))){try{r.currentTime=i}catch(ne){F("runtime.media.site2",ne)}if(Math.abs(r.currentTime-i)>.5&&!ui.has(r)){ui.add(r),r.load();try{r.currentTime=i}catch(ne){F("runtime.media.site3",ne)}}}Tt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Tt.has(r)&&!Vd(r)?(Ud(r),r.play().catch(U=>{Tt.delete(r),(U&&typeof U=="object"&&"name"in U?String(U.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}di(r),r.paused||r.pause()}}var zd="hf-proxy",za="runtime_media_proxy_fallback",$a="runtime_media_proxy_unavailable",nn=new WeakSet,qa=new WeakSet;function Jn(e){return e.currentSrc||e.src}function fi(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!e.id&&!!document.getElementById(`__render_frame_${e.id}__`)}function mi(e){let t=Jn(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function $d(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function qd(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function pi(e,t){return t[e]??$d(e,t)??qd(e,t)}function jd(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(zd,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Kd={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function gt(e,t,n){if(qa.has(e))return;qa.add(e);let r=Kd[t];xe({source:"hf-preview",type:"diagnostic",code:$a,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${$a}: "${n}" (${t}): ${r}`)}function hi(e,t=null,n="reactive"){if(nn.has(e))return;let r=Jn(e),i;try{i=jd(r,t)}catch(l){F("runtime.mediaProxy.swap",l),gt(e,"invalid_source_url",r);return}nn.add(e),di(e),e.src=i,e.load();let o=t?.codecName??null;xe({source:"hf-preview",type:"diagnostic",code:za,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${za}: "${r}" uses a codec (${o??"unknown"}) this browser can\'t decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function ja(e){if(fi(e)||!(e instanceof HTMLVideoElement)||nn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=mi(e);if(n===null)return;let r=pi(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||hi(e,r,"proactive")}function Ka(e){if(fi(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Jn(e);if(nn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=mi(e);if(r===null){gt(e,"cross_origin",t);return}let i=pi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}hi(e,i,"reactive")}function Ya(e){if(fi(e)||!(e instanceof HTMLVideoElement))return;let t=Jn(e);if(nn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=mi(e);if(r===null){gt(e,"cross_origin",t);return}let i=pi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}hi(e,i,"tertiary")}var be=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);he(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},Yd=[0,0,0],Xd=[1,1,1],Qn=64;function Jd(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===\'"\'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function nt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new be(`Invalid number "${e}"`,t);return n}function Xa(e,t,n){if(e.length!==3)throw new be(`${t} expects three numbers`,n);return[nt(e[0],n),nt(e[1],n),nt(e[2],n)]}function Ja(e,t,n){if(!e)throw new be(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new be(`${t} must be an integer greater than 1`,n);return r}function Qd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new be("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Zd(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 ef(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Qa(e,t={}){let n=t.maxSize??Qn,r=null,i=Yd,o=Xd,a=null,l=null,s=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Jd(u[m]??"").trim();if(!x)continue;let E=x.split(/\\s+/),C=(E[0]??"").toUpperCase(),y=E.slice(1);if(C==="TITLE"){r=Zd(x);continue}if(C==="DOMAIN_MIN"){i=Xa(y,C,f);continue}if(C==="DOMAIN_MAX"){o=Xa(y,C,f);continue}if(C==="LUT_3D_INPUT_RANGE"){if(y.length!==2)throw new be(`${C} expects two numbers`,f);let w=nt(y[0],f),T=nt(y[1],f);if(T<=w)throw new be("LUT_3D_INPUT_RANGE max must exceed min",f);i=[w,w,w],o=[T,T,T];continue}if(C==="LUT_1D_SIZE"){a=Ja(y[0],C,f);continue}if(C==="LUT_3D_SIZE"){if(l=Ja(y[0],C,f),l>n)throw new be(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!ef(C)){if(C.startsWith("LUT_"))throw new be(`Unsupported cube keyword ${C}`,f);continue}if(!l)throw a?new be("1D cube LUTs are not supported yet",f):new be("LUT data appears before LUT_3D_SIZE",f);if(E.length!==3)throw new be("LUT data rows must contain three numbers",f);s.push(nt(E[0],f),nt(E[1],f),nt(E[2],f))}if(a&&l)throw new be("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new be("1D cube LUTs are not supported yet"):new be("Missing LUT_3D_SIZE");Qd(i,o);let c=l*l*l;if(s.length!==c*3)throw new be(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function tf(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function rn(e){return Math.round(tf(e)*255)}function gi(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=rn(e.data[s]??0),i[u+1]=rn(e.data[s+1]??0),i[u+2]=rn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Za="rec709";var ce={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var es=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],ts=["shadows","midtones","highlights"],ns=["master","red","green","blue"],rs=["hueVsHue","hueVsSaturation","hueVsLuma"];var is=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],os=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var nb=ce.unit,rb=ce.signedUnit,ib=ce.effects;var je=1024,on=16;function as(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function ye(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function nf(e){let t=[],n=[],r=ye(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=ye(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=as(ye(t,0),ye(t,1),i,ye(n,1)),o[o.length-1]=as(ye(t,t.length-1),ye(t,t.length-2),ye(n,n.length-1),ye(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=ye(n,a-1),s=ye(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=ye(t,a-1),c=ye(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function ss(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function rf(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function of(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ls(e,t,n,r,i){rf(e,r,i);let o=nf(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>ye(e,l+1)[0];)l+=1;let c=ye(e,l),m=ye(e,l+1),f=of(u,c,m,ye(o,l),ye(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Ft(e,t=je){if(ss(e,t),e.length>on)throw new RangeError(`A color curve supports at most ${on} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return ls(e,t,n=>n/(t-1),0,1)}function bi(e,t,n,r=je){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>on)throw new RangeError(`A hue curve supports at most ${on} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return ss(l,r),ls(l,r,s=>s/r*360,t,n)}var an="data-color-grading",sn="data-hf-color-grading-source-hidden",tr="data-hf-authored-opacity",ms="__hf_color_grading_",sf=Za,Ei={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},vi={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Ci={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var nr=es,ps=ts,hs=ns,gs=rs,Ai=is,wi=os,us={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},cs={vignette:.18};function Se(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...Ei,...n},details:{...vi,...r},effects:{...Ci,...i}}}var Ti=[Se("neutral","Neutral"),Se("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Se("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Se("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Se("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Se("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Se("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Se("vintage-wash","Vintage Wash",us,cs),Se("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Se("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Se("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Se("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Se("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Se("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Se("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Se("home-movie-8mm","8mm Home Movie",us,{...cs,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Se("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Se("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],lf=new Map(Ti.map(e=>[e.id,e])),uf=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,cf={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}},Lt={hue:0,amount:0,level:0},ds={amount:ce.unit,level:ce.signedUnit},rt=[[0,0],[1,1]],Nt=[],df={hueVsHue:ce.secondaryHueShift,hueVsSaturation:ce.signedUnit,hueVsLuma:ce.signedUnit},yi={center:0,range:180,softness:0},Si={min:0,max:1,softness:.05},ff={vignette:ce.unit,vignetteMidpoint:ce.unit,vignetteRoundness:ce.signedUnit,vignetteFeather:ce.unit,grain:ce.unit,grainSize:ce.unit,grainRoughness:ce.unit},_i=ce.unit,mf=ce.effects,xs=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var pf=Ti.filter(e=>xs.some(t=>e.effects[t]>1e-4)),fb=Ti.filter(e=>!pf.includes(e)),mb={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},bs=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var hf=/^#[0-9a-f]{6}$/i;function gf(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&hf.test(t))?null:e.map(t=>t.toLowerCase())}function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function er(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function ys(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function we(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?er(n,t.min,t.max):0}function Ri(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function xf(e){let t=Ce(e)?e:{};return ps.reduce((n,r)=>{let i=Ce(t[r])?t[r]:{};return n[r]={hue:Ri(i.hue,Lt.hue),amount:we(i.amount??Lt.amount,ds.amount),level:we(i.level??Lt.level,ds.level)},n},{shadows:{...Lt},midtones:{...Lt},highlights:{...Lt}})}function bf(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[er(t,0,1),er(n,0,1)]:null}function Ss(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function yf(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function Sf(e){if(!Array.isArray(e)||e.length<2)return rt;let t=[];for(let n of e){let r=bf(n);if(!r)return rt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),Ss(t)||(yf(t),t.length>16)?rt:t}function Ef(e){let t=Ce(e)?e:{};return hs.reduce((n,r)=>(n[r]=Sf(t[r]),n),{master:rt,red:rt,green:rt,blue:rt})}function vf(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[Ri(n),er(r,t.min,t.max)]:null}function Cf(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Nt;let n=[];for(let r of e){let i=vf(r,t);if(!i)return Nt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),Ss(n)?Nt:n}function _f(e){let t=Ce(e)?e:{};return gs.reduce((n,r)=>(n[r]=Cf(t[r],df[r]),n),{hueVsHue:Nt,hueVsSaturation:Nt,hueVsLuma:Nt})}function fs(e){let t=Ce(e)?e:{},n=we(t.min??Si.min,_i),r=we(t.max??Si.max,_i);return{min:Math.min(n,r),max:Math.max(n,r),softness:we(t.softness??Si.softness,ce.secondarySoftRangeSoftness)}}function Af(e){let t=Ce(e)?e:{},n=we(t.range??yi.range,ce.secondaryHueRange);return{center:Ri(t.center,yi.center),range:n,softness:we(t.softness??yi.softness,{min:ce.secondaryHueSoftness.min,max:ce.secondaryHueCombinedMax-n})}}function wf(e){return{hueShift:we(e.hueShift??0,ce.secondaryHueShift),saturation:we(e.saturation??0,ce.signedUnit),luma:we(e.luma??0,ce.signedUnit),temperature:we(e.temperature??0,ce.signedUnit),tint:we(e.tint??0,ce.signedUnit)}}function Tf(e){return!Ce(e)||!Ce(e.key)||!Ce(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Af(e.key.hue),saturation:fs(e.key.saturation),luma:fs(e.key.luma)},correction:wf(e.correction)}}function Rf(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Tf(n);r&&t.push(r)}return t}function Ff(e){if(e==null)return null;let t=String(e).trim();return t||null}function Lf(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Ce(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:ys(e.intensity,1)}}function Nf(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Ce(n)?n:null}catch{return null}return{preset:t}}return Ce(e)?e:null}function kf(e,t){let n=e.trim().match(uf);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function Zn(e,t){if(typeof e=="string"){let r=kf(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return Zn(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Zn(r,t));if(!Ce(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Zn(i,t);return n}function Mf(e){return e?lf.get(e)??null:null}function rr(e){let t=Nf(e);if(!t||t.enabled===!1)return null;let n=Ff(t.preset),r=Mf(n),i=r?.adjust??Ei,o=r?.details??vi,a=r?.effects??Ci,l=Ce(t.adjust)?t.adjust:{},s=Ce(t.details)?t.details:{},u=Ce(t.effects)?t.effects:{},c=nr.reduce((x,E)=>(x[E]=we(l[E]??i[E],cf[E]),x),{...Ei}),m=Ai.reduce((x,E)=>(x[E]=we(s[E]??o[E],ff[E]),x),{...vi}),f=wi.reduce((x,E)=>(x[E]=we(u[E]??a[E],mf[E]??_i),x),{...Ci});return{enabled:!0,preset:n,intensity:ys(t.intensity,r?.intensity??1),adjust:c,wheels:xf(t.wheels),curves:Ef(t.curves),hueCurves:_f(t.hueCurves),secondaries:Rf(t.secondaries),details:m,effects:f,palette:gf(t.palette),lut:Lf(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():sf}}function Es(e,t){return rr(Zn(e,t))}function Df(e){return ps.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Fi(e){return hs.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Li(e){return gs.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Ni(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function vs(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||xs.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:nr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Df(e.wheels):!1)||(e.curves?Fi(e.curves):!1)||(e.hueCurves?Li(e.hueCurves):!1)||(e.secondaries?Ni(e.secondaries):!1):!1}var If=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Pf=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Cs(e){let t=!1,n=null,r=null,i=null,o=null;function a(b,S){try{window.dispatchEvent(new CustomEvent(b,{detail:S}))}catch(A){F("runtime.picker.site1",A)}}function l(b){i=b,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(b){o=b,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(b){let S=b.ownerDocument.defaultView;if(!S)return!1;let A=b;for(;A&&A!==document.body&&A!==document.documentElement;){let R=S.getComputedStyle(A);if(R.display==="none"||R.visibility==="hidden"||R.pointerEvents==="none")return!0;let N=Number.parseFloat(R.opacity);if(Number.isFinite(N)&&N<=.01&&!A.hasAttribute(sn))return!0;A=A.parentElement}return!1}function c(b){if(!b||b===document.body||b===document.documentElement)return!1;let S=b.tagName.toLowerCase();return!(S==="script"||S==="style"||S==="link"||S==="meta"||b.classList.contains("__hf-pick-highlight")||b.closest(If)||u(b))}function m(b){return!!b?.closest(Pf)}function f(b){let S=b;if(S.id)return`#${CSS.escape(S.id)}`;let A=b.getAttribute("data-composition-id");if(A)return`[data-composition-id="${CSS.escape(A)}"]`;let R=b.getAttribute("data-composition-src");if(R)return`[data-composition-src="${CSS.escape(R)}"]`;let N=b.getAttribute("data-track-index");if(N)return`[data-track-index="${CSS.escape(N)}"]`;let G=b.tagName.toLowerCase(),U=b.parentElement;if(!U)return G;let ne=U.querySelectorAll(`:scope > ${G}`);if(ne.length===1)return G;for(let H=0;H<ne.length;H+=1)if(ne[H]===b)return`${G}:nth-of-type(${H+1})`;return G}function x(b){let S=b.tagName.toLowerCase(),A=(b.textContent??"").trim().replace(/\\s+/g," "),R=(N,G)=>N.length>G?`${N.slice(0,G-1)}\\u2026`:N;return S==="h1"||S==="h2"||S==="h3"?"Heading":S==="p"||S==="span"||S==="div"?A.length>0?R(A,56):"Text":S==="img"?"Image":S==="video"?"Video":S==="audio"?"Audio":S==="svg"?"Shape":b.getAttribute("data-composition-src")?"Composition":S==="section"?"Section":`${S.charAt(0).toUpperCase()}${S.slice(1)}`}function E(b,S,A){let R=typeof A=="number"&&A>0?A:8,N=[];if(document.elementsFromPoint)N=document.elementsFromPoint(b,S);else if(document.elementFromPoint){let ne=document.elementFromPoint(b,S);N=ne?[ne]:[]}if(m(N[0]??null))return[];let G={},U=[];for(let[ne,H]of N.entries()){if(!c(H))continue;let J=`${H.tagName}::${H.id||""}::${ne}`;if(!G[J]&&(G[J]=!0,U.push(H),U.length>=R))break}return U}function C(b){let S=b.getBoundingClientRect(),A={};for(let N of Array.from(b.attributes))N.name.startsWith("data-")&&(A[N.name]=N.value);return{id:b.id||null,tagName:b.tagName.toLowerCase(),selector:f(b),label:x(b),boundingBox:{x:S.left,y:S.top,width:S.width,height:S.height},textContent:b.textContent?b.textContent.trim().slice(0,200):null,src:b.getAttribute("src")||b.getAttribute("data-composition-src")||null,dataAttributes:A}}function y(b,S,A){return E(b,S,A).map(C)}function w(b){if(!t)return;let A=E(b.clientX,b.clientY,1)[0]??(b.target instanceof Element?b.target:null);if(!c(A)||n===A)return;n&&n.classList.remove("__hf-pick-highlight"),n=A,A.classList.add("__hf-pick-highlight");let R=C(A);l(R),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:R})}function T(b){if(!t)return;b.preventDefault(),b.stopPropagation(),b.stopImmediatePropagation();let S=y(b.clientX,b.clientY,8);S.length!==0&&(l(S[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:S,selectedIndex:0,point:{x:b.clientX,y:b.clientY}}))}function k(b){b.key==="Escape"&&(P(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function D(){t||(t=!0,r=document.createElement("style"),r.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(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",T,!0),document.addEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function P(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",T,!0),document.removeEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:D,disable:P,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(b,S,A)=>Number.isFinite(b)&&Number.isFinite(S)?y(b,S,A):[],pickAtPoint:(b,S,A)=>{if(!Number.isFinite(b)||!Number.isFinite(S))return null;let R=y(b,S,8);if(!R.length)return null;let N=Math.max(0,Math.min(R.length-1,Number(A??0))),G=R[N]??null;return G?(s(G),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),P(),G):null},pickManyAtPoint:(b,S,A)=>{if(!Number.isFinite(b)||!Number.isFinite(S))return[];let R=y(b,S,8);if(!R.length)return[];let N=[],G=Array.isArray(A)?A:[0];for(let U of G){let ne=Math.max(0,Math.min(R.length-1,Math.floor(Number(U)))),H=R[ne];if(!H)continue;N.some(_e=>_e.selector===H.selector&&_e.tagName===H.tagName)||N.push(H)}return N.length?(s(N[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:N}),P(),N):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:D,disablePickMode:P,installPickerApi:_}}var Of=["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 kt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function _s(e,t,n=Of){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function ln(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&F("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Be(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&F("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function un(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){F("runtime.player.site1",i)}}}function As(e,t,n,r){let i=kt(t,n),o=r?.suppressEvents===!0;return Be(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Gf(e,t,n,r,i){let o=[];un(e,t,a=>{Be(a,"play"),o.push(a)});try{return As(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){F("runtime.player.site2",l)}}}function Hf(e,t){un(e,t,n=>{Be(n,"play")})}function ws(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??ln(n,"duration",0))||0);r>0&&Math.max(0,ln(n,"time",0))>=r&&(Be(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Be(n,"play"),un(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Be(n,"pause"),un(e.getTimelineRegistry?.(),n,i=>{Be(i,"pause")});let r=Math.max(0,ln(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Gf(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play"),un(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Be(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(Hf(e.getTimelineRegistry?.(),i),As(i,n,o,r)):kt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>ln(e.getTimeline(),"time",0),getDuration:()=>ln(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Ts(){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:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Bf=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Mi(e){return e.id||e.getAttribute("data-hf-id")||null}function ki(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Uf(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Wf(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=ki(e.getAttribute("data-playback-start"))??ki(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function Vf(e,t,n,r){let i=ki(e.getAttribute("data-duration"));return i!=null&&i>0?i:Uf(e,t)??Wf(e)??Math.max(0,n-r)}function zf(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Rs(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Bf.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Vf(l,n,r,s)<=0)continue;let u={id:Mi(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return zf(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var Di="css:root",Fs=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],$f=new Set([...Fs,"contain","isolation","mask-border","mix-blend-mode","opacity"]),qf=new Set(["absolute","relative"]),jf=new Set(["flex","inline-flex","grid","inline-grid"]),Kf=new Set(["layout","paint","strict","content"]),Yf=new Set(["size","inline-size"]);function Xf(e){return e.position==="fixed"||e.position==="sticky"}function Jf(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(qf.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&jf.has(n)}function Qf(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Fs.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function Zf(e){return e.getPropertyValue("contain").split(/\\s+/).some(n=>Kf.has(n))?!0:Yf.has(e.getPropertyValue("container-type"))}function em(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>$f.has(t))}function tm(e,t){return Xf(t)||Jf(e,t)||Qf(t)||Zf(t)?!0:em(t)}function nm(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function ir(e){let t=e.ownerDocument.defaultView;if(!t)return Di;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(tm(n,t.getComputedStyle(n)))return nm(n)}catch{return Di}n=n.parentElement}return Di}var Mt=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),wb=Object.freeze([Mt.start,Mt.duration,Mt.trackIndex]),Tb=Object.freeze([Mt.derivedEnd]),Rb=Object.freeze([Mt.derivedEnd,Mt.legacyTrack]);function ke(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Ns=/^[A-Za-z0-9_.:-]+$/;function ks(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Ls(e,t){let n=t;for(;n>=0&&ks(e,n);)n--;return n}function rm(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function im(e){let t=e.length-1;if(!ks(e,t))return null;let n=Ls(e,t);return e[n]==="."&&(n=Ls(e,n-1)),n+1}function om(e){let t=im(e);if(t==null)return null;let n=rm(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Ns.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Ii(e){let t=(e??"").trim();if(!t)return null;let n=ke(t);if(n!=null)return{kind:"absolute",value:n};if(Ns.test(t))return{kind:"reference",refId:t,offset:0};let r=om(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}var am="data-hf-authored-duration",sm="data-hf-authored-end";function lm(e){return ke(e.getAttribute("data-duration"))}function um(e){return ke(e.getAttribute("data-end"))}function cm(e){return ke(e.getAttribute(am))}function dm(e){return ke(e.getAttribute(sm))}function it(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let x=r.getElementById(f);return x||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let x=f.ownerDocument.defaultView?.HTMLMediaElement;return x?f instanceof x:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let x=o.get(f);if(x!==void 0)return x;let E=null,C=lm(f)??(n?cm(f):null);if(C!=null&&C>0&&(E=C),E==null||E<=0){let y=um(f)??(n?dm(f):null);if(y!=null){let w=m(f,0),T=y-w;Number.isFinite(T)&&T>0&&(E=T)}}if((E==null||E<=0)&&s(f)){let y=ke(f.getAttribute("data-playback-start"))??ke(f.getAttribute("data-media-start"))??0;Number.isFinite(f.duration)&&f.duration>y&&(E=(f.duration-y)/qe(f))}if(E==null||E<=0){let y=f.getAttribute("data-composition-id");if(y){let w=t[y]??null;if(w&&typeof w.duration=="function")try{let T=Number(w.duration());Number.isFinite(T)&&T>0&&(E=T)}catch(T){F("runtime.startResolver.site1",T)}}}return E!=null&&Number.isFinite(E)&&E>0?(o.set(f,E),E):(o.set(f,null),null)},c=(f,x)=>{if(f.hasAttribute("data-composition-id")){let C=f.parentElement?.closest("[data-composition-id]");return C?m(C,x):0}let E=f.closest("[data-composition-id]");return E?m(E,x):0},m=(f,x)=>{let E=i.get(f);if(E!==void 0)return E??x;if(a.has(f))return x;a.add(f);try{let C=Ii(f.getAttribute("data-start"));if(!C){if(f.hasAttribute("data-composition-id")){let D=f.parentElement;if(D&&(D.hasAttribute("data-composition-src")||D.hasAttribute("data-composition-id")||D.hasAttribute("data-composition-file"))){let P=m(D,x);return i.set(f,P),P}}return i.set(f,x),x}if(C.kind==="absolute"){let D=Math.max(0,C.value),P=Math.max(0,c(f,x)+D);return i.set(f,P),P}let y=l(C.refId);if(!y)return i.set(f,x),x;let w=m(y,0),T=u(y);if(T==null||T<=0){let D=Math.max(0,w+C.offset);return i.set(f,D),D}let k=Math.max(0,w+T+C.offset);return i.set(f,k),k}finally{a.delete(f)}};return{resolveStartForElement:(f,x=0)=>m(f,Math.max(0,x)),resolveDurationForElement:f=>u(f)}}function Pi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var mm="data-hf-authored-duration",pm="data-hf-authored-end";function Te(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Oi(e){return Te(e.getAttribute("data-duration"))??Te(e.getAttribute(mm))}function Ms(e){return Te(e.getAttribute("data-end"))??Te(e.getAttribute(pm))}function Gi(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 Hi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function Bi(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function dn(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 Ds(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return dn(t);let n=e.getAttribute("data-composition-src");if(n)return dn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?dn(r.getAttribute("src")):null}function hm(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 gm(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 xm(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function cn(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function bm(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return cn(i);let o=e.id;if(o)return cn(o);let a=hm(e);if(a)return cn(a);let l=gm(Ds(e));if(l)return cn(l);let s=xm(e);return s||`${cn(t)} ${n+1}`}function Is(e){let n=window.__timelines??{},r=it({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=B=>{if(!B)return null;let M=n[B]??null;if(!M||typeof M.duration!="function")return null;try{let I=Number(M.duration());return Number.isFinite(I)&&I>0?I:null}catch{return null}},o=B=>{let M=Te(B.getAttribute("data-duration"));if(M!=null&&M>0)return M;let I=Te(B.getAttribute("data-playback-start"))??Te(B.getAttribute("data-media-start"))??0;return Number.isFinite(B.duration)&&B.duration>I?Math.max(0,(B.duration-I)/qe(B)):null},a=()=>{let B=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(B.length===0)return null;let M=0;for(let I of B){let ue=I.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(I,0):Math.max(0,Number(I.getAttribute("data-start")??0)||0);if(!Number.isFinite(ue))continue;let ae=o(I);ae==null||ae<=0||(M=Math.max(M,Math.max(0,ue)+ae))}return M>0?M:null},l=(B,M)=>{let I=[],ue=null,ae=null,$=null,q=B.parentElement;for(;q;){let j=q.getAttribute("data-composition-id");j&&(I.push(j),!$&&q!==M&&($=j),ue==null&&(ue=r.resolveStartForElement(q,0)),ae==null&&(ae=Te(q.getAttribute("data-duration"))??i(j)??null)),q=q.parentElement}return{parentCompositionId:$,compositionAncestors:I.reverse(),inheritedStart:ue,inheritedDuration:ae}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,E=i(c),C=Oi(s??document.body),y=Hi(...u.filter(B=>B!==s).map(B=>{let M=r.resolveStartForElement(B,0),I=r.resolveDurationForElement(B)??i(B.getAttribute("data-composition-id"))??null;return!Number.isFinite(M)||I==null||I<=0?null:Math.max(0,M)+I})),w=y!=null?Math.max(0,y-Math.max(0,m)):null,T=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,k=typeof C=="number"&&Number.isFinite(C)&&C>0?C:null,D=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,P=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=Hi(D,P),b=T!=null&&_!=null&&T>_+1,A=k??(b?_:Hi(T,D,P))??null,N=(A!=null?m+A:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(B,M)=>!Number.isFinite(M)||M<=0?0:N==null||!Number.isFinite(N)?M:!Number.isFinite(B)||B>=N?0:Math.max(0,Math.min(M,N-B)),U=[],ne=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),J=0;for(let[B,M]of H.entries()){if(M===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(M.tagName))continue;let I=l(M,s),ue=r.resolveStartForElement(M,I.inheritedStart??0),ae=M.getAttribute("data-composition-id"),$=Oi(M);if(($==null||$<=0)&&ae&&ae!==c&&($=i(ae)),($==null||$<=0)&&M instanceof HTMLMediaElement){let me=Te(M.getAttribute("data-playback-start"))??Te(M.getAttribute("data-media-start"))??0;Number.isFinite(M.duration)&&M.duration>0&&($=Math.max(0,M.duration-me))}if($==null||$<=0){let me=I.inheritedDuration;if(me!=null&&me>0){let Ie=(I.inheritedStart??0)+me;$=Math.max(0,Ie-ue)}}if($==null||$<=0||($=G(ue,$),$<=0))continue;let q=ue+$;J=Math.max(J,q);let j=M.tagName.toLowerCase(),Ve=ae&&ae!==c?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";U.push({id:Mi(M)??ae??null,label:bm(M,Ve,U.length),start:ue,duration:$,track:Bi(M,B),zIndex:Gi(M),stackingContextId:ir(M),kind:Ve,tagName:j,compositionId:M.getAttribute("data-composition-id"),compositionAncestors:I.compositionAncestors,parentCompositionId:I.parentCompositionId,nodePath:null,compositionSrc:dn(M.getAttribute("data-composition-src")),playbackStart:Rt(M),playbackRate:qe(M),assetUrl:Ds(M),timelineRole:M.getAttribute("data-timeline-role"),timelineLabel:M.getAttribute("data-timeline-label"),timelineGroup:M.getAttribute("data-timeline-group"),timelinePriority:Te(M.getAttribute("data-timeline-priority"))})}let _e=new Set(U.map(B=>B.id)),z=s?.getAttribute("data-composition-id")??null,Y=z?n[z]??null:null;if(Y&&s){let B=Y;if(typeof B.getChildren=="function")try{let M=B.getChildren(!0,!0,!1)??[],I=new Map;for(let $ of s.children){let q=$;if(!q.id)continue;let j=q.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||I.set(q,{id:q.id,start:1/0,end:-1/0})}let ue=$=>{let q=$;for(;q;){if(I.has(q))return q;if(q===s)return null;q=q.parentElement}return null};for(let $ of M){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let q=$.startTime(),j=$.parent;for(;j&&j!==Y&&typeof j.startTime=="function";)q+=j.startTime(),j=j.parent;let Ve=q+$.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Ve)))for(let me of $.targets()){if(!(me instanceof Element))continue;let Ct=ue(me);if(!Ct)continue;let Ie=I.get(Ct);Ie&&(Ie.start=Math.min(Ie.start,q),Ie.end=Math.max(Ie.end,Ve))}}let ae=U.length>0?Math.max(...U.map($=>$.track))+1:0;for(let[$,q]of I){if(q.start===1/0||q.end===-1/0)continue;let j=$;if(_e.has(j.id))continue;let Ve=Math.max(0,q.end-q.start);if(Ve<=0)continue;let me=G(q.start,Ve);me<=0||(J=Math.max(J,q.start+me),U.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:q.start,duration:me,track:Bi(j,ae),zIndex:Gi(j),stackingContextId:ir(j),kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(j),playbackRate:qe(j),assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:Te(j.getAttribute("data-timeline-priority"))}),_e.add(j.id))}}catch(M){F("runtime.timeline.site1",M)}}if(s&&A!=null&&A>0){let B=U.length>0?Math.max(...U.map(M=>M.track))+1:0;for(let M of s.children){let I=M;if(!I.id||_e.has(I.id))continue;let ue=I.getAttribute("data-timeline-role");if(ue!=="overlay"&&ue!=="persistent-overlay")continue;let ae=I.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(I).display==="none")continue;let q=G(0,A);q<=0||(J=Math.max(J,q),U.push({id:I.id,label:I.getAttribute("data-timeline-label")??I.getAttribute("data-label")??I.getAttribute("aria-label")??I.id,start:0,duration:q,track:Bi(I,B),zIndex:Gi(I),stackingContextId:ir(I),kind:"element",tagName:ae,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(I),playbackRate:qe(I),assetUrl:null,timelineRole:ue,timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Te(I.getAttribute("data-timeline-priority"))}),_e.add(I.id))}}for(let B of u){if(B===s)continue;let M=B.getAttribute("data-composition-id");if(!M||!Pi(M))continue;let I=r.resolveStartForElement(B,0),ue=Oi(B);if((ue==null||ue<=0)&&Ms(B)!=null){let j=Ms(B);ue=Math.max(0,j-I)}let ae=i(M),$=ue&&ue>0?ue:ae;if($==null||$<=0)continue;let q=G(I,$);q<=0||ne.push({id:M,label:B.getAttribute("data-label")??M,start:I,duration:q,thumbnailUrl:dn(B.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,J||1,A??0),ee=b&&k==null,Ae=ee?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...zn(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:ee?Number.POSITIVE_INFINITY:V,durationInFrames:Ae,clips:U,scenes:ne,compositionWidth:Te(s?.getAttribute("data-width"))??1920,compositionHeight:Te(s?.getAttribute("data-height"))??1080}}var Ui="data-composition-id",ym="data-composition-src",Sm=`[${Ui}]`,ty=`[${ym}]`,Ps="style",Os="script",Em=\'link[rel="stylesheet"], link[rel="preconnect"]\';function Dt(e){return e?Array.from(e):[]}function Gs(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=Dt(t.querySelectorAll(Sm)),l=o?a.find(c=>c.getAttribute(Ui)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(Ui)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...Dt(u?.querySelectorAll(Ps)),...Dt(t.querySelectorAll(Ps))],scriptSources:[...Dt(u?.querySelectorAll(Os)),...Dt(t.querySelectorAll(Os))],linkSources:Dt(n?.querySelectorAll(Em)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var de=_d(uu(),1),cu=de.default,zy=de.default.stringify,$y=de.default.fromJSON,qy=de.default.plugin,jy=de.default.parse,Ky=de.default.list,Yy=de.default.document,Xy=de.default.comment,Jy=de.default.atRule,Qy=de.default.rule,Zy=de.default.decl,eS=de.default.root,tS=de.default.CssSyntaxError,nS=de.default.Declaration,rS=de.default.Container,iS=de.default.Processor,oS=de.default.Document,aS=de.default.Comment,sS=de.default.Warning,lS=de.default.AtRule,uS=de.default.Result,cS=de.default.Input,dS=de.default.Rule,fS=de.default.Root,mS=de.default.Node;var po="data-hf-authored-id",du="data-hf-inner-root";function ho(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function go(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Vp(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function mu(e){let t=e.trim();return t?Array.from(new Set([t,Vp(t)])).filter(Boolean):[]}function zp(e){return!!e&&/[\\w-]/.test(e)}function $p(e,t,n){let r=mu(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\\\"&&(a=null);continue}if(s===\'"\'||s==="\'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!zp(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function qp(e,t){let n=t?.trim();return n?$p(e,n,`[${po}="${go(n)}"]`):e}function fu(e){return`${e}:not(:has([${du}])), ${e} > [${du}]`}function jp(e,t,n,r,i,o){let a=qp(e,r),l=Kp(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?fu(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${ho(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?fu(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(i){let f=r?`[${po}="${go(r)}"]`:null;if(f&&s.startsWith(f)){let x=s.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${s}${m}`}function Kp(e,t,n){let r=ho(n),i=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${r}"|\'${r}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Yp=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xp(e){return e?.type==="atrule"}function Jp(e){let t=e.parent;for(;t;){if(Xp(t)&&Yp.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Qp(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function pu(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${go(o)}"]`,l=cu.parse(e);return l.walkRules(s=>{Jp(s)||Qp(s)||(s.selectors=s.selectors.map(u=>jp(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function hu(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=JSON.stringify(t),l=JSON.stringify(i),s=JSON.stringify(n),u=ho(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(r??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*\\]`),E=JSON.stringify(mu(o?.trim()||""));return`(function(){\n var __hfCompId = ${a};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${s};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(po)};\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 = ${E};\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 if (prop !== __hfCompId) {\n return Reflect.get(target, prop, target);\n }\n var authoredValue = Reflect.get(target, prop, target);\n return authoredValue === undefined\n ? Reflect.get(target, __hfTimelineCompId, target)\n : authoredValue;\n },\n set: function(target, prop, value, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.set(target, prop, value, target);\n }\n // The authored node remains in the compiled DOM when its local id\n // differs from the runtime mount id, so readiness legitimately sees\n // both compositions. Publish the same timeline under both identities\n // instead of replacing one with the other.\n var authoredSet = Reflect.set(target, __hfCompId, value, target);\n var runtimeSet = Reflect.set(target, __hfTimelineCompId, value, target);\n return authoredSet && runtimeSet;\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 // Common authoring boilerplate assigns the registry back to\n // itself (window.__timelines = window.__timelines || {}). The\n // getter above returns our proxy; do not replace the canonical\n // registry with that proxy or later wrappers will stack proxies.\n if (value === __hfTimelineRegistryProxy) return true;\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 Zp=["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 gu(e){let t=e.getAttribute("id")?.trim();for(let n of Zp)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var e0=8e3,t0=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,n0=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,r0=["src","href"];function i0(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function yu(e,t){if(!t)return e;let n=e.trim();if(i0(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function Su(e,t){return!t||!e?e:e.replace(n0,(n,r,i)=>{let o=yu(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function o0(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of r0){let i=n.getAttribute(r);if(i==null)continue;let o=yu(i,t);o!==i&&n.setAttribute(r,o)}}function a0(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=Su(r,t);i!==r&&n.setAttribute("style",i)}}function s0(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=Su(r,t);i!==r&&(n.textContent=i)}}function Eu(e,t){if(t){o0(e,t),a0(e,t),s0(e,t);for(let n of Array.from(e.querySelectorAll("template")))Eu(n.content,t)}}function l0(e,t){return`${e}__hf${t}`}var u0=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),e0)});function xo(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function xu(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function c0(e){let t=document.importNode(e,!0);gu(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function d0(e,t){let n=e.trim();if(!n)return e;try{return t0.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function bu(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function Sr(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 f0(e){let t=new Map;for(let n of e){let r=Sr(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function vu(e){let t=Sr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function m0(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function p0(e){return e.hasAttribute("data-composition-src")?!0:vu(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:m0(e):!1}function yo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:vu(t))}function Cu(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(yo().map(n=>Sr(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function _u(e,t=f0(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=Sr(i),l=p0(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?l0(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function bo(e){let t=Gs({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=t.innerRoot instanceof HTMLElement?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let x=(f.getAttribute("href")||"").trim();if(!x)continue;let E=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&bu(E,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(E)}"]`))continue;let C=f.cloneNode(!0);C instanceof HTMLLinkElement&&(C.href=E,document.head.appendChild(C),e.injectedLinks.push(C))}(f=>{for(let x of f){let E=x.cloneNode(!0);E instanceof HTMLStyleElement&&(i&&(E.textContent=pu(E.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(E),e.injectedStyles.push(E))}})(t.styleSources);let c=f=>{let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let y=d0(E,e.compositionUrl);return e.compositionUrl&&bu(y,e.compositionUrl)?null:{kind:"external",src:y,type:x}}let C=f.textContent?.trim()??"";return C?{kind:"inline",content:C,type:x,scopeCompositionId:o}:null},m=t.scriptSources.map(c).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),x=n.getAttribute("data-height"),E=e.parseDimensionPx(f),C=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),E&&e.host instanceof HTMLElement&&(e.host.style.width=E),C&&e.host instanceof HTMLElement&&(e.host.style.height=C),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let y=c0(n);!e.authoredCompositionId&&i&&y.setAttribute("data-composition-id",i),xu(y),e.host.appendChild(y)}else if(e.hasTemplate){let f=document.importNode(r,!0);xu(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&h0(e,r,a);for(let f of m){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=hu(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let E=await u0(x);E.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:E.status,elapsedMs:E.elapsedMs}})}}}async function Au(e){let t=yo();if(Cu(),t.length===0)return;let n=_u(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);xo(i),await bo({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function wu(e){let t=yo();if(Cu(),t.length===0)return;let n=_u(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}xo(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await bo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,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(),E=new DOMParser().parseFromString(f,"text/html");Eu(E,u);let C=(l?E.querySelector(`template#${CSS.escape(l)}-template`):null)??E.querySelector("template"),y=C?C.content:E.body;await bo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:y,hasTemplate:!!C,fallbackBodyInnerHtml:E.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:E.head,declaredVariableDefaults:Zt(E.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),xo(i)}}))}function h0(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?Zt(t):{}),...ya(e.host)};xa(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,ni(e.host,{...ga(e.host,i,window),...qn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function g0(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function x0(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function b0(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 So(){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=x0();for(let r of t){let i=null;if(r.wordId&&(i=g0(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=s[0]?String(s[0].vars.color):"";for(let c of s)String(c.vars.color)===u?r.dimColor&&(c.vars.color=r.dimColor):r.activeColor&&(c.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=b0(i);e.set(l,o)}}}).catch(()=>{})}var vo="data-hf-edit-base-x",Co="data-hf-edit-base-y",Bt="data-hf-edit-original-translate",Er=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},y0=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},Tu=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Eo=(e,t)=>Tu.test(e)&&Tu.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,S0=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=y0(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Eo(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${Eo(r,t)} ${Eo(i,n)}${a}`},E0=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},v0=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},_o=new WeakMap;function C0(e,t){let n=_o.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Ne("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=Er(e.getAttribute("data-x"))-Er(e.getAttribute(vo)),i=Er(e.getAttribute("data-y"))-Er(e.getAttribute(Co));e.hasAttribute(Bt)||e.setAttribute(Bt,v0(e)),n===void 0&&E0(e);let o=e.getAttribute(Bt)??"",a=S0(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),_o.set(e,e.style.getPropertyValue("translate"))}function vr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Bt}]:not([${vo}]):not([${Co}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Bt)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Bt),_o.delete(u)}let a=e.querySelectorAll(`[${vo}], [${Co}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(C0(u,t),l+=1)}return l}var Ru="__hfPositionEditsSeekReapplyWrapped",Fu=new WeakSet,Lu=new WeakMap,Nu=new WeakMap;function ku(e){let t=e,n=()=>{try{vr(t.document)}catch{}},r=m=>typeof m=="function"&&(Fu.has(m)||!!m[Ru]),i=m=>{Fu.add(m);try{Object.defineProperty(m,Ru,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...x){let E=m.apply(this,x);return n(),E};return i(f),f},a=(m,f)=>{let x=Lu.get(m);if(x?.has(f))return!0;let E=Object.getOwnPropertyDescriptor(m,f);if(E?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let C=m[f],y=E?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:E?.enumerable??!0,get:()=>C,set:w=>{C=o(w),y?.call(m,w)}}),C=o(C),x??(x=new Set),x.add(f),Lu.set(m,x),n(),!0},l=(m,f)=>{let x=Nu.get(t),E=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(E?.configurable===!1){let w=t[m];return w?a(w,f):!1}let y=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:E?.enumerable??!0,get:()=>y,set:w=>{y=w,y&&a(y,f)}}),x??(x=new Set),x.add(m),Nu.set(t,x)}let C=t[m];return C?a(C,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Cr(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function _r(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Mu=new Set(["img","video","audio","source"]);function _0(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 A0(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\\//i.test(t):!1:!1}function w0(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function T0(e){if(_r(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 Ao(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Cr(e);return t.set(n,i),i}function R0(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function F0(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function L0(e,t){let n=new Set,r=F0(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=Ao(i,t);for(let[a,l]of Object.entries(o)){let s=T0(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,w0(s))}}}function wo(e){let t=new Map;L0(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Mu.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Mu).join("/")}.`);continue}let i=_0(Ao(n,t)[r]);if(i!==null){if(!A0(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=Ao(n,t)[r];_r(i)&&R0(n,String(i))}}var Qe=new Map,N0="data-hf-color-grading-canvas",k0="__hf_color_grading_canvas__";function zu(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(tr)||r.setAttribute(tr,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var M0=16,D0=4,Wt={enabled:!1,position:.5,softness:0,lineWidth:2},To=["#000000","#ffffff"],I0=["#1a1a1a","#f5f5dc"],In=3,P0=In-1,O0=5,Ro=`${je}.0`,Du=`${je-1}.0`,G0=`${In}.0`,H0=`${(P0+.5)/In}`;function Ar(e){let t=e.getAttribute(an);return t==null?null:Es(t,Cr(e))}var B0=["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`),U0=["#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_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","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 vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","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_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","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)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","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;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Du};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Du});`,` float y = (row + 0.5) / ${G0};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${Ro}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${Ro}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${Ro}, ${H0}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","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));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= 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));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","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);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," 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);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 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 warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," 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`),W0=["#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;","uniform float u_bloomPass;","uniform float u_threshold;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," if (u_bloomPass > 0.5) {"," float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));"," if (u_threshold >= 0.0 && luminance <= u_threshold) color.rgb = vec3(0.0);"," return vec4(color.rgb, 1.0);"," }"," color.rgb *= color.a;"," return color;","}","void main(){"," if (u_bloomPass > 0.5) {"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) * 0.5;"," vec4 bloom = readSource(v_uv) * 0.227027;"," bloom += readSource(v_uv + stepUv) * 0.1945946;"," bloom += readSource(v_uv - stepUv) * 0.1945946;"," bloom += readSource(v_uv + stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv - stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv + stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv - stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv + stepUv * 4.0) * 0.016216;"," bloom += readSource(v_uv - stepUv * 4.0) * 0.016216;"," gl_FragColor = bloom;"," return;"," }"," 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`),V0=["#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 vec2 u_texel;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_blur;","uniform float u_kuwaharaRadius;","vec3 readPrepared(vec2 displayUv){"," vec2 uv = (displayUv - u_uvOffset) / u_uvScale;"," vec3 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," if (u_blurReady > 0.5 && u_blur > 0.0) {"," vec3 blurred = texture2D(u_blurSource, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," color = mix(color, blurred, clamp(u_blur, 0.0, 1.0));"," }"," return color;","}","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec3 sum = vec3(0.0);"," float sumSquares = 0.0;"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec3 color = readPrepared(v_uv + vec2(float(offset), 0.0) * u_texel);"," sum += color;"," sumSquares += dot(color, color) / 3.0;"," count += 1.0;"," }"," gl_FragColor = vec4(sum / count, sumSquares / count);","}"].join(`\n`),z0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_kuwaharaMoments;","uniform vec2 u_texel;","uniform float u_kuwaharaRadius;","uniform float u_kuwaharaSharpness;","uniform float u_kuwaharaSaturation;","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec2 origins[4];"," origins[0] = vec2(-radius, -radius);"," origins[1] = vec2(0.0, -radius);"," origins[2] = vec2(-radius, 0.0);"," origins[3] = vec2(0.0, 0.0);"," vec3 means[4];"," float variances[4];"," float minVariance = 1.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," vec4 moment = vec4(0.0);"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec2 sampleOffset = origins[quadrant] + vec2(0.0, float(offset));"," moment += texture2D(u_kuwaharaMoments, clamp(v_uv + sampleOffset * u_texel, vec2(0.0), vec2(1.0)));"," count += 1.0;"," }"," moment /= count;"," vec3 mean = moment.rgb;"," float meanSquare = moment.a * 3.0;"," float variance = max(meanSquare - dot(mean, mean), 0.0);"," means[quadrant] = mean;"," variances[quadrant] = variance;"," minVariance = min(minVariance, variance);"," }"," float exponent = 1.0 + clamp(u_kuwaharaSharpness, 0.0, 1.0) * 8.0;"," vec3 result = vec3(0.0);"," float totalWeight = 0.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," float weight = pow((minVariance + 0.0001) / (variances[quadrant] + 0.0001), exponent);"," result += means[quadrant] * weight;"," totalWeight += weight;"," }"," result /= max(totalWeight, 0.0001);"," float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));"," float saturation = clamp(u_kuwaharaSaturation, 0.0, 1.0) * 2.0;"," gl_FragColor = vec4(clamp(mix(vec3(luma), result, saturation), 0.0, 1.0), 1.0);","}"].join(`\n`);function St(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Iu(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Pu(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(F("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Lr(e,t=U0){let n=Pu(e,B0,e.VERTEX_SHADER),r=Pu(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(F("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function wr(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),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,n,null),r):null}function $0(e,t){let n=Lr(e,W0);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"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function q0(e,t){let n=Lr(e,V0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function j0(e,t){let n=Lr(e,z0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function kn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=wr(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function Rr(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function Fo(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function Ou(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Mo(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Lr(t),r=wr(t),i=wr(t,t.NEAREST),o=wr(t,t.NEAREST);if(!n||!r||!i||!o)return Ou(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),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"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:Fo(t,n,nr),detailUniforms:Fo(t,n,Ai),effectUniforms:Fo(t,n,wi),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),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")}}):(Ou(t,n,[r,i,o]),null)}function K0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Y0(e){if(!K0(e))return{...Wt};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Wt.position,0,1),softness:t(e.softness,Wt.softness,0,.25),lineWidth:t(e.lineWidth,Wt.lineWidth,0,12)}}function $u(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 Nr(e){return e instanceof Error?e.message:"LUT failed to load"}function X0(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 qu(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return X0(t)}function Do(e){let t=$u(e);if("error"in t)return{state:"error",message:t.error};let n=Qe.get(t.href);if(n)return n;let r=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=>Qa(o,{maxSize:Qn})),i={state:"pending",promise:r};for(;Qe.size>=M0;){let o=Qe.keys().next().value;if(!o)break;Qe.delete(o)}return Qe.set(t.href,i),r.then(o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"ready",lut:o})},o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"error",message:Nr(o)})}),i}function Gu(e,t,n){if(e.lut?.src===t)return e.lut;let r=gi(n),{gl:i,program:o}=e;try{return ju(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=Nr(a),e.lutLoadingSrc=null,F("runtime.colorGrading.uploadLut",a),null}}async function J0(e){let t=Do(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function ju(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function Q0(e,t,n){let r=gi(n),{gl:i,program:o}=e;return ju(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Xe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Io(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Xe(e.gl,t.scratch),Xe(e.gl,t.blur),t.bloom&&Xe(e.gl,t.bloom),e.effectTargets=null)}function Po(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Xe(e.gl,t.moments),Xe(e.gl,t.output),e.kuwaharaTargets=null)}function Tr(e,t=!1){Io(e),Po(e),Z0(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function Z0(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function eh(e){let t=Mo(e.canvas);return t?(Tr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function ko(e){if(!e.sourceHidden)return;e.element.removeAttribute(sn);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 th(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=$0(t,e.program.quad),r=kn(t),i=kn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Xe(t,r),i&&Xe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function nh(e,t){return t.bloom||(t.bloom=kn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Hu(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function rh(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=q0(t,e.program.quad),o=j0(t,e.program.quad),a=kn(t,n.HALF_FLOAT_OES,t.NEAREST),l=kn(t);return!i||!o||!a||!l?(ih(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function ih(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Ku(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Rr(e,t,o,a),Rr(e,n,o,a),{width:o,height:a}}function Fr(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),Mn(e,t)}function oh(e,t,n,r,i,o,a){let l=Ku(e,t.scratch,r,i/2,o/2),s=a/2;Fr(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),Fr(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function ah(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)Fr(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),Fr(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function Mn(e,t){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 sh(e,t,n,r,i,o,a,l){Rr(e,t.moments,i.width,i.height),Rr(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),Mn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),Mn(e,u)}function lh(e,t,n,r){if(n<=0)return!1;let i=Ku(e.gl,t.scratch,t.blur,r.width,r.height);return ah(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function uh(e,t,n,r,i,o){if(n<=0)return Hu(e),null;o||Hu(e);let a=o?nh(e,t):t.blur;return a?(oh(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function ch(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&Io(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=th(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=lh(e,l,o,n),u=uh(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function dh(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&Po(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=rh(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(sh(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function Yu(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=ch(e,t,n,o),l=dh(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function fh(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 r=$u(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=Do(t);return i.state==="ready"?Gu(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Gu(e,r.href,o),Me(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Nr(o),e.lutLoadingSrc=null,Me(e))})),null)}function Ln(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&&St(n))return n;try{let r=document.querySelector(t);return r&&St(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&St(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&St(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)),r=t[n]??null;return r&&St(r)?r:null}catch{return null}}function Xu(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 Ju(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 Qu(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Ju(t)?t:null}function Bu(e){if(!(e instanceof HTMLVideoElement))return!1;let t=Qu(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function mh(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function ph(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function Zu(e){if(e instanceof HTMLVideoElement){let t=Qu(e);if(t)return t}return Ju(e)?e:null}function Uu(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 r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function hh(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Uu(o,"x"),l=Uu(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function ec(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=hh(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function gh(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Wu(e,t){return Math.max(0,Math.round(e>0?e:t))}function xh(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&gh(e,i);let o=window.getComputedStyle(t);_s(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Wu(n.offsetWidth,a.width),s=Wu(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Ut(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function Et(e,t,n,r){e.set(r,(t*je+n)*4)}function ut(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Lo(e,t,n){return e.length>=3?bi(e,t,n):new Float32Array(je)}function yt(e,t){return e[t]??0}function bh(e,t,n){let r=Ft(t.red),i=Ft(t.green),o=Ft(t.blue),a=Ft(t.master),l=Lo(n.hueVsHue,-180,180),s=Lo(n.hueVsSaturation,-1,1),u=Lo(n.hueVsLuma,-1,1);for(let c=0;c<je;c+=1)Et(e,0,c,[yt(r,c),yt(i,c),yt(o,c),yt(a,c)]),Et(e,1,c,[ut(yt(l,c),180),ut(yt(s,c),1),ut(yt(u,c),1),1])}function yh(e,t,n){let r=n*O0;Et(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Et(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Et(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Et(e,2,r+3,[ut(t.correction.hueShift,180),ut(t.correction.saturation,1),ut(t.correction.luma,1),ut(t.correction.temperature,1)]),Et(e,2,r+4,[ut(t.correction.tint,1),.5,.5,1])}function Sh(e,t,n){let r=new Float32Array(je*In*4);bh(r,e,t);let i=0;for(let o of n)o.enabled&&(yh(r,o,i),i+=1);return r}var Vu=new WeakMap;function Eh(e,t,n){let r=Vu.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Vu.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function vh(e,t,n,r){let{curves:i,hueCurves:o}=n,a=Eh(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(Sh(i,o,r),rn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,je,In,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function No(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function tc(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:x,secondaries:E}=n,C=Fi(f),y=Li(x),w=Ni(E)?E.reduce((D,P)=>D+Number(P.enabled),0):0;(C||y||w>0)&&vh(e,t,n,E),No(e,t.shadowWheel,n.wheels.shadows),No(e,t.midtoneWheel,n.wheels.midtones),No(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,C?1:0),e.uniform1f(t.hueCurvesEnabled,y?1:0),e.uniform1f(t.secondaryCount,w);for(let[D,P]of t.adjustUniforms)e.uniform1f(P,n.adjust[D]);for(let[D,P]of t.detailUniforms)e.uniform1f(P,n.details[D]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[D,P]of t.effectUniforms)e.uniform1f(P,n.effects[D]);let T=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?I0:To),k=T[T.length-1]??To[1];e.uniform1f(t.paletteSize,T.length),Ut(e,t.palette0,T[0]??To[0]),Ut(e,t.palette1,T[1]??k),Ut(e,t.palette2,T[2]??k),Ut(e,t.palette3,T[3]??k),Ut(e,t.palette4,T[4]??k),Ut(e,t.palette5,T[5]??k),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function Ch(e){if(!e.sourceHidden){let t=e.element.getAttribute(tr);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(sn,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ze(e){let t=bs.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var nc=Ze("intensity"),rc=Ze("lut.intensity"),ic=Ze("adjust.exposure"),oc=Ze("effects.kuwahara"),ac=[["blur",Ze("effects.blur")],["bloom",Ze("effects.bloom")],["kuwahara",oc],["pixelate",Ze("effects.pixelate")],["ascii",Ze("effects.ascii")],["dither",Ze("effects.dither")]],sc=[nc,rc,ic,...ac.map(([,e])=>e)];function vt(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Nn(e,t){return t!==null&&(vs(t)||sc.some(n=>vt(e,n)!==null))}function _h(e,t){let n=null;for(let[r,i]of ac){let o=vt(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function Ah(e){let{element:t,grading:n}=e,r=vt(t,nc),i=vt(t,rc),o=vt(t,ic),a=_h(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function lc(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function uc(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Me(e){if(e.destroyed||e.contextLost)return!1;let t=Zu(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=Xu(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=mh(t);if(s&&ph(e,t),s||!a){let E=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=E.opacity||"1",e.sourceVisibleForCanvas=(s||l!=="hidden")&&E.visibility!=="hidden"}let u=xh(e,r);if(!u)return!1;let c=window.getComputedStyle(r),m=ec(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let E=Ah(e),C=fh(e);lc(f,x.texture,t);let y=vt(e.element,oc)!==null,w=Yu(e,E,u,m,{preserveKuwahara:y});f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),uc(f,x,w);let T=window.__player?.getTime?.(),k=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(k*60);return tc(f,x,E,C,w.blurReady,w.bloomReady,w.kuwaharaReady,e.compare,u,m,D,k),Mn(f,x),Ch(e),e.hasDrawn=!0,e.drawError=null,!0}catch(E){return e.drawError=E instanceof Error?E.message:"Shader draw failed",F("runtime.colorGrading.drawEntry",E),!1}}function wh(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function Th(){let e=document.createElement("canvas"),t=Mo(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Rh(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Fh(e,t,n,r){let i=Zu(t);if(!i)return null;let o=Xu(i);if(!o)return null;let a=wh(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=ec(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return lc(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Rh(t,r),grainSeed:qu(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Lh(e,t,n,r,i=!1){let o=Fh(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=rr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let x=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=Q0(e,f.lut.src,await J0(f.lut.src))),x=e.lut),c.push({id:m.id,dataUrl:Nh(e,f,x,a,l,s,u)})}catch(E){c.push({id:m.id,dataUrl:null,error:Nr(E)})}}return{...a,images:c}}function Nh(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=Yu(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),uc(s,u,c),n||(e.lut=null),tc(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Wt,r,i,o,a),Mn(s,u),l.toDataURL("image/png")}function Ye(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function kh(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 Dn(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,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Dn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Dn(e)})}function Mh(e){let t=()=>{Me(e)};if(Ye(e,e.element,"load",t),Ye(e,e.element,"loadedmetadata",t),Ye(e,e.element,"loadeddata",t),Ye(e,e.element,"seeked",t),Ye(e,e.element,"timeupdate",t),Ye(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ye(e,e.element,"play",()=>Dn(e)),Ye(e,e.element,"pause",t)),Ye(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",ko(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!eh(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",ko(e);return}e.drawError=null,Me(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Me(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Dh(e){if(e.destroyed)return null;e.destroyed=!0,kh(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Io(e),Po(e),ko(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function cc(e,t){return e.removeAttribute("style"),t.id?e.id=`${ms}${t.id}`:e.removeAttribute("id"),e.className=k0,e.setAttribute(N0,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ih(e){return cc(document.createElement("canvas"),e)}function dc(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(_,b,S)=>{let A=e.get(_);if(A)return A.grading=b,A.source=S,Me(A),_ instanceof HTMLVideoElement&&!_.paused&&Dn(A),!0;let R=n.pop();if(R)cc(R.canvas,_);else{let G=Ih(_),U=Mo(G);if(!U)return G.remove(),!1;R={canvas:G,gl:U.gl,program:U.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let N={element:_,...R,grading:b,compare:{...Wt},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:S,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(_).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(_).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:qu(_),destroyed:!1};return e.set(_,N),t.add(_),Mh(N),Me(N),_ instanceof HTMLVideoElement&&!_.paused&&Dn(N),!0},s=(_,b)=>{if(a)return!1;let S=Ln(_);if(!S)return!1;let A=e.get(S);if(!A){let R=Ar(S);if(!Nn(S,R)||!l(S,R,"attribute"))return!1;A=e.get(S)}return A?(A.compare=Y0(b),Me(A),!0):!1},u=_=>{let b=e.get(_);if(!b)return;let S=Dh(b);S&&(b.contextLost||n.length>=D0?Tr(S,!0):n.push(S)),e.delete(_),t.delete(_)},c=()=>{if(a)return 0;let _=new Set;document.querySelectorAll(`video[${an}], img[${an}]`).forEach(S=>{if(!St(S))return;_.add(S);let A=Ar(S);Nn(S,A)&&(Iu(S)||Bu(S))?l(S,A,"attribute"):u(S)});for(let S of t){let A=e.get(S);A&&(!S.isConnected||A.source==="attribute"&&!_.has(S))&&u(S)}return t.size},m=()=>{if(a)return 0;let _=0;for(let b of t){let S=e.get(b);S&&Me(S)&&(_+=1)}return _},f=async()=>{let _=new Set;for(let b of t){let S=e.get(b)?.grading.lut;if(!S?.src.trim()||(S.intensity??1)<=0)continue;let A=Do(S.src);A.state==="pending"&&_.add(A.promise)}return _.size>0&&await Promise.allSettled(_),m(),_.size},x=()=>{if(a)return 0;let _=0;for(let b of t){let S=e.get(b);!S||!sc.some(R=>vt(b,R)!==null)||b instanceof HTMLVideoElement&&!b.paused&&!b.ended||Me(S)&&(_+=1)}return _},E=(_,b)=>{if(a)return!1;let S=Ln(_);if(!S)return!1;let A=rr(b);return Nn(S,A)?l(S,A,"live"):(u(S),!0)},C=(_,b)=>{if(!St(_))return!1;let S=e.get(_);if(!S){if(!b)return!1;let A=Ar(_);return Nn(_,A)&&l(_,A,"attribute")}return S.sourceVisibleForCanvas=b,!b&&S.source==="attribute"&&u(_),!0},y=_=>{let b=Ln(_);if(!b)return{state:"missing",message:"Media not found"};let S=e.get(b);if(S)return S.effectError?{state:"unavailable",message:S.effectError}:S.drawError?{state:"unavailable",message:S.drawError}:S.lutError?{state:"unavailable",message:`LUT error: ${S.lutError}`}:S.grading.lut&&S.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:S.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:S.lut?"Shader + LUT active":"Shader active"};let A=Ar(b);return Nn(b,A)?!Iu(b)&&!Bu(b)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},w=async(_,b,S)=>{let A=async()=>{if(a||b.length===0)return null;let N=Ln(_);return!N||(i??(i=Th()),!i)?null:Lh(i,N,b,S?.maxDimension,S?.useMediaTime)},R=o.then(A,A);return o=R.then(()=>{},()=>{}),R},T=_=>{let b=Ln(_);if(!(b instanceof HTMLVideoElement))return null;if(!b.paused)return()=>{};let S=b.currentTime,A=b.loop,R=b.muted;return b.loop=!0,b.muted=!0,(b.ended||Number.isFinite(b.duration)&&S>=b.duration)&&(b.currentTime=0),b.play().catch(()=>{}),()=>{b.pause(),b.loop=A,b.muted=R,b.currentTime=S}},k=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let _ of t)u(_);for(let _ of n)Tr(_,!0);n.length=0,i&&(Tr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[an]}));let D={refresh:c,redraw:m,redrawAnimated:x,waitForActiveLuts:f,setGrading:E,setCompare:s,setSourceVisibility:C,getStatus:y,renderPreviews:w,startPreviewPlayback:T,destroy:k},P=window;return P.__hf=P.__hf||{},P.__hf.colorGrading=D,c(),D}var kr=class{constructor(t){he(this,"_baseTime",0);he(this,"_playStartMs",null);he(this,"_rate",1);he(this,"_duration",1/0);he(this,"_nowMs");he(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 r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}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 fc(e){return!Number.isFinite(e)||e<=0?1:e}function Ph(e,t){t||e.paused||!Vn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Oh(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,safeRate:o,clipDuration:a}=t,l=Number.isFinite(a)&&a>0,s=a*o;if(n>=0){let c=s-n;return l&&c<=0?!1:(l?e.start(0,n+r,c):e.start(0,n+r),!0)}let u=-n/o;return l?e.start(i+u,r,s):e.start(i+u,r),!0}var Mr=class{constructor(){he(this,"_ctx",null);he(this,"_bufferCache",new Map);he(this,"_failedSrcs",new Set);he(this,"_activeSources",[]);he(this,"_masterGain",null);he(this,"_rateAnchorCtx",0);he(this,"_rateAnchorComp",0);he(this,"_rate",1);he(this,"_paused",!0);he(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 r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return F("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return F("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),F("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,r,i,o,a,l,s=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=fc(s),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=a,m.connect(f),f.connect(this._masterGain);let x=o-r,E=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=E,this._rateAnchorComp=o,!Oh(m,{elapsed:x,mediaStart:i,scheduledAt:E,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let C=t.muted;t.muted=!0,Ph(t,C);let y={el:t,sourceNode:m,gainNode:f,compositionStart:r,mediaStart:i,scheduledAt:E,priorMuted:C,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(y),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(y);w!==-1&&(this._activeSources.splice(w,1),t.muted=C,this._activeSources.length===0&&(this._paused=!0))}),y}catch(c){return F("webAudioTransport.schedule",c),null}}setRate(t){let n=fc(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 r of this._activeSources)try{r.sourceNode.playbackRate.value=n}catch(i){F("webAudioTransport.setRate",i)}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 r=Math.max(0,Math.min(1,n));for(let i of this._activeSources)if(i.el===t)try{i.gainNode.gain.value=r}catch(o){F("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 mc="data-hf-studio-manual-edit-gesture";function pc(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Gh=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function hc(e){return Math.max(0,Math.min(1,e))}function gc(e){let t=Gh.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?hc(n):null}function xc(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=hc(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var Hh=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,Bh=Math.PI*2;function Uh(e){let t=Hh.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function Wh(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(Bh*t*e)}function bc(e,t){let n=Uh(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>Wh(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var Vh=24,yc=e=>e>=1?1:0,zh=e=>e,Dr=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,$h=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Dr}\\s*,\\s*${Dr}\\s+${Dr}\\s*,\\s*${Dr}\\s+1\\s*,\\s*1\\s*$`,"i");function Sc(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function qh(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<Vh;l+=1){let s=(o+a)/2;Sc(s,t,r)<e?o=s:a=s}return Sc((o+a)/2,n,i)}function jh(e){let t=$h.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>qh(a,n,r,i,o)}function Kh(e,t){if(!e.startsWith("spring("))return null;let n=gc(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>xc(o,n);return t.set(n,i),i}function Yh(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=jh(n);return i&&t.set(n,i),i}function Ec(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?yc:bc(s,i)??Kh(s,r)??Yh(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(s.trim())&&Ne("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??zh)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",yc);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Oo="data-hf-authored-duration",Go="data-hf-authored-end",vc=!1;function et(e){if(e){if(typeof e.pause!="function"){vc||(vc=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){F("runtime.timeline.pause",t)}}}function Xh(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function Cc(){let e=Ts();ma(xe),vr(document),wo(document);let t=Xh();e.canonicalFps=t.fps??e.canonicalFps,da(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,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,h,p)=>{s.has(d)||(s.add(d),Ne(h,p))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){F("runtime.init.site1",d)}let c=new kr;e.transportClock=c;let m=new Mr,f=!1;m.init().then(d=>{f=d});let x=()=>{let d=window.gsap,h=window;if(!(!d?.registerPlugin||h.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),h.__hfAutoNoopRegistered=!0}catch(p){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),F("runtime.autoMarker.install",p)}},E=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{Ec(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(h){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),F("runtime.customEase.install",h)}};x(),E(),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{ba(document)}catch(d){F("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let C=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let h=Array.from(document.querySelectorAll("[data-composition-id]"));return h.find(p=>!p.parentElement?.closest("[data-composition-id]"))??h[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,h=C()?.getAttribute("data-composition-id")??"root",p={};if(d.length===1)p[h]=d[0];else for(let g=0;g<d.length;g++)p[`tl-${g}`]=d[g];window.__timelines=p}let y=C();y&&!y.hasAttribute("data-start")&&y.setAttribute("data-start","0");let w=d=>{o.push(d)},T=(d,h,p)=>{let g=p??`${d}:${JSON.stringify(h)}`;a.has(g)||(a.add(g),xe({source:"hf-preview",type:"diagnostic",code:d,details:h}))},k=d=>{let h={scale:1,focusX:960,focusY:540},p=[],g=[],v={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:()=>h,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>p,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:()=>g,getRenderState:()=>({...v,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},D=1/60,P=.75,_=.05,b=100,S=240,A=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??"")}},R=d=>{let h=d.toLowerCase();return h.includes("cannot read properties of null")||h.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:h.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:h.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},N=d=>{if(d==null||d.trim()==="")return null;let h=Number.parseFloat(d);return!Number.isFinite(h)||h<=0?null:`${h}px`},G=()=>C(),U=()=>{let d=G();if(!d)return;let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p),h&&d.style.setProperty("--comp-width",h),p&&d.style.setProperty("--comp-height",p)},ne=()=>{let d=G(),h=Array.from(document.querySelectorAll("[data-composition-id]")).filter(p=>p.hasAttribute("data-duration")||p.hasAttribute("data-end"));for(let p of h){if(d&&p===d)continue;let g=p.getAttribute("data-duration"),v=p.getAttribute("data-end");g!=null&&!p.hasAttribute(Oo)&&p.setAttribute(Oo,g),v!=null&&!p.hasAttribute(Go)&&p.setAttribute(Go,v),p.removeAttribute("data-duration"),p.removeAttribute("data-end")}},H=()=>{let d=G();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p);let g=Array.from(d.children);for(let v of g){let L=v.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!v.hasAttribute("data-start")||v.hasAttribute("data-hf-autostamped"))continue;let O=(v.style.top==="0px"||v.style.top==="0")&&(v.style.left==="0px"||v.style.left==="0")&&v.style.width==="100%"&&v.style.height==="100%",X=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(v.style.transform);if(O&&X&&!v.hasAttribute("data-width")&&!v.hasAttribute("data-height")){let Ee=v.style.top,Jt=v.style.left,ve=v.style.width,Qt=v.style.height;v.style.top="",v.style.left="",v.style.width="",v.style.height="";let re=window.getComputedStyle(v);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(v.style.top=Ee,v.style.left=Jt,v.style.width=ve,v.style.height=Qt)}let W=window.getComputedStyle(v),se=W.position;if(se!=="absolute"&&se!=="fixed"&&(v.style.position="absolute"),!!v.style.top||!!v.style.bottom||W.top!=="auto"||W.bottom!=="auto"||(v.style.top="0"),!!v.style.left||!!v.style.right||W.left!=="auto"||W.right!=="auto"||(v.style.left="0"),L!=="audio"){let Ee=N(v.getAttribute("data-width")),Jt=N(v.getAttribute("data-height")),ve=W.width!=="0px"&&W.width!=="auto",Qt=W.height!=="0px"&&W.height!=="auto";Ee?!v.style.width&&!ve&&(v.style.width=Ee):!v.style.width&&W.width==="0px"&&(v.style.width="100%"),Jt?!v.style.height&&!Qt&&(v.style.height=Jt):!v.style.height&&W.height==="0px"&&(v.style.height="100%")}}},J=(d,h=0,p)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,h),_e=(d,h)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),z=d=>{let h=d.closest("[data-composition-id]"),p=h?J(h,0):null,g=h?_e(h,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:h,inheritedStart:p,inheritedDuration:g}},Y=d=>{let h=z(d),p=h.inheritedStart??0,g=ke(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||g==null||p<=0)return J(d,p);let v=ke(d.getAttribute("data-duration")),L=h.inheritedDuration,O=L!=null&&L>0?p+L:null,X=v!=null&&v>0?g+v:g;return(O==null?g>=p:g<O&&(X>p||g===p))?g:p+g};window.__hfResolveMediaStartSeconds=Y,o.push(()=>{window.__hfResolveMediaStartSeconds===Y&&delete window.__hfResolveMediaStartSeconds});let V=(d,h)=>{let p=d.tagName.toLowerCase();if(p==="script"||p==="style"||p==="link"||p==="meta")return!1;let v=p==="video"||p==="audio"?Y(d):J(d,0),L=_e(d),O=d.getAttribute("data-composition-id");if(O){let W=(window.__timelines??{})[O],se=null;if(W&&typeof W.duration=="function"){let ie=Number(W.duration());Number.isFinite(ie)&&ie>0&&(se=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Oo)||d.hasAttribute(Go))&&(L==null||L<=0)&&se!=null&&(L=se)}let X=L!=null&&L>0?v+L:Number.POSITIVE_INFINITY;return h>=v&&(Number.isFinite(X)?h<X:!0)},ee=!!document.querySelector("[data-composition-src]"),Ae=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let h of d){let p=h.getAttribute("data-composition-id");if(p&&h.children.length===0&&document.querySelector(`template#${CSS.escape(p)}-template`)){Ae=!0;break}}}let B=!ee&&!Ae,M=d=>{if(!d||typeof d.duration!="function")return null;try{let h=Number(d.duration());return Number.isFinite(h)?Math.max(0,h):null}catch{return null}},I=d=>typeof d=="number"&&Number.isFinite(d)&&d>D,ue=d=>{let h=Number(d.getAttribute("data-duration"));if(Number.isFinite(h)&&h>0)return h;let p=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),g=Number.isFinite(p)?Math.max(0,p):0;return Number.isFinite(d.duration)&&d.duration>g?Math.max(0,d.duration-g):null},ae=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let h=0;for(let p of d){let g=Y(p);if(!Number.isFinite(g))continue;let v=ue(p);v==null||v<=D||(h=Math.max(h,Math.max(0,g)+v))}return h>D?h:null},$=()=>{let d=G();if(!d)return null;let h=window.__timelines??{},p=it({timelineRegistry:h,includeAuthoredTimingAttrs:!0}),g=0,v=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(v)&&v>0&&(g=v);let L=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let O of L){if(!(O instanceof Element)||O.parentElement?.closest("[data-composition-id]")!==d)continue;let W=p.resolveStartForElement(O,0),se=p.resolveDurationForElement(O);!Number.isFinite(W)||se==null||se<=0||(g=Math.max(g,Math.max(0,W)+se))}return g>D?g:null},q=()=>{let d=ae();return typeof d!="number"||!Number.isFinite(d)||d<=D?null:d},j=d=>I(d)?Math.max(D,d*P):D,Ve=()=>{let d=0;for(let h of e.deterministicAdapters){let p=h.getInferredDurationSeconds;if(typeof p!="function")continue;let g=null;try{g=p()}catch(v){F("runtime.init.adapterDuration",v)}typeof g=="number"&&Number.isFinite(g)&&g>0&&(d=Math.max(d,g))}return d>D?d:null},me=(d,h=0)=>{let p=M(d),g=q(),v=$(),L=Ve(),O=Math.max(g??0,v??0,L??0),X=Number.isFinite(h)&&h>D?h:0,W=0;return I(p)?W=Math.max(p,O,X):I(O)?W=Math.max(O,X):W=X,W>0?Math.max(0,W):0},Ct=()=>{let d=window.__timelines??{},h=re=>{let Q=Object.entries(d).filter(oe=>!!oe[1]&&typeof oe[1].play=="function"&&typeof oe[1].pause=="function");if(Q.length!==1)return{timeline:null};let fe=Q[0];if(!fe)return{timeline:null};let[pe,ge]=fe;return{timeline:ge,selectedTimelineIds:[pe],selectedDurationSeconds:M(ge),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},p=it({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),g=q(),v=$(),L=Math.max(g??0,v??0)||null,O=j(L),X=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?p.resolveStartForElement(Q,0):0},W=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let fe=Q.timeline({paused:!0});for(let pe of re)fe.add(pe.timeline,X(pe.compositionId));return fe},se=(re,Q)=>{if(!I(re))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(oe){F("runtime.init.site2",oe)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:re})}catch(oe){F("runtime.init.site3",oe)}return pe},Le=(re,Q)=>{let fe=re;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let oe of Q)if(!pe.some(He=>He===oe.timeline))try{let He=X(oe.compositionId);re.add(oe.timeline,He),ge.push(oe.compositionId)}catch(He){F("runtime.init.site4",He)}return ge}catch{return[]}},ie=G(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return h("root_missing_composition_id");let Ee=d[te]??null,ve=(()=>{if(!ie)return[];let re=new Set,Q=Array.from(ie.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of Q){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===te||re.has(ge))continue;re.add(ge);let oe=d[ge]??null;if(!oe||typeof oe.play!="function"||typeof oe.pause!="function")continue;let Re=M(oe);fe.push({compositionId:ge,timeline:oe,durationSeconds:Re??0})}return fe})(),Qt=re=>{for(let Q of re){let fe=Q.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){F("runtime.init.site5",pe)}}};if(ve.length>0&&Qt(ve),Ee){let re=ve.length>0?Le(Ee,ve):[];if((ve.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+te+"\'])"))&&(Ie=!0),re.length>0)try{let oe=Ee.time();Ee.seek(oe,!1)}catch{}let Q=M(Ee);if(!I(Q)&&ve.length>0){let oe=ve.map(gd=>gd.compositionId),Re=W(ve),He=M(Re);if(Re&&I(He))return{timeline:Re,selectedTimelineIds:oe,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedTimelineIds:oe,autoNestedChildren:re}}};let Xr=se(L??0,Ee),Jr=M(Xr);if(Xr&&I(Jr))return{timeline:Xr,selectedTimelineIds:[te],selectedDurationSeconds:Jr,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedDurationSeconds:Jr,selectedTimelineIds:[te],autoNestedChildren:re}}}}if(!I(Q)&&ve.length===0){let oe=se(L??0,Ee),Re=M(oe);if(oe&&I(Re))return{timeline:oe,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedDurationSeconds:Re,selectedTimelineIds:[te]}}}}let fe=ie?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(I(pe)?pe:0,v??0);if(ge>0&&I(ge)&&I(Q)&&ge>=Q+.5){let oe=Ee;if(typeof oe.to=="function")try{oe.to({},{duration:0},ge)}catch(He){F("runtime.init.site6",He)}let Re=M(Ee);if(I(Re))return{timeline:Ee,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:v,newDur:Re}}}}return{timeline:Ee,selectedTimelineIds:[te],selectedDurationSeconds:Q,mediaDurationFloorSeconds:g,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(ve.length>0){let re=ve.map(pe=>pe.compositionId),Q=W(ve),fe=M(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,selectedTimelineIds:re}}}}return h("root_composition_id_unmatched_in_registry")},Ie=!1,Xc=d=>{let h=window.gsap,p=d;if(!(!p||typeof p.getChildren!="function"||!h||typeof h.parseEase!="function"))for(let g of p.getChildren(!0,!0,!0)){let v=g,L=v.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let O=v.vars?.keyframes,W=(O&&!Array.isArray(O)?O.ease:void 0)??v.vars?.ease??"none";try{let se=h.parseEase(W);typeof se=="function"&&(L._ease=se)}catch(se){Ne("keyframe_ease_repair_failed",{ease:typeof W=="string"?W:String(W)}),F("runtime.keyframeEase.repair",se)}}},qt=()=>{if(E(),!B)return!1;let d=e.capturedTimeline,h=M(d),p=I(h);if(d&&p&&Ie)return!1;let g=Ct();if(!g.timeline)return!1;if(d&&d===g.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=g.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),Xc(e.capturedTimeline);let v=me(e.capturedTimeline,0);if(v<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),et(e.capturedTimeline)),v>0){try{c.setDuration(v)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let O=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(O,!1),et(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),vr(document)}if(g.diagnostics&&xe({source:"hf-preview",type:"diagnostic",code:g.diagnostics.code,details:g.diagnostics.details}),xe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:g.selectedTimelineIds??[],selectedDurationSeconds:g.selectedDurationSeconds??null,mediaDurationFloorSeconds:g.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=G(),O=v>0?v:0,X=String(O>0?O:1),W=new Set,se=new Set(document.querySelectorAll("[data-start]")),Le=ie=>{let te=ie.parentElement;for(;te&&te!==L;){if(se.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==L&&(te.hasAttribute("data-start")||Le(te)||W.has(te)||(W.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",X),te.setAttribute("data-hf-autostamped","1")))}catch{}if(L instanceof HTMLElement)for(let ie of L.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==L&&(ie.hasAttribute("data-start")||Le(ie)||W.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||(W.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",X),ie.setAttribute("data-hf-autostamped","1")))}for(let L of jt)Gn.delete(L),Jo(L);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,qt(),zr(e.currentTime)};let Jc=()=>{let d=G();if(!(d instanceof HTMLElement))return;let h=d.getBoundingClientRect(),p=Number(d.getAttribute("data-width")),g=Number(d.getAttribute("data-height")),v=window.getComputedStyle(d),L=Number.isFinite(p)&&p>0&&Number.isFinite(g)&&g>0,O=h.width<=0||h.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!O||T("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:p,declaredHeight:g,rectWidth:Math.round(h.width),rectHeight:Math.round(h.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:v.display,visibility:v.visibility,overflow:v.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Qc=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Jc()}))},Zc=()=>{r=d=>{let h=A(d.error??d.message).slice(0,S);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:p.code,details:{category:p.category,message:h,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let h=A(d.reason).slice(0,S);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:`${p.code}_unhandled_rejection`,details:{category:`${p.category}-unhandled-rejection`,message:h}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},ed=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let p of d){let g=()=>{if(!(p instanceof Element))return;let v=p.tagName.toLowerCase(),L=p.getAttribute("src")??p.getAttribute("href")??p.getAttribute("poster")??null,O=v==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";T(O,{tagName:v,assetUrl:L,currentSrc:(p instanceof HTMLImageElement||p instanceof HTMLMediaElement)&&p.currentSrc||null,readyState:p instanceof HTMLMediaElement?p.readyState:null,networkState:p instanceof HTMLMediaElement?p.networkState:null},`${O}:${v}:${L??"unknown"}`)};p.addEventListener("error",g),w(()=>{p.removeEventListener("error",g)})}let h=document.fonts;h&&h.ready.then(()=>{if(e.tornDown)return;let p=Array.from(h).filter(g=>g.status==="error").map(g=>g.family).filter(g=>!!g).slice(0,10);p.length!==0&&T("runtime_font_load_issue",{failedFamilies:p,totalFaces:Array.from(h).length},`runtime-font-load-issue:${p.join("|")}`)}).catch(()=>{})},td=(d,h)=>{if(!d.timeline)return!1;let p=e.capturedTimeline;if(p&&p===d.timeline)return!1;let g=Math.max(0,e.currentTime||0),v=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{et(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(g,!1),v&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){F("runtime.init.site7",L)}return xe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:h,previousTime:g,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ft=null,jo=!1,Ko=!1,jt=new Set,Gn=new WeakMap,Hn=()=>{e.tornDown||(ft!=null&&window.clearTimeout(ft),ft=window.setTimeout(()=>{if(e.tornDown||(ft=null,Ko&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Ct();if(!d.timeline||!I(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){qt()&&(mt(),Fe(!0));return}if(jo)return;let p=M(e.capturedTimeline),g=d.selectedDurationSeconds??M(d.timeline);I(g)&&(!I(p)||g>=p+_)&&td(d,"manual")&&(jo=!0,xe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:p??null,selectedDurationSeconds:g??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),mt(),Fe(!0))},b))},Yo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ka(d.currentTarget)},Xo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ya(d.currentTarget)},nd=()=>{for(let d of jt)d.removeEventListener("loadedmetadata",Hn),d.removeEventListener("durationchange",Hn),d.removeEventListener("loadedmetadata",Yo),d.removeEventListener("error",Xo);jt.clear()},Br=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let h of d){if(jt.has(h))continue;jt.add(h);let p=Number.parseFloat(h.dataset.volume??"");Number.isFinite(p)&&(h.volume=Math.max(0,Math.min(1,p))),h.addEventListener("loadedmetadata",Hn),h.addEventListener("durationchange",Hn),h.addEventListener("loadedmetadata",Yo),h.addEventListener("error",Xo),ja(h),h.preload!=="auto"&&(h.preload="auto"),h.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&h.load(),Jo(h)}},Jo=d=>{Gn.has(d)||Ha(d,e.capturedTimeline,me(e.capturedTimeline,0),Gn,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Ur=new WeakMap,Qo=d=>{let h=Ur.get(d);if(h!==void 0)return h;let p=window.getComputedStyle(d).position,g=p==="static"||p==="relative"||p==="sticky";return Ur.set(d,g),g},Wr=new WeakMap,rd=d=>{let h=Wr.get(d);if(h!==void 0)return h;let p=d.querySelector("[data-start]")===null;return Wr.set(d,p),p},id=()=>{Ur=new WeakMap,Wr=new WeakMap},Vr=new WeakMap,Bn=new WeakSet,zr=(d,h=Array.from(document.querySelectorAll("[data-start]")))=>{let p=G();for(let g of h){if(!(g instanceof HTMLElement))continue;if(g.hasAttribute("data-hidden")){Bn.has(g)||(Vr.set(g,g.style.getPropertyValue("display")),Bn.add(g)),g.style.display="none",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,!1);continue}if(Bn.has(g)){let L=Vr.get(g);L?g.style.display=L:g.style.removeProperty("display"),Vr.delete(g),Bn.delete(g)}let v=V(g,d);if(v){let L=g.parentElement;for(;L&&L!==p;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!V(L,d)){v=!1;break}L=L.parentElement}}g.style.visibility=v?"visible":"hidden",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,v),v?Qo(g)&&g.style.removeProperty("display"):Qo(g)&&rd(g)&&(g.style.display="none")}},Pe=()=>{let d=Wa({shouldIncludeElement:p=>p.hasAttribute("data-start")||!!z(p).compositionRoot,resolveStartSeconds:p=>Y(p),resolveDurationSeconds:p=>{let g=z(p),v=Y(p),L=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,O=g.inheritedStart!=null&&g.inheritedDuration!=null&&g.inheritedDuration>0?Math.max(0,g.inheritedStart+g.inheritedDuration-v):null,X=Number.isFinite(p.duration)&&p.duration>L?Math.max(0,p.duration-L):null,W=Number.parseFloat(p.dataset.duration??""),se=Number.isFinite(W)&&W>0?W:null;return Ua({isVideo:p.tagName==="VIDEO",sourceDuration:X,hostRemaining:O,explicitDuration:se})}});for(let p of d.mediaClips){let g=Gn.get(p.el);g&&(p.volumeKeyframes=g)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Va({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&m.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(p,g)=>m.setElementVolume(p,g),isWebAudioOwned:p=>m.ownsElement(p),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,xe({source:"hf-preview",type:"media-autoplay-blocked"}))}}),zr(e.currentTime)},Fe=d=>{let h=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),p=Date.now();(d||h!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||p-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=h,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=p,xe({source:"hf-preview",type:"state",frame:h,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},$r="",Zo=0,od=()=>{let d="";for(let h of document.querySelectorAll("[data-start]"))d+=`${h.id}:${h.tagName}|`;return d},mt=()=>{ne(),U(),H();let d=G();if(d){let g=N(d.getAttribute("data-width")),v=N(d.getAttribute("data-height")),L=g?parseInt(g,10):0,O=v?parseInt(v,10):0;L>0&&O>0&&xe({source:"hf-preview",type:"stage-size",width:L,height:O})}qt();let h=Is({canonicalFps:e.canonicalFps});window.__clipManifest=h;let p=od();if($r!==p&&id(),!window.__clipTree||$r!==p){let g=window;window.__clipTree=Rs({startResolver:it({timelineRegistry:g.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:g.__timelines??{},rootDuration:h.durationInFrames/e.canonicalFps}),$r=p}xe(h),Qc()},qr=d=>Number.isFinite(d)&&d>0?d:0,ad=d=>{let h=qr(Number(d));if(h<=0)return;let p=G(),g=qr(Number.parseFloat(p?.getAttribute("data-duration")??"")),v=Math.max(Zo,qr(c.getDuration()),g);h<=v||(Zo=h,p?.setAttribute("data-duration",String(h)),c.setDuration(h),mt(),Fe(!0))},Oe=(d,h=0)=>{for(let p of e.deterministicAdapters){try{d==="discover"&&p.discover(),d==="pause"&&p.pause(),d==="play"&&p.play&&p.play()}catch(g){F("runtime.init.site8",g)}if(d==="discover")try{p.seek({time:h,suppressEvents:!0})}catch(g){F("runtime.init.site9",g)}}},pt=()=>{window.__renderReady=!1},Kt=null,Yt=!0,sd=()=>{let d=[];for(let h of e.deterministicAdapters){let p=h.getReadyPromise;if(typeof p=="function")try{let g=p();g&&d.push(g)}catch(g){F("runtime.init.adapterReady",g)}}return d},ld=()=>{let d=sd();if(d.length===0)return Kt=null,Yt=!0,!0;let h=d[0];if(!h)return!0;let p=d.length===1?h:Promise.all(d);return p!==Kt&&(Kt=p,Yt=!1,Promise.resolve(p).then(()=>{Kt===p&&(Yt=!0,pt())},g=>{Kt===p&&(Yt=!0,F("runtime.init.adapterReady",g),pt())})),Yt};if(B)So();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:N,onDiagnostic:({code:h,details:p})=>{xe({source:"hf-preview",type:"diagnostic",code:h,details:p})}};wu(d).then(()=>Au(d)).finally(()=>{B=!0,Br(),ed(),So(),wo(document),pt()})}let Un=Cs({postMessage:d=>xe(d)});Un.installPickerApi(),zr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=dc();n=ze,w(()=>{ze.destroy(),n=null});let jr=d=>{let h=Number(d);!Number.isFinite(h)||h<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,h)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let p=document.querySelectorAll("video, audio");for(let g of p)if(g instanceof HTMLMediaElement)try{g.playbackRate=e.playbackRate}catch(v){F("runtime.init.site10",v)}},ea={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let h=me(d,0);if(h>0)c.setDuration(h),c.reachedEnd()&&(c.seek(0),e.currentTime=0,ht(0));else{let p=G(),g=Number(p?.getAttribute("data-duration")??0);g>0&&c.setDuration(g)}et(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,aa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&sa(),Oe("play"),Pe(),ze.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,aa(e.currentTime);let d=e.capturedTimeline;et(d),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},seek:(d,h)=>{let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let g=c.isPlaying();g&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let v=e.capturedTimeline;if(et(v),ht(e.currentTime),Oe("pause"),h?.keepPlaying&&g){ea.play();return}Pe(),ze.redraw(),Fe(!0)},renderSeek:(d,h)=>{Ko=!0;let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ht(e.currentTime,{activateChildren:!0,suppressEvents:h?.suppressEvents}),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{jr(d),c.setRate(e.playbackRate),la()},getPlaybackRate:()=>e.playbackRate},ta=me(e.capturedTimeline,0);ta>0&&c.setDuration(ta);let Ge=ws({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:jr,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,h)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==h&&(e.mediaForceSyncNextTick=!0),e.isPlaying=h,Pe()},onStatePost:Fe,onDeterministicSeek:(d,h)=>{for(let p of e.deterministicAdapters)if(!(p.name==="gsap"&&e.capturedTimeline))try{p.seek({time:Number(d)||0,suppressEvents:h?.suppressEvents})}catch(g){F("runtime.init.site11",g)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{ze.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>me(e.capturedTimeline,0),transport:ea});window.__player=k(Ge),window.__playerReady=!0,Ne("composition_loaded",{duration:Ge.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Oa(),Sa({resolveStartSeconds:d=>J(d,0)}),va(),_a(),Ta(),Ra(),Fa(),La(),Na(),ka(),Ma(),Ea({getTimeline:()=>e.capturedTimeline})],Ia(),Pa(),window.__hfReseekGpu=d=>{let h=Math.max(0,Number(d)||0);window.__hfThreeTime=h,window.__hfTypegpuTime=h,Yn(h)},window.__hfWaitForSeekCompletion=si,o.push(()=>{window.__hfWaitForSeekCompletion===si&&delete window.__hfWaitForSeekCompletion}),Zc(),Br(),Oe("discover");let ud=()=>{let d=e.capturedTimeline,h=qt();e.capturedTimeline&&(h||e.capturedTimeline!==d||!Ge._timeline)&&(Ge._timeline=e.capturedTimeline);let p=me(e.capturedTimeline,0);if(p>0&&c.setDuration(p),Oe("discover",e.currentTime),!e.capturedTimeline){let g=window.__timelines??{},v=Object.keys(g).filter(L=>g[L]);if(v.length>0){let O=G()?.getAttribute("data-composition-id")??null;T("root_timeline_unbound_registry_present",{reason:O?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:O,registeredTimelineKeys:v},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(O?`Root data-composition-id is "${O}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${v.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${O??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,mt(),Fe(!0)},_t=null,cd=()=>{if(_t)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),_t=null,pt()};_t=d,window.addEventListener("hf-timelines-built",d)};w(()=>{_t&&(window.removeEventListener("hf-timelines-built",_t),_t=null)}),pt=()=>{if(!B){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,cd();return}if(Oe("discover",e.currentTime),!ld()){window.__renderReady=!1;return}ud()},pt(),B&&setTimeout(()=>{pt()},0);let Wn=0,Kr=!1,dd=(d,h,p,g)=>{try{let v=g?.suppressEvents===!0;et(d),typeof d.totalTime=="function"?d.totalTime(h,v):d.seek(h,v)}catch(v){F(p,v)}},fd=(d,h)=>{let p=window.__timelines??{},g=G()?.getAttribute("data-composition-id")??null;for(let[v,L]of Object.entries(p)){if(!L||v===g)continue;let O=document.querySelector(`[data-composition-id="${CSS.escape(v)}"]`);if(!O)continue;let X=J(O,0);if(!Number.isFinite(X))continue;let W=M(L),se=Rt(O)+Math.max(0,d-X)*qe(O),Le=Math.max(0,W!=null&&W>0?Math.min(W,se):se);dd(L,Le,"runtime.init.transport.childTimeline",h)}},na=d=>{let h=window.__timelines??{};for(let p of Object.values(h))if(!(!p||p===d))try{p.play()}catch(g){F("runtime.init.activateSiblings",g)}},ra=d=>typeof d=="object"&&d!==null,Xt=new WeakMap,md=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],ia=(d,h)=>{let p=d[h];if(typeof p!="function")return null;try{let g=Number(p.call(d));return Number.isFinite(g)?g:null}catch(g){return F("runtime.init.gsapCallbackDuration",g),null}},pd=d=>{let h=Xt.get(d);if(h!=null)return h;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let p;try{p=d.getChildren(!0,!0,!0)}catch(g){return F("runtime.init.gsapCallbackChildren",g),Xt.set(d,!1),!1}if(!Array.isArray(p))return Xt.set(d,!1),!1;for(let g of p){if(!ra(g))continue;let v=g.vars;if(!ra(v)||!md.some(W=>typeof v[W]=="function"))continue;let X=ia(g,"totalDuration")??ia(g,"duration");if(X!=null&&X<=1e-6)return Xt.set(d,!0),!0}return Xt.set(d,!1),!1};function ht(d,h){let p=e.capturedTimeline,g=h?.suppressEvents===!0;if(p){h?.activateChildren&&na(p);let v=p,L=d;if(typeof v.totalDuration=="function")try{let O=Number(v.totalDuration());Number.isFinite(O)&&O>0&&d>O&&(L=O)}catch(O){F("runtime.init.transport.clampDuration",O)}try{typeof p.totalTime=="function"?(p.totalTime(L,g),!g&&!pd(p)&&(p.totalTime(L+.001,!0),p.totalTime(L,!0))):p.seek(L,g)}catch(O){F("runtime.init.transport.seek",O)}}fd(d,h),p&&h?.activateChildren&&na(p);for(let v of e.deterministicAdapters)if(!(v.name==="gsap"&&p))try{v.seek({time:d,suppressEvents:g})}catch(L){F("runtime.init.transport.adapter",L)}}let hd=()=>{try{return document.querySelector(`[${mc}]`)!=null}catch{return!1}},oa=()=>{if(!(e.tornDown||Kr)){Kr=!0;try{if(e.transportRafId=window.requestAnimationFrame(oa),Wn+=1,pc({tick:Wn,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let h=e.capturedTimeline;if(qt()){e.capturedTimeline&&!Ge._timeline&&(Ge._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&et(e.capturedTimeline);let p=me(e.capturedTimeline,0);p>0&&c.setDuration(p),mt()}}if(Wn%20===0&&mt(),Wn%30===0&&Br(),e.capturedTimeline){let h=me(e.capturedTimeline,0);h>0&&(!c.isPlaying()||h>=c.getDuration())&&c.setDuration(h)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let h=m.getTime();h>=0&&c.attachAudioSource({currentTimeSeconds:h})}else{let h=document.querySelectorAll("audio[data-start]"),p=!1;for(let g of h){if(!(g instanceof HTMLMediaElement)||!g.isConnected)continue;let v=Number.parseFloat(g.dataset.start??""),L=Number.parseFloat(g.dataset.duration??""),O=Number.isFinite(L)&&L>0?v+L:1/0,X=Number.parseFloat(g.dataset.playbackStart??g.dataset.mediaStart??"0")||0;if(Number.isFinite(v)&&e.currentTime>=v&&e.currentTime<O){g.paused?!g.error&&g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),p=!0):(c.attachAudioSource({el:g,compositionStart:v,mediaStart:X}),p=!0);break}}!p&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!hd())&&ht(d),c.isPlaying()&&ze.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{Kr=!1}}},aa=d=>{let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let v=Number.parseFloat(p.dataset.duration??""),L=Number.isFinite(v)&&v>0?g+v:1/0;if(d<g||d>=L)continue;let O=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,X=d-g+O;if(X>=0)try{p.currentTime=X}catch{}}},sa=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),h=document.querySelectorAll("audio[data-start]");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let v=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,L=Number.parseFloat(p.dataset.volume??""),O=Number.isFinite(L)?L:1,X=Number.parseFloat(p.dataset.duration??""),W=Number.isFinite(X)&&X>0?X:Number.POSITIVE_INFINITY,se=p.closest("[data-composition-id]");if(se){let Le=J(se,0),ie=_e(se,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&(W=Math.min(W,Math.max(0,Le+ie-g)))}m.decodeAudioElement(p).then(Le=>{!Le||!c.isPlaying()||m.schedulePlayback(p,Le,g,v,c.now(),O*e.bridgeVolume,d,e.playbackRate,W)})}};function la(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),sa())}if(e.capturedTimeline){let d=me(e.capturedTimeline,0);d>0&&c.setDuration(d),et(e.capturedTimeline)}ku(window),e.transportRafId=window.requestAnimationFrame(oa),mt(),Fe(!0),e.controlBridgeHandler=fa({onPlay:()=>{Ge.play(),Ne("composition_played",{time:Ge.getTime()})},onPause:()=>{Ge.pause(),Ne("composition_paused",{time:Ge.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let h of d)h instanceof HTMLMediaElement&&!h.paused&&h.pause()},onSeek:(d,h)=>{Ge.seek(d),Ne("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let h=d||e.mediaOutputMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement))continue;let g=parseFloat(p.dataset.volume??""),v=Number.isFinite(g)?g:1;p.volume=v*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let h=d||e.bridgeMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{jr(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),la()},onSetRootDuration:ad,onSetColorGrading:(d,h)=>{ze.setGrading(d,h)},onSetColorGradingCompare:(d,h)=>{ze.setCompare(d,h)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,ht(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>Un.enablePickMode(),onDisablePickMode:()=>Un.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Yr=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),ft!=null&&(window.clearTimeout(ft),ft=null),l!=null&&(window.cancelAnimationFrame(l),l=null),nd(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),Un.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(h){F("runtime.init.site12",h)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(h){F("runtime.init.site13",h)}for(let d of e.injectedCompStyles)try{d.remove()}catch(h){F("runtime.init.site14",h)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(h){F("runtime.init.site15",h)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(h){F("runtime.init.site16",h)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Yr&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Yr,e.beforeUnloadHandler=Yr,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var _c=["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"],Ho=[[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 Jh(e){if(e<=255)return _c[e];let t=0,n=Ho.length-1;for(;t<=n;){let r=t+n>>1,i=Ho[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Qh(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!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 E=e.charCodeAt(u+1);E>=56320&&E<=57343&&(m=(c-55296<<10)+(E-56320)+65536,f=2)}let x=Jh(m);(x==="R"||x==="AL"||x==="AN")&&(r=!0);for(let E=0;E<f;E++)n[u+E]=x;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=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")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=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 C=u;C<c;C++)n[C]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);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 Ac(e,t){let n=Qh(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var Zh=/[ \\t\\n\\r\\f]+/g,eg=/[\\t\\n\\r\\f]| {2,}|^ | $/;function tg(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function ng(e){if(!eg.test(e))return e;let t=e.replace(Zh," ");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 rg(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Bo=null,ig;function og(){return Bo===null&&(Bo=new Intl.Segmenter(ig,{granularity:"word"})),Bo}var ag=/\\p{Script=Arabic}/u,Ir=/\\p{M}/u,Mc=/\\p{Nd}/u;function wc(e){return ag.test(e)}function Tc(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 We(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 r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){let i=(n-55296<<10)+(r-56320)+65536;if(Tc(i))return!0;t++;continue}}if(Tc(n))return!0}}return!1}function sg(e){let t=Gr(e);return t!==null&&(Or.has(t)||ct.has(t))}var lg=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function ug(e){return We(e)}function cg(e){let t=Gr(e);return t!==null&&lg.has(t)}function Pr(e){return!sg(e)&&!cg(e)}var Or=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"]),On=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Wo=new Set(["\'","\\u2019"]),ct=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),dg=new Set([":",".","\\u060C","\\u061B"]),fg=new Set(["\\u104F"]),mg=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function pg(e){if(Vo(e))return!0;let t=!1;for(let n of e){if(ct.has(n)){t=!0;continue}if(!(t&&Ir.test(n)))return!1}return t}function hg(e){for(let t of e)if(!Or.has(t)&&!ct.has(t))return!1;return e.length>0}function gg(e){if(Vo(e))return!0;for(let t of e)if(!On.has(t)&&!Wo.has(t)&&!Ir.test(t))return!1;return e.length>0}function Vo(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Ir.test(n))){if(On.has(n)||ct.has(n)||Wo.has(n)){t=!0;continue}return!1}return t}function Dc(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let o=e.charCodeAt(i);return o>=55296&&o<=56319?i:n}function Gr(e){if(e.length===0)return null;let t=Dc(e,e.length);return e.slice(t)}function xg(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Ir.test(r)){n--;continue}if(On.has(r)||Wo.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function bg(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Rc(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function Fc(e,t){return e&&t!==null&&dg.has(t)}function yg(e){let t=Gr(e);return t!==null&&fg.has(t)}function Sg(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 Hr(e){let t=e.length;for(;t>0;){let n=Dc(e,t),r=e.slice(n,t);if(mg.has(r))return!0;if(!ct.has(r))return!1;t=n}return!1}function Eg(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 vg=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function Cg(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function _g(e,t,n,r){if(!vg.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=Eg(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function Uo(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Ag=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function wg(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Ag.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Tg(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Rg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!wg(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Uo(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function Fg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!Tg(a))continue;let l=o+1;if(l>=e.len||Uo(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Uo(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var Lg=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Lc=/^[A-Za-z0-9_]+[,:;]*$/,Nc=/[,:;]+$/;function Ic(e){for(let t of e)if(Mc.test(t))return!0;return!1}function Pn(e){if(e.length===0)return!1;for(let t of e)if(!(Mc.test(t)||Lg.has(t)))return!1;return!0}function Ng(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&Pn(a)&&Ic(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&Pn(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function kg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Lc.test(a)){let u=[a],c=Nc.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Lc.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Nc.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Mg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!Ic(c)||!Pn(c))&&(s=!1)}if(s){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),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Dg(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="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=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Ig(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!We(t[o])||!We(t[o+1]))continue;let a=xg(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function kc(e,t,n){let r=og(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],x=[],E=[],C=[],y=[];for(let _ of r.segment(e))for(let b of _g(_.segment,_.isWordLike??!1,_.index,n)){let J=function(){c[H]!==null&&(a[H]=[Rc(o,c,m,H)],c[H]=null),a[H].push(b.text),l[H]=l[H]||b.isWordLike,f[H]=f[H]||R,x[H]=x[H]||N,E[H]=U,C[H]=ne,y[H]=Fc(x[H],G)},S=b.kind==="text",A=bg(b.text,b.isWordLike,b.kind),R=We(b.text),N=wc(b.text),G=Gr(b.text),U=Hr(b.text),ne=yg(b.text),H=i-1;t.carryCJKAfterClosingQuote&&S&&i>0&&s[H]==="text"&&R&&f[H]&&E[H]||S&&i>0&&s[H]==="text"&&hg(b.text)&&f[H]||S&&i>0&&s[H]==="text"&&C[H]?J():S&&i>0&&s[H]==="text"&&b.isWordLike&&N&&y[H]?(J(),l[H]=!0):A!==null&&i>0&&s[H]==="text"&&c[H]===A?m[H]=(m[H]??1)+1:S&&!b.isWordLike&&i>0&&s[H]==="text"&&(pg(b.text)||b.text==="-"&&l[H])?J():(o[i]=b.text,a[i]=[b.text],l[i]=b.isWordLike,s[i]=b.kind,u[i]=b.start,c[i]=A,m[i]=A===null?0:1,f[i]=R,x[i]=N,E[i]=U,C[i]=ne,y[i]=Fc(N,G),i++)}for(let _=0;_<i;_++){if(c[_]!==null){o[_]=Rc(o,c,m,_);continue}o[_]=De(a[_])}for(let _=1;_<i;_++)s[_]==="text"&&!l[_]&&Vo(o[_])&&s[_-1]==="text"&&(o[_-1]+=o[_],l[_-1]=l[_-1]||l[_],o[_]="");let w=Array.from({length:i},()=>null),T=-1;for(let _=i-1;_>=0;_--){let b=o[_];if(b.length!==0){if(s[_]==="text"&&!l[_]&&gg(b)&&T>=0&&s[T]==="text"){let S=w[T]??[];S.push(b),w[T]=S,u[T]=u[_],o[_]="";continue}T=_}}for(let _=0;_<i;_++){let b=w[_];b!=null&&(o[_]=Cg(b,o[_]))}let k=0;for(let _=0;_<i;_++){let b=o[_];b.length!==0&&(k!==_&&(o[k]=b,l[k]=l[_],s[k]=s[_],u[k]=u[_]),k++)}o.length=k,l.length=k,s.length=k,u.length=k;let D=Dg({len:k,texts:o,isWordLike:l,kinds:s,starts:u}),P=Ig(kg(Mg(Ng(Fg(Rg(D))))));for(let _=0;_<P.len-1;_++){let b=Sg(P.texts[_]);b!==null&&(P.kinds[_]!=="space"&&P.kinds[_]!=="preserved-space"||P.kinds[_+1]!=="text"||!wc(P.texts[_+1])||(P.texts[_]=b.space,P.isWordLike[_]=!1,P.kinds[_]=P.kinds[_]==="preserved-space"?"preserved-space":"space",P.texts[_+1]=b.marks+P.texts[_+1],P.starts[_+1]=P.starts[_]+b.space.length))}return P}function Pg(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Og(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],E=e.isWordLike[m],C=e.starts[m];if(x==="text"){let y=ug(f),w=Pr(f);if(o!==null&&s&&u){o.push(f),a=a||E,s=s||y,u=w;continue}c(),o=[f],a=E,l=C,s=y,u=w;continue}c(),t.push(f),n.push(E),r.push(x),i.push(C)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Pc(e,t,n="normal",r="normal"){let i=tg(n),o=i.mode==="pre-wrap"?rg(e):ng(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Og(kc(o,t,i)):kc(o,t,i);return{normalized:o,chunks:Pg(a,i),...a}}var Vt=null,Oc=new Map,zt=null,Gg=96,Hg=/\\p{Emoji_Presentation}/u,Bg=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,zo=null,Gc=new Map;function $o(){if(Vt!==null)return Vt;if(typeof OffscreenCanvas<"u")return Vt=new OffscreenCanvas(1,1).getContext("2d"),Vt;if(typeof document<"u")return Vt=document.createElement("canvas").getContext("2d"),Vt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Ug(e){let t=Oc.get(e);return t||(t=new Map,Oc.set(e,t)),t}function tt(e,t){let n=t.get(e);return n===void 0&&(n={width:$o().measureText(e).width,containsCJK:We(e)},t.set(e,n)),n}function $t(){if(zt!==null)return zt;if(typeof navigator>"u")return zt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},zt;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/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return zt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},zt}function Wg(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function Hc(){return zo===null&&(zo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zo}function Vg(e){return Hg.test(e)||e.includes("\\uFE0F")}function Bc(e){return Bg.test(e)}function zg(e,t){let n=Gc.get(e);if(n!==void 0)return n;let r=$o();r.font=e;let i=r.measureText("\\u{1F600}").width;if(n=0,i>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 a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return Gc.set(e,n),n}function $g(e){let t=0,n=Hc();for(let r of n.segment(e))Vg(r.segment)&&t++;return t}function qg(e,t){return t.emojiCount===void 0&&(t.emojiCount=$g(e)),t.emojiCount}function dt(e,t,n){return n===0?t.width:t.width-qg(e,t)*n}function Uc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Hc(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=tt(m,n);c.push(dt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>Gg){let c=[],m=null,f=0;for(let x of a){let E=tt(x,n),C=dt(x,E,r);if(m===null)c.push(C);else{let y=m+x,w=tt(y,n);c.push(dt(y,w,r)-f)}m=x,f=C}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=tt(s,n),f=dt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function Wc(e,t){let n=$o();n.font=e;let r=Ug(e),i=Wg(e),o=t?zg(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function jg(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 Kg(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Yg(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function Vc(e,t){return e.simpleLineWalkFastPath?zc(e,t):$c(e,t)}function zc(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=$t().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,x=0,E=0,C=0,y=-1,w=0;function T(){y=-1,w=0}function k(A=E,R=C,N=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:A,endGraphemeIndex:R,width:N}),c=0,m=!1,T()}function D(A,R){m=!0,f=A,x=0,E=A+1,C=0,c=R}function P(A,R,N){m=!0,f=A,x=R,E=A,C=R+1,c=N}function _(A,R){if(!m){D(A,R);return}c+=R,E=A+1,C=0}function b(A,R){let N=o[A];for(let G=R;G<N.length;G++){let U=N[G];m?c+U>s?(k(),P(A,G,U)):(c+=U,E=A,C=G+1):P(A,G,U)}m&&E===A&&C===N.length&&(E=A+1,C=0)}let S=0;for(;S<r.length&&!(!m&&(S=jg(e,S),S>=r.length));){let A=r[S],R=i[S],N=R==="space"||R==="preserved-space"||R==="tab"||R==="zero-width-break"||R==="soft-hyphen";if(!m){A>t&&o[S]!==null?b(S,0):D(S,A),N&&(y=S+1,w=c-A),S++;continue}if(c+A>s){if(N){_(S,A),k(S+1,0,c-A),S++;continue}if(y>=0){if(E>y||E===y&&C>0){k();continue}k(y,0,w);continue}if(A>t&&o[S]!==null){k(),b(S,0),S++;continue}k();continue}_(S,A),N&&(y=S+1,w=c-A),S++}return m&&k(),u}function $c(e,t,n){if(e.simpleLineWalkFastPath)return zc(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=$t(),f=m.lineFitEpsilon,x=t+f,E=0,C=0,y=!1,w=0,T=0,k=0,D=0,P=-1,_=0,b=0,S=null;function A(){P=-1,_=0,b=0,S=null}function R(z=k,Y=D,V=C){E++,n?.({startSegmentIndex:w,startGraphemeIndex:T,endSegmentIndex:z,endGraphemeIndex:Y,width:V}),C=0,y=!1,A()}function N(z,Y){y=!0,w=z,T=0,k=z+1,D=0,C=Y}function G(z,Y,V){y=!0,w=z,T=Y,k=z,D=Y+1,C=V}function U(z,Y){if(!y){N(z,Y);return}C+=Y,k=z+1,D=0}function ne(z,Y,V,ee){if(!Y)return;let Ae=z==="tab"?0:i[V],B=z==="tab"?ee:o[V];P=V+1,_=C-ee+Ae,b=C-ee+B,S=z}function H(z,Y){let V=l[z];for(let ee=Y;ee<V.length;ee++){let Ae=V[ee];y?C+Ae>x?(R(),G(z,ee,Ae)):(C+=Ae,k=z,D=ee+1):G(z,ee,Ae)}y&&k===z&&D===V.length&&(k=z+1,D=0)}function J(z){if(S!=="soft-hyphen")return!1;let Y=l[z];if(Y==null)return!1;let{fitCount:V,fittedWidth:ee}=Yg(Y,C,t,f,s);return V===0?!1:(C=ee,k=z,D=V,A(),V===Y.length?(k=z+1,D=0,!0):(R(z,V,ee+s),H(z,V),!0))}function _e(z){E++,n?.({startSegmentIndex:z.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:z.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),A()}for(let z=0;z<c.length;z++){let Y=c[z];if(Y.startSegmentIndex===Y.endSegmentIndex){_e(Y);continue}y=!1,C=0,w=Y.startSegmentIndex,T=0,k=Y.startSegmentIndex,D=0,A();let V=Y.startSegmentIndex;for(;V<Y.endSegmentIndex;){let ee=a[V],Ae=ee==="space"||ee==="preserved-space"||ee==="tab"||ee==="zero-width-break"||ee==="soft-hyphen",B=ee==="tab"?Kg(C,u):r[V];if(ee==="soft-hyphen"){y&&(k=V+1,D=0,P=V+1,_=C+s,b=C+s,S=ee),V++;continue}if(!y){B>t&&l[V]!==null?H(V,0):N(V,B),ne(ee,Ae,V,B),V++;continue}if(C+B>x){let I=C+(ee==="tab"?0:i[V]),ue=C+(ee==="tab"?B:o[V]);if(S==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){R(P,0,b);continue}if(S==="soft-hyphen"&&J(V)){V++;continue}if(Ae&&I<=x){U(V,B),R(V+1,0,ue),V++;continue}if(P>=0&&_<=x){if(k>P||k===P&&D>0){R();continue}let ae=P;R(ae,0,b),V=ae;continue}if(B>t&&l[V]!==null){R(),H(V,0),V++;continue}R();continue}U(V,B),ne(ee,Ae,V,B),V++}if(y){let ee=P===Y.consumedEndSegmentIndex?b:C;R(Y.consumedEndSegmentIndex,0,ee)}}return E}var qo=null;function Xg(){return qo===null&&(qo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),qo}function Jg(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 Qg(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,x){r=[m],i=f,o=x,a=Hr(m),l=On.has(m)}function c(m,f){r.push(m),o=o||f;let x=Hr(m);m.length===1&&ct.has(m)?a=a||x:a=x,l=!1}for(let m of Xg().segment(e)){let f=m.segment,x=We(f);if(r.length===0){u(f,m.index,x);continue}if(l||Or.has(f)||ct.has(f)||t.carryCJKAfterClosingQuote&&x&&a){c(f,x);continue}if(!o&&!x){c(f,x);continue}s(),u(f,m.index,x)}return s(),n}function Zg(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=We(e[0].text),o=Pr(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=We(s.text),c=Pr(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function ex(e,t,n,r){let i=$t(),{cache:o,emojiCorrection:a}=Wc(t,Bc(e.normalized)),l=dt("-",tt("-",o),a),u=dt(" ",tt(" ",o),a)*8;if(e.len===0)return Jg(n);let c=[],m=[],f=[],x=[],E=e.chunks.length<=1,C=n?[]:null,y=[],w=n?[]:null,T=Array.from({length:e.len});function k(b,S,A,R,N,G,U){N!=="text"&&N!=="space"&&N!=="zero-width-break"&&(E=!1),c.push(S),m.push(A),f.push(R),x.push(N),C?.push(G),y.push(U),w!==null&&w.push(b)}function D(b,S,A,R,N){let G=tt(b,o),U=dt(b,G,a),ne=S==="space"||S==="preserved-space"||S==="zero-width-break"?0:U,H=S==="space"||S==="zero-width-break"?0:U;if(N&&R&&b.length>1){let J="sum-graphemes";Pn(b)?J="pair-context":i.preferPrefixWidthsForBreakableRuns&&(J="segment-prefixes");let _e=Uc(b,G,o,a,J);k(b,U,ne,H,S,A,_e);return}k(b,U,ne,H,S,A,null)}for(let b=0;b<e.len;b++){T[b]=c.length;let S=e.texts[b],A=e.isWordLike[b],R=e.kinds[b],N=e.starts[b];if(R==="soft-hyphen"){k(S,0,l,l,R,N,null);continue}if(R==="hard-break"){k(S,0,0,0,R,N,null);continue}if(R==="tab"){k(S,0,0,0,R,N,null);continue}let G=tt(S,o);if(R==="text"&&G.containsCJK){let U=Qg(S,i),ne=r==="keep-all"?Zg(U):U;for(let H=0;H<ne.length;H++){let J=ne[H];D(J.text,"text",N+J.start,A,r==="keep-all"||!We(J.text))}continue}D(S,R,N,A,!0)}let P=tx(e.chunks,T,c.length),_=C===null?null:Ac(e.normalized,C);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P}}function tx(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function nx(e,t,n,r){let i=r?.wordBreak??"normal",o=Pc(e,$t(),r?.whiteSpace,i);return ex(o,t,n,i)}function qc(e,t,n){return nx(e,t,!1,n)}function jc(e,t,n){let r=Vc(e,t);return{lineCount:r,height:r*n}}var rx={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Kc(e,t){let n={...rx,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=qc(e,o),{lineCount:l}=jc(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};zu();window.__hyperframes={fitTextFontSize:Kc,getVariables:ha};function Yc(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Cc())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yc,{once:!0}):Yc();})();\n';
58579
58579
  }
58580
58580
  });
58581
58581
 
@@ -62867,7 +62867,11 @@ function mintAndCacheConfig() {
62867
62867
  const config = mintConfig();
62868
62868
  const write = writeConfigWithResult(config);
62869
62869
  if (!write.ok) warnSeedBackfillFailed(write.error);
62870
- classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
62870
+ classifyIdentity(
62871
+ config.anonymousId,
62872
+ write.ok ? "unknown" : "process_only",
62873
+ writeOutcomeOf(write)
62874
+ );
62871
62875
  cachedConfig = { ...config };
62872
62876
  return { ...config };
62873
62877
  }
@@ -62896,22 +62900,21 @@ function recordRecentRender(id, ok) {
62896
62900
  config.recentRenders = ring.slice(-MAX_RECENT_RENDERS);
62897
62901
  writeConfig(config);
62898
62902
  }
62899
- function classifyIdentity(persistence, outcome) {
62900
- if (identityPersistence !== void 0) return;
62901
- identityPersistence = persistence;
62902
- identityWriteOutcome = outcome;
62903
+ function classifyIdentity(anonymousId, persistence, writeOutcome) {
62904
+ if (identityClassification?.anonymousId === anonymousId) return;
62905
+ identityClassification = { anonymousId, persistence, writeOutcome };
62903
62906
  }
62904
62907
  function writeOutcomeOf(write) {
62905
62908
  if (!write.ok) return "failed";
62906
62909
  return write.mirrored === false ? "ok_unmirrored" : "ok";
62907
62910
  }
62908
62911
  function getIdentityPersistence() {
62909
- readConfig();
62910
- return identityPersistence ?? "unknown";
62912
+ const config = readConfig();
62913
+ return identityClassification?.anonymousId === config.anonymousId ? identityClassification.persistence : "unknown";
62911
62914
  }
62912
62915
  function getIdentityWriteOutcome() {
62913
- readConfig();
62914
- return identityWriteOutcome;
62916
+ const config = readConfig();
62917
+ return identityClassification?.anonymousId === config.anonymousId ? identityClassification.writeOutcome : void 0;
62915
62918
  }
62916
62919
  function parseNonEmptyString(value) {
62917
62920
  return typeof value === "string" && value.length > 0 ? value : void 0;
@@ -62981,18 +62984,27 @@ function readConfig() {
62981
62984
  const idFromDisk = parseNonEmptyString(parsed.anonymousId) !== void 0;
62982
62985
  if (config.bucketSeed === void 0) {
62983
62986
  const write = backfillBucketSeed(config);
62984
- if (idFromDisk) classifyIdentity("durable");
62985
- else classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
62987
+ if (idFromDisk) classifyIdentity(config.anonymousId, "durable");
62988
+ else
62989
+ classifyIdentity(
62990
+ config.anonymousId,
62991
+ write.ok ? "unknown" : "process_only",
62992
+ writeOutcomeOf(write)
62993
+ );
62986
62994
  cachedConfig = config;
62987
62995
  return { ...config };
62988
62996
  }
62989
- classifyIdentity(idFromDisk ? "durable" : "process_only");
62997
+ classifyIdentity(config.anonymousId, idFromDisk ? "durable" : "process_only");
62990
62998
  cachedConfig = config;
62991
62999
  return { ...config };
62992
63000
  } catch {
62993
63001
  const config = { ...mintConfig(), telemetryEnabled: false };
62994
63002
  const write = writeConfigWithResult(config);
62995
- classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
63003
+ classifyIdentity(
63004
+ config.anonymousId,
63005
+ write.ok ? "unknown" : "process_only",
63006
+ writeOutcomeOf(write)
63007
+ );
62996
63008
  return config;
62997
63009
  }
62998
63010
  }
@@ -63022,7 +63034,7 @@ function incrementCommandCount() {
63022
63034
  writeConfig(config);
63023
63035
  return config.commandCount;
63024
63036
  }
63025
- var CONFIG_DIR, CONFIG_FILE, STATE_FILE, LEGACY_STATE_FILE, seedBackfillWarned, latchedFiredSeen, stateMarkerSynced, stateFiredSynced, MAX_RECENT_RENDERS, DEFAULT_CONFIG, cachedConfig, identityPersistence, identityWriteOutcome, CONFIG_PATH, STATE_PATH;
63037
+ var CONFIG_DIR, CONFIG_FILE, STATE_FILE, LEGACY_STATE_FILE, seedBackfillWarned, latchedFiredSeen, stateMarkerSynced, stateFiredSynced, MAX_RECENT_RENDERS, DEFAULT_CONFIG, cachedConfig, identityClassification, CONFIG_PATH, STATE_PATH;
63026
63038
  var init_config = __esm({
63027
63039
  "src/telemetry/config.ts"() {
63028
63040
  "use strict";
@@ -64448,10 +64460,10 @@ function buildChromeArgs(options, config) {
64448
64460
  if (browserGpuMode !== "software") {
64449
64461
  chromeArgs.push(WEBGPU_FLAG);
64450
64462
  }
64463
+ if (browserGpuMode === "software") {
64464
+ chromeArgs.push("--disable-gpu-compositing");
64465
+ }
64451
64466
  if (options.captureMode !== "screenshot") {
64452
- if (browserGpuMode === "software") {
64453
- chromeArgs.push("--disable-gpu-compositing");
64454
- }
64455
64467
  chromeArgs.push(
64456
64468
  "--deterministic-mode",
64457
64469
  "--enable-begin-frame-control",
@@ -83579,6 +83591,67 @@ var init_staticGuard = __esm({
83579
83591
  }
83580
83592
  });
83581
83593
 
83594
+ // ../core/dist/compiler/compositionAssembly.js
83595
+ function toArray2(items) {
83596
+ return items ? Array.from(items) : [];
83597
+ }
83598
+ function planCompositionAssembly(input2) {
83599
+ const { contentNode, head, documentElement, hasTemplate, compositionId } = input2;
83600
+ const compositionRoots = toArray2(contentNode.querySelectorAll(COMPOSITION_ROOT_SELECTOR));
83601
+ const innerRoot = compositionId ? compositionRoots.find((root) => root.getAttribute(COMPOSITION_ID_ATTR) === compositionId) ?? null : compositionRoots[0] ?? null;
83602
+ const declaredCompositionId = (innerRoot ?? compositionRoots[0])?.getAttribute(COMPOSITION_ID_ATTR)?.trim() || "";
83603
+ const assetHead = hasTemplate ? null : head ?? null;
83604
+ return {
83605
+ innerRoot,
83606
+ authoredCompositionId: compositionId || declaredCompositionId || null,
83607
+ scriptCompositionId: declaredCompositionId || compositionId || null,
83608
+ authoredRootId: innerRoot?.getAttribute("id")?.trim() || null,
83609
+ styleSources: [
83610
+ ...toArray2(assetHead?.querySelectorAll(STYLE_SELECTOR)),
83611
+ ...toArray2(contentNode.querySelectorAll(STYLE_SELECTOR))
83612
+ ],
83613
+ scriptSources: [
83614
+ ...toArray2(assetHead?.querySelectorAll(SCRIPT_SELECTOR)),
83615
+ ...toArray2(contentNode.querySelectorAll(SCRIPT_SELECTOR))
83616
+ ],
83617
+ linkSources: toArray2(head?.querySelectorAll(HOISTED_LINK_SELECTOR)),
83618
+ variableDefaultCarriers: [documentElement, innerRoot].filter((carrier) => carrier != null)
83619
+ };
83620
+ }
83621
+ function enumerateNestedCompositionHosts(assembledHost, ancestry) {
83622
+ const hosts = [];
83623
+ const skipped = [];
83624
+ for (const nestedHost of assembledHost.querySelectorAll(COMPOSITION_HOST_SELECTOR)) {
83625
+ const src = nestedHost.getAttribute(COMPOSITION_SRC_ATTR);
83626
+ if (!src)
83627
+ continue;
83628
+ if (ancestry.includes(src)) {
83629
+ skipped.push({ src, reason: "circular composition reference" });
83630
+ continue;
83631
+ }
83632
+ if (ancestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
83633
+ skipped.push({ src, reason: "nesting depth exceeded" });
83634
+ continue;
83635
+ }
83636
+ hosts.push({ host: nestedHost, src });
83637
+ }
83638
+ return { hosts, skipped };
83639
+ }
83640
+ var COMPOSITION_ID_ATTR, COMPOSITION_SRC_ATTR, COMPOSITION_ROOT_SELECTOR, COMPOSITION_HOST_SELECTOR, STYLE_SELECTOR, SCRIPT_SELECTOR, HOISTED_LINK_SELECTOR, MAX_SUB_COMPOSITION_DEPTH;
83641
+ var init_compositionAssembly = __esm({
83642
+ "../core/dist/compiler/compositionAssembly.js"() {
83643
+ "use strict";
83644
+ COMPOSITION_ID_ATTR = "data-composition-id";
83645
+ COMPOSITION_SRC_ATTR = "data-composition-src";
83646
+ COMPOSITION_ROOT_SELECTOR = `[${COMPOSITION_ID_ATTR}]`;
83647
+ COMPOSITION_HOST_SELECTOR = `[${COMPOSITION_SRC_ATTR}]`;
83648
+ STYLE_SELECTOR = "style";
83649
+ SCRIPT_SELECTOR = "script";
83650
+ HOISTED_LINK_SELECTOR = 'link[rel="stylesheet"], link[rel="preconnect"]';
83651
+ MAX_SUB_COMPOSITION_DEPTH = 20;
83652
+ }
83653
+ });
83654
+
83582
83655
  // ../core/dist/compiler/inlineSubCompositions.js
83583
83656
  function defaultBuildScopeSelector(compId) {
83584
83657
  const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
@@ -83631,19 +83704,24 @@ function inlineSubCompositions(document2, hosts, options) {
83631
83704
  onMissingComposition?.(src);
83632
83705
  continue;
83633
83706
  }
83634
- const innerRoot = compId ? queryByAttr2(contentDoc, "data-composition-id", compId) : contentDoc.querySelector("[data-composition-id]");
83635
- const authoredCompositionRoot = innerRoot ?? contentDoc.querySelector("[data-composition-id]");
83636
- const inferredCompId = authoredCompositionRoot?.getAttribute("data-composition-id")?.trim() || "";
83637
- const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
83638
- const scopeCompId = compId || inferredCompId;
83639
- const scriptCompositionId = inferredCompId || scopeCompId;
83707
+ const plan2 = planCompositionAssembly({
83708
+ contentNode: contentDoc,
83709
+ head: compDoc.head,
83710
+ documentElement: compDoc.documentElement,
83711
+ hasTemplate: Boolean(contentRoot),
83712
+ compositionId: compId
83713
+ });
83714
+ const innerRoot = plan2.innerRoot;
83715
+ const authoredRootId = plan2.authoredRootId;
83716
+ const scopeCompId = plan2.authoredCompositionId || "";
83717
+ const scriptCompositionId = plan2.scriptCompositionId || "";
83640
83718
  const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
83641
83719
  if (readVariableDefaults && parseHostVariables && runtimeCompId) {
83642
- const mergedVariables = {
83643
- ...readVariableDefaults(compDoc.documentElement),
83644
- ...innerRoot ? readVariableDefaults(innerRoot) : {},
83645
- ...parseHostVariables(hostEl)
83646
- };
83720
+ const mergedVariables = {};
83721
+ for (const carrier of plan2.variableDefaultCarriers) {
83722
+ Object.assign(mergedVariables, readVariableDefaults(carrier));
83723
+ }
83724
+ Object.assign(mergedVariables, parseHostVariables(hostEl));
83647
83725
  if (Object.keys(mergedVariables).length > 0) {
83648
83726
  variablesByComp[runtimeCompId] = mergedVariables;
83649
83727
  }
@@ -83656,48 +83734,32 @@ function inlineSubCompositions(document2, hosts, options) {
83656
83734
  scopeRootSelectors: true
83657
83735
  }) : css;
83658
83736
  };
83659
- if (!contentRoot && compDoc.head) {
83660
- for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
83661
- styles.push(scopeSubStyle(s2.textContent || ""));
83662
- }
83663
- for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
83664
- const externalSrc = resolveSubAssetPath(s2.getAttribute("src"));
83665
- if (externalSrc) {
83666
- if (!externalScriptSrcs.includes(externalSrc)) {
83667
- externalScriptSrcs.push(externalSrc);
83668
- }
83669
- scriptItems.push({ kind: "external", src: externalSrc });
83670
- }
83671
- }
83672
- for (const link of [
83673
- ...compDoc.head.querySelectorAll('link[rel="stylesheet"], link[rel="preconnect"]')
83674
- ]) {
83675
- const href = resolveSubAssetPath(link.getAttribute("href"));
83676
- if (href && !seenLinkHrefs.has(href)) {
83677
- seenLinkHrefs.add(href);
83678
- const rel = (link.getAttribute("rel") || "").trim();
83679
- const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
83680
- externalLinks.push({ href, rel, crossorigin });
83681
- }
83737
+ for (const link of plan2.linkSources) {
83738
+ const href = resolveSubAssetPath(link.getAttribute("href"));
83739
+ if (href && !seenLinkHrefs.has(href)) {
83740
+ seenLinkHrefs.add(href);
83741
+ const rel = (link.getAttribute("rel") || "").trim();
83742
+ const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
83743
+ externalLinks.push({ href, rel, crossorigin });
83682
83744
  }
83683
83745
  }
83684
- for (const s2 of [...contentDoc.querySelectorAll("style")]) {
83685
- styles.push(scopeSubStyle(s2.textContent || ""));
83686
- s2.remove();
83746
+ for (const styleEl of plan2.styleSources) {
83747
+ styles.push(scopeSubStyle(styleEl.textContent || ""));
83748
+ styleEl.remove();
83687
83749
  }
83688
- for (const s2 of [...contentDoc.querySelectorAll("script")]) {
83689
- const externalSrc = resolveSubAssetPath(s2.getAttribute("src"));
83750
+ for (const scriptEl of plan2.scriptSources) {
83751
+ const externalSrc = resolveSubAssetPath(scriptEl.getAttribute("src"));
83690
83752
  if (externalSrc) {
83691
83753
  if (!externalScriptSrcs.includes(externalSrc)) {
83692
83754
  externalScriptSrcs.push(externalSrc);
83693
83755
  }
83694
83756
  scriptItems.push({ kind: "external", src: externalSrc });
83695
83757
  } else {
83696
- const wrappedScript = scriptCompositionId ? wrapScopedCompositionScript(s2.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || void 0, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId) : wrapInlineScriptWithErrorBoundary(s2.textContent || "", scriptErrorLabel);
83758
+ const wrappedScript = scriptCompositionId ? wrapScopedCompositionScript(scriptEl.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || void 0, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId) : wrapInlineScriptWithErrorBoundary(scriptEl.textContent || "", scriptErrorLabel);
83697
83759
  scripts.push(wrappedScript);
83698
83760
  scriptItems.push({ kind: "inline", content: wrappedScript });
83699
83761
  }
83700
- s2.remove();
83762
+ scriptEl.remove();
83701
83763
  }
83702
83764
  const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
83703
83765
  rewriteAssetPaths(assetEls, src, (el, attr2) => el.getAttribute(attr2), (el, attr2, val) => {
@@ -83727,8 +83789,8 @@ function inlineSubCompositions(document2, hosts, options) {
83727
83789
  child.remove();
83728
83790
  if (flattenInnerRoot) {
83729
83791
  const prepared = flattenInnerRoot(innerRoot);
83730
- if (!compId && inferredCompId) {
83731
- prepared.setAttribute("data-composition-id", inferredCompId);
83792
+ if (!compId && scopeCompId) {
83793
+ prepared.setAttribute("data-composition-id", scopeCompId);
83732
83794
  }
83733
83795
  hostEl.innerHTML = prepared.outerHTML || "";
83734
83796
  } else {
@@ -83746,32 +83808,23 @@ function inlineSubCompositions(document2, hosts, options) {
83746
83808
  hostEl.setAttribute("data-composition-file", src);
83747
83809
  hostEl.removeAttribute("data-composition-src");
83748
83810
  const nestedAncestry = [...ancestry, src];
83749
- for (const nestedHost of [...hostEl.querySelectorAll("[data-composition-src]")]) {
83750
- const nestedSrc = nestedHost.getAttribute("data-composition-src");
83751
- if (!nestedSrc)
83752
- continue;
83753
- if (nestedAncestry.includes(nestedSrc)) {
83754
- onMissingComposition?.(nestedSrc, "circular composition reference");
83755
- continue;
83756
- }
83757
- if (nestedAncestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
83758
- onMissingComposition?.(nestedSrc, "nesting depth exceeded");
83759
- continue;
83760
- }
83761
- queue.push({ element: nestedHost, ancestry: nestedAncestry });
83811
+ const nested = enumerateNestedCompositionHosts(hostEl, nestedAncestry);
83812
+ for (const skipped of nested.skipped) {
83813
+ onMissingComposition?.(skipped.src, skipped.reason);
83814
+ }
83815
+ for (const nestedHost of nested.hosts) {
83816
+ queue.push({ element: nestedHost.host, ancestry: nestedAncestry });
83762
83817
  }
83763
83818
  }
83764
83819
  return { styles, scripts, externalScriptSrcs, scriptItems, externalLinks, variablesByComp };
83765
83820
  }
83766
- var MAX_SUB_COMPOSITION_DEPTH;
83767
83821
  var init_inlineSubCompositions = __esm({
83768
83822
  "../core/dist/compiler/inlineSubCompositions.js"() {
83769
83823
  "use strict";
83770
83824
  init_rewriteSubCompPaths();
83771
- init_cssSelector();
83772
83825
  init_compositionScoping();
83773
83826
  init_subCompositionValidity();
83774
- MAX_SUB_COMPOSITION_DEPTH = 20;
83827
+ init_compositionAssembly();
83775
83828
  }
83776
83829
  });
83777
83830
 
@@ -87046,6 +87099,92 @@ var init_videoFrameInjector = __esm({
87046
87099
  }
87047
87100
  });
87048
87101
 
87102
+ // ../engine/src/utils/notMediaPayload.ts
87103
+ import { createHash as createHash3 } from "crypto";
87104
+ import { open as openFile } from "fs/promises";
87105
+ function fingerprintElementId(elementId) {
87106
+ return createHash3("sha256").update(elementId).digest("hex").slice(0, 16);
87107
+ }
87108
+ function byteOrderMarkLength(head) {
87109
+ for (const mark of BYTE_ORDER_MARKS) {
87110
+ if (head.length >= mark.length && head.subarray(0, mark.length).equals(mark)) {
87111
+ return mark.length;
87112
+ }
87113
+ }
87114
+ return 0;
87115
+ }
87116
+ async function readHead(filePath) {
87117
+ const fh = await openFile(filePath, "r");
87118
+ try {
87119
+ const buf = Buffer.alloc(SNIFF_BYTES);
87120
+ let filled = 0;
87121
+ while (filled < buf.length) {
87122
+ const { bytesRead } = await fh.read(buf, filled, buf.length - filled, filled);
87123
+ if (bytesRead === 0) break;
87124
+ filled += bytesRead;
87125
+ }
87126
+ return buf.subarray(0, filled);
87127
+ } finally {
87128
+ await fh.close().catch(() => {
87129
+ });
87130
+ }
87131
+ }
87132
+ function startsWithDocumentByte(head) {
87133
+ for (let index = byteOrderMarkLength(head); index < head.length; index++) {
87134
+ const byte = head[index];
87135
+ if (byte === void 0) break;
87136
+ if (SKIPPABLE_LEADING_BYTES.has(byte)) continue;
87137
+ return DOCUMENT_OPENING_BYTES.has(byte);
87138
+ }
87139
+ return false;
87140
+ }
87141
+ async function isNotMediaPayload(filePath) {
87142
+ try {
87143
+ return startsWithDocumentByte(await readHead(filePath));
87144
+ } catch {
87145
+ return false;
87146
+ }
87147
+ }
87148
+ async function assertMediaPayload(filePath, elementId) {
87149
+ if (await isNotMediaPayload(filePath)) {
87150
+ throw new NotMediaPayloadError([fingerprintElementId(elementId)]);
87151
+ }
87152
+ }
87153
+ var NOT_MEDIA_PAYLOAD, MAX_LISTED_FINGERPRINTS, NotMediaPayloadError, SNIFF_BYTES, DOCUMENT_OPENING_BYTES, SKIPPABLE_LEADING_BYTES, BYTE_ORDER_MARKS;
87154
+ var init_notMediaPayload = __esm({
87155
+ "../engine/src/utils/notMediaPayload.ts"() {
87156
+ "use strict";
87157
+ NOT_MEDIA_PAYLOAD = "NOT_MEDIA_PAYLOAD";
87158
+ MAX_LISTED_FINGERPRINTS = 8;
87159
+ NotMediaPayloadError = class extends Error {
87160
+ code = NOT_MEDIA_PAYLOAD;
87161
+ owner = "user";
87162
+ retryable = false;
87163
+ elementFingerprints;
87164
+ constructor(elementFingerprints) {
87165
+ const listed = elementFingerprints.slice(0, MAX_LISTED_FINGERPRINTS).join(",");
87166
+ const elided = elementFingerprints.length - MAX_LISTED_FINGERPRINTS;
87167
+ super(
87168
+ `${elementFingerprints.length} media source(s) are text documents (HTML/XML/JSON), not media containers [elements=${listed}${elided > 0 ? `,+${elided}` : ""}]. Either an unresolved nested-composition preview URL was authored as a media src, or the source answered with an error page or API error body carrying a success status.`
87169
+ );
87170
+ this.name = "NotMediaPayloadError";
87171
+ this.elementFingerprints = elementFingerprints;
87172
+ }
87173
+ };
87174
+ SNIFF_BYTES = 512;
87175
+ DOCUMENT_OPENING_BYTES = /* @__PURE__ */ new Set([60, 123, 91]);
87176
+ SKIPPABLE_LEADING_BYTES = /* @__PURE__ */ new Set([0, 9, 10, 11, 12, 13, 32]);
87177
+ BYTE_ORDER_MARKS = [
87178
+ Buffer.from([239, 187, 191]),
87179
+ // UTF-8
87180
+ Buffer.from([255, 254]),
87181
+ // UTF-16 LE
87182
+ Buffer.from([254, 255])
87183
+ // UTF-16 BE
87184
+ ];
87185
+ }
87186
+ });
87187
+
87049
87188
  // ../engine/src/services/audioVolumeEnvelope.ts
87050
87189
  import { readFileSync as readFileSync6, renameSync as renameSync3, writeFileSync as writeFileSync5 } from "fs";
87051
87190
  import { randomBytes } from "crypto";
@@ -87626,6 +87765,19 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
87626
87765
  });
87627
87766
  return;
87628
87767
  }
87768
+ if (await isNotMediaPayload(srcPath)) {
87769
+ failures.push({
87770
+ stage: "source",
87771
+ reason: "invalid_media",
87772
+ owner: "user",
87773
+ retryable: false,
87774
+ elementId: element.id,
87775
+ detail: boundedDetail(
87776
+ `Audio element ${element.id} source is a text document (HTML/XML/JSON), not media`
87777
+ )
87778
+ });
87779
+ return;
87780
+ }
87629
87781
  if (element.end - element.start <= 0) {
87630
87782
  let metadata;
87631
87783
  try {
@@ -87758,6 +87910,7 @@ var init_audioMixer = __esm({
87758
87910
  "use strict";
87759
87911
  init_esm10();
87760
87912
  init_ffprobe();
87913
+ init_notMediaPayload();
87761
87914
  init_urlDownloader();
87762
87915
  init_config2();
87763
87916
  init_runFfmpeg();
@@ -90066,6 +90219,8 @@ __export(src_exports, {
90066
90219
  MEDIA_VISUAL_STYLE_PROPERTIES: () => MEDIA_VISUAL_STYLE_PROPERTIES,
90067
90220
  MIN_VP9_CPU_USED: () => MIN_VP9_CPU_USED,
90068
90221
  ManagedChildProcess: () => ManagedChildProcess,
90222
+ NOT_MEDIA_PAYLOAD: () => NOT_MEDIA_PAYLOAD,
90223
+ NotMediaPayloadError: () => NotMediaPayloadError,
90069
90224
  SwiftShaderAssertionError: () => SwiftShaderAssertionError,
90070
90225
  TRANSITIONS: () => TRANSITIONS,
90071
90226
  VIDEO_FRAME_FORMATS: () => VIDEO_FRAME_FORMATS,
@@ -90078,6 +90233,7 @@ __export(src_exports, {
90078
90233
  applyDomLayerMask: () => applyDomLayerMask,
90079
90234
  applyFaststart: () => applyFaststart,
90080
90235
  assertConfiguredFfmpegBinariesExist: () => assertConfiguredFfmpegBinariesExist,
90236
+ assertMediaPayload: () => assertMediaPayload,
90081
90237
  assertPublicHttpsUrl: () => assertPublicHttpsUrl,
90082
90238
  assertSwiftShader: () => assertSwiftShader,
90083
90239
  augmentPageNavigationTimeoutError: () => augmentPageNavigationTimeoutError,
@@ -90135,6 +90291,7 @@ __export(src_exports, {
90135
90291
  extractVideoMetadata: () => extractVideoMetadata,
90136
90292
  extractionFrameCountForDuration: () => extractionFrameCountForDuration,
90137
90293
  fetchPublicHttpsText: () => fetchPublicHttpsText,
90294
+ fingerprintElementId: () => fingerprintElementId,
90138
90295
  float16ToPqRgb: () => float16ToPqRgb,
90139
90296
  formatFfmpegError: () => formatFfmpegError,
90140
90297
  getCapturePerfSummary: () => getCapturePerfSummary,
@@ -90162,6 +90319,7 @@ __export(src_exports, {
90162
90319
  isHttpUrl: () => isHttpUrl,
90163
90320
  isLowMemorySystem: () => isLowMemorySystem,
90164
90321
  isMemoryExhaustionError: () => isMemoryExhaustionError,
90322
+ isNotMediaPayload: () => isNotMediaPayload,
90165
90323
  isPageNavigationTimeoutError: () => isPageNavigationTimeoutError,
90166
90324
  isProtocolTimeoutError: () => isProtocolTimeoutError,
90167
90325
  isTransientBrowserError: () => isTransientBrowserError,
@@ -90248,6 +90406,7 @@ var init_src = __esm({
90248
90406
  init_assertSwiftShader();
90249
90407
  init_readWebGlVendorInfoFromCanvas();
90250
90408
  init_ffprobe();
90409
+ init_notMediaPayload();
90251
90410
  init_urlDownloader();
90252
90411
  init_runFfmpeg();
90253
90412
  init_managedChildProcess();
@@ -90907,12 +91066,12 @@ function trackEvent(event, properties = {}, distinctId) {
90907
91066
  // Whether this process's anonymousId can be trusted to survive to the
90908
91067
  // next run: `durable` (loaded from a preexisting config), `unknown`
90909
91068
  // (minted+persisted this run — an ephemeral HOME is indistinguishable
90910
- // from a genuine first run), `process_only` (persist failed). Install-
91069
+ // from a genuine first run), `process_only` (not persisted). Install-
90911
91070
  // grain metrics should count only durable identities; the identity-
90912
91071
  // churn workloads (fresh id per run) are never durable.
90913
91072
  identity_persistence: getIdentityPersistence(),
90914
- // Outcome of the identity-establishing config write; absent when the
90915
- // identity came from disk and nothing needed writing.
91073
+ // Outcome of the identity-establishing config write; absent when that
91074
+ // path did not write (including a durable id loaded from disk).
90916
91075
  config_write_outcome: getIdentityWriteOutcome(),
90917
91076
  // Groups one invocation's events even when the install identity is
90918
91077
  // untrustworthy. Always present, unlike the orchestrator-set run_id.
@@ -90980,6 +91139,7 @@ __export(events_exports, {
90980
91139
  trackCompareSheet: () => trackCompareSheet,
90981
91140
  trackFigmaImport: () => trackFigmaImport,
90982
91141
  trackInitTemplate: () => trackInitTemplate,
91142
+ trackRegistryItemAdded: () => trackRegistryItemAdded,
90983
91143
  trackRenderComplete: () => trackRenderComplete,
90984
91144
  trackRenderError: () => trackRenderError,
90985
91145
  trackRenderFeedback: () => trackRenderFeedback,
@@ -91225,6 +91385,13 @@ function trackRenderObservation(props) {
91225
91385
  function trackInitTemplate(templateId, props) {
91226
91386
  trackEvent("init_template", { template: templateId, tailwind: props?.tailwind });
91227
91387
  }
91388
+ function trackRegistryItemAdded(props) {
91389
+ trackEvent("registry_item_added", {
91390
+ item: props.item,
91391
+ item_type: props.itemType,
91392
+ requested: props.requested
91393
+ });
91394
+ }
91228
91395
  function trackBrowserInstall() {
91229
91396
  trackEvent("browser_install", {});
91230
91397
  }
@@ -95687,7 +95854,7 @@ var init_updateCheck = __esm({
95687
95854
 
95688
95855
  // src/utils/skillsManifest.ts
95689
95856
  import { execFile as execFile3 } from "child_process";
95690
- import { createHash as createHash3 } from "crypto";
95857
+ import { createHash as createHash4 } from "crypto";
95691
95858
  import {
95692
95859
  existsSync as existsSync27,
95693
95860
  readdirSync as readdirSync10,
@@ -95717,7 +95884,7 @@ function listFilesSorted(dir) {
95717
95884
  }
95718
95885
  function hashSkillBundle(skillDir) {
95719
95886
  const files = listFilesSorted(skillDir);
95720
- const h3 = createHash3("sha256");
95887
+ const h3 = createHash4("sha256");
95721
95888
  for (const f3 of files) {
95722
95889
  const rel = relative6(skillDir, f3).split(sep4).join("/");
95723
95890
  h3.update(rel);
@@ -97547,7 +97714,7 @@ var init_studioProxyEnv = __esm({
97547
97714
 
97548
97715
  // src/commands/previewLifecycle.ts
97549
97716
  import { spawn as nodeSpawn } from "child_process";
97550
- import { createHash as createHash4 } from "crypto";
97717
+ import { createHash as createHash5 } from "crypto";
97551
97718
  import {
97552
97719
  closeSync as closeSync3,
97553
97720
  existsSync as existsSync30,
@@ -97570,7 +97737,7 @@ function sessionDirectory(stateHome = defaultStateHome()) {
97570
97737
  return join28(stateHome, "hyperframes", "previews");
97571
97738
  }
97572
97739
  function previewSessionPath(projectDir, stateHome = defaultStateHome()) {
97573
- const key2 = createHash4("sha256").update(normalized(projectDir)).digest("hex").slice(0, 16);
97740
+ const key2 = createHash5("sha256").update(normalized(projectDir)).digest("hex").slice(0, 16);
97574
97741
  return join28(sessionDirectory(stateHome), `${key2}.json`);
97575
97742
  }
97576
97743
  function previewLogPath(projectDir, stateHome = defaultStateHome()) {
@@ -97967,7 +98134,7 @@ var init_fileWatcher = __esm({
97967
98134
  });
97968
98135
 
97969
98136
  // src/server/runtimeSource.ts
97970
- import { createHash as createHash5 } from "crypto";
98137
+ import { createHash as createHash6 } from "crypto";
97971
98138
  import { existsSync as existsSync32, readFileSync as readFileSync20 } from "fs";
97972
98139
  import { resolve as resolve18, dirname as dirname13 } from "path";
97973
98140
  async function loadRuntimeSource() {
@@ -97976,10 +98143,10 @@ async function loadRuntimeSource() {
97976
98143
  async function loadRuntimeSourceSignature() {
97977
98144
  const source = await loadRuntimeSource();
97978
98145
  if (!source) return null;
97979
- return createHash5("sha256").update(source).digest("hex");
98146
+ return createHash6("sha256").update(source).digest("hex");
97980
98147
  }
97981
98148
  function hashSignatureParts(parts) {
97982
- const hash2 = createHash5("sha256");
98149
+ const hash2 = createHash6("sha256");
97983
98150
  for (const part of parts) {
97984
98151
  hash2.update(part ?? "");
97985
98152
  hash2.update("\n--hf-signature-part--\n");
@@ -99297,7 +99464,7 @@ var init_chunk_6H3V3WGJ = __esm({
99297
99464
 
99298
99465
  // ../studio-server/dist/chunk-ZPI6QXJH.js
99299
99466
  import { spawn as spawn8 } from "child_process";
99300
- import { createHash as createHash6, randomUUID as randomUUID7 } from "crypto";
99467
+ import { createHash as createHash7, randomUUID as randomUUID7 } from "crypto";
99301
99468
  import {
99302
99469
  existsSync as existsSync210,
99303
99470
  mkdirSync as mkdirSync15,
@@ -99436,7 +99603,7 @@ function canonicalizeProxySource(projectDir, absoluteSourcePath) {
99436
99603
  }
99437
99604
  function buildProxyCacheKey(source, variant) {
99438
99605
  const stat3 = statSync22(source.sourcePath);
99439
- return createHash6("sha256").update(
99606
+ return createHash7("sha256").update(
99440
99607
  `${source.relativePath}\0${source.cacheIdentity}\0${stat3.mtimeMs}\0${stat3.size}\0${PROXY_PARAMS_VERSION}\0${variant}`
99441
99608
  ).digest("hex");
99442
99609
  }
@@ -106507,7 +106674,7 @@ import { readFile as readFile2 } from "fs/promises";
106507
106674
  import { join as join210 } from "path";
106508
106675
  import { join as join32 } from "path";
106509
106676
  import { readdirSync as readdirSync14 } from "fs";
106510
- import { createHash as createHash7 } from "crypto";
106677
+ import { createHash as createHash8 } from "crypto";
106511
106678
  import { lstatSync as lstatSync4, readFileSync as readFileSync21, readdirSync as readdirSync22 } from "fs";
106512
106679
  import { extname as extname9, isAbsolute as isAbsolute9, relative as relative10, resolve as resolve23 } from "path";
106513
106680
  import { existsSync as existsSync36, readFileSync as readFileSync22 } from "fs";
@@ -106663,7 +106830,7 @@ function collectProjectSignatureManifestFiles(projectDir, files) {
106663
106830
  }
106664
106831
  }
106665
106832
  function createProjectFingerprint(projectDir, files) {
106666
- const hash2 = createHash7("sha256");
106833
+ const hash2 = createHash8("sha256");
106667
106834
  for (const entry of files) {
106668
106835
  hash2.update(relative10(projectDir, entry.file));
106669
106836
  hash2.update("\0");
@@ -106693,7 +106860,7 @@ function createProjectSignature(projectDir) {
106693
106860
  const fingerprint = createProjectFingerprint(normalizedProjectDir, files);
106694
106861
  const cached2 = projectSignatureCache.get(normalizedProjectDir);
106695
106862
  if (cached2?.fingerprint === fingerprint) return cached2.signature;
106696
- const hash2 = createHash7("sha256");
106863
+ const hash2 = createHash8("sha256");
106697
106864
  for (const entry of files) {
106698
106865
  const relativePath = relative10(normalizedProjectDir, entry.file);
106699
106866
  hash2.update(relativePath);
@@ -112202,7 +112369,7 @@ var init_captureCompositionFrame = __esm({
112202
112369
  });
112203
112370
 
112204
112371
  // ../producer/src/services/hyperframeRuntimeLoader.ts
112205
- import { createHash as createHash8 } from "crypto";
112372
+ import { createHash as createHash9 } from "crypto";
112206
112373
  import { existsSync as existsSync39, readFileSync as readFileSync25 } from "fs";
112207
112374
  import { dirname as dirname16, resolve as resolve26 } from "path";
112208
112375
  import { fileURLToPath as fileURLToPath2 } from "url";
@@ -112245,7 +112412,7 @@ function resolveVerifiedHyperframeRuntime() {
112245
112412
  throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
112246
112413
  }
112247
112414
  const runtimeSource = readFileSync25(runtimePath, "utf8");
112248
- const runtimeSha = createHash8("sha256").update(runtimeSource, "utf8").digest("hex");
112415
+ const runtimeSha = createHash9("sha256").update(runtimeSource, "utf8").digest("hex");
112249
112416
  if (runtimeSha !== manifest.sha256) {
112250
112417
  throw new Error(
112251
112418
  `[HyperframeRuntimeLoader] Runtime checksum mismatch. expected=${manifest.sha256} actual=${runtimeSha}`
@@ -114273,12 +114440,12 @@ var init_captureCost = __esm({
114273
114440
  });
114274
114441
 
114275
114442
  // ../producer/src/services/render/observability.ts
114276
- import { createHash as createHash9 } from "crypto";
114443
+ import { createHash as createHash10 } from "crypto";
114277
114444
  function sanitizeObservationMessage(value) {
114278
114445
  return redactTelemetryString(value);
114279
114446
  }
114280
114447
  function computeCompositionObservabilityHash(compiledHtml) {
114281
- return createHash9("sha256").update(compiledHtml, "utf8").digest("hex").slice(0, 16);
114448
+ return createHash10("sha256").update(compiledHtml, "utf8").digest("hex").slice(0, 16);
114282
114449
  }
114283
114450
  function sanitizeObservationData(data2) {
114284
114451
  if (!data2) return void 0;
@@ -117880,7 +118047,7 @@ __export(fontCompression_exports, {
117880
118047
  compressToWoff2: () => compressToWoff2,
117881
118048
  fontToDataUri: () => fontToDataUri
117882
118049
  });
117883
- import { createHash as createHash10 } from "crypto";
118050
+ import { createHash as createHash11 } from "crypto";
117884
118051
  import { existsSync as existsSync44, mkdirSync as mkdirSync19, readFileSync as readFileSync26, renameSync as renameSync9, rmSync as rmSync13, writeFileSync as writeFileSync15 } from "fs";
117885
118052
  import { homedir as homedir12, tmpdir as tmpdir5 } from "os";
117886
118053
  import { dirname as dirname19, join as join41 } from "path";
@@ -117895,7 +118062,7 @@ function defaultCacheDir() {
117895
118062
  return join41(root, "local-compression-v1");
117896
118063
  }
117897
118064
  function cachedCompressionPath(input2, originalFormat, cacheDir) {
117898
- const digest = createHash10("sha256").update("hyperframes-local-font-compression-v1\0").update(originalFormat).update("\0").update(input2).digest("hex");
118065
+ const digest = createHash11("sha256").update("hyperframes-local-font-compression-v1\0").update(originalFormat).update("\0").update(input2).digest("hex");
117899
118066
  return join41(cacheDir, `${digest}.woff2`);
117900
118067
  }
117901
118068
  function readCachedCompression(path2) {
@@ -117977,13 +118144,44 @@ __export(deterministicFonts_exports, {
117977
118144
  parseFontFamilyValue: () => parseFontFamilyValue,
117978
118145
  resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
117979
118146
  });
117980
- import { createHash as createHash11 } from "crypto";
118147
+ import { createHash as createHash12 } from "crypto";
117981
118148
  import { existsSync as existsSync45, mkdirSync as mkdirSync20, mkdtempSync as mkdtempSync5, readFileSync as readFileSync27, writeFileSync as writeFileSync16 } from "fs";
117982
118149
  import { homedir as homedir13, tmpdir as tmpdir6 } from "os";
117983
118150
  import { join as join43 } from "path";
117984
118151
  import postcss4 from "postcss";
117985
118152
  function parseFontFamilyValue(value) {
117986
- return value.split(",").map((piece) => piece.trim().replace(/^['"]/, "").replace(/['"]$/, "").trim()).filter((piece) => piece.length > 0);
118153
+ const pieces = [];
118154
+ let start = 0;
118155
+ let depth = 0;
118156
+ let quote = null;
118157
+ for (let index = 0; index < value.length; index += 1) {
118158
+ const char = value[index];
118159
+ if (char === "\\") {
118160
+ index += 1;
118161
+ continue;
118162
+ }
118163
+ if (quote) {
118164
+ if (char === quote) quote = null;
118165
+ continue;
118166
+ }
118167
+ if (char === "'" || char === '"') {
118168
+ quote = char;
118169
+ continue;
118170
+ }
118171
+ if (char === "(") {
118172
+ depth += 1;
118173
+ continue;
118174
+ }
118175
+ if (char === ")") {
118176
+ depth = Math.max(0, depth - 1);
118177
+ continue;
118178
+ }
118179
+ if (char !== "," || depth !== 0) continue;
118180
+ pieces.push(value.slice(start, index));
118181
+ start = index + 1;
118182
+ }
118183
+ pieces.push(value.slice(start));
118184
+ return pieces.map((piece) => piece.trim().replace(/^['"]/, "").replace(/['"]$/, "").trim()).filter((piece) => piece.length > 0);
117987
118185
  }
117988
118186
  function systemPrimaryReplacement(value, deterministicPrimary) {
117989
118187
  const families = parseFontFamilyValue(value);
@@ -118320,7 +118518,7 @@ function fontCacheDir(slug) {
118320
118518
  return dir;
118321
118519
  }
118322
118520
  function subsetToken(woff2Url) {
118323
- return createHash11("sha1").update(woff2Url).digest("hex").slice(0, 12);
118521
+ return createHash12("sha1").update(woff2Url).digest("hex").slice(0, 12);
118324
118522
  }
118325
118523
  function cachedWoff2Path(slug, weight, style, subset) {
118326
118524
  return join43(fontCacheDir(slug), `${weight}-${style}-${subset}.woff2`);
@@ -118731,7 +118929,7 @@ __export(animatedGifPrep_exports, {
118731
118929
  buildAnimatedGifTranscodeArgs: () => buildAnimatedGifTranscodeArgs,
118732
118930
  prepareAnimatedGifInputs: () => prepareAnimatedGifInputs
118733
118931
  });
118734
- import { createHash as createHash12 } from "crypto";
118932
+ import { createHash as createHash13 } from "crypto";
118735
118933
  import {
118736
118934
  copyFileSync as copyFileSync4,
118737
118935
  existsSync as existsSync46,
@@ -118792,7 +118990,7 @@ function isUsableFile(path2) {
118792
118990
  }
118793
118991
  }
118794
118992
  function computePreparedGifHash(bytes, loopIterations, padSeconds) {
118795
- return createHash12("sha256").update(CACHE_SCHEMA).update("\0").update(String(loopIterations)).update("\0").update(String(padSeconds)).update("\0").update(bytes).digest("hex");
118993
+ return createHash13("sha256").update(CACHE_SCHEMA).update("\0").update(String(loopIterations)).update("\0").update(String(padSeconds)).update("\0").update(bytes).digest("hex");
118796
118994
  }
118797
118995
  function resolveLoop(metadata, override) {
118798
118996
  if (override != null) return override;
@@ -119121,11 +119319,7 @@ var init_mediaProbeConcurrency = __esm({
119121
119319
  });
119122
119320
 
119123
119321
  // ../producer/src/services/assetMediaType.ts
119124
- import { createHash as createHash13 } from "crypto";
119125
119322
  import { existsSync as existsSync47 } from "fs";
119126
- function fingerprintElementId(elementId) {
119127
- return createHash13("sha256").update(elementId).digest("hex").slice(0, 16);
119128
- }
119129
119323
  function detectedAssetMediaType(profile) {
119130
119324
  if (profile.visualKind === "moving") return "video";
119131
119325
  if (profile.visualKind === "still") return "image";
@@ -119180,10 +119374,18 @@ async function preflightCompositionAssetMediaTypes(input2) {
119180
119374
  byPath.set(resolvedPath, [...byPath.get(resolvedPath) ?? [], reference]);
119181
119375
  }
119182
119376
  const mismatches = [];
119377
+ const notMediaFingerprints = [];
119183
119378
  const entries2 = [...byPath];
119184
119379
  await Promise.all(
119185
119380
  entries2.map(
119186
119381
  ([resolvedPath, pathReferences]) => withMediaProbeSlot(async () => {
119382
+ const sniffableReferences = pathReferences.filter((ref2) => ref2.expected === "video");
119383
+ if (sniffableReferences.length > 0 && await isNotMediaPayload(resolvedPath)) {
119384
+ notMediaFingerprints.push(
119385
+ ...sniffableReferences.map((ref2) => fingerprintElementId(ref2.id))
119386
+ );
119387
+ return;
119388
+ }
119187
119389
  let profile;
119188
119390
  try {
119189
119391
  profile = await probeMediaProfile(resolvedPath, { signal: input2.signal });
@@ -119202,6 +119404,7 @@ async function preflightCompositionAssetMediaTypes(input2) {
119202
119404
  })
119203
119405
  )
119204
119406
  );
119407
+ if (notMediaFingerprints.length > 0) throw new NotMediaPayloadError(notMediaFingerprints);
119205
119408
  if (mismatches.length > 0) throw new AssetMediaTypeMismatchError(mismatches);
119206
119409
  }
119207
119410
  var ASSET_MEDIA_TYPE_MISMATCH, AssetMediaTypeMismatchError;
@@ -119388,7 +119591,7 @@ function detectShaderTransitionUsage(html) {
119388
119591
  }
119389
119592
  return false;
119390
119593
  }
119391
- async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagName19, elementIdentity) {
119594
+ async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagName19, elementIdentity, log2) {
119392
119595
  let filePath = src;
119393
119596
  if (isHttpUrl(src)) {
119394
119597
  if (!existsSync48(downloadDir)) mkdirSync23(downloadDir, { recursive: true });
@@ -119408,9 +119611,17 @@ async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagNa
119408
119611
  return withMediaProbeSlot(async () => {
119409
119612
  let profile;
119410
119613
  try {
119614
+ await assertMediaPayload(filePath, elementIdentity);
119411
119615
  profile = await probeMediaProfile(filePath);
119412
119616
  } catch (error) {
119413
- if (tagName19 !== "video") return { duration: 0, resolvedPath: filePath };
119617
+ if (tagName19 !== "video") {
119618
+ if (error instanceof NotMediaPayloadError) {
119619
+ log2?.warn(
119620
+ `[compile] Audio "${elementIdentity}" (${src}) is a text document, not a media file \u2014 the element is dropped from the render. Point it at a rendered media file.`
119621
+ );
119622
+ }
119623
+ return { duration: 0, resolvedPath: filePath };
119624
+ }
119414
119625
  throw error;
119415
119626
  }
119416
119627
  assertAssetMediaTypeProfile(tagName19 === "video" ? "video" : "audio", profile, elementIdentity);
@@ -119438,9 +119649,15 @@ async function compileHtmlFile(html, baseDir, downloadDir, log2) {
119438
119649
  const unresolvedCompositions = unresolved.filter((el) => el.tagName === "div");
119439
119650
  const resolvedResults = await Promise.all(
119440
119651
  mediaUnresolved.map(
119441
- (el) => resolveMediaDuration(el.src, el.mediaStart, baseDir, downloadDir, el.tagName, el.id).then(
119442
- ({ duration }) => ({ id: el.id, duration })
119443
- )
119652
+ (el) => resolveMediaDuration(
119653
+ el.src,
119654
+ el.mediaStart,
119655
+ baseDir,
119656
+ downloadDir,
119657
+ el.tagName,
119658
+ el.id,
119659
+ log2
119660
+ ).then(({ duration }) => ({ id: el.id, duration }))
119444
119661
  )
119445
119662
  );
119446
119663
  const resolutions = resolvedResults.filter((r2) => r2.duration > 0);
@@ -119454,7 +119671,8 @@ async function compileHtmlFile(html, baseDir, downloadDir, log2) {
119454
119671
  baseDir,
119455
119672
  downloadDir,
119456
119673
  el.tagName,
119457
- el.id
119674
+ el.id,
119675
+ log2
119458
119676
  );
119459
119677
  return { id: el.id, tagName: el.tagName, duration: el.duration, maxDuration, src: el.src };
119460
119678
  })
@@ -128516,6 +128734,7 @@ var init_server = __esm({
128516
128734
  DEFAULT_SERVER_FPS = { num: 30, den: 1 };
128517
128735
  SAFE_RENDER_ERROR_CODES = /* @__PURE__ */ new Set([
128518
128736
  "ASSET_MEDIA_TYPE_MISMATCH",
128737
+ "NOT_MEDIA_PAYLOAD",
128519
128738
  "INVALID_VIDEO_METADATA",
128520
128739
  "VIDEO_SOURCE_UNRENDERABLE",
128521
128740
  "VIDEO_EXTRACTION_FAILED"
@@ -134858,6 +135077,13 @@ async function runAdd(opts) {
134858
135077
  }))
134859
135078
  }));
134860
135079
  const written = await installAll(installPlan, projectDir, config.registry);
135080
+ for (const planItem of installPlan) {
135081
+ trackRegistryItemAdded({
135082
+ item: planItem.name,
135083
+ itemType: planItem.type,
135084
+ requested: planItem.name === item.name
135085
+ });
135086
+ }
134861
135087
  const itemForInstall = installPlan[installPlan.length - 1];
134862
135088
  const primaryFile = itemForInstall.files.find((f3) => f3.type === "hyperframes:snippet") ?? itemForInstall.files.find((f3) => f3.type === "hyperframes:composition") ?? itemForInstall.files[0];
134863
135089
  const snippetTargetRel = primaryFile?.target ?? "";
@@ -134888,6 +135114,7 @@ var init_add = __esm({
134888
135114
  init_compatibility();
134889
135115
  init_projectConfig();
134890
135116
  init_clipboard();
135117
+ init_events();
134891
135118
  examples4 = [
134892
135119
  ["Add a block to the current project", "hyperframes add claude-code-window"],
134893
135120
  ["Add a component effect", "hyperframes add shader-wipe"],
@@ -134934,6 +135161,11 @@ var init_add = __esm({
134934
135161
  description: "Print a machine-readable summary (written files + snippet) to stdout"
134935
135162
  }
134936
135163
  },
135164
+ // `run` is 28 cyclomatic and predates this change, which touches only
135165
+ // `runAdd`. Fallow scores it as new because the file changed. Splitting the
135166
+ // tag-fallback branch out would fix it honestly and is worth doing, but not
135167
+ // inside a telemetry change.
135168
+ // fallow-ignore-next-line complexity
134937
135169
  async run({ args }) {
134938
135170
  const projectDir = resolve41(args.dir ?? process.cwd());
134939
135171
  const json = args.json === true;
@@ -137341,6 +137573,63 @@ async function readErrorMessage(response, fallback) {
137341
137573
  const text2 = await response.text().catch(() => "");
137342
137574
  return text2.trim() ? `${fallback}: ${text2.trim().slice(0, 180)}` : fallback;
137343
137575
  }
137576
+ function systemErrorMetadata(value) {
137577
+ if (!isRecord8(value)) return [];
137578
+ const metadata = [];
137579
+ if (typeof value["code"] === "string") metadata.push(value["code"]);
137580
+ if (typeof value["syscall"] === "string") metadata.push(`syscall=${value["syscall"]}`);
137581
+ if (typeof value["errno"] === "string" || typeof value["errno"] === "number") {
137582
+ metadata.push(`errno=${value["errno"]}`);
137583
+ }
137584
+ return metadata;
137585
+ }
137586
+ function redactUrlQuery(message) {
137587
+ return message.replace(/(https?:\/\/[^\s?]+)\?[^\s]+/gu, "$1?[redacted]");
137588
+ }
137589
+ function proxySupportHint() {
137590
+ const proxyConfigured = ["HTTPS_PROXY", "HTTP_PROXY", "https_proxy", "http_proxy"].some(
137591
+ (key2) => Boolean(process.env[key2]?.trim())
137592
+ );
137593
+ const proxyEnabled = process.env["NODE_USE_ENV_PROXY"] === "1" || process.execArgv.includes("--use-env-proxy") || process.env["NODE_OPTIONS"]?.split(/\s+/u).includes("--use-env-proxy") === true;
137594
+ if (!proxyConfigured || proxyEnabled) return "";
137595
+ return ". Proxy variables are set but ignored by Node fetch; if this network requires them, retry with NODE_USE_ENV_PROXY=1 (Node 22.21+)";
137596
+ }
137597
+ function describeFetchFailure(error) {
137598
+ const message = error instanceof Error ? error.message : String(error);
137599
+ const cause = error instanceof Error ? error.cause : void 0;
137600
+ const causeMessage = cause instanceof Error ? cause.message : "";
137601
+ const metadata = [...systemErrorMetadata(cause), ...systemErrorMetadata(error)].filter(
137602
+ (value, index, all) => all.indexOf(value) === index
137603
+ );
137604
+ const distinctCauseMessage = causeMessage && causeMessage !== message ? causeMessage : "";
137605
+ const detail = [metadata.join(", "), distinctCauseMessage].filter(Boolean).join(": ");
137606
+ return `${redactUrlQuery(message)}${detail ? ` (${redactUrlQuery(detail)})` : ""}${proxySupportHint()}`;
137607
+ }
137608
+ function isRequestTimeout(error) {
137609
+ return error instanceof DOMException && (error.name === "TimeoutError" || error.name === "AbortError");
137610
+ }
137611
+ function waitBeforePublishRetry() {
137612
+ return new Promise((resolve77) => setTimeout(resolve77, PUBLISH_RETRY_DELAY_MS));
137613
+ }
137614
+ async function fetchForPublish(input2, createInit, failureStage, attempts = 1) {
137615
+ if (attempts < 1) throw new RangeError("Publish fetch attempts must be at least 1");
137616
+ let lastError;
137617
+ let attemptsMade = 0;
137618
+ for (let attempt = 1; attempt <= attempts; attempt += 1) {
137619
+ attemptsMade = attempt;
137620
+ try {
137621
+ return await fetch(input2, createInit());
137622
+ } catch (error) {
137623
+ lastError = error;
137624
+ if (isRequestTimeout(error) || attempt === attempts) break;
137625
+ await waitBeforePublishRetry();
137626
+ }
137627
+ }
137628
+ const attemptDetail = attemptsMade > 1 ? ` after ${attemptsMade} attempts` : "";
137629
+ throw new Error(`${failureStage}${attemptDetail}: ${describeFetchFailure(lastError)}`, {
137630
+ cause: lastError instanceof Error ? lastError : void 0
137631
+ });
137632
+ }
137344
137633
  function uploadTimeoutMs(byteLength) {
137345
137634
  return Math.max(
137346
137635
  PUBLISH_UPLOAD_MIN_TIMEOUT_MS,
@@ -137541,12 +137830,16 @@ async function publishProjectArchiveDirect(apiBaseUrl2, title, archive, isPublic
137541
137830
  ...authHeaders,
137542
137831
  heygen_route: "canary"
137543
137832
  };
137544
- const response = await fetch(`${apiBaseUrl2}/v1/hyperframes/projects/publish`, {
137545
- method: "POST",
137546
- body,
137547
- headers,
137548
- signal: AbortSignal.timeout(uploadTimeoutMs(archive.buffer.byteLength))
137549
- });
137833
+ const response = await fetchForPublish(
137834
+ `${apiBaseUrl2}/v1/hyperframes/projects/publish`,
137835
+ () => ({
137836
+ method: "POST",
137837
+ body,
137838
+ headers,
137839
+ signal: AbortSignal.timeout(uploadTimeoutMs(archive.buffer.byteLength))
137840
+ }),
137841
+ "Failed to publish project"
137842
+ );
137550
137843
  const payload = await readJson(response);
137551
137844
  const publishedProject = parsePublishedProjectResponse(payload);
137552
137845
  if (!response.ok || !publishedProject) {
@@ -137556,34 +137849,44 @@ async function publishProjectArchiveDirect(apiBaseUrl2, title, archive, isPublic
137556
137849
  }
137557
137850
  async function uploadArchiveToPresignedUrl(stagedUpload, archive) {
137558
137851
  const presignedUrlTtlMs = stagedUpload.expiresInSeconds * 1e3 - PUBLISH_METADATA_TIMEOUT_MS;
137559
- const s3Response = await fetch(stagedUpload.uploadUrl, {
137560
- method: "PUT",
137561
- body: new Blob([archiveArrayBuffer(archive)], { type: stagedUpload.contentType }),
137562
- headers: stagedUpload.uploadHeaders,
137563
- signal: AbortSignal.timeout(
137564
- Math.min(uploadTimeoutMs(archive.buffer.byteLength), presignedUrlTtlMs)
137565
- )
137566
- });
137852
+ const s3Response = await fetchForPublish(
137853
+ stagedUpload.uploadUrl,
137854
+ () => ({
137855
+ method: "PUT",
137856
+ body: new Blob([archiveArrayBuffer(archive)], { type: stagedUpload.contentType }),
137857
+ headers: stagedUpload.uploadHeaders,
137858
+ signal: AbortSignal.timeout(
137859
+ Math.min(uploadTimeoutMs(archive.buffer.byteLength), presignedUrlTtlMs)
137860
+ )
137861
+ }),
137862
+ "Failed to upload project archive",
137863
+ PUBLISH_TRANSPORT_ATTEMPTS
137864
+ );
137567
137865
  if (!s3Response.ok) {
137568
137866
  throw new Error(await readErrorMessage(s3Response, "Failed to upload project archive"));
137569
137867
  }
137570
137868
  }
137571
137869
  async function publishProjectArchiveStaged(apiBaseUrl2, title, archive, isPublic, authHeaders, projectId) {
137572
137870
  const fileName = `${title}.zip`;
137573
- const uploadResponse = await fetch(`${apiBaseUrl2}/v1/hyperframes/projects/publish/upload`, {
137574
- method: "POST",
137575
- body: JSON.stringify({
137576
- file_name: fileName,
137577
- content_type: PUBLISH_CONTENT_TYPE,
137578
- content_length: archive.buffer.byteLength
137871
+ const uploadResponse = await fetchForPublish(
137872
+ `${apiBaseUrl2}/v1/hyperframes/projects/publish/upload`,
137873
+ () => ({
137874
+ method: "POST",
137875
+ body: JSON.stringify({
137876
+ file_name: fileName,
137877
+ content_type: PUBLISH_CONTENT_TYPE,
137878
+ content_length: archive.buffer.byteLength
137879
+ }),
137880
+ headers: {
137881
+ ...authHeaders,
137882
+ "content-type": "application/json",
137883
+ heygen_route: "canary"
137884
+ },
137885
+ signal: AbortSignal.timeout(PUBLISH_METADATA_TIMEOUT_MS)
137579
137886
  }),
137580
- headers: {
137581
- ...authHeaders,
137582
- "content-type": "application/json",
137583
- heygen_route: "canary"
137584
- },
137585
- signal: AbortSignal.timeout(PUBLISH_METADATA_TIMEOUT_MS)
137586
- });
137887
+ "Failed to prepare project upload",
137888
+ PUBLISH_TRANSPORT_ATTEMPTS
137889
+ );
137587
137890
  if (uploadResponse.status === 404 || uploadResponse.status === 405) {
137588
137891
  return null;
137589
137892
  }
@@ -137593,22 +137896,26 @@ async function publishProjectArchiveStaged(apiBaseUrl2, title, archive, isPublic
137593
137896
  throw new Error(await readErrorMessage(uploadResponse, "Failed to prepare project upload"));
137594
137897
  }
137595
137898
  await uploadArchiveToPresignedUrl(stagedUpload, archive);
137596
- const completeResponse = await fetch(`${apiBaseUrl2}/v1/hyperframes/projects/publish/complete`, {
137597
- method: "POST",
137598
- body: JSON.stringify({
137599
- upload_key: stagedUpload.uploadKey,
137600
- file_name: fileName,
137601
- title,
137602
- ...isPublic ? { is_public: true } : {},
137603
- ...projectId ? { project_id: projectId } : {}
137899
+ const completeResponse = await fetchForPublish(
137900
+ `${apiBaseUrl2}/v1/hyperframes/projects/publish/complete`,
137901
+ () => ({
137902
+ method: "POST",
137903
+ body: JSON.stringify({
137904
+ upload_key: stagedUpload.uploadKey,
137905
+ file_name: fileName,
137906
+ title,
137907
+ ...isPublic ? { is_public: true } : {},
137908
+ ...projectId ? { project_id: projectId } : {}
137909
+ }),
137910
+ headers: {
137911
+ ...authHeaders,
137912
+ "content-type": "application/json",
137913
+ heygen_route: "canary"
137914
+ },
137915
+ signal: AbortSignal.timeout(uploadTimeoutMs(archive.buffer.byteLength))
137604
137916
  }),
137605
- headers: {
137606
- ...authHeaders,
137607
- "content-type": "application/json",
137608
- heygen_route: "canary"
137609
- },
137610
- signal: AbortSignal.timeout(uploadTimeoutMs(archive.buffer.byteLength))
137611
- });
137917
+ "Failed to finalize project publish"
137918
+ );
137612
137919
  const completePayload = await readJson(completeResponse);
137613
137920
  const publishedProject = parsePublishedProjectResponse(completePayload);
137614
137921
  if (!completeResponse.ok || !publishedProject) {
@@ -137646,7 +137953,7 @@ async function publishProjectArchive(projectDir, opts = {}) {
137646
137953
  }
137647
137954
  return result;
137648
137955
  }
137649
- var IGNORED_DIRS, IGNORED_FILES, HYPERFRAMES_IGNORE_FILE, DEFAULT_PROJECT_IGNORE, PUBLISH_CONTENT_TYPE, PUBLISH_METADATA_TIMEOUT_MS, PUBLISH_UPLOAD_MIN_TIMEOUT_MS, PUBLISH_UPLOAD_BYTES_PER_SECOND, EXT_ASSETS_PREFIX;
137956
+ var IGNORED_DIRS, IGNORED_FILES, HYPERFRAMES_IGNORE_FILE, DEFAULT_PROJECT_IGNORE, PUBLISH_CONTENT_TYPE, PUBLISH_METADATA_TIMEOUT_MS, PUBLISH_UPLOAD_MIN_TIMEOUT_MS, PUBLISH_TRANSPORT_ATTEMPTS, PUBLISH_RETRY_DELAY_MS, PUBLISH_UPLOAD_BYTES_PER_SECOND, EXT_ASSETS_PREFIX;
137650
137957
  var init_publishProject = __esm({
137651
137958
  "src/utils/publishProject.ts"() {
137652
137959
  "use strict";
@@ -137662,6 +137969,8 @@ var init_publishProject = __esm({
137662
137969
  PUBLISH_CONTENT_TYPE = "application/zip";
137663
137970
  PUBLISH_METADATA_TIMEOUT_MS = 3e4;
137664
137971
  PUBLISH_UPLOAD_MIN_TIMEOUT_MS = 12e4;
137972
+ PUBLISH_TRANSPORT_ATTEMPTS = 2;
137973
+ PUBLISH_RETRY_DELAY_MS = 200;
137665
137974
  PUBLISH_UPLOAD_BYTES_PER_SECOND = 5e5;
137666
137975
  EXT_ASSETS_PREFIX = "_ext";
137667
137976
  }