hyperframes 0.7.100 → 0.7.102

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.100" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.102" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -56453,21 +56453,23 @@ function escapeCaseInsensitiveToken(source, token, replacement) {
56453
56453
  function inlineScriptTags(scripts) {
56454
56454
  return scripts.map((source) => `<script>${escapeInlineScriptSource(source)}</script>`).join("\n");
56455
56455
  }
56456
- function injectScriptsAtHeadStart(html, scripts) {
56457
- if (scripts.length === 0)
56458
- return html;
56459
- const headTags = inlineScriptTags(scripts);
56456
+ function injectTagsAtHeadStart(html, tags) {
56460
56457
  if (html.includes("<head")) {
56461
56458
  return html.replace(/<head\b[^>]*>/i, (match) => `${match}
56462
- ${headTags}`);
56459
+ ${tags}`);
56463
56460
  }
56464
56461
  if (html.includes("<body")) {
56465
- return html.replace("<body", () => `${headTags}
56462
+ return html.replace("<body", () => `${tags}
56466
56463
  <body`);
56467
56464
  }
56468
- return `${headTags}
56465
+ return `${tags}
56469
56466
  ${html}`;
56470
56467
  }
56468
+ function injectScriptsAtHeadStart(html, scripts) {
56469
+ if (scripts.length === 0)
56470
+ return html;
56471
+ return injectTagsAtHeadStart(html, inlineScriptTags(scripts));
56472
+ }
56471
56473
  function injectScriptsIntoHtml(html, headScripts, bodyScripts, stripEmbeddedRuntime = true) {
56472
56474
  if (stripEmbeddedRuntime) {
56473
56475
  html = stripEmbeddedRuntimeScripts(html);
@@ -58575,7 +58577,7 @@ var RUNTIME_IIFE;
58575
58577
  var init_runtime_inline = __esm({
58576
58578
  "../core/dist/generated/runtime-inline.js"() {
58577
58579
  "use strict";
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';
58580
+ RUNTIME_IIFE = '"use strict";(()=>{var bd=Object.create;var Qr=Object.defineProperty;var yd=Object.getOwnPropertyDescriptor;var Sd=Object.getOwnPropertyNames;var vd=Object.getPrototypeOf,Ed=Object.prototype.hasOwnProperty;var Cd=(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 _d=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Sd(t))!Ed.call(e,i)&&i!==n&&Qr(e,i,{get:()=>t[i],enumerable:!(r=yd(t,i))||r.enumerable});return e};var Ad=(e,t,n)=>(n=e!=null?bd(vd(e)):{},_d(t||!e||!e.__esModule?Qr(n,"default",{value:e,enumerable:!0}):n,e));var he=(e,t,n)=>Cd(e,typeof t!="symbol"?t+"":t,n);var Us=Z((iy,Wi)=>{var K=String,Bs=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=Bs();Wi.exports.createColors=Bs});var Vi=Z(()=>{});var or=Z((sy,zs)=>{"use strict";var Ws=Us(),Vs=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=Ws.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Ws.createColors(!0);i=x=>c(f(x)),r=x=>m(x),Vs&&(o=x=>Vs(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 v=r(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return i(">")+r(x)+o(c)+`\n `+v+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}};zs.exports=fn;fn.default=fn});var zi=Z((ly,qs)=>{"use strict";var Cm=/(<)(\\/?style\\b)/gi,_m=/(<)(!--)/g;function ot(e){return typeof e!="string"||!e.includes("<")?e:e.replace(Cm,"\\\\3c $2").replace(_m,"\\\\3c $2")}var $s={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Am(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 $s[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"+Am(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=$s[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)}};qs.exports=mn;mn.default=mn});var pn=Z((uy,js)=>{"use strict";var wm=zi();function $i(e,t){new wm(t).stringify(e)}js.exports=$i;$i.default=$i});var ar=Z((cy,qi)=>{"use strict";qi.exports.isClean=Symbol("isClean");qi.exports.my=Symbol("my")});var xn=Z((dy,Ks)=>{"use strict";var Tm=or(),Rm=zi(),Fm=pn(),{isClean:hn,my:Lm}=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[Lm]=!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 Tm(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 Rm().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=Fm){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)}};Ks.exports=gn;gn.default=gn});var yn=Z((fy,Ys)=>{"use strict";var Nm=xn(),bn=class extends Nm{constructor(t){super(t),this.type="comment"}};Ys.exports=bn;bn.default=bn});var vn=Z((my,Xs)=>{"use strict";var km=xn(),Sn=class extends km{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"}};Xs.exports=Sn;Sn.default=Sn});var at=Z((py,ol)=>{"use strict";var Js=yn(),Qs=vn(),Mm=xn(),{isClean:Zs,my:el}=ar(),Ki,tl,nl,Yi;function rl(e){return e.map(t=>(t.nodes&&(t.nodes=rl(t.nodes)),delete t.source,t))}function il(e){if(e[Zs]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)il(t)}var Ue=class e extends Mm{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=rl(tl(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 Qs(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 Js(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[el]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Zs]&&il(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=>{tl=e};Ue.registerRule=e=>{Yi=e};Ue.registerAtRule=e=>{Ki=e};Ue.registerRoot=e=>{nl=e};ol.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,Qs.prototype):e.type==="comment"?Object.setPrototypeOf(e,Js.prototype):e.type==="root"&&Object.setPrototypeOf(e,nl.prototype),e[el]=!0,e.nodes&&e.nodes.forEach(t=>{Ue.rebuild(t)})}});var sr=Z((hy,sl)=>{"use strict";var al=at(),It=class extends al{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)}};sl.exports=It;It.default=It;al.registerAtRule(It)});var lr=Z((gy,cl)=>{"use strict";var Dm=at(),ll,ul,xt=class extends Dm{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new ll(new ul,this,t).stringify()}};xt.registerLazyResult=e=>{ll=e};xt.registerProcessor=e=>{ul=e};cl.exports=xt;xt.default=xt});var fl=Z((xy,dl)=>{var Im="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pm=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Om=(e=21)=>{let t="",n=e|0;for(;n--;)t+=Im[Math.random()*64|0];return t};dl.exports={nanoid:Om,customAlphabet:Pm}});var ur=Z(()=>{});var cr=Z(()=>{});var Xi=Z(()=>{});var ml=Z(()=>{});var Qi=Z((wy,gl)=>{"use strict";var{existsSync:Gm,readFileSync:Hm}=ml(),{dirname:Ji,join:Bm}=ur(),{SourceMapConsumer:pl,SourceMapGenerator:hl}=cr();function Um(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var En=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 pl(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 Um(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),Gm(t)))return this.mapFile=t,Hm(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 pl)return hl.fromSourceMap(n).toString();if(n instanceof hl)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=Bm(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)}};gl.exports=En;En.default=En});var Cn=Z((Ty,vl)=>{"use strict";var{nanoid:Wm}=fl(),{isAbsolute:to,resolve:no}=ur(),{SourceMapConsumer:Vm,SourceMapGenerator:zm}=cr(),{fileURLToPath:xl,pathToFileURL:dr}=Xi(),bl=or(),$m=Qi(),Zi=Vi(),eo=Symbol("lineToIndexCache"),qm=!!(Vm&&zm),yl=!!(no&&to);function Sl(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&&(!yl||/^\\w+:\\/\\//.test(n.from)||to(n.from)?this.file=n.from:this.file=no(n.from)),yl&&qm){let r=new $m(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 "+Wm(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 bl(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 bl(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 Sl(this)[t-1]+n-1}fromOffset(t){let n=Sl(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(xl)u.file=xl(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}};vl.exports=Pt;Pt.default=Pt;Zi&&Zi.registerInput&&Zi.registerInput(Pt)});var Ot=Z((Ry,Al)=>{"use strict";var El=at(),Cl,_l,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 Cl(new _l,this,t).stringify()}};st.registerLazyResult=e=>{Cl=e};st.registerProcessor=e=>{_l=e};Al.exports=st;st.default=st;El.registerRoot(st)});var ro=Z((Fy,wl)=>{"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}};wl.exports=_n;_n.default=_n});var fr=Z((Ly,Rl)=>{"use strict";var Tl=at(),jm=ro(),Gt=class extends Tl{get selectors(){return jm.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=[])}};Rl.exports=Gt;Gt.default=Gt;Tl.registerRule(Gt)});var Ll=Z((Ny,Fl)=>{"use strict";var Km=sr(),Ym=yn(),Xm=vn(),Jm=Cn(),Qm=Qi(),Zm=Ot(),ep=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__:Jm.prototype};o.map&&(o.map={...o.map,__proto__:Qm.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 Zm(r);if(r.type==="decl")return new Xm(r);if(r.type==="rule")return new ep(r);if(r.type==="comment")return new Ym(r);if(r.type==="atrule")return new Km(r);throw new Error("Unknown node type: "+e.type)}Fl.exports=An;An.default=An});var oo=Z((ky,Pl)=>{"use strict";var{dirname:mr,relative:kl,resolve:Ml,sep:Dl}=ur(),{SourceMapConsumer:Il,SourceMapGenerator:pr}=cr(),{pathToFileURL:Nl}=Xi(),tp=Cn(),np=!!(Il&&pr),rp=!!(mr&&Ml&&kl&&Dl),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 Il(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(),rp&&np&&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(Ml(r,this.mapOpts.annotation)));let i=kl(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 tp(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(Nl){let r=Nl(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;Dl==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Pl.exports=io});var Hl=Z((My,Gl)=>{"use strict";var hr=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,gr=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ip=/.[\\r\\n"\'(/\\\\]/,Ol=/[\\da-f]/i;Gl.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,x,v,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(v=w.length?w.pop()[1]:"",x=r.charCodeAt(y+1),v==="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||ip.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,Ol.test(r.charAt(s)))){for(;Ol.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 Vl=Z((Dy,Wl)=>{"use strict";var op=sr(),ap=yn(),sp=vn(),lp=Ot(),Bl=fr(),up=Hl(),Ul={empty:!0,space:!0};function cp(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 lp,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 op;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 ap;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=up(this.input)}decl(t,n){let r=new sp;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]||cp(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 Bl;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",!Ul[m]&&!Ul[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((x,v)=>x+v[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Bl;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})}};Wl.exports=ao});var br=Z((Iy,zl)=>{"use strict";var dp=at(),fp=Cn(),mp=Vl();function xr(e,t){let n=new fp(e,t),r=new mp(n);try{r.parse()}catch(i){throw i}return r.root}zl.exports=xr;xr.default=xr;dp.registerParse(xr)});var so=Z((Py,$l)=>{"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}};$l.exports=wn;wn.default=wn});var yr=Z((Oy,ql)=>{"use strict";var pp=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 pp(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};ql.exports=Tn;Tn.default=Tn});var lo=Z((Gy,Kl)=>{"use strict";var jl={};Kl.exports=function(t){jl[t]||(jl[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var fo=Z((By,Ql)=>{"use strict";var hp=at(),gp=lr(),xp=oo(),bp=br(),Yl=yr(),yp=Ot(),Sp=pn(),{isClean:Ke,my:vp}=ar(),Hy=lo(),Ep={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Cp={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},_p={Once:!0,postcssPlugin:!0,prepare:!0},Ht=0;function Rn(e){return typeof e=="object"&&typeof e.then=="function"}function Jl(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 Xl(e){let t;return e.type==="document"?t=["Document",Ht,"DocumentExit"]:e.type==="root"?t=["Root",Ht,"RootExit"]:t=Jl(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 Yl)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=bp;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[vp]&&hp.rebuild(i)}this.result=new Yl(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(!Cp[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!_p[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=[Xl(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=Sp;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 xp(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(Xl(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=Jl(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};Ql.exports=lt;lt.default=lt;yp.registerLazyResult(lt);gp.registerLazyResult(lt)});var eu=Z((Wy,Zl)=>{"use strict";var Ap=oo(),wp=br(),Tp=yr(),Rp=pn(),Uy=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=wp;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=Rp;this.result=new Tp(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 Ap(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[]}};Zl.exports=Fn;Fn.default=Fn});var nu=Z((Vy,tu)=>{"use strict";var Fp=lr(),Lp=fo(),Np=eu(),kp=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 Np(this,t,n):new Lp(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};tu.exports=bt;bt.default=bt;kp.registerProcessor(bt);Fp.registerProcessor(bt)});var cu=Z((zy,uu)=>{"use strict";var ru=sr(),iu=yn(),Mp=at(),Dp=or(),ou=vn(),au=lr(),Ip=Ll(),Pp=Cn(),Op=fo(),Gp=ro(),Hp=xn(),Bp=br(),mo=nu(),Up=yr(),su=Ot(),lu=fr(),Wp=pn(),Vp=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=Wp;le.parse=Bp;le.fromJSON=Ip;le.list=Gp;le.comment=e=>new iu(e);le.atRule=e=>new ru(e);le.decl=e=>new ou(e);le.rule=e=>new lu(e);le.root=e=>new su(e);le.document=e=>new au(e);le.CssSyntaxError=Dp;le.Declaration=ou;le.Container=Mp;le.Processor=mo;le.Document=au;le.Comment=iu;le.Warning=Vp;le.AtRule=ru;le.Result=Up;le.Input=Pp;le.Rule=lu;le.Root=su;le.Node=Hp;Op.registerPostcss(le);uu.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 wd=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function Td(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 Rd(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=Td(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:wd,fps:Rd(e)}}function Fd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ca(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||!Fd(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var da=30;function fa(e){da=Number.isFinite(e)&&e>0?e:30}function xe(e){try{window.parent.postMessage({...e,...zn(da)},"*")}catch(t){F("bridge.postMessage",t)}}var Ld={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Nd(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=>Md(e)};function Nd(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 kd(e){let t=ca(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 Md(e){let t=e.selectors,n=e.duration||800;t&&Dd(t,n)}function ma(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||kd(r))return;let i=r.action;if(typeof i!="string")return;let o=Ld[i];o&&o(r,e)};return window.addEventListener("message",t),xe({source:"hf-preview",type:"ready"}),t}function Dd(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 pa(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 Id(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`--${Id(e)}`}function ha(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 ga(){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 xa(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 ba(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 ya(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(...Pd(i,n,e.defaultView));for(let i of ha(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${At(i[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Pd(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 Sa(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 va(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,v=m.animations;if(v.length>0){o(v,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 Ca(){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 Aa(){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=Od(r)}catch(o){F("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function _a(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Od(e){return ri(e)?_a(e.totalFrames,e.frameRate):ii(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:_a(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 wa(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,wa(e))}function Yn(e){oi=e,wa(e)}function Ta(){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 Ra(){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 Fa(){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 La(){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 Na(){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 ka(){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 Ma(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var Gd=250;function Da(){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&&(Ta()||(window.__hfTypegpuTime=e,Yn(e)))},Gd))};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 Ia(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 Pa(){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=Ia(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Oa(){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=Ia(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Ga(){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)},v=()=>{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,v(),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 Ha(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 Hd(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 Bd(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 Ud(e,t,n,r){let{start:i,end:o,staticVolume:a}=Bd(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 v=Number(e.volume);if(Number.isFinite(v)){let C=Math.max(0,Math.min(1,v)),y={time:Number(x.toFixed(6)),volume:Number(C.toFixed(6))};Hd(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 Ba(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=Ud(e,o,n,60);Number.isFinite(a)&&o(a),l&&r.set(e,l)}function Ua(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 Ua(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 Wa(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 Va(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,v=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(v)?v: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 Wd(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 Vd=3;function zd(e){return e.error!=null||e.networkState===Vd}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 za(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(Ha(n.volumeKeyframes,i)):m===void 0||Math.abs(f-m)>1e-4?x=f:x=c;let v=en(x*u);r.volume=v,ci.set(r,v),e.onElementVolume?.(r,v),(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)&&!zd(r)?(Wd(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 $d="hf-proxy",$a="runtime_media_proxy_fallback",qa="runtime_media_proxy_unavailable",nn=new WeakSet,ja=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 qd(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 jd(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]??qd(e,t)??jd(e,t)}function Kd(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set($d,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Yd={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(ja.has(e))return;ja.add(e);let r=Yd[t];xe({source:"hf-preview",type:"diagnostic",code:qa,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${qa}: "${n}" (${t}): ${r}`)}function hi(e,t=null,n="reactive"){if(nn.has(e))return;let r=Jn(e),i;try{i=Kd(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:$a,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] ${$a}: "${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 Ka(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 Ya(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 Xa(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}},Xd=[0,0,0],Jd=[1,1,1],Qn=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 Ja(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 Qa(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 Zd(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 ef(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 tf(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Za(e,t={}){let n=t.maxSize??Qn,r=null,i=Xd,o=Jd,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 v=x.split(/\\s+/),C=(v[0]??"").toUpperCase(),y=v.slice(1);if(C==="TITLE"){r=ef(x);continue}if(C==="DOMAIN_MIN"){i=Ja(y,C,f);continue}if(C==="DOMAIN_MAX"){o=Ja(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=Qa(y[0],C,f);continue}if(C==="LUT_3D_SIZE"){if(l=Qa(y[0],C,f),l>n)throw new be(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!tf(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(v.length!==3)throw new be("LUT data rows must contain three numbers",f);s.push(nt(v[0],f),nt(v[1],f),nt(v[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");Zd(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 nf(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function rn(e){return Math.round(nf(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 es="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 ts=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],ns=["shadows","midtones","highlights"],rs=["master","red","green","blue"],is=["hueVsHue","hueVsSaturation","hueVsLuma"];var os=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],as=["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 rb=ce.unit,ib=ce.signedUnit,ob=ce.effects;var je=1024,on=16;function ss(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 rf(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]=ss(ye(t,0),ye(t,1),i,ye(n,1)),o[o.length-1]=ss(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 ls(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 of(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 af(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 us(e,t,n,r,i){of(e,r,i);let o=rf(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=af(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(ls(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 us(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 ls(l,r),us(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",ps="__hf_color_grading_",lf=es,vi={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Ei={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=ts,hs=ns,gs=rs,xs=is,Ai=os,wi=as,cs={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},ds={vignette:.18};function Se(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...vi,...n},details:{...Ei,...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",cs,ds),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",cs,{...ds,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})],uf=new Map(Ti.map(e=>[e.id,e])),cf=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,df={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},fs={amount:ce.unit,level:ce.signedUnit},rt=[[0,0],[1,1]],Nt=[],ff={hueVsHue:ce.secondaryHueShift,hueVsSaturation:ce.signedUnit,hueVsLuma:ce.signedUnit},yi={center:0,range:180,softness:0},Si={min:0,max:1,softness:.05},mf={vignette:ce.unit,vignetteMidpoint:ce.unit,vignetteRoundness:ce.signedUnit,vignetteFeather:ce.unit,grain:ce.unit,grainSize:ce.unit,grainRoughness:ce.unit},_i=ce.unit,pf=ce.effects,bs=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var hf=Ti.filter(e=>bs.some(t=>e.effects[t]>1e-4)),mb=Ti.filter(e=>!hf.includes(e)),pb={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}},ys=[{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 gf=/^#[0-9a-f]{6}$/i;function xf(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&gf.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 Ss(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 bf(e){let t=Ce(e)?e:{};return hs.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,fs.amount),level:we(i.level??Lt.level,fs.level)},n},{shadows:{...Lt},midtones:{...Lt},highlights:{...Lt}})}function yf(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 vs(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function Sf(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function vf(e){if(!Array.isArray(e)||e.length<2)return rt;let t=[];for(let n of e){let r=yf(n);if(!r)return rt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),vs(t)||(Sf(t),t.length>16)?rt:t}function Ef(e){let t=Ce(e)?e:{};return gs.reduce((n,r)=>(n[r]=vf(t[r]),n),{master:rt,red:rt,green:rt,blue:rt})}function Cf(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 _f(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Nt;let n=[];for(let r of e){let i=Cf(r,t);if(!i)return Nt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),vs(n)?Nt:n}function Af(e){let t=Ce(e)?e:{};return xs.reduce((n,r)=>(n[r]=_f(t[r],ff[r]),n),{hueVsHue:Nt,hueVsSaturation:Nt,hueVsLuma:Nt})}function ms(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 wf(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 Tf(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 Rf(e){return!Ce(e)||!Ce(e.key)||!Ce(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:wf(e.key.hue),saturation:ms(e.key.saturation),luma:ms(e.key.luma)},correction:Tf(e.correction)}}function Ff(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Rf(n);r&&t.push(r)}return t}function Lf(e){if(e==null)return null;let t=String(e).trim();return t||null}function Nf(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:Ss(e.intensity,1)}}function kf(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 Mf(e,t){let n=e.trim().match(cf);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=Mf(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 Df(e){return e?uf.get(e)??null:null}function rr(e){let t=kf(e);if(!t||t.enabled===!1)return null;let n=Lf(t.preset),r=Df(n),i=r?.adjust??vi,o=r?.details??Ei,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,v)=>(x[v]=we(l[v]??i[v],df[v]),x),{...vi}),m=Ai.reduce((x,v)=>(x[v]=we(s[v]??o[v],mf[v]),x),{...Ei}),f=wi.reduce((x,v)=>(x[v]=we(u[v]??a[v],pf[v]??_i),x),{...Ci});return{enabled:!0,preset:n,intensity:Ss(t.intensity,r?.intensity??1),adjust:c,wheels:bf(t.wheels),curves:Ef(t.curves),hueCurves:Af(t.hueCurves),secondaries:Ff(t.secondaries),details:m,effects:f,palette:xf(t.palette),lut:Nf(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():lf}}function Es(e,t){return rr(Zn(e,t))}function If(e){return hs.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Fi(e){return gs.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Li(e){return xs.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 Cs(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||bs.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?If(e.wheels):!1)||(e.curves?Fi(e.curves):!1)||(e.hueCurves?Li(e.hueCurves):!1)||(e.secondaries?Ni(e.secondaries):!1):!1}var Pf=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Of=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function _s(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(Pf)||u(b))}function m(b){return!!b?.closest(Of)}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 v(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 v(b,S,A).map(C)}function w(b){if(!t)return;let A=v(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 Gf=["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 As(e,t,n=Gf){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 ws(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 Hf(e,t,n,r,i){let o=[];un(e,t,a=>{Be(a,"play"),o.push(a)});try{return ws(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){F("runtime.player.site2",l)}}}function Bf(e,t){un(e,t,n=>{Be(n,"play")})}function Ts(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=Hf(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?(Bf(e.getTimelineRegistry?.(),i),ws(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 Rs(){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 Uf=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 Wf(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 Vf(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 zf(e,t,n,r){let i=ki(e.getAttribute("data-duration"));return i!=null&&i>0?i:Wf(e,t)??Vf(e)??Math.max(0,n-r)}function $f(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 Fs(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||Uf.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(zf(l,n,r,s)<=0)continue;let u={id:Mi(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return $f(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var Di="css:root",Ls=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],qf=new Set([...Ls,"contain","isolation","mask-border","mix-blend-mode","opacity"]),jf=new Set(["absolute","relative"]),Kf=new Set(["flex","inline-flex","grid","inline-grid"]),Yf=new Set(["layout","paint","strict","content"]),Xf=new Set(["size","inline-size"]);function Jf(e){return e.position==="fixed"||e.position==="sticky"}function Qf(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(jf.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&Kf.has(n)}function Zf(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:Ls.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function em(e){return e.getPropertyValue("contain").split(/\\s+/).some(n=>Yf.has(n))?!0:Xf.has(e.getPropertyValue("container-type"))}function tm(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>qf.has(t))}function nm(e,t){return Jf(t)||Qf(e,t)||Zf(t)||em(t)?!0:tm(t)}function rm(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(nm(n,t.getComputedStyle(n)))return rm(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"}),Tb=Object.freeze([Mt.start,Mt.duration,Mt.trackIndex]),Rb=Object.freeze([Mt.derivedEnd]),Fb=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 ks=/^[A-Za-z0-9_.:-]+$/;function Ms(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Ns(e,t){let n=t;for(;n>=0&&Ms(e,n);)n--;return n}function im(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function om(e){let t=e.length-1;if(!Ms(e,t))return null;let n=Ns(e,t);return e[n]==="."&&(n=Ns(e,n-1)),n+1}function am(e){let t=om(e);if(t==null)return null;let n=im(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!ks.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(ks.test(t))return{kind:"reference",refId:t,offset:0};let r=am(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}var sm="data-hf-authored-duration",lm="data-hf-authored-end";function um(e){return ke(e.getAttribute("data-duration"))}function cm(e){return ke(e.getAttribute("data-end"))}function dm(e){return ke(e.getAttribute(sm))}function fm(e){return ke(e.getAttribute(lm))}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 v=null,C=um(f)??(n?dm(f):null);if(C!=null&&C>0&&(v=C),v==null||v<=0){let y=cm(f)??(n?fm(f):null);if(y!=null){let w=m(f,0),T=y-w;Number.isFinite(T)&&T>0&&(v=T)}}if((v==null||v<=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&&(v=(f.duration-y)/qe(f))}if(v==null||v<=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&&(v=T)}catch(T){F("runtime.startResolver.site1",T)}}}return v!=null&&Number.isFinite(v)&&v>0?(o.set(f,v),v):(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 v=f.closest("[data-composition-id]");return v?m(v,x):0},m=(f,x)=>{let v=i.get(f);if(v!==void 0)return v??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 pm="data-hf-authored-duration",hm="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(pm))}function Ds(e){return Te(e.getAttribute("data-end"))??Te(e.getAttribute(hm))}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 Is(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 gm(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 xm(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 bm(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 ym(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=gm(e);if(a)return cn(a);let l=xm(Is(e));if(l)return cn(l);let s=bm(e);return s||`${cn(t)} ${n+1}`}function Ps(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,v=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 v=="number"&&Number.isFinite(v)&&v>0?v: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:ym(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:Is(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)&&Ds(B)!=null){let j=Ds(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",Sm="data-composition-src",vm=`[${Ui}]`,ny=`[${Sm}]`,Os="style",Gs="script",Em=\'link[rel="stylesheet"], link[rel="preconnect"]\';function Dt(e){return e?Array.from(e):[]}function Hs(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=Dt(t.querySelectorAll(vm)),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(Os)),...Dt(t.querySelectorAll(Os))],scriptSources:[...Dt(u?.querySelectorAll(Gs)),...Dt(t.querySelectorAll(Gs))],linkSources:Dt(n?.querySelectorAll(Em)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var de=Ad(cu(),1),du=de.default,$y=de.default.stringify,qy=de.default.fromJSON,jy=de.default.plugin,Ky=de.default.parse,Yy=de.default.list,Xy=de.default.document,Jy=de.default.comment,Qy=de.default.atRule,Zy=de.default.rule,eS=de.default.decl,tS=de.default.root,nS=de.default.CssSyntaxError,rS=de.default.Declaration,iS=de.default.Container,oS=de.default.Processor,aS=de.default.Document,sS=de.default.Comment,lS=de.default.Warning,uS=de.default.AtRule,cS=de.default.Result,dS=de.default.Input,fS=de.default.Rule,mS=de.default.Root,pS=de.default.Node;var po="data-hf-authored-id",fu="data-hf-inner-root";function ho(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function go(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zp(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function pu(e){let t=e.trim();return t?Array.from(new Set([t,zp(t)])).filter(Boolean):[]}function $p(e){return!!e&&/[\\w-]/.test(e)}function qp(e,t,n){let r=pu(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(!$p(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function jp(e,t){let n=t?.trim();return n?qp(e,n,`[${po}="${go(n)}"]`):e}function mu(e){return`${e}:not(:has([${fu}])), ${e} > [${fu}]`}function Kp(e,t,n,r,i,o){let a=jp(e,r),l=Yp(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?mu(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()===""?mu(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 Yp(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 Xp=new Set(["keyframes","-webkit-keyframes","font-face"]);function Jp(e){return e?.type==="atrule"}function Qp(e){let t=e.parent;for(;t;){if(Jp(t)&&Xp.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 hu(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${go(o)}"]`,l=du.parse(e);return l.walkRules(s=>{Qp(s)||Zp(s)||(s.selectors=s.selectors.map(u=>Kp(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function gu(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*\\]`),v=JSON.stringify(pu(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 = ${v};\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 e0=["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 xu(e){let t=e.getAttribute("id")?.trim();for(let n of e0)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var t0=8e3,n0=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,r0=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,i0=["src","href"];function o0(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function Su(e,t){if(!t)return e;let n=e.trim();if(o0(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function vu(e,t){return!t||!e?e:e.replace(r0,(n,r,i)=>{let o=Su(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function a0(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of i0){let i=n.getAttribute(r);if(i==null)continue;let o=Su(i,t);o!==i&&n.setAttribute(r,o)}}function s0(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=vu(r,t);i!==r&&n.setAttribute("style",i)}}function l0(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=vu(r,t);i!==r&&(n.textContent=i)}}function Eu(e,t){if(t){a0(e,t),s0(e,t),l0(e,t);for(let n of Array.from(e.querySelectorAll("template")))Eu(n.content,t)}}function u0(e,t){return`${e}__hf${t}`}var c0=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"),t0)});function xo(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function bu(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function d0(e){let t=document.importNode(e,!0);xu(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 f0(e,t){let n=e.trim();if(!n)return e;try{return n0.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 yu(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 m0(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 Cu(e){let t=Sr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function p0(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function h0(e){return e.hasAttribute("data-composition-src")?!0:Cu(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:p0(e):!1}function yo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:Cu(t))}function _u(){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 Au(e,t=m0(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=Sr(i),l=h0(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?u0(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=Hs({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 v=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&yu(v,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(v)}"]`))continue;let C=f.cloneNode(!0);C instanceof HTMLLinkElement&&(C.href=v,document.head.appendChild(C),e.injectedLinks.push(C))}(f=>{for(let x of f){let v=x.cloneNode(!0);v instanceof HTMLStyleElement&&(i&&(v.textContent=hu(v.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(v),e.injectedStyles.push(v))}})(t.styleSources);let c=f=>{let x=f.getAttribute("type")?.trim()??"",v=f.getAttribute("src")?.trim()??"";if(v){let y=f0(v,e.compositionUrl);return e.compositionUrl&&yu(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"),v=e.parseDimensionPx(f),C=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),v&&e.host instanceof HTMLElement&&(e.host.style.width=v),C&&e.host instanceof HTMLElement&&(e.host.style.height=C),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let y=d0(n);!e.authoredCompositionId&&i&&y.setAttribute("data-composition-id",i),bu(y),e.host.appendChild(y)}else if(e.hasTemplate){let f=document.importNode(r,!0);bu(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&g0(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=gu(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 v=await c0(x);v.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:v.status,elapsedMs:v.elapsedMs}})}}}async function wu(e){let t=yo();if(_u(),t.length===0)return;let n=Au(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 Tu(e){let t=yo();if(_u(),t.length===0)return;let n=Au(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(),v=new DOMParser().parseFromString(f,"text/html");Eu(v,u);let C=(l?v.querySelector(`template#${CSS.escape(l)}-template`):null)??v.querySelector("template"),y=C?C.content:v.body;await bo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:y,hasTemplate:!!C,fallbackBodyInnerHtml:v.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:v.head,declaredVariableDefaults:Zt(v.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 g0(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?Zt(t):{}),...Sa(e.host)};ba(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,ni(e.host,{...xa(e.host,i,window),...qn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function So(e){let n=e.vars.data?.captionState;return n==="dim"||n==="active"?n:void 0}function x0(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function b0(){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 y0(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 vo(){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=b0();for(let r of t){let i=null;if(r.wordId&&(i=x0(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(m=>m.vars.color!==void 0).sort((m,f)=>m.startTime()-f.startTime()),u=s.find(m=>So(m)==="dim")??s.find(m=>So(m)===void 0),c=u?String(u.vars.color):"";for(let m of s)(So(m)??(String(m.vars.color)===c?"dim":"active"))==="dim"?r.dimColor&&(m.vars.color=r.dimColor):r.activeColor&&(m.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=y0(i);e.set(l,o)}}}).catch(()=>{})}var Co="data-hf-edit-base-x",_o="data-hf-edit-base-y",Bt="data-hf-edit-original-translate",vr=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},S0=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},Ru=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Eo=(e,t)=>Ru.test(e)&&Ru.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,v0=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=S0(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{}},C0=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""}},Ao=new WeakMap;function _0(e,t){let n=Ao.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=vr(e.getAttribute("data-x"))-vr(e.getAttribute(Co)),i=vr(e.getAttribute("data-y"))-vr(e.getAttribute(_o));e.hasAttribute(Bt)||e.setAttribute(Bt,C0(e)),n===void 0&&E0(e);let o=e.getAttribute(Bt)??"",a=v0(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),Ao.set(e,e.style.getPropertyValue("translate"))}function Er(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([${Co}]):not([${_o}])`);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),Ao.delete(u)}let a=e.querySelectorAll(`[${Co}], [${_o}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(_0(u,t),l+=1)}return l}var Fu="__hfPositionEditsSeekReapplyWrapped",Lu=new WeakSet,Nu=new WeakMap,ku=new WeakMap;function Mu(e){let t=e,n=()=>{try{Er(t.document)}catch{}},r=m=>typeof m=="function"&&(Lu.has(m)||!!m[Fu]),i=m=>{Lu.add(m);try{Object.defineProperty(m,Fu,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...x){let v=m.apply(this,x);return n(),v};return i(f),f},a=(m,f)=>{let x=Nu.get(m);if(x?.has(f))return!0;let v=Object.getOwnPropertyDescriptor(m,f);if(v?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let C=m[f],y=v?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:v?.enumerable??!0,get:()=>C,set:w=>{C=o(w),y?.call(m,w)}}),C=o(C),x??(x=new Set),x.add(f),Nu.set(m,x),n(),!0},l=(m,f)=>{let x=ku.get(t),v=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(v?.configurable===!1){let w=t[m];return w?a(w,f):!1}let y=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:v?.enumerable??!0,get:()=>y,set:w=>{y=w,y&&a(y,f)}}),x??(x=new Set),x.add(m),ku.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 Du=new Set(["img","video","audio","source"]);function A0(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 w0(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 T0(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function R0(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 wo(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 F0(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 L0(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function N0(e,t){let n=new Set,r=L0(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=wo(i,t);for(let[a,l]of Object.entries(o)){let s=R0(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,T0(s))}}}function To(e){let t=new Map;N0(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(!Du.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Du).join("/")}.`);continue}let i=A0(wo(n,t)[r]);if(i!==null){if(!w0(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=wo(n,t)[r];_r(i)&&F0(n,String(i))}}var Qe=new Map,k0="data-hf-color-grading-canvas",M0="__hf_color_grading_canvas__";function $u(){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 D0=16,I0=4,Wt={enabled:!1,position:.5,softness:0,lineWidth:2},Ro=["#000000","#ffffff"],P0=["#1a1a1a","#f5f5dc"],In=3,O0=In-1,G0=5,Fo=`${je}.0`,Iu=`${je-1}.0`,H0=`${In}.0`,B0=`${(O0+.5)/In}`;function Ar(e){let t=e.getAttribute(an);return t==null?null:Es(t,Cr(e))}var U0=["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`),W0=["#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) * ${Iu};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Iu});`,` float y = (row + 0.5) / ${H0};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${Fo}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${Fo}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${Fo}, ${B0}));`,"}","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`),V0=["#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`),z0=["#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`),$0=["#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 Pu(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Ou(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=W0){let n=Ou(e,U0,e.VERTEX_SHADER),r=Ou(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 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"),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 j0(e,t){let n=Lr(e,z0);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 K0(e,t){let n=Lr(e,$0);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 Lo(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 Gu(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Do(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 Gu(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:Lo(t,n,nr),detailUniforms:Lo(t,n,Ai),effectUniforms:Lo(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")}}):(Gu(t,n,[r,i,o]),null)}function Y0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function X0(e){if(!Y0(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 qu(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 J0(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 ju(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return J0(t)}function Io(e){let t=qu(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=>Za(o,{maxSize:Qn})),i={state:"pending",promise:r};for(;Qe.size>=D0;){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 Hu(e,t,n){if(e.lut?.src===t)return e.lut;let r=gi(n),{gl:i,program:o}=e;try{return Ku(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 Q0(e){let t=Io(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function Ku(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 Z0(e,t,n){let r=gi(n),{gl:i,program:o}=e;return Ku(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 Po(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 Oo(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){Po(e),Oo(e),eh(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function eh(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function th(e){let t=Do(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 Mo(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 nh(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=q0(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 rh(e,t){return t.bloom||(t.bloom=kn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Bu(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function ih(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=j0(t,e.program.quad),o=K0(t,e.program.quad),a=kn(t,n.HALF_FLOAT_OES,t.NEAREST),l=kn(t);return!i||!o||!a||!l?(oh(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 oh(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Yu(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 ah(e,t,n,r,i,o,a){let l=Yu(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 sh(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 lh(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 uh(e,t,n,r){if(n<=0)return!1;let i=Yu(e.gl,t.scratch,t.blur,r.width,r.height);return sh(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function ch(e,t,n,r,i,o){if(n<=0)return Bu(e),null;o||Bu(e);let a=o?rh(e,t):t.blur;return a?(ah(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function dh(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&&Po(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=nh(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=uh(e,l,o,n),u=ch(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function fh(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&Oo(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=ih(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(lh(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 Xu(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=dh(e,t,n,o),l=fh(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function mh(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=qu(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=Io(t);return i.state==="ready"?Hu(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||(Hu(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 Ju(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 Zu(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Qu(t)?t:null}function Uu(e){if(!(e instanceof HTMLVideoElement))return!1;let t=Zu(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function ph(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function hh(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function ec(e){if(e instanceof HTMLVideoElement){let t=Zu(e);if(t)return t}return Qu(e)?e:null}function Wu(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 gh(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=Wu(o,"x"),l=Wu(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 tc(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=gh(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 xh(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Vu(e,t){return Math.max(0,Math.round(e>0?e:t))}function bh(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&xh(e,i);let o=window.getComputedStyle(t);As(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=Vu(n.offsetWidth,a.width),s=Vu(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 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 No(e,t,n){return e.length>=3?bi(e,t,n):new Float32Array(je)}function yt(e,t){return e[t]??0}function yh(e,t,n){let r=Ft(t.red),i=Ft(t.green),o=Ft(t.blue),a=Ft(t.master),l=No(n.hueVsHue,-180,180),s=No(n.hueVsSaturation,-1,1),u=No(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 Sh(e,t,n){let r=n*G0;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 vh(e,t,n){let r=new Float32Array(je*In*4);yh(r,e,t);let i=0;for(let o of n)o.enabled&&(Sh(r,o,i),i+=1);return r}var zu=new WeakMap;function Eh(e,t,n){let r=zu.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return zu.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function Ch(e,t,n,r){let{curves:i,hueCurves:o}=n,a=Eh(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(vh(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 ko(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function nc(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:v}=n,C=Fi(f),y=Li(x),w=Ni(v)?v.reduce((D,P)=>D+Number(P.enabled),0):0;(C||y||w>0)&&Ch(e,t,n,v),ko(e,t.shadowWheel,n.wheels.shadows),ko(e,t.midtoneWheel,n.wheels.midtones),ko(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?P0:Ro),k=T[T.length-1]??Ro[1];e.uniform1f(t.paletteSize,T.length),Ut(e,t.palette0,T[0]??Ro[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 _h(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=ys.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var rc=Ze("intensity"),ic=Ze("lut.intensity"),oc=Ze("adjust.exposure"),ac=Ze("effects.kuwahara"),sc=[["blur",Ze("effects.blur")],["bloom",Ze("effects.bloom")],["kuwahara",ac],["pixelate",Ze("effects.pixelate")],["ascii",Ze("effects.ascii")],["dither",Ze("effects.dither")]],lc=[rc,ic,oc,...sc.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 Nn(e,t){return t!==null&&(Cs(t)||lc.some(n=>Et(e,n)!==null))}function Ah(e,t){let n=null;for(let[r,i]of sc){let o=Et(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function wh(e){let{element:t,grading:n}=e,r=Et(t,rc),i=Et(t,ic),o=Et(t,oc),a=Ah(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 uc(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 cc(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=ec(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=Ju(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=ph(t);if(s&&hh(e,t),s||!a){let v=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=v.opacity||"1",e.sourceVisibleForCanvas=(s||l!=="hidden")&&v.visibility!=="hidden"}let u=bh(e,r);if(!u)return!1;let c=window.getComputedStyle(r),m=tc(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let v=wh(e),C=mh(e);uc(f,x.texture,t);let y=Et(e.element,ac)!==null,w=Xu(e,v,u,m,{preserveKuwahara:y});f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),cc(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 nc(f,x,v,C,w.blurReady,w.bloomReady,w.kuwaharaReady,e.compare,u,m,D,k),Mn(f,x),_h(e),e.hasDrawn=!0,e.drawError=null,!0}catch(v){return e.drawError=v instanceof Error?v.message:"Shader draw failed",F("runtime.colorGrading.drawEntry",v),!1}}function Th(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 Rh(){let e=document.createElement("canvas"),t=Do(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Fh(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 Lh(e,t,n,r){let i=ec(t);if(!i)return null;let o=Ju(i);if(!o)return null;let a=Th(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=tc(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return uc(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Fh(t,r),grainSeed:ju(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Nh(e,t,n,r,i=!1){let o=Lh(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=Z0(e,f.lut.src,await Q0(f.lut.src))),x=e.lut),c.push({id:m.id,dataUrl:kh(e,f,x,a,l,s,u)})}catch(v){c.push({id:m.id,dataUrl:null,error:Nr(v)})}}return{...a,images:c}}function kh(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=Xu(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),cc(s,u,c),n||(e.lut=null),nc(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 Mh(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 Dh(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",Mo(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!th(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",Mo(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 Ih(e){if(e.destroyed)return null;e.destroyed=!0,Mh(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Po(e),Oo(e),Mo(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 dc(e,t){return e.removeAttribute("style"),t.id?e.id=`${ps}${t.id}`:e.removeAttribute("id"),e.className=M0,e.setAttribute(k0,"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 Ph(e){return dc(document.createElement("canvas"),e)}function fc(){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)dc(R.canvas,_);else{let G=Ph(_),U=Do(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:ju(_),destroyed:!1};return e.set(_,N),t.add(_),Dh(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=X0(b),Me(A),!0):!1},u=_=>{let b=e.get(_);if(!b)return;let S=Ih(b);S&&(b.contextLost||n.length>=I0?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)&&(Pu(S)||Uu(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=Io(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||!lc.some(R=>Et(b,R)!==null)||b instanceof HTMLVideoElement&&!b.paused&&!b.ended||Me(S)&&(_+=1)}return _},v=(_,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)?!Pu(b)&&!Uu(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=Rh()),!i)?null:Nh(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:v,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 mc(e){return!Number.isFinite(e)||e<=0?1:e}function Oh(e,t){t||e.paused||!Vn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Gh(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=mc(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,v=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=v,this._rateAnchorComp=o,!Gh(m,{elapsed:x,mediaStart:i,scheduledAt:v,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let C=t.muted;t.muted=!0,Oh(t,C);let y={el:t,sourceNode:m,gainNode:f,compositionStart:r,mediaStart:i,scheduledAt:v,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=mc(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 pc="data-hf-studio-manual-edit-gesture";function hc(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Hh=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function gc(e){return Math.max(0,Math.min(1,e))}function xc(e){let t=Hh.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?gc(n):null}function bc(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=gc(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 Bh=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,Uh=Math.PI*2;function Wh(e){let t=Bh.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 Vh(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(Uh*t*e)}function yc(e,t){let n=Wh(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=>Vh(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var zh=24,Sc=e=>e>=1?1:0,$h=e=>e,Dr=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,qh=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 vc(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function jh(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<zh;l+=1){let s=(o+a)/2;vc(s,t,r)<e?o=s:a=s}return vc((o+a)/2,n,i)}function Kh(e){let t=qh.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=>jh(a,n,r,i,o)}function Yh(e,t){if(!e.startsWith("spring("))return null;let n=xc(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>bc(o,n);return t.set(n,i),i}function Xh(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=Kh(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"?Sc:yc(s,i)??Yh(s,r)??Xh(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)??$h)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",Sc);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 Go="data-hf-authored-duration",Ho="data-hf-authored-end",Cc=!1;function et(e){if(e){if(typeof e.pause!="function"){Cc||(Cc=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){F("runtime.timeline.pause",t)}}}function Jh(){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 _c(){let e=Rs();pa(xe),Er(document),To(document);let t=Jh();e.canonicalFps=t.fps??e.canonicalFps,fa(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)}},v=()=>{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(),v(),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{ya(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=[],E={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:()=>({...E,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"),E=p.getAttribute("data-end");g!=null&&!p.hasAttribute(Go)&&p.setAttribute(Go,g),E!=null&&!p.hasAttribute(Ho)&&p.setAttribute(Ho,E),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 E of g){let L=E.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let O=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",X=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(O&&X&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ve=E.style.top,Jt=E.style.left,Ee=E.style.width,Qt=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let re=window.getComputedStyle(E);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(E.style.top=ve,E.style.left=Jt,E.style.width=Ee,E.style.height=Qt)}let W=window.getComputedStyle(E),se=W.position;if(se!=="absolute"&&se!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||W.top!=="auto"||W.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||W.left!=="auto"||W.right!=="auto"||(E.style.left="0"),L!=="audio"){let ve=N(E.getAttribute("data-width")),Jt=N(E.getAttribute("data-height")),Ee=W.width!=="0px"&&W.width!=="auto",Qt=W.height!=="0px"&&W.height!=="auto";ve?!E.style.width&&!Ee&&(E.style.width=ve):!E.style.width&&W.width==="0px"&&(E.style.width="100%"),Jt?!E.style.height&&!Qt&&(E.style.height=Jt):!E.style.height&&W.height==="0px"&&(E.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 E=ke(d.getAttribute("data-duration")),L=h.inheritedDuration,O=L!=null&&L>0?p+L:null,X=E!=null&&E>0?g+E: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 E=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(Go)||d.hasAttribute(Ho))&&(L==null||L<=0)&&se!=null&&(L=se)}let X=L!=null&&L>0?E+L:Number.POSITIVE_INFINITY;return h>=E&&(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 E=ue(p);E==null||E<=D||(h=Math.max(h,Math.max(0,g)+E))}return h>D?h:null},$=()=>{let d=G();if(!d)return null;let h=window.__timelines??{},p=it({timelineRegistry:h,includeAuthoredTimingAttrs:!0}),g=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(g=E);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(E){F("runtime.init.adapterDuration",E)}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(),E=$(),L=Ve(),O=Math.max(g??0,E??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(),E=$(),L=Math.max(g??0,E??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})(),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(Ee.length>0&&Qt(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(xd=>xd.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:E,selectedTimelineIds:oe,autoNestedChildren:re}}};let Xr=se(L??0,ve),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:E,selectedDurationSeconds:Jr,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:E,selectedDurationSeconds:Re,selectedTimelineIds:[te]}}}}let fe=ie?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(I(pe)?pe:0,E??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:E,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,Jc=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 E=g,L=E.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let O=E.vars?.keyframes,W=(O&&!Array.isArray(O)?O.ease:void 0)??E.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(v(),!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),Jc(e.capturedTimeline);let E=me(e.capturedTimeline,0);if(E<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),et(e.capturedTimeline)),E>0){try{c.setDuration(E)}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(),Er(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=E>0?E: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),Qo(L);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,qt(),zr(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")),E=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:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Zc=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Qc()}))},ed=()=>{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)},td=()=>{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 E=p.tagName.toLowerCase(),L=p.getAttribute("src")??p.getAttribute("href")??p.getAttribute("poster")??null,O=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";T(O,{tagName:E,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}:${E}:${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(()=>{})},nd=(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),E=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),E&&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,Ko=!1,Yo=!1,jt=new Set,Gn=new WeakMap,Hn=()=>{e.tornDown||(ft!=null&&window.clearTimeout(ft),ft=window.setTimeout(()=>{if(e.tornDown||(ft=null,Yo&&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(Ko)return;let p=M(e.capturedTimeline),g=d.selectedDurationSeconds??M(d.timeline);I(g)&&(!I(p)||g>=p+_)&&nd(d,"manual")&&(Ko=!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))},Xo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ya(d.currentTarget)},Jo=d=>{d.currentTarget instanceof HTMLMediaElement&&Xa(d.currentTarget)},rd=()=>{for(let d of jt)d.removeEventListener("loadedmetadata",Hn),d.removeEventListener("durationchange",Hn),d.removeEventListener("loadedmetadata",Xo),d.removeEventListener("error",Jo);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",Xo),h.addEventListener("error",Jo),Ka(h),h.preload!=="auto"&&(h.preload="auto"),h.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&h.load(),Qo(h)}},Qo=d=>{Gn.has(d)||Ba(d,e.capturedTimeline,me(e.capturedTimeline,0),Gn,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Ur=new WeakMap,Zo=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,id=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},od=()=>{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 E=V(g,d);if(E){let L=g.parentElement;for(;L&&L!==p;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!V(L,d)){E=!1;break}L=L.parentElement}}g.style.visibility=E?"visible":"hidden",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,E),E?Zo(g)&&g.style.removeProperty("display"):Zo(g)&&id(g)&&(g.style.display="none")}},Pe=()=>{let d=Va({shouldIncludeElement:p=>p.hasAttribute("data-start")||!!z(p).compositionRoot,resolveStartSeconds:p=>Y(p),resolveDurationSeconds:p=>{let g=z(p),E=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-E):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 Wa({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||za({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="",ea=0,ad=()=>{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")),E=N(d.getAttribute("data-height")),L=g?parseInt(g,10):0,O=E?parseInt(E,10):0;L>0&&O>0&&xe({source:"hf-preview",type:"stage-size",width:L,height:O})}qt();let h=Ps({canonicalFps:e.canonicalFps});window.__clipManifest=h;let p=ad();if($r!==p&&od(),!window.__clipTree||$r!==p){let g=window;window.__clipTree=Fs({startResolver:it({timelineRegistry:g.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:g.__timelines??{},rootDuration:h.durationInFrames/e.canonicalFps}),$r=p}xe(h),Zc()},qr=d=>Number.isFinite(d)&&d>0?d:0,sd=d=>{let h=qr(Number(d));if(h<=0)return;let p=G(),g=qr(Number.parseFloat(p?.getAttribute("data-duration")??"")),E=Math.max(ea,qr(c.getDuration()),g);h<=E||(ea=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,ld=()=>{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},ud=()=>{let d=ld();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)vo();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})}};Tu(d).then(()=>wu(d)).finally(()=>{B=!0,Br(),td(),vo(),To(document),pt()})}let Un=_s({postMessage:d=>xe(d)});Un.installPickerApi(),zr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=fc();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(E){F("runtime.init.site10",E)}},ta={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,sa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&la(),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,sa(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 E=e.capturedTimeline;if(et(E),ht(e.currentTime),Oe("pause"),h?.keepPlaying&&g){ta.play();return}Pe(),ze.redraw(),Fe(!0)},renderSeek:(d,h)=>{Yo=!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),ua()},getPlaybackRate:()=>e.playbackRate},na=me(e.capturedTimeline,0);na>0&&c.setDuration(na);let Ge=Ts({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:ta});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=[Ga(),va({resolveStartSeconds:d=>J(d,0)}),Ca(),Aa(),Ra(),Fa(),La(),Na(),ka(),Ma(),Da(),Ea({getTimeline:()=>e.capturedTimeline})],Pa(),Oa(),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}),ed(),Br(),Oe("discover");let cd=()=>{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??{},E=Object.keys(g).filter(L=>g[L]);if(E.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:E},"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: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${O??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,mt(),Fe(!0)},_t=null,dd=()=>{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,dd();return}if(Oe("discover",e.currentTime),!ud()){window.__renderReady=!1;return}cd()},pt(),B&&setTimeout(()=>{pt()},0);let Wn=0,Kr=!1,fd=(d,h,p,g)=>{try{let E=g?.suppressEvents===!0;et(d),typeof d.totalTime=="function"?d.totalTime(h,E):d.seek(h,E)}catch(E){F(p,E)}},md=(d,h)=>{let p=window.__timelines??{},g=G()?.getAttribute("data-composition-id")??null;for(let[E,L]of Object.entries(p)){if(!L||E===g)continue;let O=document.querySelector(`[data-composition-id="${CSS.escape(E)}"]`);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);fd(L,Le,"runtime.init.transport.childTimeline",h)}},ra=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)}},ia=d=>typeof d=="object"&&d!==null,Xt=new WeakMap,pd=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],oa=(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}},hd=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(!ia(g))continue;let E=g.vars;if(!ia(E)||!pd.some(W=>typeof E[W]=="function"))continue;let X=oa(g,"totalDuration")??oa(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&&ra(p);let E=p,L=d;if(typeof E.totalDuration=="function")try{let O=Number(E.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&&!hd(p)&&(p.totalTime(L+.001,!0),p.totalTime(L,!0))):p.seek(L,g)}catch(O){F("runtime.init.transport.seek",O)}}md(d,h),p&&h?.activateChildren&&ra(p);for(let E of e.deterministicAdapters)if(!(E.name==="gsap"&&p))try{E.seek({time:d,suppressEvents:g})}catch(L){F("runtime.init.transport.adapter",L)}}let gd=()=>{try{return document.querySelector(`[${pc}]`)!=null}catch{return!1}},aa=()=>{if(!(e.tornDown||Kr)){Kr=!0;try{if(e.transportRafId=window.requestAnimationFrame(aa),Wn+=1,hc({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 E=Number.parseFloat(g.dataset.start??""),L=Number.parseFloat(g.dataset.duration??""),O=Number.isFinite(L)&&L>0?E+L:1/0,X=Number.parseFloat(g.dataset.playbackStart??g.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&e.currentTime>=E&&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:E,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()||!gd())&&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}}},sa=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 E=Number.parseFloat(p.dataset.duration??""),L=Number.isFinite(E)&&E>0?g+E: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{}}},la=()=>{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 E=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,E,c.now(),O*e.bridgeVolume,d,e.playbackRate,W)})}};function ua(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),la())}if(e.capturedTimeline){let d=me(e.capturedTimeline,0);d>0&&c.setDuration(d),et(e.capturedTimeline)}Mu(window),e.transportRafId=window.requestAnimationFrame(aa),mt(),Fe(!0),e.controlBridgeHandler=ma({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??""),E=Number.isFinite(g)?g:1;p.volume=E*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),ua()},onSetRootDuration:sd,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),rd(),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 Ac=["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"],Bo=[[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 Qh(e){if(e<=255)return Ac[e];let t=0,n=Bo.length-1;for(;t<=n;){let r=t+n>>1,i=Bo[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Zh(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 v=e.charCodeAt(u+1);v>=56320&&v<=57343&&(m=(c-55296<<10)+(v-56320)+65536,f=2)}let x=Qh(m);(x==="R"||x==="AL"||x==="AN")&&(r=!0);for(let v=0;v<f;v++)n[u+v]=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 wc(e,t){let n=Zh(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 eg=/[ \\t\\n\\r\\f]+/g,tg=/[\\t\\n\\r\\f]| {2,}|^ | $/;function ng(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function rg(e){if(!tg.test(e))return e;let t=e.replace(eg," ");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 ig(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Uo=null,og;function ag(){return Uo===null&&(Uo=new Intl.Segmenter(og,{granularity:"word"})),Uo}var sg=/\\p{Script=Arabic}/u,Ir=/\\p{M}/u,Dc=/\\p{Nd}/u;function Tc(e){return sg.test(e)}function Rc(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(Rc(i))return!0;t++;continue}}if(Rc(n))return!0}}return!1}function lg(e){let t=Gr(e);return t!==null&&(Or.has(t)||ct.has(t))}var ug=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function cg(e){return We(e)}function dg(e){let t=Gr(e);return t!==null&&ug.has(t)}function Pr(e){return!lg(e)&&!dg(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"]),Vo=new Set(["\'","\\u2019"]),ct=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),fg=new Set([":",".","\\u060C","\\u061B"]),mg=new Set(["\\u104F"]),pg=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function hg(e){if(zo(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 gg(e){for(let t of e)if(!Or.has(t)&&!ct.has(t))return!1;return e.length>0}function xg(e){if(zo(e))return!0;for(let t of e)if(!On.has(t)&&!Vo.has(t)&&!Ir.test(t))return!1;return e.length>0}function zo(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Ir.test(n))){if(On.has(n)||ct.has(n)||Vo.has(n)){t=!0;continue}return!1}return t}function Ic(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=Ic(e,e.length);return e.slice(t)}function bg(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)||Vo.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function yg(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Fc(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 Lc(e,t){return e&&t!==null&&fg.has(t)}function Sg(e){let t=Gr(e);return t!==null&&mg.has(t)}function vg(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=Ic(e,t),r=e.slice(n,t);if(pg.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 Cg=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function _g(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function Ag(e,t,n,r){if(!Cg.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 Wo(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var wg=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Tg(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:wg.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Rg(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Fg(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"||!Tg(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Wo(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 Lg(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]),!Rg(a))continue;let l=o+1;if(l>=e.len||Wo(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Wo(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 Ng=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Nc=/^[A-Za-z0-9_]+[,:;]*$/,kc=/[,:;]+$/;function Pc(e){for(let t of e)if(Dc.test(t))return!0;return!1}function Pn(e){if(e.length===0)return!1;for(let t of e)if(!(Dc.test(t)||Ng.has(t)))return!1;return!0}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];if(l==="text"&&Pn(a)&&Pc(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 Mg(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&&Nc.test(a)){let u=[a],c=kc.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Nc.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=kc.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 Dg(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||!Pc(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 Ig(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 Pg(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=bg(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 Mc(e,t,n){let r=ag(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],x=[],v=[],C=[],y=[];for(let _ of r.segment(e))for(let b of Ag(_.segment,_.isWordLike??!1,_.index,n)){let J=function(){c[H]!==null&&(a[H]=[Fc(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,v[H]=U,C[H]=ne,y[H]=Lc(x[H],G)},S=b.kind==="text",A=yg(b.text,b.isWordLike,b.kind),R=We(b.text),N=Tc(b.text),G=Gr(b.text),U=Hr(b.text),ne=Sg(b.text),H=i-1;t.carryCJKAfterClosingQuote&&S&&i>0&&s[H]==="text"&&R&&f[H]&&v[H]||S&&i>0&&s[H]==="text"&&gg(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"&&(hg(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,v[i]=U,C[i]=ne,y[i]=Lc(N,G),i++)}for(let _=0;_<i;_++){if(c[_]!==null){o[_]=Fc(o,c,m,_);continue}o[_]=De(a[_])}for(let _=1;_<i;_++)s[_]==="text"&&!l[_]&&zo(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[_]&&xg(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[_]=_g(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=Ig({len:k,texts:o,isWordLike:l,kinds:s,starts:u}),P=Pg(Mg(Dg(kg(Lg(Fg(D))))));for(let _=0;_<P.len-1;_++){let b=vg(P.texts[_]);b!==null&&(P.kinds[_]!=="space"&&P.kinds[_]!=="preserved-space"||P.kinds[_+1]!=="text"||!Tc(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 Og(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 Gg(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],v=e.isWordLike[m],C=e.starts[m];if(x==="text"){let y=cg(f),w=Pr(f);if(o!==null&&s&&u){o.push(f),a=a||v,s=s||y,u=w;continue}c(),o=[f],a=v,l=C,s=y,u=w;continue}c(),t.push(f),n.push(v),r.push(x),i.push(C)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Oc(e,t,n="normal",r="normal"){let i=ng(n),o=i.mode==="pre-wrap"?ig(e):rg(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Gg(Mc(o,t,i)):Mc(o,t,i);return{normalized:o,chunks:Og(a,i),...a}}var Vt=null,Gc=new Map,zt=null,Hg=96,Bg=/\\p{Emoji_Presentation}/u,Ug=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,$o=null,Hc=new Map;function qo(){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 Wg(e){let t=Gc.get(e);return t||(t=new Map,Gc.set(e,t)),t}function tt(e,t){let n=t.get(e);return n===void 0&&(n={width:qo().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 Vg(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function Bc(){return $o===null&&($o=new Intl.Segmenter(void 0,{granularity:"grapheme"})),$o}function zg(e){return Bg.test(e)||e.includes("\\uFE0F")}function Uc(e){return Ug.test(e)}function $g(e,t){let n=Hc.get(e);if(n!==void 0)return n;let r=qo();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 Hc.set(e,n),n}function qg(e){let t=0,n=Bc();for(let r of n.segment(e))zg(r.segment)&&t++;return t}function jg(e,t){return t.emojiCount===void 0&&(t.emojiCount=qg(e)),t.emojiCount}function dt(e,t,n){return n===0?t.width:t.width-jg(e,t)*n}function Wc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Bc(),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>Hg){let c=[],m=null,f=0;for(let x of a){let v=tt(x,n),C=dt(x,v,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 Vc(e,t){let n=qo();n.font=e;let r=Wg(e),i=Vg(e),o=t?$g(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function Kg(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 Yg(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Xg(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 zc(e,t){return e.simpleLineWalkFastPath?$c(e,t):qc(e,t)}function $c(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,v=0,C=0,y=-1,w=0;function T(){y=-1,w=0}function k(A=v,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,v=A+1,C=0,c=R}function P(A,R,N){m=!0,f=A,x=R,v=A,C=R+1,c=N}function _(A,R){if(!m){D(A,R);return}c+=R,v=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,v=A,C=G+1):P(A,G,U)}m&&v===A&&C===N.length&&(v=A+1,C=0)}let S=0;for(;S<r.length&&!(!m&&(S=Kg(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(v>y||v===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 qc(e,t,n){if(e.simpleLineWalkFastPath)return $c(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,v=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){v++,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}=Xg(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){v++,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"?Yg(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 v}var jo=null;function Jg(){return jo===null&&(jo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),jo}function Qg(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 Zg(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 Jg().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 ex(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 tx(e,t,n,r){let i=$t(),{cache:o,emojiCorrection:a}=Vc(t,Uc(e.normalized)),l=dt("-",tt("-",o),a),u=dt(" ",tt(" ",o),a)*8;if(e.len===0)return Qg(n);let c=[],m=[],f=[],x=[],v=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"&&(v=!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=Wc(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=Zg(S,i),ne=r==="keep-all"?ex(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=nx(e.chunks,T,c.length),_=C===null?null:wc(e.normalized,C);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:v,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:v,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P}}function nx(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 rx(e,t,n,r){let i=r?.wordBreak??"normal",o=Oc(e,$t(),r?.whiteSpace,i);return tx(o,t,n,i)}function jc(e,t,n){return rx(e,t,!1,n)}function Kc(e,t,n){let r=zc(e,t);return{lineCount:r,height:r*n}}var ix={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Yc(e,t){let n={...ix,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=jc(e,o),{lineCount:l}=Kc(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};$u();window.__hyperframes={fitTextFontSize:Yc,getVariables:ga};function Xc(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,_c())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Xc,{once:!0}):Xc();})();\n';
58579
58581
  }
58580
58582
  });
58581
58583
 
@@ -62453,7 +62455,19 @@ var init_canaryRegistry = __esm({
62453
62455
  // ── Real rollouts ────────────────────────────────────────────────────────
62454
62456
  {
62455
62457
  name: "de-parallel-router",
62456
- percentage: 0,
62458
+ // Ramp 5 -> 25 -> 100. This gates the DEFAULT-ON behaviour (uncapped, no
62459
+ // telemetry precondition), not the old capped trial — so 0 means the
62460
+ // router is off for everyone and is a full revert without a release.
62461
+ //
62462
+ // Calibration validated the bucketer first: 9.62%/49.76% against 10%/50%
62463
+ // targets at n=13,547, overrides and CI both attributable, sustained
62464
+ // cohort flips at 0.10% — an order of magnitude under this feature's own
62465
+ // ~2.79% revert rate.
62466
+ //
62467
+ // At each step split revert rate by cpu_count and is_docker. Hold at 5
62468
+ // until PRINFRA-372 is resolved: `--workers auto` crashes every worker on
62469
+ // macOS arm64 while `--workers 1` is clean, and the router forces 3.
62470
+ percentage: 5,
62457
62471
  description: "Route auto multi-worker renders to verified parallel drawElement streaming (HF_DE_PARALLEL_ROUTER). Ramp only alongside the per-install circuit breaker.",
62458
62472
  owner: "vance",
62459
62473
  sunsetAfter: "2026-10-01"
@@ -84971,6 +84985,7 @@ __export(compiler_exports, {
84971
84985
  injectDurations: () => injectDurations,
84972
84986
  injectScriptsAtHeadStart: () => injectScriptsAtHeadStart,
84973
84987
  injectScriptsIntoHtml: () => injectScriptsIntoHtml,
84988
+ injectTagsAtHeadStart: () => injectTagsAtHeadStart,
84974
84989
  inlineSubCompositions: () => inlineSubCompositions,
84975
84990
  isNonRelativeUrl: () => isNonRelativeUrl,
84976
84991
  isPathInside: () => isPathInside,
@@ -90903,6 +90918,9 @@ function resolveCanary(name) {
90903
90918
  decisions.set(name, decision);
90904
90919
  return decision;
90905
90920
  }
90921
+ function isCanaryEnabled(name) {
90922
+ return resolveCanary(name).enabled;
90923
+ }
90906
90924
  function canaryDecisionsForStudio() {
90907
90925
  const out = {};
90908
90926
  for (const canary of CANARIES) {
@@ -96039,9 +96057,13 @@ function hyperframesSkillNames(opts) {
96039
96057
  const lockPath = lockPathForScope(opts.scope, { cwd: opts.cwd, home: opts.home });
96040
96058
  return skillsAttributedToSource(readSkillLock(lockPath), DEFAULT_REPO_SLUG);
96041
96059
  }
96060
+ function manifestCoversSkill(entry) {
96061
+ const path2 = entry?.skillPath;
96062
+ return typeof path2 === "string" && path2.startsWith(MANIFEST_COVERAGE_ROOT);
96063
+ }
96042
96064
  function detectRemoved(root, latest, opts) {
96043
96065
  const lock = readSkillLock(lockPathForScope(root.scope, opts));
96044
- const removed = skillsAttributedToSource(lock, latest.source).filter((name) => !(name in latest.skills)).sort().map((name) => ({ name, status: "removed" }));
96066
+ const removed = skillsAttributedToSource(lock, latest.source).filter((name) => manifestCoversSkill(lock?.skills?.[name])).filter((name) => !(name in latest.skills)).sort().map((name) => ({ name, status: "removed" }));
96045
96067
  return { removed, lockMissing: lock === null };
96046
96068
  }
96047
96069
  function pruneOrphanedLockEntries(names, scope, opts = {}) {
@@ -96150,7 +96172,7 @@ async function checkSkills(opts = {}) {
96150
96172
  lockMissing
96151
96173
  };
96152
96174
  }
96153
- var execFileAsync2, TEXT_EXT, DEFAULT_REPO_SLUG, MANIFEST_FILE, FETCH_TIMEOUT_MS3, ENTRY_SKILL, FALLBACK_CORE_SKILLS, SKILLS_CLI_LOCK_PATHS_VERIFIED_AT;
96175
+ var execFileAsync2, TEXT_EXT, DEFAULT_REPO_SLUG, MANIFEST_FILE, FETCH_TIMEOUT_MS3, ENTRY_SKILL, FALLBACK_CORE_SKILLS, SKILLS_CLI_LOCK_PATHS_VERIFIED_AT, MANIFEST_COVERAGE_ROOT;
96154
96176
  var init_skillsManifest = __esm({
96155
96177
  "src/utils/skillsManifest.ts"() {
96156
96178
  "use strict";
@@ -96186,6 +96208,7 @@ var init_skillsManifest = __esm({
96186
96208
  "media-use"
96187
96209
  ];
96188
96210
  SKILLS_CLI_LOCK_PATHS_VERIFIED_AT = "vercel-labs/skills@v1.5.13";
96211
+ MANIFEST_COVERAGE_ROOT = "skills/";
96189
96212
  }
96190
96213
  });
96191
96214
 
@@ -96840,7 +96863,7 @@ var init_skills = __esm({
96840
96863
  return;
96841
96864
  }
96842
96865
  try {
96843
- const { skills, scope } = await checkSkills({ dir, source });
96866
+ const { skills, scope } = await checkSkills({ dir, source, canonical: true });
96844
96867
  const removed = skills.filter((s2) => s2.status === "removed").map((s2) => s2.name);
96845
96868
  if (removed.length) {
96846
96869
  console.log();
@@ -125819,6 +125842,11 @@ function resolveInversionRetryPlan(args) {
125819
125842
  deWorkerInversion: "reverted"
125820
125843
  };
125821
125844
  }
125845
+ function isDeParallelRouterEnabled(env) {
125846
+ const raw = env.HF_DE_PARALLEL_ROUTER?.trim().toLowerCase();
125847
+ if (raw === void 0 || raw === "") return true;
125848
+ return !(raw === "false" || raw === "0" || raw === "off" || raw === "no");
125849
+ }
125822
125850
  function shouldPreferParallelDrawElement(args) {
125823
125851
  return args.routerEnabled && args.parallelStreamingAvailable && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn && // RAM floor: routed parallel DE runs 3 concurrent hardware-GPU Chrome
125824
125852
  // instances. On a 16 GB machine that produced vertical black slabs in the
@@ -126427,7 +126455,7 @@ async function executeRenderPipeline(input2) {
126427
126455
  });
126428
126456
  const deInversionEligible = deShortBandRoute && deShortBand === "applied" ? invertAtBandFloor : invertAtBaseFloor;
126429
126457
  const deInversionEffectiveMinFrames = deShortBandRoute && deShortBand === "applied" ? Math.min(deSingleMinFrames, deShortBandMinFrames) : deSingleMinFrames;
126430
- const deParallelRouterEnabled = process.env.HF_DE_PARALLEL_ROUTER === "true";
126458
+ const deParallelRouterEnabled = isDeParallelRouterEnabled(process.env);
126431
126459
  const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
126432
126460
  const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 700 : Number(deParallelMinFramesRaw);
126433
126461
  const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 700;
@@ -135447,10 +135475,7 @@ function resolveSlideshowPath() {
135447
135475
  return candidates.find((p2) => existsSync71(p2)) ?? null;
135448
135476
  }
135449
135477
  function injectRuntime(html) {
135450
- const runtimeTag = `<script src="/runtime.js"></script>`;
135451
- return html.includes("</body>") ? html.replace("</body>", `${runtimeTag}
135452
- </body>`) : html + `
135453
- ${runtimeTag}`;
135478
+ return injectTagsAtHeadStart(html, `<script src="/runtime.js"></script>`);
135454
135479
  }
135455
135480
  function assetContentType(filePath) {
135456
135481
  return getMimeType(filePath);
@@ -135518,6 +135543,7 @@ var init_compositionServer = __esm({
135518
135543
  "src/utils/compositionServer.ts"() {
135519
135544
  "use strict";
135520
135545
  init_dist9();
135546
+ init_htmlDocument();
135521
135547
  init_mediaProxyPreview();
135522
135548
  }
135523
135549
  });
@@ -139179,7 +139205,7 @@ async function executeRenderPlan(plan2, dependencies) {
139179
139205
  protocolTimeout: plan2.protocolTimeout,
139180
139206
  playerReadyTimeout: plan2.playerReadyTimeout,
139181
139207
  exitAfterComplete: true,
139182
- enableDeParallelRouterTrial: true
139208
+ manageDeParallelRouterBreaker: true
139183
139209
  };
139184
139210
  if (plan2.useDocker) {
139185
139211
  options.pageSideCompositing = plan2.pageSideCompositing;
@@ -139297,7 +139323,7 @@ async function executeBatchRender(plan2, browserPath, batchModule, preparedBatch
139297
139323
  exitAfterComplete: false,
139298
139324
  throwOnError: true,
139299
139325
  skipFeedback: true,
139300
- enableDeParallelRouterTrial: plan2.batchConcurrency <= 1
139326
+ manageDeParallelRouterBreaker: plan2.batchConcurrency <= 1
139301
139327
  };
139302
139328
  const manifest = await batchModule.runBatchRender({
139303
139329
  prepared: preparedBatch,
@@ -140189,9 +140215,10 @@ async function renderLocal(projectDir, outputPath, options) {
140189
140215
  }
140190
140216
  }
140191
140217
  const producer = await loadProducer();
140192
- const deParallelRouterTrialArmed = maybeEnableDeParallelRouterTrial(
140193
- options.quiet,
140194
- options.enableDeParallelRouterTrial === true
140218
+ const deParallelRouterActive = options.manageDeParallelRouterBreaker === true ? applyDeParallelRouterCircuitBreaker(options.quiet) : (
140219
+ // Not managing the breaker: the router still runs (producer default),
140220
+ // we just don't enforce or record the per-install trip.
140221
+ false
140195
140222
  );
140196
140223
  const startTime = Date.now();
140197
140224
  const logger = createRenderTelemetryLogger(
@@ -140234,7 +140261,7 @@ async function renderLocal(projectDir, outputPath, options) {
140234
140261
  try {
140235
140262
  await producer.executeRenderJob(job, projectDir, outputPath, onProgress);
140236
140263
  } catch (error) {
140237
- maybeConsumeDeParallelRouterTrial(deParallelRouterTrialArmed, job, options.quiet);
140264
+ maybeConsumeDeParallelRouterTrial(deParallelRouterActive, job, options.quiet);
140238
140265
  handleRenderError(
140239
140266
  error,
140240
140267
  options,
@@ -140246,7 +140273,7 @@ async function renderLocal(projectDir, outputPath, options) {
140246
140273
  );
140247
140274
  }
140248
140275
  markRenderSucceeded();
140249
- maybeConsumeDeParallelRouterTrial(deParallelRouterTrialArmed, job, options.quiet);
140276
+ maybeConsumeDeParallelRouterTrial(deParallelRouterActive, job, options.quiet);
140250
140277
  const elapsed = Date.now() - startTime;
140251
140278
  if (job.outcome === "completed_with_warnings") {
140252
140279
  for (const warning of job.warnings) {
@@ -140389,46 +140416,49 @@ function createNoopProducerLogger() {
140389
140416
  };
140390
140417
  }
140391
140418
  function __resetDeParallelRouterTrialStateForTests() {
140392
- deParallelRouterTrialManagedByUs = false;
140393
- deParallelRouterTrialFiredThisProcess = false;
140394
- }
140395
- function isDeParallelRouterTrialBlocked(config) {
140396
- const overRenderCap = (config.deParallelRouterTrialRenderCount ?? 0) >= DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS;
140397
- return deParallelRouterTrialFiredThisProcess || Boolean(config.deParallelRouterTrialFired) || overRenderCap || !config.telemetryEnabled || !shouldTrack() || // cli.ts shows the first-run telemetry disclosure via a fire-and-forget,
140398
- // unawaited dynamic import — there's no guarantee it has printed before
140399
- // this render command reaches this point. Requiring telemetryNoticeShown
140400
- // means the trial simply never offers itself on a fresh install's very
140401
- // first invocation (before the disclosure is guaranteed to have run at
140402
- // least once), rather than racing an experimental opt-in message against
140403
- // the disclosure it depends on (review finding).
140404
- !config.telemetryNoticeShown;
140405
- }
140406
- function stopManagingDeParallelRouterTrial() {
140407
- if (!deParallelRouterTrialManagedByUs) return;
140408
- delete process.env.HF_DE_PARALLEL_ROUTER;
140409
- deParallelRouterTrialManagedByUs = false;
140410
- }
140411
- function maybeEnableDeParallelRouterTrial(quiet, enabled) {
140412
- if (!enabled) return false;
140413
- if (deParallelRouterTrialFiredThisProcess) {
140414
- stopManagingDeParallelRouterTrial();
140419
+ deParallelRouterBreakerTrippedThisProcess = false;
140420
+ deParallelRouterUserManaged = false;
140421
+ deParallelRouterUserManagedResolved = false;
140422
+ }
140423
+ function hasDeParallelRouterBreakerTripped(config) {
140424
+ return deParallelRouterBreakerTrippedThisProcess || Boolean(config.deParallelRouterTrialFired);
140425
+ }
140426
+ function userValueEnablesDeParallelRouter() {
140427
+ const raw = process.env.HF_DE_PARALLEL_ROUTER?.trim().toLowerCase();
140428
+ if (raw === void 0 || raw === "") return true;
140429
+ return !(raw === "false" || raw === "0" || raw === "off" || raw === "no");
140430
+ }
140431
+ function applyDeParallelRouterBreaker() {
140432
+ if (deParallelRouterUserManaged) return;
140433
+ process.env.HF_DE_PARALLEL_ROUTER = "false";
140434
+ }
140435
+ function applyDeParallelRouterCircuitBreaker(quiet) {
140436
+ if (!deParallelRouterUserManagedResolved) {
140437
+ deParallelRouterUserManaged = (process.env.HF_DE_PARALLEL_ROUTER ?? "").trim() !== "";
140438
+ deParallelRouterUserManagedResolved = true;
140439
+ }
140440
+ if (deParallelRouterUserManaged) {
140441
+ return userValueEnablesDeParallelRouter();
140442
+ }
140443
+ if (deParallelRouterBreakerTrippedThisProcess) {
140444
+ applyDeParallelRouterBreaker();
140415
140445
  return false;
140416
140446
  }
140417
- const userSetIt = process.env.HF_DE_PARALLEL_ROUTER !== void 0 && !deParallelRouterTrialManagedByUs;
140418
- if (userSetIt) return false;
140419
- if (isDeParallelRouterTrialBlocked(readConfigFresh())) {
140420
- stopManagingDeParallelRouterTrial();
140447
+ if (hasDeParallelRouterBreakerTripped(readConfigFresh())) {
140448
+ deParallelRouterBreakerTrippedThisProcess = true;
140449
+ applyDeParallelRouterBreaker();
140450
+ if (!quiet) {
140451
+ console.log(
140452
+ c.dim(
140453
+ " Parallel drawElement capture stays off for this install (a previous render had to fall back). Re-enable with HF_DE_PARALLEL_ROUTER=true."
140454
+ )
140455
+ );
140456
+ }
140421
140457
  return false;
140422
140458
  }
140423
- if (deParallelRouterTrialManagedByUs) return true;
140424
- deParallelRouterTrialManagedByUs = true;
140425
- process.env.HF_DE_PARALLEL_ROUTER = "true";
140426
- if (!quiet) {
140427
- console.log(
140428
- c.dim(
140429
- " Trying the experimental parallel drawElement capture path for this install (disabled automatically if it ever needs to fall back; opt out anytime: HF_DE_PARALLEL_ROUTER=false)"
140430
- )
140431
- );
140459
+ if (!isCanaryEnabled("de-parallel-router")) {
140460
+ applyDeParallelRouterBreaker();
140461
+ return false;
140432
140462
  }
140433
140463
  return true;
140434
140464
  }
@@ -140450,27 +140480,36 @@ function persistDeParallelRouterTrialFired() {
140450
140480
  }
140451
140481
  return false;
140452
140482
  }
140453
- function maybeConsumeDeParallelRouterTrial(trialArmed, job, quiet) {
140454
- if (!trialArmed) return;
140483
+ function maybeConsumeDeParallelRouterTrial(routerActive, job, quiet) {
140484
+ if (!routerActive) return;
140455
140485
  const outcome = resolveDeParallelRouterOutcome(job);
140456
140486
  if (outcome === void 0) return;
140457
140487
  const config = readConfigFresh();
140458
140488
  const renderCount = (config.deParallelRouterTrialRenderCount ?? 0) + 1;
140459
140489
  config.deParallelRouterTrialRenderCount = renderCount;
140460
- const fired = outcome === "reverted" || renderCount >= DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS;
140490
+ const fired = outcome === "reverted";
140461
140491
  if (fired) {
140462
140492
  config.deParallelRouterTrialFired = true;
140463
- deParallelRouterTrialFiredThisProcess = true;
140464
- stopManagingDeParallelRouterTrial();
140493
+ deParallelRouterBreakerTrippedThisProcess = true;
140494
+ applyDeParallelRouterBreaker();
140465
140495
  }
140466
140496
  writeConfig(config);
140467
- if (fired && !persistDeParallelRouterTrialFired() && !quiet) {
140468
- console.warn(
140469
- c.warn(
140470
- " Could not persist the parallel drawElement trial's off-switch to ~/.hyperframes/config.json (unwritable?). The experiment stays off for this process; future runs may retry it. Set HF_DE_PARALLEL_ROUTER=false to opt out."
140471
- )
140472
- );
140473
- }
140497
+ if (fired && !deParallelRouterUserManaged) reportDeParallelRouterBreakerTrip(quiet);
140498
+ }
140499
+ function reportDeParallelRouterBreakerTrip(quiet) {
140500
+ const persisted = persistDeParallelRouterTrialFired();
140501
+ if (quiet) return;
140502
+ console.log(
140503
+ c.dim(
140504
+ " A frame failed verification, so parallel drawElement capture fell back to the screenshot path and is now off for this install. Re-enable: HF_DE_PARALLEL_ROUTER=true"
140505
+ )
140506
+ );
140507
+ if (persisted) return;
140508
+ console.warn(
140509
+ c.warn(
140510
+ " Could not persist the parallel drawElement circuit breaker to ~/.hyperframes/config.json (unwritable?). It stays off for this process; future runs may retry it. Set HF_DE_PARALLEL_ROUTER=false to opt out for good."
140511
+ )
140512
+ );
140474
140513
  }
140475
140514
  function handleRenderError(error, options, startTime, docker, hint2, failedStage, job) {
140476
140515
  const message = normalizeErrorMessage(error);
@@ -140625,11 +140664,12 @@ function printRenderComplete(outputPath, elapsedMs, quiet, outputDurationSeconds
140625
140664
  console.log(c.success("\u25C7") + " " + c.accent(outputPath));
140626
140665
  console.log(" " + c.bold(fileSize) + c.dim(" \xB7 " + detail));
140627
140666
  }
140628
- var examples9, render_default, DOCKER_IMAGE_PREFIX, DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS, deParallelRouterTrialManagedByUs, deParallelRouterTrialFiredThisProcess;
140667
+ var examples9, render_default, DOCKER_IMAGE_PREFIX, deParallelRouterUserManaged, deParallelRouterUserManagedResolved, deParallelRouterBreakerTrippedThisProcess;
140629
140668
  var init_render = __esm({
140630
140669
  "src/commands/render.ts"() {
140631
140670
  "use strict";
140632
140671
  init_commandResult();
140672
+ init_canary2();
140633
140673
  init_dist();
140634
140674
  init_plan2();
140635
140675
  init_projectConfig();
@@ -140643,7 +140683,6 @@ var init_render = __esm({
140643
140683
  init_events();
140644
140684
  init_feedback();
140645
140685
  init_config();
140646
- init_client();
140647
140686
  init_renderObservability();
140648
140687
  init_system();
140649
140688
  init_version();
@@ -140898,9 +140937,9 @@ var init_render = __esm({
140898
140937
  }
140899
140938
  });
140900
140939
  DOCKER_IMAGE_PREFIX = "hyperframes-renderer";
140901
- DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS = 25;
140902
- deParallelRouterTrialManagedByUs = false;
140903
- deParallelRouterTrialFiredThisProcess = false;
140940
+ deParallelRouterUserManaged = false;
140941
+ deParallelRouterUserManagedResolved = false;
140942
+ deParallelRouterBreakerTrippedThisProcess = false;
140904
140943
  }
140905
140944
  });
140906
140945