@hyperframes/core 0.8.143 → 0.8.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/compiler/compositionAssembly.d.ts +7 -2
  2. package/dist/compiler/compositionAssembly.d.ts.map +1 -1
  3. package/dist/compiler/compositionAssembly.js +53 -5
  4. package/dist/compiler/compositionAssembly.js.map +1 -1
  5. package/dist/compiler/htmlBundler.d.ts +1 -0
  6. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  7. package/dist/compiler/htmlBundler.js +77 -18
  8. package/dist/compiler/htmlBundler.js.map +1 -1
  9. package/dist/compiler/index.d.ts +4 -2
  10. package/dist/compiler/index.d.ts.map +1 -1
  11. package/dist/compiler/index.js +4 -2
  12. package/dist/compiler/index.js.map +1 -1
  13. package/dist/compiler/inlineSubCompositions.js +5 -3
  14. package/dist/compiler/inlineSubCompositions.js.map +1 -1
  15. package/dist/compiler/scriptRuns.d.ts +0 -1
  16. package/dist/compiler/scriptRuns.d.ts.map +1 -1
  17. package/dist/compiler/scriptRuns.js +1 -23
  18. package/dist/compiler/scriptRuns.js.map +1 -1
  19. package/dist/compiler/standaloneEntry.d.ts +3 -0
  20. package/dist/compiler/standaloneEntry.d.ts.map +1 -0
  21. package/dist/compiler/standaloneEntry.js +66 -0
  22. package/dist/compiler/standaloneEntry.js.map +1 -0
  23. package/dist/generated/runtime-inline.js +1 -1
  24. package/dist/generated/runtime-inline.js.map +1 -1
  25. package/dist/hyperframe.runtime.iife.js +59 -59
  26. package/dist/runtime/compositionLength.d.ts +3 -2
  27. package/dist/runtime/compositionLength.d.ts.map +1 -1
  28. package/dist/runtime/compositionLength.js +11 -5
  29. package/dist/runtime/compositionLength.js.map +1 -1
  30. package/dist/runtime/stackingContext.d.ts.map +1 -1
  31. package/dist/runtime/stackingContext.js +3 -0
  32. package/dist/runtime/stackingContext.js.map +1 -1
  33. package/dist/runtime/timeline.d.ts +0 -4
  34. package/dist/runtime/timeline.d.ts.map +1 -1
  35. package/dist/runtime/timeline.js +1 -4
  36. package/dist/runtime/timeline.js.map +1 -1
  37. package/dist/studioPreviewMark.d.ts +2 -0
  38. package/dist/studioPreviewMark.d.ts.map +1 -1
  39. package/dist/studioPreviewMark.js +6 -0
  40. package/dist/studioPreviewMark.js.map +1 -1
  41. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  // AUTO-GENERATED by scripts/build-hyperframes-runtime-artifact.ts — do not edit
2
- const RUNTIME_IIFE = "\"use strict\";(()=>{var fS=Object.create;var hs=Object.defineProperty;var mS=Object.getOwnPropertyDescriptor;var pS=Object.getOwnPropertyNames;var hS=Object.getPrototypeOf,gS=Object.prototype.hasOwnProperty;var bS=(e,t,n)=>t in e?hs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var xS=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of pS(t))!gS.call(e,i)&&i!==n&&hs(e,i,{get:()=>t[i],enumerable:!(r=mS(t,i))||r.enumerable});return e};var yS=(e,t,n)=>(n=e!=null?fS(hS(e)):{},xS(t||!e||!e.__esModule?hs(n,\"default\",{value:e,enumerable:!0}):n,e));var de=(e,t,n)=>bS(e,typeof t!=\"symbol\"?t+\"\":t,n);var eh=fe((TI,Vl)=>{var ae=String,Zp=function(){return{isColorSupported:!1,reset:ae,bold:ae,dim:ae,italic:ae,underline:ae,inverse:ae,hidden:ae,strikethrough:ae,black:ae,red:ae,green:ae,yellow:ae,blue:ae,magenta:ae,cyan:ae,white:ae,gray:ae,bgBlack:ae,bgRed:ae,bgGreen:ae,bgYellow:ae,bgBlue:ae,bgMagenta:ae,bgCyan:ae,bgWhite:ae,blackBright:ae,redBright:ae,greenBright:ae,yellowBright:ae,blueBright:ae,magentaBright:ae,cyanBright:ae,whiteBright:ae,bgBlackBright:ae,bgRedBright:ae,bgGreenBright:ae,bgYellowBright:ae,bgBlueBright:ae,bgMagentaBright:ae,bgCyanBright:ae,bgWhiteBright:ae}};Vl.exports=Zp();Vl.exports.createColors=Zp});var $l=fe(()=>{});var ea=fe((NI,rh)=>{\"use strict\";var th=eh(),nh=$l(),ai=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=th.isColorSupported);let r=f=>f,i=f=>f,o=f=>f;if(t){let{bold:f,gray:d,red:m}=th.createColors(!0);i=g=>f(m(g)),r=g=>d(g),nh&&(o=g=>nh(g))}let a=n.split(/\\r?\\n/),s=Math.max(this.line-3,0),l=Math.min(this.line+2,a.length),u=String(l).length;return a.slice(s,l).map((f,d)=>{let m=s+1+d,g=\" \"+(\" \"+m).slice(-u)+\" | \";if(m===this.line){if(f.length>160){let b=20,x=Math.max(0,this.column-b),v=Math.max(this.column+b,this.endColumn+b),A=f.slice(x,v),E=r(g.replace(/\\d/g,\" \"))+f.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g,\" \");return i(\">\")+r(g)+o(A)+`\n `+E+i(\"^\")}let h=r(g.replace(/\\d/g,\" \"))+f.slice(0,this.column-1).replace(/[^\\t]/g,\" \");return i(\">\")+r(g)+o(f)+`\n `+h+i(\"^\")}return\" \"+r(g)+o(f)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+\": \"+this.message+t}};rh.exports=ai;ai.default=ai});var zl=fe((LI,lh)=>{\"use strict\";var IA=/(<)(\\/?style\\b)/gi,DA=/(<)(!--)/g,PA=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/;function ct(e){return typeof e!=\"string\"||!e.includes(\"<\")?e:e.replace(IA,\"\\\\3c $2\").replace(DA,\"\\\\3c $2\")}var ih={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:\" \",beforeRule:`\n`,colon:\": \",commentLeft:\" \",commentRight:\" \",emptyBody:\"\",indent:\" \",semicolon:!1};function OA(e){return e[0].toUpperCase()+e.slice(1)}function oh(e,t){let n=\"@\"+t.name,r=t.params?e.rawValue(t,\"params\"):\"\",i=t.raws.afterName;return typeof i>\"u\"?i=r?\" \":\"\":i===\"\"&&r&&!PA.test(r[0])&&(i=\" \"),n+i+r}function HA(e){if(!e.prop.startsWith(\"--\"))return!1;let t=e.raws.before;return typeof t>\"u\"||!/\\S$/.test(t)}function sh(e,t,n){let r=n.nodes,i=r.length-1;for(;i>0&&r[i].type===\"comment\";)i-=1;let o=e.raw(n,\"semicolon\"),a=n.type===\"document\";for(let s=r.length-1;s>=0;s--){let l=r[s],u=i!==s||o;!u&&s<r.length-1&&(l.type===\"atrule\"&&!l.nodes||l.type===\"decl\"&&HA(l))&&(u=!0),t.push({document:a,node:l,semicolon:u})}}function ah(e,t,n,r){let i=e.raw(n,\"between\",\"beforeOpen\");e.builder(ct(r+i)+\"{\",n,\"start\");let o=n.nodes&&n.nodes.length,a=()=>{let s=o?e.raw(n,\"after\"):e.raw(n,\"after\",\"emptyBody\");s&&e.builder(ct(s)),e.builder(\"}\",n,\"end\"),n.type===\"rule\"&&n.raws.ownSemicolon&&e.builder(ct(n.raws.ownSemicolon),n,\"end\")};o?(t.push(a),sh(e,t,n)):a()}var si=class e{constructor(t){this.builder=t}atrule(t,n){let r=oh(this,t);if(t.nodes)this.block(t,r);else{let i=(t.raws.between||\"\")+(n?\";\":\"\");this.builder(ct(r+i),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 s=0;s<o;s++)r+=a}return r}block(t,n){let r=this.raw(t,\"between\",\"beforeOpen\");this.builder(ct(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(ct(i)),this.builder(\"}\",t,\"end\")}body(t){let n=e.prototype,r=[\"atrule\",\"block\",\"body\",\"rule\",\"stringify\"].every(o=>this[o]===n[o]),i=[];for(sh(this,i,t);i.length>0;){let o=i.pop();if(typeof o==\"function\"){o();continue}let a=o.node,s=this.raw(a,\"before\");s&&this.builder(o.document?s:ct(s)),r&&a.type===\"rule\"?ah(this,i,a,this.rawValue(a,\"selector\")):r&&a.type===\"atrule\"&&a.nodes?ah(this,i,a,oh(this,a)):this.stringify(a,o.semicolon)}}comment(t){let n=this.raw(t,\"left\",\"commentLeft\"),r=this.raw(t,\"right\",\"commentRight\");this.builder(ct(\"/*\"+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(ct(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 ih[r];let a=t.root(),s=a.rawCache||(a.rawCache={});if(typeof s[r]<\"u\")return s[r];if(r===\"before\"||r===\"after\")return this.beforeAfter(t,r);{let l=\"raw\"+OA(r);this[l]?i=this[l](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<\"u\")return!1})}return typeof i>\"u\"&&(i=ih[r]),s[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(t.source&&t.source.input.hasBOM&&this.builder(\"\\uFEFF\",t,\"start\"),this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type===\"document\";this.builder(r?n:ct(n))}}rule(t){this.block(t,this.rawValue(t,\"selector\")),t.raws.ownSemicolon&&this.builder(ct(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)}};lh.exports=si;si.default=si});var li=fe((FI,uh)=>{\"use strict\";var GA=zl();function ql(e,t){new GA(t).stringify(e)}uh.exports=ql;ql.default=ql});var ui=fe((II,jl)=>{\"use strict\";jl.exports.isClean=Symbol(\"isClean\");jl.exports.my=Symbol(\"my\")});var fi=fe((DI,ch)=>{\"use strict\";var BA=ea(),UA=zl(),WA=li(),{isClean:ci,my:VA}=ui();function $A(e,t){let n=new e.constructor,r=[[e,n,t]];for(;r.length>0;){let[i,o,a]=r.pop();for(let s in i){if(!Object.prototype.hasOwnProperty.call(i,s)||s===\"proxyCache\")continue;let l=i[s],u=typeof l;if(s===\"parent\"&&u===\"object\")a&&(o[s]=a);else if(s===\"source\")o[s]=l;else if(Array.isArray(l)){let f=[];o[s]=f;for(let d of l){let m=new d.constructor;f.push(m),r.push([d,m,o])}}else{if(u===\"object\"&&l!==null){let f=new l.constructor;r.push([l,f,void 0]),l=f}o[s]=l}}}return n}function At(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 di=class e{get proxyOf(){return this}constructor(t={}){this.raws={},this[ci]=!1,this[VA]=!0;for(let n of Object.keys(t))if(n!==\"__proto__\")if(n===\"nodes\"){this.nodes=[];for(let r of t[n])typeof r.clone==\"function\"&&r.parent?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=$A(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 BA(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[ci]=!0}markDirty(){if(this[ci]){this[ci]=!1;let t=this;for(;t=t.parent;)t[ci]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(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:At(n,this.source.start)};if(t.index)r=this.positionInside(t.index);else if(t.word){let o=n.slice(At(n,this.source.start),At(n,this.source.end)).indexOf(t.word);o!==-1&&(r=this.positionInside(o))}return r}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=At(i,this.source.start),a=o+t;for(let s=o;s<a;s++)i[s]===`\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:At(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:At(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(At(n,this.source.start),At(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:At(n,t.start)}:typeof t.index==\"number\"&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:At(n,t.end)}:typeof t.endIndex==\"number\"?i=this.positionInside(t.endIndex):typeof t.index==\"number\"&&(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 UA().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=n==null;n=n||new Map;let i=[],o=[[this,i,0]];for(let s=0;s<o.length;s++){let[l,u,f]=o[s],d={};u[f]=d;for(let m in l){if(!Object.prototype.hasOwnProperty.call(l,m)||m===\"parent\"||m===\"proxyCache\")continue;let g=l[m];if(Array.isArray(g)){let h=[];d[m]=h;for(let b=0;b<g.length;b++){let x=g[b];typeof x==\"object\"&&x.toJSON?x.toJSON===e.prototype.toJSON?o.push([x,h,b]):h[b]=x.toJSON(null,n):h[b]=x}}else if(typeof g==\"object\"&&g.toJSON)g.toJSON===e.prototype.toJSON?o.push([g,d,m]):d[m]=g.toJSON(null,n);else if(m===\"source\"){if(g==null)continue;let h=n.get(g.input);h==null&&(h=n.size,n.set(g.input,h)),d[m]={end:g.end,inputId:h,start:g.start}}else d[m]=g}}let a=i[0];return r&&(a.inputs=[...n.keys()].map(s=>s.toJSON())),a}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=WA){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)}};ch.exports=di;di.default=di});var pi=fe((PI,dh)=>{\"use strict\";var zA=fi(),mi=class extends zA{constructor(t){super(t),this.type=\"comment\"}};dh.exports=mi;mi.default=mi});var gi=fe((OI,fh)=>{\"use strict\";var qA=fi(),hi=class extends qA{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\"}};fh.exports=hi;hi.default=hi});var Dt=fe((HI,Sh)=>{\"use strict\";var ph=pi(),hh=gi(),mh=fi(),{isClean:gh,my:bh}=ui(),Kl,xh,yh,Xl;function jA(e){let t=e.slice();for(;t.length>0;){let n=t.pop();if(delete n.source,n.nodes){n.nodes=n.nodes.slice();for(let r of n.nodes)t.push(r)}}return e.slice()}function KA(e){let t=[e];for(;t.length>0;){let n=t.pop();if(n[gh]=!1,n.proxyOf.nodes)for(let r of n.proxyOf.nodes)t.push(r)}}var wt=class e extends mh{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){let n=[this];for(;n.length>0;){let r=n.pop();if(r!==this&&r.cleanRaws!==e.prototype.cleanRaws){r.cleanRaws(t);continue}if(mh.prototype.cleanRaws.call(r,t),r.nodes)for(let i of r.nodes)n.push(i)}}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 s of o)this.proxyOf.nodes.splice(r,0,s);let a;for(let s in this.indexes)a=this.indexes[s],r<=a&&(this.indexes[s]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t==\"string\")t=jA(xh(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 hh(t)]}else if(t.selector||t.selectors)t=[new Xl(t)];else if(t.name)t=[new Kl(t)];else if(t.text)t=[new ph(t)];else throw new Error(\"Unknown node type in node creation\");return t.map(i=>(i[bh]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[gh]&&KA(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){if(!this.proxyOf.nodes)return;let n=[{iterator:this.getIterator(),node:this.proxyOf}];for(;n.length>0;){let{iterator:r,node:i}=n[n.length-1],o=i.indexes[r];if(o>=i.proxyOf.nodes.length){delete i.indexes[r],n.pop();let l=n[n.length-1];l&&(l.node.indexes[l.iterator]+=1);continue}let a=i.proxyOf.nodes[o],s;try{s=t(a,o)}catch(l){throw a.addToError(l)}if(s===!1){for(let l of n)delete l.node.indexes[l.iterator];return!1}a.walk&&a.proxyOf.nodes?n.push({iterator:a.getIterator(),node:a}):i.indexes[r]+=1}}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)}))}};wt.registerParse=e=>{xh=e};wt.registerRule=e=>{Xl=e};wt.registerAtRule=e=>{Kl=e};wt.registerRoot=e=>{yh=e};Sh.exports=wt;wt.default=wt;wt.rebuild=e=>{let t=[e];for(;t.length>0;){let n=t.pop();if(n.type===\"atrule\"?Object.setPrototypeOf(n,Kl.prototype):n.type===\"rule\"?Object.setPrototypeOf(n,Xl.prototype):n.type===\"decl\"?Object.setPrototypeOf(n,hh.prototype):n.type===\"comment\"?Object.setPrototypeOf(n,ph.prototype):n.type===\"root\"&&Object.setPrototypeOf(n,yh.prototype),n[bh]=!0,n.nodes)for(let r of n.nodes)t.push(r)}}});var ta=fe((GI,Eh)=>{\"use strict\";var vh=Dt(),or=class extends vh{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)}};Eh.exports=or;or.default=or;vh.registerAtRule(or)});var na=fe((BI,_h)=>{\"use strict\";var XA=Dt(),Ah,wh,wn=class extends XA{constructor(t){super({type:\"document\",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Ah(new wh,this,t).stringify()}};wn.registerLazyResult=e=>{Ah=e};wn.registerProcessor=e=>{wh=e};_h.exports=wn;wn.default=wn});var Rh=fe((UI,Ch)=>{var YA=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\",JA=(e,t=21)=>(n=t)=>{let r=\"\",i=n|0;for(;i-- >0;)r+=e[Math.random()*e.length|0];return r},QA=(e=21)=>{let t=\"\",n=e|0;for(;n-- >0;)t+=YA[Math.random()*64|0];return t};Ch.exports={nanoid:QA,customAlphabet:JA}});var ra=fe(()=>{});var ia=fe(()=>{});var Yl=fe(()=>{});var Th=fe(()=>{});var Jl=fe((YI,Lh)=>{\"use strict\";var{existsSync:ZA,readFileSync:ew,realpathSync:tw}=Th(),{dirname:oa,isAbsolute:nw,join:rw,relative:iw,sep:ow}=ra(),{SourceMapConsumer:kh,SourceMapGenerator:Mh}=ia();function Nh(e){try{return tw(e)}catch{return e}}function aw(e){return Buffer?Buffer.from(e,\"base64\").toString():window.atob(e)}var bi=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=oa(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new kh(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 s=t.match(n)||t.match(r);if(s)return aw(t.substr(s[0].length));let l=t.slice(22);throw l=l.slice(0,l.indexOf(\",\")),new Error(\"Unsupported source map encoding \"+l)}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){if(!/\\.map$/i.test(t)||!n)return;let i=iw(Nh(oa(n)),Nh(t));if(i===\"..\"||i.startsWith(\"..\"+ow)||nw(i))return}if(this.root=oa(t),ZA(t))return this.mapFile=t,ew(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 kh)return Mh.fromSourceMap(n).toString();if(n instanceof Mh)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=rw(oa(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)}};Lh.exports=bi;bi.default=bi});var xi=fe((JI,Oh)=>{\"use strict\";var{nanoid:sw}=Rh(),{isAbsolute:eu,resolve:tu}=ra(),{SourceMapConsumer:lw,SourceMapGenerator:uw}=ia(),{fileURLToPath:Fh,pathToFileURL:aa}=Yl(),Ih=ea(),cw=Jl(),Ql=$l(),Zl=Symbol(\"lineToIndexCache\"),dw=!!(lw&&uw),Dh=!!(tu&&eu);function Ph(e){if(e[Zl])return e[Zl];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[Zl]=n,n}var ar=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&&(!Dh||/^\\w+:\\/\\//.test(n.from)||eu(n.from)?this.file=n.from:this.file=tu(n.from)),Dh&&dw){let r=new cw(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 \"+sw(6)+\">\"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,s,l,u;if(n&&typeof n==\"object\"){let d=n,m=r;if(typeof d.offset==\"number\"){l=d.offset;let g=this.fromOffset(l);n=g.line,r=g.col}else n=d.line,r=d.column,l=this.fromLineAndColumn(n,r);if(typeof m.offset==\"number\"){s=m.offset;let g=this.fromOffset(s);a=g.line,o=g.col}else a=m.line,o=m.column,s=this.fromLineAndColumn(m.line,m.column)}else if(r)l=this.fromLineAndColumn(n,r);else{l=n;let d=this.fromOffset(l);n=d.line,r=d.col}let f=this.origin(n,r,a,o);return f?u=new Ih(t,f.endLine===void 0?f.line:{column:f.column,line:f.line},f.endLine===void 0?f.column:{column:f.endColumn,line:f.endLine},f.source,f.file,i.plugin):u=new Ih(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:s,line:n,offset:l,source:this.css},this.file&&(aa&&(u.input.url=aa(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return Ph(this)[t-1]+n-1}fromOffset(t){let n=Ph(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:tu(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-1,line:t});if(!a.source)return!1;let s;if(typeof r==\"number\"){let d=o.originalPositionFor({column:i-1,line:r});d.source&&(s=d)}let l;eu(a.source)?l=aa(a.source):l=new URL(a.source,this.map.consumer().sourceRoot||aa(this.map.mapFile));let u={column:a.column+1,endColumn:s&&s.column+1,endLine:s&&s.line,line:a.line,url:l.toString()};if(l.protocol===\"file:\")if(Fh)u.file=Fh(l);else throw new Error(\"file: protocol is not available in this PostCSS build\");let f=o.sourceContentFor(a.source);return f&&(u.source=f),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}};Oh.exports=ar;ar.default=ar;Ql&&Ql.registerInput&&Ql.registerInput(ar)});var sr=fe((QI,Uh)=>{\"use strict\";var Hh=Dt(),Gh,Bh,Zt=class extends Hh{constructor(t){super(t),this.type=\"root\",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=new Set;for(let a of Array.isArray(t)?t:[t])a&&typeof a==\"object\"&&!a.parent&&a.raws&&typeof a.raws.before<\"u\"&&i.add(a.raws);let o=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 a of o)i.has(a.raws)||(a.raws.before=n.raws.before)}return o}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 Gh(new Bh,this,t).stringify()}};Zt.registerLazyResult=e=>{Gh=e};Zt.registerProcessor=e=>{Bh=e};Uh.exports=Zt;Zt.default=Zt;Hh.registerRoot(Zt)});var nu=fe((ZI,Wh)=>{\"use strict\";var yi={comma(e){return yi.split(e,[\",\"],!0)},space(e){let t=[\" \",`\n`,\"\t\"];return yi.split(e,t)},split(e,t,n){if(typeof e!=\"string\")return[];let r=[],i=\"\",o=!1,a=0,s=!1,l=\"\",u=!1;for(let d of e)if(u?u=!1:d===\"\\\\\"?u=!0:s?d===l&&(s=!1):d==='\"'||d===\"'\"?(s=!0,l=d):d===\"(\"?a+=1:d===\")\"?a>0&&(a-=1):a===0&&t.includes(d)&&(o=!0),o){let m=i.trim();(n||m!==\"\")&&r.push(m),i=\"\",o=!1}else i+=d;let f=i.trim();return(n||f!==\"\")&&r.push(f),r}};Wh.exports=yi;yi.default=yi});var sa=fe((eD,$h)=>{\"use strict\";var Vh=Dt(),fw=nu(),lr=class extends Vh{get selectors(){return fw.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=[])}};$h.exports=lr;lr.default=lr;Vh.registerRule(lr)});var jh=fe((tD,qh)=>{\"use strict\";var mw=ta(),pw=pi(),hw=gi(),gw=xi(),bw=Jl(),xw=sr(),yw=sa();function zh(e,t){return e.inputs?e.inputs.map(n=>{let r={...n,__proto__:gw.prototype};return r.map&&(r.map={...r.map,__proto__:bw.prototype}),r}):t}function Sw(e,t,n){let r={...e};if(delete r.inputs,delete r.nodes,r.source){let{inputId:o,...a}=r.source;r.source=a,o!=null&&(r.source.input=t[o])}let i;if(r.type===\"root\")i=new xw(r);else if(r.type===\"decl\")i=new hw(r);else if(r.type===\"rule\")i=new yw(r);else if(r.type===\"comment\")i=new pw(r);else if(r.type===\"atrule\")i=new mw(r);else throw new Error(\"Unknown node type: \"+e.type);if(n){i.nodes=n;for(let o of n)o.parent=i}return i}function la(e,t){if(Array.isArray(e))return e.map(i=>la(i));let n,r=[{childIndex:0,children:[],inputs:zh(e,t),json:e}];for(;r.length>0;){let i=r[r.length-1],o=i.json.nodes;if(o&&i.childIndex<o.length){let s=o[i.childIndex];i.childIndex+=1,r.push({childIndex:0,children:[],inputs:zh(s,i.inputs),json:s});continue}r.pop();let a=Sw(i.json,i.inputs,o?i.children:void 0);r.length>0?r[r.length-1].children.push(a):n=a}return n}qh.exports=la;la.default=la});var iu=fe((nD,Zh)=>{\"use strict\";var{dirname:ua,relative:Xh,resolve:Yh,sep:Jh}=ra(),{SourceMapConsumer:Qh,SourceMapGenerator:ca}=ia(),{pathToFileURL:Kh}=Yl(),vw=xi(),Ew=!!(Qh&&ca),Aw=!!(ua&&Yh&&Xh&&Jh),ru=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||ua(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Qh(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=\"/*# sourceMappingURL=\",n;for(;(n=this.css.lastIndexOf(t))!==-1;){let r=this.css.indexOf(\"*/\",n+t.length);if(r===-1)break;for(;n>0&&this.css[n-1]===`\n`;)n--;this.css=this.css.slice(0,n)+this.css.slice(r+2)}}}}generate(){if(this.clearAnnotation(),Aw&&Ew&&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=ca.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new ca({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 ca({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,(s,l,u)=>{if(this.css+=s,l&&u!==\"end\"&&(i.generated.line=t,i.generated.column=n-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=s.match(/\\n/g),a?(t+=a.length,o=s.lastIndexOf(`\n`),n=s.length-o):n+=s.length,l&&u!==\"start\"){let f=l.parent||{raws:{}};(!(l.type===\"decl\"||l.type===\"atrule\"&&!l.nodes)||l!==f.last||f.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.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?ua(this.opts.to):\".\";typeof this.mapOpts.annotation==\"string\"&&(r=ua(Yh(r,this.mapOpts.annotation)));let i=Xh(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 vw(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(Kh){let r=Kh(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;Jh===\"\\\\\"&&(t=t.replace(/\\\\/g,\"/\"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Zh.exports=ru});var ng=fe((rD,tg)=>{\"use strict\";var da=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g,fa=/[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ww=/.[\\r\\n\"'(/\\\\]/,eg=/[\\da-f]/i;tg.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,s,l,u,f,d,m,g,h,b=r.length,x=0,v=[],A=[],E=-1;function k(){return x}function O(M){throw t.error(\"Unclosed \"+M,x)}function F(){return A.length===0&&x>=b}function D(M){if(A.length)return A.pop();if(x>=b)return;let T=M?M.ignoreUnclosed:!1;switch(o=r.charCodeAt(x),o){case 10:case 32:case 9:case 13:case 12:{l=x;do l+=1,o=r.charCodeAt(l);while(o===32||o===10||o===9||o===13||o===12);f=[\"space\",r.slice(x,l)],x=l-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let B=String.fromCharCode(o);f=[B,B,x];break}case 40:{if(h=v.length?v.pop()[1]:\"\",g=r.charCodeAt(x+1),h===\"url\"&&g!==39&&g!==34&&g!==32&&g!==10&&g!==9&&g!==12&&g!==13){l=x;do{if(d=!1,l=r.indexOf(\")\",l+1),l===-1)if(i||T){l=x;break}else O(\"bracket\");for(m=l;r.charCodeAt(m-1)===92;)m-=1,d=!d}while(d);f=[\"brackets\",r.slice(x,l+1),x,l],x=l}else x<=E?f=[\"(\",\"(\",x]:(l=r.indexOf(\")\",x+1),a=r.slice(x,l+1),l===-1||ww.test(a)?(E=l===-1?b:l,f=[\"(\",\"(\",x]):(f=[\"brackets\",a,x,l],x=l));break}case 39:case 34:{u=o===39?\"'\":'\"',l=x;do{if(d=!1,l=r.indexOf(u,l+1),l===-1)if(i||T){l=x+1;break}else O(\"string\");for(m=l;r.charCodeAt(m-1)===92;)m-=1,d=!d}while(d);f=[\"string\",r.slice(x,l+1),x,l],x=l;break}case 64:{da.lastIndex=x+1,da.test(r),da.lastIndex===0?l=r.length-1:l=da.lastIndex-2,f=[\"at-word\",r.slice(x,l+1),x,l],x=l;break}case 92:{for(l=x,s=!0;r.charCodeAt(l+1)===92;)l+=1,s=!s;if(o=r.charCodeAt(l+1),s&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(l+=1,eg.test(r.charAt(l)))){for(;eg.test(r.charAt(l+1));)l+=1;r.charCodeAt(l+1)===32&&(l+=1)}f=[\"word\",r.slice(x,l+1),x,l],x=l;break}default:{o===47&&r.charCodeAt(x+1)===42?(l=r.indexOf(\"*/\",x+2)+1,l===0&&(i||T?l=r.length:O(\"comment\")),f=[\"comment\",r.slice(x,l+1),x,l],x=l):(fa.lastIndex=x+1,fa.test(r),fa.lastIndex===0?l=r.length-1:l=fa.lastIndex-2,f=[\"word\",r.slice(x,l+1),x,l],v.push(f),x=l);break}}return x++,f}function R(M){A.push(M)}return{back:R,endOfFile:F,nextToken:D,position:k}}});var ag=fe((iD,og)=>{\"use strict\";var _w=ta(),Cw=pi(),Rw=gi(),Tw=sr(),rg=sa(),kw=ng(),ig={empty:!0,space:!0};function Mw(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}function ou(e,t,n){let r=\"\";for(let i=t;i<n;i++)r+=e[i][1];return r}var au=class{constructor(t){this.input=t,this.root=new Tw,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 _w;n.name=t[1].slice(1),n.name===\"\"&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,s=!1,l=[],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===\"{\"){s=!0;break}else if(r===\"}\"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]===\"space\";)i=l[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(n.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(n,\"params\",l),a&&(t=l[l.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=\"\"),s&&(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,s]of t.entries()){if(i=s,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 Cw;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=kw(this.input)}decl(t,n){let r=new Rw;this.init(r,t[0][2]);let i=t[t.length-1];i[0]===\";\"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||Mw(t)),r.source.end.offset++;let o=0;for(;t[o][0]!==\"word\";)o===t.length-1&&this.unknownWord([t[o]]),o++;r.raws.before+=ou(t,0,o),r.source.start=this.getPosition(t[o][2]);let a=o;for(;o<t.length;){let m=t[o][0];if(m===\":\"||m===\"space\"||m===\"comment\")break;o++}r.prop=ou(t,a,o);let s=o,l;for(;o<t.length&&(l=t[o],o++,l[0]!==\":\");)l[0]===\"word\"&&/\\w/.test(l[1])&&this.unknownWord([l]);r.raws.between=ou(t,s,o),(r.prop[0]===\"_\"||r.prop[0]===\"*\")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let u=o;for(;o<t.length;){let m=t[o][0];if(m!==\"space\"&&m!==\"comment\")break;o++}let f=t.slice(u,o);t=t.slice(o),this.precheckMissedSemicolon(t);for(let m=t.length-1;m>=0;m--){if(l=t[m],l[1].toLowerCase()===\"!important\"){r.important=!0;let g=this.stringFrom(t,m);g=this.spacesFromEnd(t)+g,g!==\" !important\"&&(r.raws.important=g);break}else if(l[1].toLowerCase()===\"important\"){let g=t.slice(0),h=\"\";for(let b=m;b>0;b--){let x=g[b][0];if(h.trim().startsWith(\"!\")&&x!==\"space\")break;h=g.pop()[1]+h}h.trim().startsWith(\"!\")&&(r.important=!0,r.raws.important=h,t=g)}if(l[0]!==\"space\"&&l[0]!==\"comment\")break}t.some(m=>m[0]!==\"space\"&&m[0]!==\"comment\")&&(r.raws.between+=f.map(m=>m[1]).join(\"\"),f=[]),this.raw(r,\"value\",f.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 rg;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++)}}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=[],s=t[1].startsWith(\"--\"),l=[],u=t;for(;u;){if(r=u[0],l.push(u),r===\"(\"||r===\"[\")o||(o=u),a.push(r===\"(\"?\")\":\"]\");else if(s&&i&&r===\"{\")o||(o=u),a.push(\"}\");else if(a.length===0)if(r===\";\")if(i){this.decl(l,s);return}else break;else if(r===\"{\"){this.rule(l);return}else if(r===\"}\"){this.tokenizer.back(l.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(!s)for(;l.length&&(u=l[l.length-1][0],!(u!==\"space\"&&u!==\"comment\"));)this.tokenizer.back(l.pop());this.decl(l,s)}else this.unknownWord(l)}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,s=r.length,l=\"\",u=!0,f,d;for(let m=0;m<s;m+=1)o=r[m],a=o[0],a===\"space\"&&m===s-1&&!i?u=!1:a===\"comment\"?(d=r[m-1]?r[m-1][0]:\"empty\",f=r[m+1]?r[m+1][0]:\"empty\",!ig[d]&&!ig[f]?l.slice(-1)===\",\"?u=!1:l+=o[1]:u=!1):l+=o[1];if(!u){let m=r.reduce((g,h)=>g+h[1],\"\");t.raws[n]={raw:m,value:l}}t[n]=l}rule(t){t.pop();let n=new rg;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})}};og.exports=au});var pa=fe((oD,sg)=>{\"use strict\";var Nw=Dt(),Lw=xi(),Fw=ag();function ma(e,t){let n=new Lw(e,t),r=new Fw(n);try{r.parse()}catch(i){throw i}return r.root}sg.exports=ma;ma.default=ma;Nw.registerParse(ma)});var su=fe((aD,lg)=>{\"use strict\";var Iw=Dt(),{my:Dw}=ui(),Si=class{constructor(t,n={}){if(this.type=\"warning\",this.text=t,n.node&&n.node.source){n.node[Dw]||Iw.rebuild(n.node);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}};lg.exports=Si;Si.default=Si});var ha=fe((sD,ug)=>{\"use strict\";var Pw=su(),vi=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 Pw(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type===\"warning\")}};ug.exports=vi;vi.default=vi});var lu=fe((lD,dg)=>{\"use strict\";var cg={};dg.exports=function(t){cg[t]||(cg[t]=!0,typeof console<\"u\"&&console.warn&&console.warn(t))}});var du=fe((cD,hg)=>{\"use strict\";var Ow=Dt(),Hw=na(),Gw=iu(),Bw=pa(),fg=ha(),Uw=sr(),Ww=li(),{isClean:dt,my:Vw}=ui(),uD=lu(),$w={atrule:\"AtRule\",comment:\"Comment\",decl:\"Declaration\",document:\"Document\",root:\"Root\",rule:\"Rule\"},zw={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},qw={Once:!0,postcssPlugin:!0,prepare:!0},ur=0;function Ei(e){return typeof e==\"object\"&&typeof e.then==\"function\"}function uu(e){let t=!1,n=$w[e.type];return e.type===\"decl\"?t=e.prop.toLowerCase():e.type===\"atrule\"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+\"-\"+t,ur,n+\"Exit\",n+\"Exit-\"+t]:t?[n,n+\"-\"+t,n+\"Exit\",n+\"Exit-\"+t]:e.append?[n,ur,n+\"Exit\"]:[n,n+\"Exit\"]}function mg(e){let t;return e.type===\"document\"?t=[\"Document\",ur,\"DocumentExit\"]:e.type===\"root\"?t=[\"Root\",ur,\"RootExit\"]:t=uu(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function pg(e){let t=[e];for(;t.length>0;){let n=t.pop();if(n[dt]=!1,n.nodes)for(let r of n.nodes)t.push(r)}return e}var cu={},en=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=pg(n);else if(n instanceof e||n instanceof fg)i=pg(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=Bw;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[Vw]&&Ow.rebuild(i)}this.result=new fg(t,i,r),this.helpers={...cu,postcss:cu,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(!zw[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!qw[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(Ei(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[dt];){t[dt]=!0;let n=[mg(t)];for(;n.length>0;){let r=this.visitTick(n);if(Ei(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 Ei(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=Ww;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,s=>{a+=s}),this.result.css=a,this.result}let o=new Gw(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(Ei(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[dt];)t[dt]=!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(Ei(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,s]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return s(r.toProxy(),this.helpers)}catch(l){throw this.handleError(l,r)}}if(n.iterator!==0){let a=n.iterator;n.descending&&(n.descending=!1,r.indexes[a]+=1);let s;for(;s=r.nodes[r.indexes[a]];){if(!s[dt]){s[dt]=!0,n.descending=!0,t.push(mg(s));return}r.indexes[a]+=1}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===ur){r.nodes&&r.nodes.length&&(r[dt]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[dt]=!0;let n=[{eventIndex:0,events:uu(t),iterator:0,node:t}];for(;n.length>0;){let r=n[n.length-1],i=r.node;if(r.iterator!==0){let o=r.iterator;r.descending&&(r.descending=!1,i.indexes[o]+=1);let a,s=!1;for(;a=i.nodes[i.indexes[o]];){if(!a[dt]){a[dt]=!0,r.descending=!0,n.push({eventIndex:0,events:uu(a),iterator:0,node:a}),s=!0;break}i.indexes[o]+=1}if(s)continue;r.iterator=0,delete i.indexes[o]}if(r.eventIndex<r.events.length){let o=r.events[r.eventIndex];if(r.eventIndex+=1,o===ur)i.nodes&&i.nodes.length&&(r.iterator=i.getIterator());else{let a=this.listeners[o];a&&this.visitSync(a,i.toProxy())&&n.pop()}continue}n.pop()}}warnings(){return this.sync().warnings()}};en.registerPostcss=e=>{cu=e};hg.exports=en;en.default=en;Uw.registerLazyResult(en);Hw.registerLazyResult(en)});var bg=fe((fD,gg)=>{\"use strict\";var jw=iu(),Kw=pa(),Xw=ha(),Yw=li(),dD=lu(),Ai=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=Kw;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=Yw;this.result=new Xw(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 jw(i,void 0,this._opts,n);if(a.isMap()){let[s,l]=a.generate();s&&(this.result.css=s),l&&(this.result.map=l)}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[]}};gg.exports=Ai;Ai.default=Ai});var yg=fe((mD,xg)=>{\"use strict\";var Jw=na(),Qw=du(),Zw=bg(),e_=sr(),_n=class{constructor(t=[]){this.version=\"8.5.28\",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 Zw(this,t,n):new Qw(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};xg.exports=_n;_n.default=_n;e_.registerProcessor(_n);Jw.registerProcessor(_n)});var Rg=fe((pD,Cg)=>{\"use strict\";var Sg=ta(),vg=pi(),t_=Dt(),n_=ea(),Eg=gi(),Ag=na(),r_=jh(),i_=xi(),o_=du(),a_=nu(),s_=fi(),l_=pa(),fu=yg(),u_=ha(),wg=sr(),_g=sa(),c_=li(),d_=su();function Se(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new fu(e)}Se.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(\"zh\")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let s=n(...a);return s.postcssPlugin=t,s.postcssVersion=new fu().version,s}let o;return Object.defineProperty(i,\"postcss\",{get(){return o||(o=i()),o}}),i.process=function(a,s,l){return Se([i(l)]).process(a,s)},i};Se.stringify=c_;Se.parse=l_;Se.fromJSON=r_;Se.list=a_;Se.comment=e=>new vg(e);Se.atRule=e=>new Sg(e);Se.decl=e=>new Eg(e);Se.rule=e=>new _g(e);Se.root=e=>new wg(e);Se.document=e=>new Ag(e);Se.CssSyntaxError=n_;Se.Declaration=Eg;Se.Container=t_;Se.Processor=fu;Se.Document=Ag;Se.Comment=vg;Se.Warning=d_;Se.AtRule=Sg;Se.Result=u_;Se.Input=i_;Se.Rule=_g;Se.Root=wg;Se.Node=s_;o_.registerPostcss(Se);Cg.exports=Se;Se.default=Se});function Bd(e){return e?/[\\w-]/.test(e)||e.charCodeAt(0)>=128:!1}function Ud(e){return e===\" \"||e===\"\t\"||e===`\n`||e===\"\\r\"||e===\"\\f\"}var SS=/^[0-9a-fA-F]{1,6}/;function vS(e){let t=e>=55296&&e<=57343;return e===0||e>1114111||t?65533:e}function Wd(e,t){return e[t]===\"\\r\"&&e[t+1]===`\n`?t+2:Ud(e[t])?t+1:t}function gs(e,t){let n=e[t+1];if(n===void 0||/[\\n\\r\\f]/.test(n))return null;let r=SS.exec(e.slice(t+1,t+7));if(!r)return{value:n,end:t+2};let i=vS(Number.parseInt(r[0],16));return{value:String.fromCodePoint(i),end:Wd(e,t+1+r[0].length)}}function ES(e,t){let n=i=>Bd(i)&&!/[0-9-]/.test(i),r=i=>e[i]===\"\\\\\"&&gs(e,i)!==null;return e[t]===\"-\"?e[t+1]===\"-\"||n(e[t+1])||r(t+1):n(e[t])||r(t)}function lo(e,t){let n=t;for(;e.startsWith(\"/*\",n);){let r=e.indexOf(\"*/\",n+2);n=r<0?e.length:r+2}return n}function Tr(e,t){let n=lo(e,t);for(;Ud(e[n]);)n=lo(e,n+1);return n}function kr(e,t){if(!ES(e,t))return null;let n=t,r=\"\";for(;n<e.length;){let i=e[n];if(i===\"\\\\\"){let o=gs(e,n);if(!o)break;r+=o.value,n=o.end;continue}if(!Bd(i))break;r+=i,n+=1}return n===t?null:{value:r,end:n}}var bs=45;function Vd(e){return e>=48&&e<=57}function AS(e){return e>=128||e===bs||e===95||Vd(e)||e>=65&&e<=90||e>=97&&e<=122}function wS(e,t){let n=e.charCodeAt(t);return n>=1&&n<=31||n===127?!0:Vd(n)?t===0||t===1&&e.charCodeAt(0)===bs:!1}function kt(e){let t=\"\";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n),i=e[n];r===0?t+=\"\\uFFFD\":wS(e,n)?t+=`\\\\${r.toString(16)} `:n===0&&e.length===1&&r===bs?t+=`\\\\${i}`:AS(r)?t+=i:t+=`\\\\${i}`}return t}var $d=/\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:[0-9a-fA-F]{1,6}(?:\\r\\n|[ \\t\\r\\n\\f])?|[\\s\\S])|\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|'(?:[^'\\\\]|\\\\[\\s\\S])*'|\\[(?:\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\[\\s\\S]|\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|'(?:[^'\\\\]|\\\\[\\s\\S])*'|[^\\]\"'\\\\/]|\\/(?!\\*))*\\]/g;function _S(e){let t=new Array(e.length).fill(!0);for(let n of e.matchAll($d)){let r=n.index;t.fill(!1,r,r+n[0].length)}return t}function uo(e,t,n){if(t.length===0||!e.includes(\"#\"))return e;let r=new Set(t),i=_S(e),o=\"\",a=0;for(;a<e.length;){let s=i[a]&&e[a]===\"#\"?kr(e,a+1):null;s&&r.has(s.value)?(o+=n(s.value),a=s.end):(o+=e[a],a+=1)}return o}function CS(e){let t=\"\";for(let n=0;n<e.length;n+=1){if(e[n]===\"\\\\\"){let r=e[n+1];if(r!==void 0&&/[\\n\\r\\f]/.test(r)){n=Wd(e,n+1)-1;continue}let i=gs(e,n);if(i){t+=i.value,n=i.end-1;continue}}t+=e[n]}return t}function xs(e){return Array.from(e,t=>{let n=t.charCodeAt(0);return n===0?\"\\uFFFD\":n<32||n===127?`\\\\${n.toString(16)} `:t==='\"'||t===\"\\\\\"?`\\\\${t}`:t}).join(\"\")}function RS(e,t){return e?{kind:\"any\"}:t===void 0?{kind:\"none\"}:{kind:\"named\",prefix:t}}function TS(e,t){return e[t]===\"|\"&&e[t+1]!==\"=\"}function kS(e,t){let n=e[t]===\"*\",r=n?{value:\"*\",end:t+1}:kr(e,t),i=lo(e,r?.end??t);if(!TS(e,i))return n?null:r?{token:r,namespace:{kind:\"none\"}}:null;let o=kr(e,lo(e,i+1));return o?{token:o,namespace:RS(n,r?.value)}:null}function MS(e){if(e[0]!==\"[\")return null;let t=Tr(e,1),n=kS(e,t);if(!n)return null;let{token:r,namespace:i}=n;return{name:r.value,rawName:e.slice(t,r.end),namespace:i,end:r.end}}function NS(e,t){let n=/^(?:\"((?:\\\\[\\s\\S]|[^\"\\\\])*)\"|'((?:\\\\[\\s\\S]|[^'\\\\])*)')/.exec(e.slice(t));return n?{value:CS(n[1]??n[2]),end:t+n[0].length}:kr(e,t)}function LS(e,t){let n=Tr(e,t),r=kr(e,n);if(r){if(!/^[is]$/i.test(r.value))return null;n=Tr(e,r.end)}return e[n]!==\"]\"||n!==e.length-1?null:{flag:r?.value}}function zd(e){let t=MS(e);if(!t)return null;let n=Tr(e,t.end),i=[\"=\",\"~=\",\"|=\",\"^=\",\"$=\",\"*=\"].find(s=>e.startsWith(s,n));if(!i)return null;let o=NS(e,Tr(e,n+i.length));if(!o)return null;let a=LS(e,o.end);return a?{name:t.name,rawName:t.rawName,namespace:t.namespace,operator:i,value:o.value,flag:a.flag}:null}function ys(e,t){return e.replace($d,n=>n.startsWith(\"[\")?t(n):n)}var lt=\"data-hf-svg-reference-aliases\";function co(e,t,n,r){let i={\"=\":(d,m)=>d===m,\"~=\":(d,m)=>d.split(/[ \\t\\r\\n\\f]+/).includes(m),\"|=\":(d,m)=>d===m||d.startsWith(m+\"-\"),\"^=\":(d,m)=>d.startsWith(m),\"$=\":(d,m)=>d.endsWith(m),\"*=\":(d,m)=>d.includes(m)},o=(d,m,g)=>!m&&g!==\"=\"&&g!==\"|=\"?!1:i[g](d,m),a=d=>d.replace(/[A-Z]/g,m=>m.toLowerCase()),s=d=>{let m=zd(d);if(!m)return d;let{name:g,rawName:h,namespace:b,operator:x,value:v,flag:A}=m;if(b.kind===\"named\"!=(r!==void 0))return d;let E=A?.toLowerCase()===\"i\"?a:D=>D,k=a(g),O=n.filter(D=>{let R=b.kind===\"none\"?D.name:D.localName,M=b.kind===\"named\"?r.get(b.prefix):null;return(b.kind===\"any\"||D.namespaceURI===M)&&a(R)===k}),F=new Set([d]);for(let D of O)o(E(D.before),E(v),x)&&F.add(`[${h}=\"${xs(D.after)}\"${A?` ${A}`:\"\"}]`);return F.size===1?d:`:is(${[...F].join(\", \")})`};if(r)return ys(e,s);let l=new Map(t.map(({id:d,replacement:m})=>[d,m])),u=new Map;for(let d of n){if(d.name!==\"id\"||d.before===d.after||l.has(d.before))continue;let m=u.get(d.before);m||(m=new Set([`#${kt(d.before)}`]),u.set(d.before,m)),m.add(`#${kt(d.after)}`)}for(let[d,m]of u)l.set(d,`:is(${[...m].join(\", \")})`);let f=uo(e,[...l.keys()],d=>l.get(d));return ys(f,s)}function bn(e,t,n=!0){let r=[],o=(n?[...e.querySelectorAll(`[${t}]`)]:[]).map(s=>s.getAttribute(t)),a=e.getAttribute?.(t);a&&o.unshift(a);for(let s of o){let l;try{l=JSON.parse(s)}catch{continue}if(!Array.isArray(l))continue;let u=l;for(let f of u){if(!IS(f))continue;let{name:d,localName:m,namespaceURI:g,before:h,after:b}=f;r.push({name:d,localName:m,namespaceURI:g,before:h,after:b})}}return r}function IS(e){if(!e||typeof e!=\"object\")return!1;let{name:t,localName:n,namespaceURI:r,before:i,after:o}=e;return typeof t==\"string\"&&typeof n==\"string\"&&(r===null||typeof r==\"string\")&&typeof i==\"string\"&&typeof o==\"string\"}function DS(e){let t=[],n=[],r=!1,i,o=new WeakMap,a=(u,f)=>{for(let d of u){if(\"selectorText\"in d){let m=d,g=o.get(m),h=m.selectorText,b=g?.applied===h?g.authored:h,x=co(b,[],n,f);x!==h&&(m.selectorText=x),x===b?o.delete(m):o.set(m,{authored:b,applied:m.selectorText})}\"cssRules\"in d&&a(d.cssRules,f)}},s=()=>{if(n.length)for(let u of e.document.styleSheets){let f;try{f=u.cssRules}catch{continue}let d=new Map;for(let m of f){if(!(\"namespaceURI\"in m))continue;let{prefix:g,namespaceURI:h}=m;g&&d.set(g,h||null)}d.size&&a(f,d)}},l={rewrite:(u,f=[])=>{if(typeof u!=\"string\"||!u.includes(\"#\")&&!u.includes(\"[\"))return u;let d=co(u,f.length?[...f,...t]:t,n);if(d!==u){if(!i){let m=e.document.createElement(\"div\");i=m.matches.bind(m)}i(u)}return d},refresh(){n=bn(e.document,lt).filter(m=>m.before!==m.after);let u=new Set(n.filter(m=>m.name===\"id\").map(m=>m.before)),f=new Set;t=[];for(let m of e.document.querySelectorAll(\"[data-hf-authored-id][id]\")){let g=m.getAttribute(\"data-hf-authored-id\");if(!g||g===m.id||f.has(g)||u.has(g))continue;f.add(g);let h=xs(g);t.push({id:g,replacement:`:is(#${kt(g)}, [data-hf-authored-id=\"${h}\"])`})}if(s(),r||!t.length&&!n.length)return;let d=e.Element.prototype;d.querySelector=new Proxy(d.querySelector,{apply(m,g,h){return Reflect.apply(m,g,[l.rewrite(h[0])])}}),d.querySelectorAll=new Proxy(d.querySelectorAll,{apply(m,g,h){return Reflect.apply(m,g,[l.rewrite(h[0])])}}),r=!0}};e.__hfSvgSelectorAliases=l,l.refresh()}function In(){let e=window;e.__hfSvgSelectorAliases?e.__hfSvgSelectorAliases.refresh():DS(e)}var Mr=\"hf-runtime-filler\",PS=[\"seconds-time\",\"rational-fps\",\"seek-keep-playing\",\"composition-manifest-v1\",\"runtime-data\",\"play-range\"];function OS(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 HS(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=OS(r,n);return{numerator:r/i,denominator:n/i}}function qd(e,t,n){return Math.max(e,(Math.ceil(t*n-1e-6)-1)/n)}function Ss(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 fo(e){return{protocolVersion:1,capabilities:PS,fps:HS(e)}}function GS(e){return Array.isArray(e)&&e.every(t=>typeof t==\"string\")}function jd(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=Ss(n.fps);return r===null||!GS(n.capabilities)?{status:\"unsupported\",code:\"invalid_protocol_metadata\",receivedVersion:n.protocolVersion}:{status:\"supported\",fps:r,metadata:n}}var Dn=Object.freeze({start:\"data-start\",duration:\"data-duration\",trackIndex:\"data-track-index\",derivedEnd:\"data-end\",legacyTrack:\"data-layer\"}),kM=Object.freeze([Dn.start,Dn.duration,Dn.trackIndex]),MM=Object.freeze([Dn.derivedEnd]),NM=Object.freeze([Dn.derivedEnd,Dn.legacyTrack]);function zt(e){if(e==null||e.trim()===\"\")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Xd=/^[A-Za-z0-9_.:-]+$/;function Yd(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Kd(e,t){let n=t;for(;n>=0&&Yd(e,n);)n--;return n}function BS(e,t){let n=t;for(;n>=0&&(e[n]??\"\").trim()===\"\";)n--;return n}function US(e){let t=e.length-1;if(!Yd(e,t))return null;let n=Kd(e,t);return e[n]===\".\"&&(n=Kd(e,n-1)),n+1}function WS(e){let t=US(e);if(t==null)return null;let n=BS(e,t-1),r=e[n];if(r!==\"+\"&&r!==\"-\")return null;let i=e.slice(0,n).trim();if(!Xd.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function vs(e){let t=(e??\"\").trim();if(!t)return null;let n=zt(t);if(n!=null)return{kind:\"absolute\",value:n};if(Xd.test(t))return{kind:\"reference\",refId:t,offset:0};let r=WS(t);return r?{kind:\"reference\",refId:r.refId,offset:r.operator===\"-\"?-r.magnitude:r.magnitude}:null}var Jd=e=>{let t=zt(e);return t!==null&&t>=0?t:null};function Qd(e){return Jd(e(\"data-playback-start\"))??Jd(e(\"data-media-start\"))??0}var Nr=.1,Lr=10;function Es(e){return Number.isFinite(e)&&e>0?Math.max(Nr,Math.min(Lr,e)):1}function Zd(e,t=1){let n=Number.parseFloat(e(\"data-playback-rate\")??\"\");return Es(Number.isFinite(n)&&n>0?n:t)}function As(e){let t=zt(e(\"data-duration\"));return t!==null&&t>0?t:null}function ef(e,t){let n=As(e);if(n!==null)return n;let r=zt(e(\"data-end\"));return r!==null?r-t:null}var VS=3;function ws(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/Es(n):null}function _s(e){let{tag:t,authoredDurationSeconds:n,sourceDurationSeconds:r,mediaStartSeconds:i,playbackRate:o}=e;if(n!==null&&n>0)return{seconds:n,source:\"authored\"};if(t===\"img\")return{seconds:VS,source:\"default\"};if(r===null)return{seconds:null,source:\"pending\",reason:\"source duration not yet probed\"};let a=ws(r,i,o);return a===null?{seconds:null,source:\"pending\",reason:\"source reported a non-finite duration\"}:{seconds:a,source:\"media\"}}var xn=\"data-fx-chain\",PM=xn.slice(5),tf=1,Fr=(e=\"frequency\",t=\"Frequency\",n=1e3,r=20,i=2e4)=>({kind:\"number\",key:e,label:t,unit:\"Hz\",min:r,max:i,step:1,default:n,scale:\"log\",automatable:!0}),Cs=(e=.707,t=\"Bandwidth \\u2014 higher is narrower.\")=>({kind:\"number\",key:\"q\",label:\"Q\",unit:\"\",min:.1,max:20,step:.01,default:e,scale:\"log\",automatable:!0,hint:t}),mo=(e=-40,t=40,n=0)=>({kind:\"number\",key:\"gain\",label:\"Gain\",unit:\"dB\",min:e,max:t,step:.1,default:n,automatable:!0}),nf={kind:\"enum\",key:\"poles\",label:\"Slope\",options:[{value:\"1\",label:\"6 dB/oct\"},{value:\"2\",label:\"12 dB/oct\"}],default:\"2\",hint:\"Two poles is the usual biquad; one pole is gentler.\"},of=[{id:\"gain\",label:\"Gain\",group:\"dynamics\",description:\"Raise or lower the whole signal. Automate it to duck under something else.\",params:[mo(-60,12,0)],web:\"gain-node\"},{id:\"peaking\",label:\"Peaking EQ\",group:\"filter\",description:\"Boost or cut a band, leaving everything either side alone.\",params:[Fr(\"frequency\",\"Frequency\",1e3),mo(-40,40,0),Cs(1)],web:\"biquad-peaking\"},{id:\"lowshelf\",label:\"Low Shelf\",group:\"filter\",description:\"Lift or drop everything below the corner frequency.\",params:[Fr(\"frequency\",\"Frequency\",200,20,2e3),mo(-40,40,0)],web:\"biquad-lowshelf\"},{id:\"highshelf\",label:\"High Shelf\",group:\"filter\",description:\"Lift or drop everything above the corner frequency.\",params:[Fr(\"frequency\",\"Frequency\",4e3,500,2e4),mo(-40,40,0)],web:\"biquad-highshelf\"},{id:\"highpass\",label:\"High-pass\",group:\"filter\",description:\"Remove low frequencies \\u2014 the usual fix for rumble on a voice.\",params:[Fr(\"frequency\",\"Cutoff\",300,20,2e4),Cs(.707),nf],web:\"biquad-highpass\"},{id:\"lowpass\",label:\"Low-pass\",group:\"filter\",description:\"Remove high frequencies \\u2014 darkens or muffles a track.\",params:[Fr(\"frequency\",\"Cutoff\",8e3,100,2e4),Cs(.707),nf],web:\"biquad-lowpass\"},{id:\"compressor\",label:\"Compressor\",group:\"dynamics\",description:\"Pull loud parts down so the quiet ones can come up.\",params:[{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-60,max:0,step:.5,default:-24,hint:\"Level above which the compressor starts working.\"},{kind:\"number\",key:\"ratio\",label:\"Ratio\",unit:\":1\",min:1,max:20,step:.1,default:4},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.01,max:2e3,step:.1,default:20,scale:\"log\"},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:.01,max:9e3,step:1,default:250,scale:\"log\"},{kind:\"number\",key:\"knee\",label:\"Knee\",unit:\"\",min:1,max:8,step:.01,default:2.83,hint:\"1 is a hard corner; higher eases into it.\"},{kind:\"number\",key:\"makeup\",label:\"Makeup\",unit:\"dB\",min:0,max:36,step:.1,default:0},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1,hint:\"Below 1 blends the dry signal back in.\"}],web:\"worklet-compressor\"},{id:\"limiter\",label:\"Limiter\",group:\"dynamics\",description:\"Hard ceiling \\u2014 nothing gets past the limit.\",params:[{kind:\"number\",key:\"limit\",label:\"Ceiling\",unit:\"dB\",min:-24,max:0,step:.1,default:-1},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.1,max:80,step:.1,default:5},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:1,max:8e3,step:1,default:50,scale:\"log\"},{kind:\"number\",key:\"level_out\",label:\"Output\",unit:\"dB\",min:-24,max:24,step:.1,default:0}],web:\"worklet-limiter\"},{id:\"gate\",label:\"Noise Gate\",group:\"dynamics\",description:\"Silence the track when it drops below the threshold.\",params:[{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-80,max:0,step:.5,default:-35},{kind:\"number\",key:\"range\",label:\"Range\",unit:\"dB\",min:-80,max:0,step:.5,default:-24,hint:\"How far down the gate pulls when closed.\"},{kind:\"number\",key:\"ratio\",label:\"Ratio\",unit:\":1\",min:1,max:20,step:.1,default:10},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.01,max:9e3,step:.1,default:1,scale:\"log\"},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:.01,max:9e3,step:1,default:100,scale:\"log\"},{kind:\"number\",key:\"knee\",label:\"Knee\",unit:\"\",min:1,max:8,step:.01,default:2.83}],web:\"worklet-gate\"},{id:\"saturate\",label:\"Saturation\",group:\"nonlinear\",description:\"Soft-clip the waveform for warmth or outright distortion.\",params:[{kind:\"enum\",key:\"type\",label:\"Curve\",options:[{value:\"tanh\",label:\"Tanh\"},{value:\"atan\",label:\"Arctan\"},{value:\"cubic\",label:\"Cubic\"},{value:\"exp\",label:\"Exponential\"},{value:\"alg\",label:\"Algebraic\"},{value:\"quintic\",label:\"Quintic\"},{value:\"sin\",label:\"Sine\"},{value:\"erf\",label:\"Error function\"},{value:\"hard\",label:\"Hard clip\"}],default:\"tanh\"},{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-40,max:0,step:.1,default:-6},{kind:\"number\",key:\"output\",automatable:!0,label:\"Output\",unit:\"dB\",min:-24,max:24,step:.1,default:0},{kind:\"number\",key:\"oversample\",label:\"Oversample\",unit:\"x\",min:1,max:8,step:1,default:4,hint:\"Higher costs more but keeps aliasing down.\"}],web:\"waveshaper\"},{id:\"bitcrush\",label:\"Bitcrush\",group:\"nonlinear\",description:\"Drop bit depth and sample rate for a lo-fi, digital sound.\",params:[{kind:\"number\",key:\"bits\",label:\"Bit depth\",unit:\"bit\",min:1,max:32,step:.1,default:8},{kind:\"number\",key:\"samples\",label:\"Sample hold\",unit:\"x\",min:1,max:250,step:1,default:1,hint:\"Repeats each sample N times \\u2014 a crude downsample.\"},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1}],web:\"worklet-bitcrush\"},{id:\"pitchshift\",label:\"Pitch shift\",group:\"time\",description:\"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.\",params:[{kind:\"number\",key:\"semitones\",label:\"Semitones\",unit:\"st\",min:-12,max:12,step:1,default:0},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1}],web:\"worklet-pitchshift\"},{id:\"delay\",label:\"Delay\",group:\"time\",description:\"Repeating echoes behind the dry signal.\",params:[{kind:\"number\",key:\"time\",automatable:!0,label:\"Time\",unit:\"ms\",min:1,max:5e3,step:1,default:250,scale:\"log\"},{kind:\"number\",key:\"feedback\",automatable:!0,label:\"Feedback\",unit:\"\",min:.01,max:.95,step:.01,default:.35},{kind:\"number\",key:\"mix\",automatable:!0,label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:.4}],web:\"delay-feedback\"},{id:\"chorus\",label:\"Chorus\",group:\"time\",description:\"Detuned copies of the signal for width and thickness.\",params:[{kind:\"number\",key:\"delay\",automatable:!0,label:\"Delay\",unit:\"ms\",min:1,max:100,step:.1,default:7},{kind:\"number\",key:\"depth\",automatable:!0,label:\"Depth\",unit:\"ms\",min:0,max:10,step:.01,default:2},{kind:\"number\",key:\"speed\",automatable:!0,label:\"Rate\",unit:\"Hz\",min:.01,max:10,step:.01,default:1},{kind:\"number\",key:\"mix\",automatable:!0,label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:.5}],web:\"chorus-lfo\"},{id:\"phaser\",label:\"Phaser\",group:\"time\",description:\"Sweeping notches moving through the spectrum.\",params:[{kind:\"number\",key:\"in_gain\",automatable:!0,label:\"Input\",unit:\"\",min:0,max:1,step:.01,default:.4},{kind:\"number\",key:\"out_gain\",automatable:!0,label:\"Output\",unit:\"\",min:0,max:2,step:.01,default:.74},{kind:\"number\",key:\"delay\",label:\"Delay\",unit:\"ms\",min:.1,max:5,step:.1,default:3},{kind:\"number\",key:\"decay\",label:\"Decay\",unit:\"\",min:0,max:.99,step:.01,default:.4},{kind:\"number\",key:\"speed\",automatable:!0,label:\"Rate\",unit:\"Hz\",min:.1,max:2,step:.01,default:.5},{kind:\"enum\",key:\"type\",label:\"Waveform\",options:[{value:\"0\",label:\"Triangular\"},{value:\"1\",label:\"Sinusoidal\"}],default:\"0\"}],web:\"allpass-phaser\"},{id:\"reverb\",label:\"Reverb\",group:\"time\",description:\"Room tail. Both ends convolve the same generated impulse, so preview matches render.\",params:[{kind:\"number\",key:\"size\",label:\"Room size\",unit:\"\",min:.05,max:1,step:.01,default:.7},{kind:\"number\",key:\"damping\",label:\"Damping\",unit:\"\",min:0,max:1,step:.01,default:.5,hint:\"Higher rolls the top off the tail faster.\"},{kind:\"number\",key:\"wet\",automatable:!0,label:\"Wet\",unit:\"\",min:0,max:1,step:.01,default:.35},{kind:\"number\",key:\"dry\",automatable:!0,label:\"Dry\",unit:\"\",min:0,max:1,step:.01,default:.7}],web:\"convolver\"}],Rs=new Map(of.map(e=>[e.id,e]));function Ir(e){return Rs.get(e)}var OM=of.map(e=>e.id);function Dr(e,t){let n=Rs.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind===\"enum\"){let s=i.options.some(l=>l.value===o);r[i.key]=s?o:i.default;continue}let a=typeof o==\"number\"?o:typeof o==\"string\"&&o.trim()!==\"\"?Number(o):Number.NaN;r[i.key]=Number.isFinite(a)?Math.min(i.max,Math.max(i.min,a)):i.default}return r}var qt=class extends Error{constructor(t){super(t),this.name=\"AudioFxChainError\"}};function af(e){let t;try{t=JSON.parse(e)}catch(i){throw new qt(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new qt(\"Chain file must be a JSON object.\");let n=t;if(n.version!==tf)throw new qt(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new qt(\"Chain file is missing a `nodes` array.\");let r=n.nodes.map($S);return{version:tf,nodes:r}}function Pr(e){return e.nodes.filter(t=>t.enabled!==!1)}function $S(e,t){if(typeof e!=\"object\"||e===null)throw new qt(`Node ${t} is not an object.`);let n=e;if(typeof n.type!=\"string\"||!Rs.has(n.type))throw new qt(`Node ${t} has unknown effect type: ${String(n.type)}`);return qS({type:n.type,id:po(n.id),fromCarve:rf(n.fromCarve),fromPreset:po(n.fromPreset),label:po(n.label),fromEq:po(n.fromEq),fromLeveller:rf(n.fromLeveller),presetAmount:zS(n.presetAmount),enabled:n.enabled!==!1,params:Dr(n.type,n.params??void 0)})}function po(e){return typeof e==\"string\"&&e?e:void 0}function rf(e){return e===!0?!0:void 0}function zS(e){if(!(typeof e!=\"number\"||!Number.isFinite(e)))return Math.min(1,Math.max(0,e))}function qS(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}function jS(e){return 10**(e/20)}var Ts=jS(12);function Je(e){return Number.isFinite(e)?Math.max(0,Math.min(Ts,e)):1}function ho(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function sf(e,t){let n=typeof HTMLMediaElement>\"u\"?void 0:Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,\"volume\"),r=n?.get,i=n?.set;if(!r||!i)return t();let o=Number(r.call(e));Object.defineProperty(e,\"volume\",{configurable:!0,get:()=>o,set:a=>{o=Number(a),i.call(e,ho(o))}});try{return t()}finally{delete e.volume,i.call(e,ho(o))}}var Nt=\"data-automation\",zM=Nt.slice(5),go=1,KS=512,Mt=class extends Error{constructor(t){super(t),this.name=\"AudioAutomationError\"}},Pn=\"volume\",bo=\"rate\";function Hr(e){if(e===Pn)return{kind:\"volume\"};if(e===bo)return{kind:\"rate\"};let t=e.split(\".\");if(t.length===3&&t[0]===\"fx\"&&t[1]===XS){let i=t[2];return i?{kind:\"preset\",presetId:i}:null}if(t.length!==3||t[0]!==\"fx\")return null;let[,n,r]=t;return!n||!r?null:{kind:\"fx\",nodeId:n,param:r}}var XS=\"preset\";var YS={min:0,max:1,step:.01,unit:\"\",label:\"Amount\",scale:\"linear\",default:1},xo={min:0,max:Ts,step:.01,unit:\"\",label:\"Volume\",scale:\"linear\",default:1},lf={min:Nr,max:Lr,step:.05,unit:\"x\",label:\"Speed\",scale:\"log\",default:1};function ks(e,t){let n=Hr(e);if(!n)return null;if(n.kind===\"volume\")return xo;if(n.kind===\"rate\")return lf;if(n.kind===\"preset\")return t?.nodes.some(s=>s.fromPreset===n.presetId)?{...YS,label:`${n.presetId} \\xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=Ir(r.type),o=i?.params.find(a=>a.key===n.param);return!o||o.kind!==\"number\"?null:{min:o.min,max:o.max,step:o.step,unit:o.unit,label:`${i?.label??r.type} \\xB7 ${o.label}`,scale:o.scale===\"log\"&&o.min>0?\"log\":\"linear\",default:o.default}}function Or(e){if(typeof e==\"number\")return Number.isFinite(e)?e:null;if(typeof e==\"string\"&&e.trim()!==\"\"){let t=Number(e);return Number.isFinite(t)?t:null}return null}function JS(e){let t=Or(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function uf(e,t){let n=Or(e),r=Or(t);if(n===null||r===null)return null;let i=s=>Math.min(.999,Math.max(.001,s)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function QS(e){let t=JS(e?.curve),n=uf(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function ZS(e,t){let n=Or(e?.t),r=Or(e?.v);if(n===null||r===null)return null;let i=t?Math.min(t.max,Math.max(t.min,r)):r;return{t:Math.max(0,n),v:i,...QS(e)}}function cf(e,t){let n=e.map(i=>ZS(i,t)).filter(i=>i!==null).sort((i,o)=>i.t-o.t),r=[];for(let i of n)r.length>0&&r[r.length-1].t===i.t?r[r.length-1]=i:r.push(i);return r.slice(0,KS)}function ev(e){let t=[];for(let n of e.lanes){if(!Hr(n.target))continue;let r=n.target===Pn?xo:n.target===bo?lf:null,i=cf(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:go,lanes:t}}function df(e,t){let n=[];for(let r of e.lanes){let i=ks(r.target,t);if(!i)continue;let o=cf(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:go,lanes:n}}function yo(e){let t;try{t=JSON.parse(e)}catch(i){throw new Mt(`Automation is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new Mt(\"Automation must be a JSON object.\");let n=t;if(n.version!==go)throw new Mt(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new Mt(\"Automation is missing a `lanes` array.\");let r=n.lanes.map((i,o)=>{if(typeof i!=\"object\"||i===null)throw new Mt(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!=\"string\"||!Hr(a.target))throw new Mt(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new Mt(`Lane ${o} is missing a \\`points\\` array.`);return{target:a.target,points:a.points}});return ev({version:go,lanes:r})}function tv(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function nv(e,t){let n=e-.5,r=t-.5,i=.999,o=1e6,a=n>0?n/(i-e):n<0?-n/(e-(1-i)):0,s=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,l=Math.min(o,Math.max(1,a,s));return{cx:e+n/l,cy:t+r/l,w:l}}function rv(e,t,n){let{cx:r,cy:i,w:o}=nv(t,n),a=2-2*o,s=e*a-1+2*o*r,l=-e*a-2*o*r,u=iv(s,l,e),f=1-u,d=f*f+2*o*u*f+u*u;return d>0?(2*o*i*u*f+u*u)/d:e}function iv(e,t,n){if(Math.abs(e)<1e-12)return Math.abs(t)<1e-12?n:-n/t;let r=Math.sqrt(Math.max(0,t*t-4*e*n)),i=(-t+r)/(2*e),o=(-t-r)/(2*e),a=s=>s>=-1e-9&&s<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function ov(e,t){let n=uf(t.viaX,t.viaY);return n?rv(Math.min(1,Math.max(0,e)),n.x,n.y):tv(e,t.curve)}function av(e,t,n,r){return r===\"log\"&&e>0&&t>0?Math.exp(Math.log(e)+(Math.log(t)-Math.log(e))*n):e+(t-e)*n}function Lt(e,t,n=\"linear\"){let r=e.points;if(r.length===0)return 0;let i=r[0];if(t<=i.t)return i.v;let o=r[r.length-1];if(t>=o.t)return o.v;let a=0,s=r.length-1;for(;s-a>1;){let d=a+s>>1;r[d].t<=t?a=d:s=d}let l=r[a],u=r[s],f=u.t-l.t;return f<=0?u.v:av(l.v,u.v,ov((t-l.t)/f,l),n)}function ff(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function mf(e,t,n,r,i=\"linear\"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),s=n-t;for(let l=0;l<o;l+=1)a[l]=Lt(e,t+s*l/(o-1),i);return a}var So=new Map,sv=64;function Ms(e,t=Pn){let n=`${t}\\0${e}`,r=So.get(n);if(r!==void 0)return r;let i=null;try{i=yo(e).lanes.find(o=>o.target===t)??null}catch{i=null}return So.size>sv&&So.clear(),So.set(n,i),i}function pf(e,t){let n=(typeof e.getAttribute==\"function\"?e.getAttribute(Nt):null)??\"\";if(!n)return null;let r=Ms(n);return!r||r.points.length===0?null:Lt(r,t)}var hf=48,gf=new WeakMap;function lv(e){let t=e.points,n=t[0].v,r=t[t.length-1].v,i=[0],o=[0],a=l=>{let u=i[i.length-1];if(l<=u)return;let f=Lt(e,u,\"log\");i.push(l),o.push(o[o.length-1]+(f+Lt(e,l,\"log\"))/2*(l-u))},s=Math.max(0,t[0].t);a(s);for(let l=1;l<t.length;l+=1){let u=t[l-1].t,f=t[l].t;if(!(f<=0))for(let d=1;d<=hf;d+=1)a(Math.max(u,0)+(f-u)*d/hf)}return{ts:Float64Array.from(i),ss:Float64Array.from(o),firstRate:n,lastRate:r}}function bf(e){let t=gf.get(e);return t||(t=lv(e),gf.set(e,t)),t}function Ns(e){return typeof e!=\"number\"&&e.points.length>0}function Ls(e,t){return typeof e==\"number\"?e:Ns(e)?Lt(e,t,\"log\"):1}function xf(e,t,n){let r=0,i=e.length-1;for(;i-r>1;){let o=r+i>>1;e[o]<=n?r=o:i=o}return t[r]+(t[i]-t[r])*(n-e[r])/(e[i]-e[r])}function On(e,t){if(typeof e==\"number\")return t*e;if(!Ns(e))return t;let{ts:n,ss:r,firstRate:i,lastRate:o}=bf(e),a=n.length-1;return t<=0?t*i:t>=n[a]?r[a]+(t-n[a])*o:xf(n,r,t)}function yn(e,t){if(typeof e==\"number\")return t/e;if(!Ns(e))return t;let{ts:n,ss:r,firstRate:i,lastRate:o}=bf(e),a=n.length-1;return t<=0?t/i:t>=r[a]?n[a]+(t-r[a])/o:xf(r,n,t)}function uv(e){return e?Ms(e,bo):null}function yf(e,t){return uv(e)??t}var QM=[{id:\"montage\",label:\"Montage\",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:\"hero\",label:\"Hero\",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:\"bullet\",label:\"Bullet\",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:\"jump-cut\",label:\"Jump cut\",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:\"flash-in\",label:\"Flash in\",points:[[0,.3],[.6,.6],[1,5]]},{id:\"flash-out\",label:\"Flash out\",points:[[0,5],[.4,.6],[1,.3]]},{id:\"ramp-in\",label:\"Ramp in\",points:[[0,.5],[1,1]]},{id:\"ramp-out\",label:\"Ramp out\",points:[[0,1],[1,.5]]},{id:\"slowmo-middle\",label:\"Slow-mo middle\",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var Sf=\"http://www.w3.org/1999/xhtml\";function ke(e){return e!=null&&e.nodeType===1}function xe(e){return ke(e)&&e.namespaceURI===Sf}function Hn(e,t){return xe(e)&&e.localName===t}function ye(e){return Hn(e,\"video\")}function vo(e){return Hn(e,\"audio\")}function pe(e){return ye(e)||vo(e)}function Ie(e){return Hn(e,\"img\")}function Gr(e){return Hn(e,\"canvas\")}function vf(e){return Hn(e,\"style\")}function Ef(e){return Hn(e,\"link\")}function Fs(e){return ke(e)&&(e.namespaceURI===Sf||e.namespaceURI===\"http://www.w3.org/2000/svg\")}function Ce(e){return zt(e)}function Ve(e){return Zd(t=>e.getAttribute(t),pe(e)?e.defaultPlaybackRate:1)}function bt(e){return yf(e.getAttribute(\"data-automation\"),Ve(e))}function Gn(e){return Qd(t=>e.getAttribute(t))}function xt(e,t){return cv(t,Gn(e),bt(e))}function Bn(e){let t=_s({tag:\"video\",authoredDurationSeconds:As(n=>e.getAttribute(n)),sourceDurationSeconds:Number.isFinite(e.duration)?e.duration:null,mediaStartSeconds:Gn(e),playbackRate:Ve(e)});return t.source===\"media\"?xt(e,e.duration):t.seconds}function Un(e,t=0){return!Ie(e)||!e.hasAttribute(\"data-start\")&&!e.hasAttribute(\"data-track-index\")?null:_s({tag:\"img\",authoredDurationSeconds:ef(n=>e.getAttribute(n),t),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function cv(e,t,n){return typeof n==\"number\"?ws(e,t,n):Number.isFinite(e)?yn(n,Math.max(0,e-t)):null}var Eo=\"hyperframes-studio-preview\",Wn=\"data-hf-upcoming\",Is=\"data-hf-preview-lazy\";var _f=\"data-hf-first-pass-hide\",Af=\"[data-start]:not(video, audio, img) { visibility: hidden !important; }\",dv='img[loading=\"lazy\"] { display: none !important; }',Cf=\"data-hf-skip-hidden-images\",Br=`[data-start]:not(video, audio, img, [${Wn}])[style*=\"visibility: hidden\"]`,fv=`${Br} img { display: none !important; }`,mv=`meta[name=\"${Eo}\"]`;function wf(e,t,n){let r=document.createElement(\"style\");r.setAttribute(t,\"\"),r.textContent=n,e.appendChild(r)}function Ur(){return document.querySelector(`style[${Cf}]`)!==null}function Rf(){if(typeof document>\"u\")return;let e=document.head??document.documentElement;if(!e)return;let t=document.querySelector(mv)!==null;t&&!Ur()&&wf(e,Cf,fv);let n=window;if(n.__hfFirstPassHidden||n.__hyperframeRuntimeBootstrapped)return;let r=t?`${Af} ${dv}`:Af;wf(e,_f,r),n.__hfFirstPassHidden=!0}function Tf(){let e=window;if(!e.__hfFirstPassHidden)return!1;e.__hfFirstPassHidden=!1;for(let t of document.querySelectorAll(`style[${_f}]`))t.remove();return!0}function Ao(e){e.preload!==\"auto\"&&(e.preload=\"auto\");let t=e.tagName===\"VIDEO\"&&e.networkState===2;e.readyState<3&&!t&&e.load()}function Ds(e){for(let t of e.querySelectorAll(\"source\"))t.remove();e.removeAttribute(\"src\"),e.load()}function kf(e){if(e.querySelector(\"source\"))return;let t=e.getAttribute(\"src\");Ds(e),t!==null&&e.setAttribute(\"src\",t)}function Ps(e){return Ce(e.getAttribute(\"data-duration\"))!=null}function Mf(){let e=window;if(e.__hfMediaDeferral?.disconnect(),e.__hfMediaDeferral=void 0,!Ur())return;let t=n=>{let r=Ce(n.getAttribute(\"data-start\"));r!=null&&r>0&&Ps(n)&&(n.preload=\"none\")};e.__hfMediaDeferral=new MutationObserver(n=>{for(let r of n)for(let i of r.addedNodes){if(i.nodeType!==1)continue;let o=i;o.matches(\"video, audio\")&&t(o);for(let a of o.querySelectorAll(\"video, audio\"))t(a)}}),e.__hfMediaDeferral.observe(document.documentElement,{childList:!0,subtree:!0})}function wo(){return globalThis}function H(e,t){if(typeof window>\"u\")return;let n=wo(),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 Nf=30;function Lf(e){Nf=Number.isFinite(e)&&e>0?e:30}function Ee(e){try{window.parent.postMessage({...e,...fo(Nf)},\"*\")}catch(t){H(\"bridge.postMessage\",t)}}var pv=new Map(Object.entries({play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),\"stop-media\":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(hv(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-idle-heartbeat\":(e,t)=>t.onSetIdleHeartbeat(!!e.slow),\"set-display-scale\":(e,t)=>t.onSetDisplayScale?.(Number(e.scale)),\"set-root-duration\":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),\"set-play-range\":(e,t)=>t.onSetPlayRange(Number(e.startSeconds??0),e.endSeconds==null?null:Number(e.endSeconds)),\"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=>bv(e),\"set-runtime-data\":(e,t)=>{typeof e.channel==\"string\"&&t.onSetRuntimeData?.(e.channel,e.payload,e.requestId)},\"clear-runtime-data\":(e,t)=>{typeof e.channel==\"string\"&&t.onClearRuntimeData?.(e.channel,e.requestId)}}));function hv(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Ss(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function gv(e){let t=jd(e);return t.status!==\"unsupported\"?!1:(Ee({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 bv(e){let t=e.selectors,n=e.duration||800;t&&xv(t,n)}function Ff(e){let t=n=>{if(n.source!==window.parent&&n.source!==window)return;let r=n.data;if(!r||r.source!==\"hf-parent\"||r.type!==\"control\"||gv(r))return;let i=r.action;if(typeof i!=\"string\")return;let o=pv.get(i);o&&o(r,e)};return window.addEventListener(\"message\",t),Ee({source:\"hf-preview\",type:\"ready\"}),t}function xv(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){H(\"bridge.flashElements.querySelector\",r)}}var _o=e=>4*Number.EPSILON*Math.max(1,Math.abs(e));function Wr(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?e===t:Math.abs(e-t)<=_o(Math.max(Math.abs(e),Math.abs(t)))}var If=(e,t)=>e>=t||Wr(e,t),jt=(e,t,n)=>If(e,t)&&e<n&&!Wr(e,n),yv=1e-6,Vn=(e,t,n,r)=>jt(e,t,n)||If(e,t)&&r>0&&n>=r-yv;var Os=null;function Df(e){Os=e}function Qe(e,t){if(Os)try{Os({source:\"hf-preview\",type:\"analytics\",event:e,properties:t??{}})}catch(n){H(\"runtime.analytics.site1\",n)}}function Sv(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 $n(e){return`--${Sv(e)}`}function Pf(e){let t=new Map;for(let n of e){let r=$n(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 Hf(){if(typeof document>\"u\")return{};let e=new Set;document.documentElement?.hasAttribute(\"data-composition-variables\")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll(\"[data-composition-variables]\")))e.add(i);let t={};for(let i of e)Object.assign(t,Vr(i));let n=Ro(),r={...t,...n};for(let i of e)Gs(i,r);return r}var Of=new Set;function Gf(e){let t=e?.getAttribute(\"data-composition-variables\");if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}return Array.isArray(n)?n.filter(r=>!!r&&typeof r==\"object\"):[]}function vv(e,t){return t?.trim()||e.getAttribute(\"data-composition-id\")?.trim()||e.querySelector(\"[data-composition-id]\")?.getAttribute(\"data-composition-id\")?.trim()||\"composition\"}function Ev(e){return Array.isArray(e.options)?e.options.map(t=>t&&typeof t==\"object\"?t.value:t).filter(t=>typeof t==\"string\"||typeof t==\"number\"):[]}function Av(e,t){if(typeof e.id!=\"string\")return null;let n=t[e.id];if(n==null||\"default\"in e&&String(n)===String(e.default))return null;let r=Ev(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function Gs(e,t,n){if(!e)return;let r=Gf(e);if(r.length===0)return;let i=vv(e,n);for(let o of r){let a=Av(o,t);if(!a)continue;let s=`${i}|${a.id}|${String(a.value)}`;if(Of.has(s))continue;Of.add(s);let l=\"default\"in o?JSON.stringify(o.default):\"the composition default\";console.warn(`[hyperframes] runtime_unknown_enum_value: ${i} variable \"${a.id}\" got ${JSON.stringify(a.value)}, which is not a declared option (${a.allowed.join(\", \")}). Rendering ${l} instead.`)}}function Vr(e){let t={};for(let n of Gf(e))typeof n.id!=\"string\"||!(\"default\"in n)||(t[n.id]=n.default);return t}var Hs=\"data-hf-css-vars\";function Co(e){return\"style\"in e&&typeof e.style?.setProperty==\"function\"}function Bs(e,t){if(!Co(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i==\"string\"&&i!==\"\"||typeof i==\"number\"){let o=$n(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(Hs,n.join(\" \"))}function Bf(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=$n(i);((Co(e)?e.style.getPropertyValue(a):\"\")||(n?n.getComputedStyle(e).getPropertyValue(a):\"\")).trim()===\"\"&&(r[i]=o)}return r}function Uf(e){if(!Co(e))return;let t=e.getAttribute(Hs);if(t){for(let n of t.split(\" \"))n.startsWith(\"--\")&&e.style.removeProperty(n);e.removeAttribute(Hs)}}function Wf(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=Ro(),r=[];for(let i of t)r.push(...wv(i,n,e.defaultView));for(let i of Pf(r))console.warn(`composition variables ${i.join(\", \")} collapse to the same CSS property ${$n(i[0]??\"\")} \\u2014 rename one to avoid cross-talk`)}function wv(e,t,n){if(!Co(e))return[];let r=Vr(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let s=$n(o);(e.style.getPropertyValue(s)||(n?n.getComputedStyle(e).getPropertyValue(s):\"\")).trim()===\"\"&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return Bs(e,i),Object.keys(r)}function Vf(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 Ro(){if(typeof window>\"u\")return{};let e=window.__hfVariables;return!e||typeof e!=\"object\"||Array.isArray(e)?{}:e}function $f(e){let t=[],n=(m,g=()=>m.getAnimations())=>{if(typeof m.getAnimations!=\"function\")return[];try{return g()}catch{return[]}},r=m=>{let g=new Map;if(t.length===0)return g;let h=typeof CSSAnimation<\"u\";for(let b of n(document,m)){if(h&&!(b instanceof CSSAnimation))continue;let x=b.effect;if(!x?.target||x.pseudoElement)continue;let v=g.get(x.target);v?v.push(b):g.set(x.target,[b])}return g},i=(m=[],g=[])=>[...g,...m.filter(h=>!g.includes(h)&&h.playState!==\"idle\")],o=m=>{let g=m.closest(\"[data-start]\")??m;return e?.resolveStartSeconds?e.resolveStartSeconds(g):Number.parseFloat(g.getAttribute(\"data-start\")??\"0\")||0},a=m=>{let g=A=>(A||\"\").split(\",\").map(E=>Number.parseFloat(E)/(E.trim().endsWith(\"ms\")?1e3:1)),h=g(m.animationDuration),b=g(m.animationDelay),x=m.animationName.split(\",\"),v=0;return x.forEach((A,E)=>{if(A.trim()===\"none\")return;let k=b[E%b.length]+h[E%h.length];k>v&&(v=k)}),{cycleSeconds:v,delays:x.map((A,E)=>b[E%b.length]||0)}},s=(m,g)=>{let h=null;try{h=m.effect?.getComputedTiming?.()??null}catch(x){H(\"runtime.adapters.css.site5\",x)}if(!h)return{};let b=Number(h.endTime);return Number.isFinite(b)?{endSeconds:g+b/1e3}:{unbounded:!0}},l=(m,g)=>{for(let h of m){try{h.currentTime=g}catch(b){H(\"runtime.adapters.css.site1\",b)}try{h.pause()}catch(b){H(\"runtime.adapters.css.site2\",b)}}},u=m=>{for(let g of m)try{g.play()}catch(h){H(\"runtime.adapters.css.site3\",h)}},f=m=>{for(let g of m)try{g.pause()}catch(h){H(\"runtime.adapters.css.site4\",h)}},d=m=>{m.baseDelay?m.el.style.animationDelay=m.baseDelay:m.el.style.removeProperty(\"animation-delay\"),m.basePlayState?m.el.style.animationPlayState=m.basePlayState:m.el.style.removeProperty(\"animation-play-state\")};return{name:\"css\",discover:()=>{for(let h of t)d(h);let m=new Map(t.map(h=>[h.el,h.handles]));t=[];let g=document.querySelectorAll(\"*\");for(let h of g){if(!xe(h))continue;let b=window.getComputedStyle(h);!b.animationName||b.animationName===\"none\"||t.push({el:h,baseDelay:h.style.animationDelay||\"\",basePlayState:h.style.animationPlayState||\"\",...a(b),handles:m.get(h)})}},getAnimationCycleEndSeconds:()=>{let m=0;for(let g of t)!g.el.isConnected||g.cycleSeconds<=0||(m=Math.max(m,o(g.el)+g.cycleSeconds));return m>0?m:null},getInferredDurationSeconds:()=>{let m=0;for(let g of t){if(!g.el.isConnected)continue;let h=o(g.el);for(let b of n(g.el)){let x=s(b,h);x.endSeconds!=null&&(m=Math.max(m,x.endSeconds))}}return m>0?m:null},seek:m=>{let g=Number(m.time)||0,h=r(m.pageAnimations);for(let b of t)b.handles=i(b.handles,h.get(b.el));for(let b of t){if(!b.el.isConnected)continue;let x=o(b.el),v=Math.max(0,g-x)*1e3;if(b.handles?.length){b.el.style.animationDelay!==b.baseDelay&&d(b),l(b.handles,v);continue}b.el.style.animationPlayState=\"paused\",b.el.style.animationDelay=b.delays.map(A=>`${Number((A-v/1e3).toFixed(3))}s`).join(\", \")}},pause:m=>{let g=r(m?.pageAnimations);for(let h of t){if(!h.el.isConnected)continue;let b=g.get(h.el);b&&(f(b),d(h))}},play:()=>{let m=r();for(let g of t)g.el.isConnected&&(d(g),u(m.get(g.el)??[]))},revert:()=>{t=[]}}}function Ws(e,t){e.totalDuration?.();let n=e.getChildren?.(!1,!0,!0)??[],r=Cv(e).map(s=>[s,s.ratio,s._zTime,s._act]),i=zf(n,t).map(s=>[s,s._ts]),o=new Set;for(let[s]of i)for(let l=s.parent;l&&!o.has(l);l=l.parent)o.add(l);let a=[...o].map(s=>[s,s._dur,s._tDur,s._end,s._dirty]);for(let[s]of i)s._ts=0;try{e.totalTime(t>=.001?t-.001:t+.001,!0),qf(n,t),e.totalTime(t,!0)}finally{for(let[s,l]of i)s._ts=l;for(let[s,l,u,f,d]of a)Object.assign(s,{_dur:l,_tDur:u,_end:f,_dirty:d})}for(let[s,l,u,f]of r)s.ratio=l,s._zTime=u,s._act=f}var _v=1e-6;function zf(e,t,n=[]){for(let r of e)r.startTime()>t+_v?n.push(r):r.getChildren&&r.endTime()>=t&&zf(r.getChildren(!1,!0,!0),r.time(),n);return n}function Cv(e){return(e.getChildren?.(!0,!0,!0)??[]).filter(t=>{let n=t;return typeof n.getChildren==\"function\"||n.totalDuration?.()===0})}var Us=2e-8,Rv=e=>{let t=e;return typeof t?.render==\"function\"&&typeof t.startTime==\"function\"&&typeof t.paused==\"function\"&&typeof t.timeScale==\"function\"&&t.timeScale()>0&&!t.paused()};function Tv(e){return e.vars?.keyframes&&(e.render(Us,!0),e.render(-Us,!0)),e._startAt&&e._startAt.render(Us,!0,!0),!!(e.vars?.keyframes||e._startAt)}function qf(e,t){for(let n of e.filter(Rv)){let r=(t-n.startTime())*n.timeScale();if(Math.abs(r)<1e-9&&Tv(n))continue;let i=n.getChildren?n:n.timeline;i?.getChildren&&r>0&&r<=n.totalDuration()&&qf(i.getChildren(!1,!0,!0),r)}}function jf(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,i),Ws({totalTime:n.totalTime.bind(n),totalDuration:n.totalDuration?.bind(n),getChildren:n.getChildren?.bind(n)},r)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function Kf(){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){H(\"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){H(\"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){H(\"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){H(\"runtime.adapters.animejs.site4\",n)}},revert:()=>{}}}function Qf(e){let t=r=>{let i=Yf(r),o=i&&typeof i.closest==\"function\"?i.closest(\"[data-composition-id]\"):null;return o&&e?.resolveStartSeconds?e.resolveStartSeconds(o):0},n=(r,i)=>Math.max(0,i-t(r));return{name:\"lottie\",discover:()=>{try{let r=window.lottie;if(r&&typeof r.getRegisteredAnimations==\"function\"){let i=r.getRegisteredAnimations();if(Array.isArray(i)&&i.length>0){let o=window.__hfLottie??[],a=new Set(o);for(let s of i)a.has(s)||o.push(s);window.__hfLottie=o}}}catch(r){H(\"runtime.adapters.lottie.site1\",r)}},seek:r=>{let i=Math.max(0,Number(r.time)||0),o=window.__hfLottie;if(!(!o||o.length===0))for(let a of o)try{let s=n(a,i),l=a.loop===!0;if(To(a)){let u=s*a.frameRate;a.totalFrames>0&&l?a.goToAndStop(Vs(u,a.totalFrames),!0):a.totalFrames>0&&u>=a.totalFrames?a.goToAndStop(a.totalFrames-1,!0):a.goToAndStop(s*1e3,!1)}else if($s(a)){if(typeof a.setFrame==\"function\"){let u=a.totalFrames??0,f=a.duration??0;if(!Number.isFinite(u)||u<=0||!Number.isFinite(f)||f<=0)continue;let d=s*u/f;a.setFrame(Math.min(l?Vs(d,u):d,u-1))}else if(typeof a.setCurrentRawFrameValue==\"function\"){let u=a.totalFrames??0,f=a.frameRate??30,d=l&&u>0?Vs(s*f,u):s*f;u>0&&a.setCurrentRawFrameValue(Math.min(d,u-1))}else if(typeof a.seek==\"function\"){let u=a.duration??0;if(Number.isFinite(u)&&u>0){let f=Math.min(100,(l?s%u:s)/u*100);a.seek(f)}}}}catch(s){H(\"runtime.adapters.lottie.site2\",s)}},pause:()=>{let r=window.__hfLottie;if(!(!r||r.length===0))for(let i of r)try{(To(i)||$s(i))&&i.pause()}catch(o){H(\"runtime.adapters.lottie.site3\",o)}},revert:()=>{},getInferredDurationSeconds:()=>Xf((r,i)=>i),getAnimationCycleEndSeconds:()=>Xf((r,i)=>Yf(r)?.isConnected===!1?null:t(r)+i)}}function Xf(e){let t=window.__hfLottie;if(!t||t.length===0)return null;let n=0,r=!1;for(let i of t){let o=null;try{let a=kv(i);o=a==null?null:e(i,a)}catch(a){H(\"runtime.adapters.lottie.site4\",a)}o!=null&&(r=!0,n=Math.max(n,o))}return r?n:null}function Yf(e){return To(e)?e.wrapper:e.canvas}function Vs(e,t){let n=e%t;return t-n<1e-6?0:n}function Jf(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function kv(e){return To(e)?Jf(e.totalFrames,e.frameRate):$s(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Jf(e.totalFrames,e.frameRate):null}function To(e){return typeof e==\"object\"&&e!==null&&typeof e.goToAndStop==\"function\"}function $s(e){return typeof e==\"object\"&&e!==null&&typeof e.pause==\"function\"&&(\"totalFrames\"in e||\"duration\"in e)}var zs=-1,ko=new Set,zn,qs=0;function Zf(e){let t=[],n=!0,r={time:e,waitUntil:i=>{if(!n)throw new Error(\"hf-seek waitUntil() must be called synchronously from the event listener\");t.push(i)}};try{window.dispatchEvent(new CustomEvent(\"hf-seek\",{detail:r}))}catch(i){H(\"runtime.adapters.seek-dispatch.site1\",i)}finally{n=!1}t.length!==0&&Ze(Promise.all(t))}function Ze(e){let t=e.then(()=>({status:\"fulfilled\"})).catch(n=>({status:\"rejected\",reason:n}));ko.add(t),t.then(n=>{ko.delete(t)&&n.status===\"rejected\"&&zn===void 0&&(zn={reason:n.reason})})}function Mo(e){e!==zs&&(zs=e,Zf(e))}function No(e){zs=e,Zf(e)}function em(){return qs>0}async function js(){qs+=1;let e=zn;try{for(await Promise.resolve();ko.size>0;){let r=(await Promise.all([...ko])).find(i=>i.status===\"rejected\");e===void 0&&r?.status===\"rejected\"&&(e={reason:r.reason})}let t=zn;if(e===void 0&&(e=t),zn===t&&(zn=void 0),e)throw e.reason}finally{qs-=1}}function tm(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>\"u\")return null;let f=window.THREE?.DefaultLoadingManager;return!f||typeof f!=\"object\"||typeof f.itemsLoaded!=\"number\"||typeof f.itemsTotal!=\"number\"?null:f},s=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(f=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,f()}}}))},l=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(f,d,m){try{r?.call(this,f,d,m)}finally{s(u)}})};return{name:\"three\",discover:()=>{let u=a();u&&(l(u),s(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Mo(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||s(u),o)}}}function yt(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 nm(){return yt({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 rm(){return yt({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 im(){return yt({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 om(){return yt({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 am(){return yt({name:\"d3\",getInstances:()=>{if(typeof window>\"u\")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var Mv=250;function sm(){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&&(em()||(window.__hfTypegpuTime=e,No(e)))},Mv))};return{name:\"typegpu\",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Mo(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}var Nv=[\"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 Ks(e){return Number.isFinite(e)&&e>0?e:30}function Xs(e){return Number.isFinite(e)&&e>0?e:0}function Ys(e,t){let n=Ks(t);return Math.floor(Xs(e)*n+1e-9)/n}function um(e,t,n){let r=Number.isInteger(n)?n:1;if(r<=1)return Ys(e,t);let i=Ks(t)*r;return Math.round(Xs(e)*i)/i}function lm(e,t){let n=Ks(t),r=Xs(e),i=r*n,o=Math.round(i);return Math.abs(i-o)<=.001?o/n:r}function Lo(e,t,n){return{start:lm(e,n),end:Number.isFinite(t)?lm(t,n):t}}function cm(e,t,n=Nv){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}var qn=new Map,dm=()=>qn.size>0;function fm(e){if(qn.has(e.element))throw new Error(\"This element already has a frame source\");let t=e.sourceRange;if(t&&(!Number.isFinite(t.start)||t.start<0||!Number.isFinite(t.duration)||t.duration<=0||!Number.isFinite(t.fps)||t.fps<=0))throw new Error(\"Frame source ranges require a nonnegative start, positive duration and FPS\");let n=new AbortController,r=new Promise(u=>{n.signal.addEventListener(\"abort\",()=>u(),{once:!0})}),i=Promise.race([Promise.resolve(e.ready),r]);i.catch(()=>{});let o=null,a=null,s=async()=>{let u;try{for(await i;!n.signal.aborted&&o!==null;){let f=o;o=null;try{await Promise.race([e.render(f,n.signal),r])}catch(d){u??(u={reason:d})}}if(u)throw u.reason}finally{o=null,a=null}},l={element:e.element,ready:i,seek(u){return o=t?t.start+Math.min(Math.max(0,u),Math.max(0,t.duration-1/t.fps)):u,a??(a=s()),a},dispose(){n.signal.aborted||(n.abort(),o=null,qn.delete(e.element),e.dispose?.())}};return qn.set(e.element,l),l.dispose}function mm(e){let t=new Set,n=[],r=null,i=()=>{for(let s of t)qn.get(s.element)!==s&&t.delete(s);let a=[];for(let[s,l]of qn){if(!s.isConnected){l.dispose();continue}t.has(l)||(t.add(l),Ze(l.ready)),a.push([s,l])}return a},o=new MutationObserver(()=>{i()});return o.observe(document,{childList:!0,subtree:!0}),{name:\"frame-source\",discover:()=>{i()},pause:()=>{},seek:({time:a})=>{for(let[s,l]of i()){let u=e.start(s),f=e.duration(s),d=u+(f??1/0),m=e.exportRenderSeek()?Lo(u,d,e.canonicalFps()):{start:u,end:d};if(!Vn(a,m.start,m.end,e.compositionDuration()))continue;let g=Math.max(0,a-u),h=Gn(s)+On(bt(s),g);Ze(l.seek(h))}},getReadyPromise:()=>{let a=i().map(([,s])=>s);return a.length===0?null:((a.length!==n.length||a.some((s,l)=>s!==n[l]))&&(n=a,r=Promise.all(a.map(s=>s.ready))),r)},revert:()=>{o.disconnect();for(let a of t)a.dispose();t.clear()}}}var pm=':not([muted]):is(:not([data-has-audio]),[data-has-audio=\"true\"])',aL=`audio[data-start], video[data-start]${pm}`;function Fo(e){if(e.tagName.toLowerCase()!==\"video\"||e.hasAttribute(\"muted\"))return!1;let t=e.getAttribute(\"data-has-audio\");return t===null||t===\"true\"}function hm(e){return(e.volume??1)>1||!!(e.fxChain||e.automation||e.audioGroup)}var $r=\"data-hf-render-id\",gm=\"data-hf-group-render-id\";function Lv(e){return e.getAttribute($r)||e.id||null}var Fv=\"__render_frame_\",Iv=\"__\";function Dv(e){return`${Fv}${e}${Iv}`}function Pv(e){let t=Lv(e);return t?Dv(t):null}function Ft(e){let t=Pv(e),n=t?document.getElementById(t):null;if(!n)return null;let r=e.nextElementSibling;for(;r&&r.id!==t;)r=r.nextElementSibling;return r??(r=n),Ie(r)?r:null}function bm(e){let t=e.nextElementSibling;if(Ie(t)&&t.classList.contains(\"__render_frame__\")&&t.complete&&t.naturalWidth>0)return t;let n=Ft(e);return n&&n.complete&&n.naturalWidth>0?n:null}function xm(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(ye(n?.source)){let o=bm(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function ym(){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(...s){let l=s.length-1,u=s[l];if(ye(u)){let f=bm(u);f&&(s[l]=f)}return o.apply(this,s)};a.__hfVideoPatched=!0,r[i]=a}}}function Sm(){let e=!1,t=0,n=!1,r,i,o,a=new Set,s=new WeakMap,l=(x=()=>document.getAnimations())=>{if(!document.getAnimations)return[];try{return x()}catch{return[]}},u=x=>{let v=Number(x.currentTime);return Number.isFinite(v)&&v>0?v:0},f=(x,v)=>v<=0?x:x>=v?Math.max(0,x-v):x,d=(x,v)=>{let A=s.get(x);if(A)return A;let E={compositionTimeMs:v,animationTimeMs:e?f(u(x),v):u(x)};return s.set(x,E),E},m=(x,v)=>{if(!a.has(x)){a.add(x);let A=()=>{a.delete(x)};try{x.addEventListener(\"finish\",A,{once:!0}),x.addEventListener(\"cancel\",A,{once:!0})}catch(E){H(\"runtime.adapters.waapi.site4\",E)}}d(x,v)},g=(x,v)=>{for(let A of x)m(A,v)},h=()=>{if(n||typeof Element>\"u\")return;let x=Element.prototype;if(typeof x.animate!=\"function\"||x.__hfOriginalAnimate)return;let v=x.animate;try{Object.defineProperty(x,\"__hfOriginalAnimate\",{value:v,configurable:!0});let A=function(...E){let k=v.apply(this,E);return m(k,t),k};x.animate=A,r=x,i=v,o=A,n=!0}catch{}},b=x=>{let v=null;try{v=x.effect?.getComputedTiming?.()??null}catch(k){H(\"runtime.adapters.waapi.site4\",k)}if(!v)return{};let A=Number(v.endTime);return Number.isFinite(A)?{endSeconds:(s.get(x)?.compositionTimeMs??0)/1e3+A/1e3}:{unbounded:!0}};return{name:\"waapi\",discover:()=>{e=!0,h(),g(l(),t)},seek:x=>{let v=Math.max(0,(Number(x.time)||0)*1e3);t=v,(!e||a.size>0)&&g(l(x.pageAnimations),e?v:0);for(let A of a){let E=e?d(A,v):d(A,0),k=E.animationTimeMs+Math.max(0,v-E.compositionTimeMs);try{A.currentTime=k}catch(O){H(\"runtime.adapters.waapi.site1\",O)}try{A.pause()}catch(O){H(\"runtime.adapters.waapi.site2\",O)}}},pause:x=>{e||g(l(x?.pageAnimations),t);for(let v of a)try{v.pause()}catch(A){H(\"runtime.adapters.waapi.site3\",A)}},revert:()=>{if(a.clear(),s=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(x){H(\"runtime.adapters.waapi.site5\",x)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let x=0;for(let v of l()){let A=b(v);A.endSeconds!=null&&(x=Math.max(x,A.endSeconds))}return x>0?x:null}}}var jn=\"data-hf-authored-duration\",Kn=\"data-hf-authored-end\";function zr(e){if(e==null||typeof e==\"string\"&&e.trim()===\"\")return null;let t=typeof e==\"number\"?e:Number(e);return Number.isFinite(t)?t:null}function Xn(e){let t=zr(e.start);if(t==null)return null;let n=Math.max(0,t),r=zr(e.duration),i=zr(e.authoredDuration),o=r!=null&&r>0?r:i!=null&&i>0?i:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=zr(e.end),s=zr(e.authoredEnd),l=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:l==null?null:l-n,end:l}}var Io=\"data-hf-media-start-basis\";function vm(e){return e?.trim().toLowerCase()===\"global\"?\"global\":\"local\"}function Ov(e){return vm(e.basis)===\"global\"?e.authoredStart:e.hostStart+e.authoredStart}function Em(e){return wm(e)?Ov({authoredStart:e.authoredStart,hostStart:e.hostStart,basis:e.basis}):e.ordinaryStart()}function Am(e){return wm(e)&&vm(e.basis)===\"global\"}function wm(e){return!e.hasAutoStart&&e.authoredStart!=null&&e.hostStart>0}function je(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,s=h=>{let b=r.getElementById(h);return b||(r.querySelector(`[data-composition-id=\"${CSS.escape(h)}\"]`)??null)},l=h=>{let b=o.get(h);if(b!==void 0)return b;let x=null,v=Xn({start:0,duration:h.getAttribute(\"data-duration\"),authoredDuration:n?h.getAttribute(\"data-hf-authored-duration\"):null});if(v?.duration!=null&&v.duration>0&&(x=v.duration),x==null||x<=0){let A=f(h,0),E=Xn({start:A,end:h.getAttribute(\"data-end\"),authoredEnd:n?h.getAttribute(\"data-hf-authored-end\"):null});E?.duration!=null&&E.duration>0&&(x=E.duration)}if((x==null||x<=0)&&pe(h)&&(x=xt(h,h.duration)),(x==null||x<=0)&&(x=Un(h)),x==null||x<=0){let A=h.getAttribute(\"data-composition-id\");if(A){let E=t[A]??null;if(E&&typeof E.duration==\"function\")try{let k=Number(E.duration());Number.isFinite(k)&&k>0&&(x=k)}catch(k){H(\"runtime.startResolver.site1\",k)}}}return x!=null&&Number.isFinite(x)&&x>0?(o.set(h,x),x):(o.set(h,null),null)},u=(h,b)=>{if(h.hasAttribute(\"data-composition-id\")){let v=h.parentElement?.closest(\"[data-composition-id]\");return v?f(v,b):0}let x=h.closest(\"[data-composition-id]\");return x?f(x,b):0},f=(h,b)=>{let x=i.get(h);if(x!==void 0)return x??b;if(a.has(h))return b;a.add(h);try{let v=vs(h.getAttribute(\"data-start\"));if(!v){if(h.hasAttribute(\"data-composition-id\")){let F=h.parentElement;if(F&&(F.hasAttribute(\"data-composition-src\")||F.hasAttribute(\"data-composition-id\")||F.hasAttribute(\"data-composition-file\"))){let D=f(F,b);return i.set(h,D),D}}return i.set(h,b),b}if(v.kind===\"absolute\"){let F=Math.max(0,v.value),D=Math.max(0,u(h,b)+F);return i.set(h,D),D}let A=s(v.refId);if(!A)return i.set(h,b),b;let E=f(A,0),k=l(A);if(k==null||k<=0){let F=Math.max(0,E+v.offset);return i.set(h,F),F}let O=Math.max(0,E+k+v.offset);return i.set(h,O),O}finally{a.delete(h)}},d=h=>{let b=h.closest(\"[data-composition-id]\");return{authoredStart:Ce(h.getAttribute(\"data-start\")),hostStart:b?f(b,0):0,hasAutoStart:h.hasAttribute(\"data-hf-auto-start\"),basis:h.getAttribute(Io)}};return{resolveStartForElement:(h,b=0)=>f(h,Math.max(0,b)),resolveDurationForElement:h=>l(h),resolveMediaStartForElement:h=>{let b=d(h);return Em({...b,ordinaryStart:()=>f(h,b.hostStart)})},resolveHostStartForElement:h=>u(h,0),isRootGlobalMediaStartForElement:h=>pe(h)&&Am(d(h))}}function Hv(e,t,n){let r=e.filter(o=>Number.isFinite(o.time)&&Number.isFinite(o.volume)).map(o=>({time:Math.max(0,o.time-t),volume:Je(o.volume)})).sort((o,a)=>o.time-a.time),i=[];for(let o of r){let a=i.at(-1);a&&Math.abs(a.time-o.time)<1e-9?a.volume=o.volume:i.push(o)}return i.length===0||i[0].time>0&&i.unshift({time:0,volume:Je(n)}),i}function _m(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 Gv(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 Bv(e){let t=Number.parseFloat(e??\"\");return Number.isFinite(t)?t:void 0}function Uv(e,t){let n=je({timelineRegistry:window.__timelines,includeAuthoredTimingAttrs:!0}).resolveMediaStartForElement(e),r=Ce(e.dataset.end)??void 0,i=Ce(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Bv(e.dataset.volume)??1;return{start:n,end:o,staticVolume:Je(a)}}function Wv(e,t,n,r,{start:i,end:o,staticVolume:a}){let s=1/Math.min(60,Math.max(1,r)),l=Math.max(0,i),u=Math.min(n,o),f=sf(e,()=>{e.volume=a;let m=[],g;for(let h=l;h<=u+1e-6;h=Math.min(u,h+s)){t(h);let b=Number(e.volume);if(Number.isFinite(b)){let x={time:Number(h.toFixed(6)),volume:Number(Je(b).toFixed(6))};Gv(m,g,x,h===u),g=x}if(h===u)break}return m});return f.some(m=>Math.abs(m.volume-a)>1e-4)?f:null}function Do(e,t,n=0){return n>3||e===null||typeof e!=\"object\"?!1:Array.isArray(e)?e.some(r=>Do(r,t,n+1)):Object.getPrototypeOf(e)!==Object.prototype?!1:Object.entries(e).some(([r,i])=>t(r)||Do(i,t,n+1))}var Vv=e=>typeof e?.nodeType==\"number\";function $v(e,t){for(let n=Object(e);n;n=Object.getPrototypeOf(n)){let r=Object.getOwnPropertyDescriptor(n,t);if(r)return typeof r.set==\"function\"}return!1}function zv(e,t){if(typeof e.getChildren!=\"function\")return!0;try{return e.getChildren(!0,!0,!1).some(n=>(n.targets?.()??[]).some(i=>Vv(i)?i===t&&Do(n.vars,o=>o===\"volume\"):Do(n.vars,o=>$v(i,o))))}catch{return!0}}function Cm(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!pe(e)||n<=0||!zv(t,e))return;let o=u=>{try{typeof t.totalTime==\"function\"?t.totalTime(u,!0):typeof t.seek==\"function\"&&t.seek(u,!0)}catch{}},a=typeof t.totalTime==\"function\"?Number(t.totalTime()):typeof t.seek==\"function\"?Number(t.seek()):0,s=Uv(e,n),l=Wv(e,o,n,60,s);if(Number.isFinite(a)&&o(a),l){let u=Hv(l,s.start,s.staticVolume);u.length>0&&r.set(e,u)}}var km=\"data-fade-in\",Mm=\"data-fade-out\",LL=km.slice(5),FL=Mm.slice(5),Nm=Object.freeze({fadeIn:0,fadeOut:0});function Js(e){return Number.isFinite(e)&&e>0?e:0}function Rm(e){return e==null||e===\"\"?0:Js(Number.parseFloat(e))}function Lm(e){return{fadeIn:Rm(e.getAttribute(km)),fadeOut:Rm(e.getAttribute(Mm))}}function qv(e,t){let n=Js(e.fadeIn),r=Js(e.fadeOut);if(!Number.isFinite(t)||t<=0)return{fadeIn:n,fadeOut:r};let i=n+r;if(i<=t)return{fadeIn:n,fadeOut:r};let o=t/i;return{fadeIn:n*o,fadeOut:r*o}}function Fm(e,t,n){if(!Number.isFinite(e))return 1;let{fadeIn:r,fadeOut:i}=qv(n,t),o=1;return r>0&&(o*=Tm(e/r)),i>0&&Number.isFinite(t)&&(o*=Tm((t-e)/i)),o}function Tm(e){return!Number.isFinite(e)||e<0?0:e>1?1:e}var Yn=\"hf-audio-group\",Po=\"data-audio-group\";function Qs(e){let t=e?.getAttribute(\"data-volume\"),n=t?parseFloat(t):1;return Number.isFinite(n)?n:1}function Zs(e,t){let n=Array.from(e?.querySelectorAll?.(`${Yn}[${$r}]`)??[]).find(i=>i.getAttribute($r)===t);if(n)return n;let r=e?.getElementById(t)??null;return r&&r.tagName?.toLowerCase()===Yn?r:null}function Oo(e,t){let n=t?.getAttribute?.(gm)??t?.getAttribute?.(Po);return n?Zs(e,n)?.hasAttribute(\"data-hidden\")??!1:!1}function Ho(e){return typeof e.tagName!=\"string\"||typeof e.getAttribute!=\"function\"||!jv(e)?null:e.getAttribute(Po)||null}function jv(e){return e.tagName.toLowerCase()===\"audio\"?!0:typeof e.hasAttribute==\"function\"&&Fo(e)}function Im(e){let t=\"__hf-audio-group-inert\";if(!e?.head||e.getElementById(t))return;let n=e.createElement(\"style\");n.id=t,n.textContent=`${Yn}{display:none!important}`,e.head.appendChild(n)}function St(e){return Gn(e)}var Dm=[\"seeked\",\"loadeddata\",\"error\",\"emptied\",\"abort\"],ol=5e3,Go=new WeakMap;function Pm(e){let t=e.readyState<e.HAVE_CURRENT_DATA&&e.networkState===e.NETWORK_LOADING&&!window.__HF_EXPORT_RENDER_SEEK_CONFIG;e.tagName!==\"VIDEO\"||!(e.seeking||t)||Ft(e)||(Go.get(e)?.(),Ze(new Promise(n=>{let r=o=>{if(!(o?.type===\"loadeddata\"&&e.seeking)){clearTimeout(i);for(let a of Dm)e.removeEventListener(a,r,!0);Go.get(e)===r&&Go.delete(e),n()}},i=setTimeout(r,ol);for(let o of Dm)e.addEventListener(o,r,!0);Go.set(e,r)})))}function Om(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 Hm(e){let t=e?.elements??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 s=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??\"0\");if(!Number.isFinite(s))continue;let l=St(a),u=Ve(a),f=bt(a),d=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,g=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??\"\");(!Number.isFinite(g)||g<0)&&m!=null&&(g=Math.max(0,yn(f,m-l)));let h=Number.isFinite(g)&&g>=0,b=h?s+g:Number.POSITIVE_INFINITY,x=Number.parseFloat(a.dataset.volume??\"\"),v={el:a,start:s,mediaStart:l,duration:h?g:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(x)?x:null,playbackRate:u,rate:f,loop:d,sourceDuration:m,fades:Lm(a)};r.push(v),a.tagName===\"VIDEO\"&&i.push(v),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var nl=new WeakMap,Bo=new WeakMap,qr=new WeakMap,rl=new WeakSet,Jn=new WeakSet,el=new WeakSet;function Kv(e){if(Jn.has(e))return;Jn.add(e);let t=()=>Jn.delete(e);e.addEventListener(\"playing\",t,{once:!0}),e.addEventListener(\"pause\",t,{once:!0}),e.addEventListener(\"error\",t,{once:!0})}var Xv=3;function al(e){return e.error!=null||e.networkState===Xv}var il=new WeakMap;function tl(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function sl(e){nl.delete(e),Bo.delete(e),qr.delete(e),rl.delete(e),il.delete(e),jr.delete(e)}var ll=.5,Kt=.04,Yv=.03,Jv=.01,jr=new WeakMap;function Qv(e,t,n){let r=Math.sign(t),i=jr.get(e);if(Math.abs(t)>Kt)jr.set(e,r);else if(i!==r||Math.abs(t)<=Jv)return jr.delete(e),n;return n*(1+r*Yv)}function Gm(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=n.rate??n.playbackRate,o=r.tagName===\"VIDEO\"&&!n.loop,a=jt(e.timeSeconds,n.start,n.end),s=n.start-e.timeSeconds,l=r.tagName===\"AUDIO\"&&!a&&s>0&&s*Math.max(1,Ls(i,0))<=Math.max(e.cueAheadSeconds??0,el.has(r)?Kt:0);l?el.add(r):el.delete(r);let u=o&&!a&&(e.timeSeconds>=n.end||Wr(e.timeSeconds,n.end))&&Vn(e.timeSeconds,n.start,n.end,e.getCompositionDuration()),f=On(i,Math.max(0,Math.min(e.timeSeconds,n.end)-n.start))+n.mediaStart,d=u||o&&n.sourceDuration!=null&&f>=n.sourceDuration&&a;d&&n.sourceDuration!=null&&(f=Math.min(f,n.sourceDuration));let m=Bo.get(r),g=r.tagName===\"AUDIO\"&&(m===void 0||f<m-.04),h=!n.loop&&n.sourceDuration!=null&&f>=n.mediaStart&&f<n.sourceDuration&&(o||g);if((a||u||l)&&f>=0&&(!r.ended||n.loop||d||h)){if(Bo.set(r,f),n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let Q=n.sourceDuration-n.mediaStart;Q>0&&f>=n.sourceDuration&&(f=n.mediaStart+(f-n.mediaStart)%Q)}let v=tl(e.userVolume??1),A=Je(n.volume??1),E=il.get(r),k=tl(r.volume),O,F=pf(r,e.timeSeconds-n.start);if(F!==null)O=Je(F);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let Q=e.timeSeconds-n.start;O=Je(_m(n.volumeKeyframes,Q))}else e.isWebAudioRouted?.(r)?O=A:E===void 0?O=A>1?A:k:Math.abs(k-E)>1e-4?O=k:O=A;let D=n.fades??Nm;(D.fadeIn>0||D.fadeOut>0)&&(O*=Fm(e.timeSeconds-n.start,n.duration,D));let M=r.closest(\"[data-hidden]\")!==null||Oo(r.ownerDocument,r)?0:tl(O*v);r.volume=M,il.set(r,M),e.onElementVolume?.(r,M,O),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!==\"auto\"&&(r.preload=\"auto\");let T=Ls(i,e.timeSeconds-n.start)*e.playbackRate,B=2,W=r.currentTime||0,ne=Math.abs(W-f),N=f-W,_=nl.get(r);nl.set(r,N);let G=_===void 0,X=!G&&Math.abs(N-_)>.5,U=ne>3,j=r.tagName===\"AUDIO\"&&G&&W-f>Kt,V=d&&ne>.001||r.ended&&h&&ne>.001||j||ne>ll&&(G||X||U),J=r.tagName===\"VIDEO\"&&!r.paused&&e.playing,Y=_!==void 0&&Math.abs(N-_)<.004,P=!1;if(!J&&!V&&!G&&Y&&ne>Kt){let Q=(qr.get(r)??0)+1;qr.set(r,Q),Q>=B&&(P=!0,qr.set(r,0))}else ne<=Kt&&qr.set(r,0);let K=!J&&e.forceSync&&ne>.02;try{(!J||V)&&jr.delete(r);let Q=J&&!V?Qv(r,N,T):T;Math.abs(r.playbackRate-Q)>1e-6&&(r.playbackRate=Q)}catch(Q){H(\"runtime.media.site1\",Q)}if(V||P||K){if(!(r.tagName===\"VIDEO\"&&!!Ft(r))){try{r.currentTime=f}catch(le){H(\"runtime.media.site2\",le)}if(Math.abs(r.currentTime-f)>.5&&!rl.has(r)){rl.add(r),r.load();try{r.currentTime=f}catch(le){H(\"runtime.media.site3\",le)}}Pm(r)}Jn.delete(r)}else e.playing||Pm(r);d?r.paused||r.pause():e.playing&&r.paused&&!Jn.has(r)&&!al(r)?(Kv(r),r.play().catch(Q=>{Jn.delete(r),(Q&&typeof Q==\"object\"&&\"name\"in Q?String(Q.name??\"\"):\"\")===\"NotAllowedError\"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}let x=jt(e.timeSeconds,n.start,n.end);sl(r),x&&Bo.set(r,f),r.paused||r.pause()}}var Xt=new WeakMap;function Kr(e){return Xt.has(e)?Xt.get(e)??null:e.getAttribute(\"src\")}async function ul(e,t){let n=0;for(;t();){let r=await fetch(e,{headers:{Range:\"bytes=0-0\"},cache:\"no-store\"}).catch(()=>null);r?.body?.cancel().catch(()=>{});let i=r?.status===202||r?.status===503;if(!i&&r?.ok)return!0;if(!i&&++n>3)return!1;let o=Math.min(Number(r?.headers.get(\"Retry-After\"))||2,30);await new Promise(a=>setTimeout(a,o*1e3))}return!1}var Um=\"hf-proxy-box\",Zv=[256,362,512,724,1024,1448,2048,2896,4096,5792,8192];function Bm(e){return e>0?Zv.find(t=>t>=e)??null:null}function Wm(e,t){let n=Bm(e),r=Bm(t);return n&&r?{width:n,height:r}:null}function Vm(e){return`${e.width}x${e.height}`}var eE=\"hf-proxy\",$m=\"runtime_media_proxy_fallback\",zm=\"runtime_media_proxy_unavailable\",qm=new WeakSet,Xr=new WeakMap;function Uo(e){return e.currentSrc||e.src}var Qn=window.parent===window?1:null,jm=()=>{},tE=new Promise(e=>jm=e),nE=1e3,Jr=new Map,Yr=new WeakMap;function rE(){return Qn!==null?Promise.resolve(Qn):Promise.race([tE.then(()=>Qn),new Promise(e=>setTimeout(()=>e(null),nE))])}function Km(e,t){if(getComputedStyle(e).objectFit===\"none\")return null;let n=e.getBoundingClientRect(),r=document.documentElement,i=t*(window.devicePixelRatio||1);return Wm(Math.max(n.width,r.clientWidth)*i,Math.max(n.height,r.clientHeight)*i)}function Xm(e){if(!(!(e>0)||!Number.isFinite(e))){Qn=e,jm();for(let t of Jr.keys())Ym(t,e)}}function Ym(e,t){let n=Jr.get(e);if(!n)return;if(!e.isConnected||e.getAttribute(\"src\")!==n.href){Jr.delete(e);return}let r=Km(e,t);if(r&&r.width<=n.box.width&&r.height<=n.box.height)return;let i=r&&{width:Math.max(r.width,n.box.width),height:Math.max(r.height,n.box.height)},o=Qm(n.originalSrc,n.variant,i);if(Yr.get(e)===o)return;Yr.set(e,o);let a=()=>Yr.get(e)===o&&e.isConnected&&e.getAttribute(\"src\")===n.href;ul(o,a).then(s=>{s&&a()&&Jm(e,o,n.originalSrc,n.variant,i),Yr.get(e)===o&&Yr.delete(e)})}function Jm(e,t,n,r,i){i?Jr.set(e,{originalSrc:n,variant:r,href:t,box:i}):Jr.delete(e),sl(e),e.src=t,e.load()}function cl(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:ye(e)&&!!Ft(e)}function dl(e){let t=Uo(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 iE(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 oE(e,t){let n=e.normalize(\"NFC\").toLowerCase(),r=-1,i=null,o=!1;for(let[a,s]of Object.entries(t)){let l=a.normalize(\"NFC\").toLowerCase();n.endsWith(l)&&(l.length>r?(r=l.length,i=s,o=!1):l.length===r&&(o=!0))}return o?null:i}function fl(e,t){return t[e]??iE(e,t)??oE(e,t)}function Qm(e,t,n){let r=new URL(e,document.baseURI);return r.searchParams.set(eE,t),n&&r.searchParams.set(Um,Vm(n)),r.href}var aE={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 Yt(e,t,n){if(qm.has(e))return;qm.add(e);let r=aE[t];Ee({source:\"hf-preview\",type:\"diagnostic\",code:zm,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${zm}: \"${n}\" (${t}): ${r}`)}function ml(e,t=null,n=\"reactive\"){if(Xt.has(e)||Xr.has(e)&&Xr.get(e)===e.getAttribute(\"src\"))return;let r=Uo(e),i=t?t.hasAlpha?\"vp8\":\"h264\":\"auto\";try{new URL(r,document.baseURI)}catch(f){H(\"runtime.mediaProxy.swap\",f),Yt(e,\"invalid_source_url\",r);return}let o=e.getAttribute(\"src\");Xr.set(e,o);let a=()=>e.isConnected&&e.getAttribute(\"src\")===o,s=rE().then(async f=>{let d=f===null?null:Km(e,f),m=Qm(r,i,d),g=await ul(m,a);if(!a()){Xr.get(e)===o&&Xr.delete(e);return}if(!g){Yt(e,\"proxy_playback_failed\",r);return}return Xt.set(e,o),Jm(e,m,r,i,d),Qn!==null&&Ym(e,Qn),new Promise(h=>{e.addEventListener(\"loadeddata\",h,{once:!0}),e.addEventListener(\"error\",h,{once:!0})})});Ze(Promise.race([s,new Promise(f=>setTimeout(f,ol))]));let l=t?.codecName??null;Ee({source:\"hf-preview\",type:\"diagnostic\",code:$m,details:{asset:r,codecName:l,trigger:n,note:\"render output is unaffected; only this preview element was swapped to an authoring proxy\"}}),console.info(`[hyperframes] ${$m}: \"${r}\" uses a codec (${l??\"unknown\"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function Zm(e){if(cl(e)||!ye(e)||Xt.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=dl(e);if(n===null)return;let r=fl(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):\"\";i===\"probably\"||i===\"maybe\"||ml(e,r,\"proactive\")}function ep(e){if(cl(e)||!ye(e)||e.videoWidth!==0)return;let t=Uo(e);if(Xt.has(e)){Yt(e,\"proxy_playback_failed\",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=dl(e);if(r===null){Yt(e,\"cross_origin\",t);return}let i=fl(r,n);if(i&&!i.browserHostile){Yt(e,\"browser_safe_codec\",t);return}ml(e,i,\"reactive\")}function tp(e){if(cl(e)||!ye(e))return;let t=Uo(e);if(Xt.has(e)){Yt(e,\"proxy_playback_failed\",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=dl(e);if(r===null){Yt(e,\"cross_origin\",t);return}let i=fl(r,n);if(i&&!i.browserHostile){Yt(e,\"browser_safe_codec\",t);return}ml(e,i,\"tertiary\")}var Me=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);de(this,\"lineNumber\");this.name=\"CubeLutParseError\",this.lineNumber=r}},sE=[0,0,0],lE=[1,1,1],Wo=64;function uE(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 Jt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Me(`Invalid number \"${e}\"`,t);return n}function np(e,t,n){if(e.length!==3)throw new Me(`${t} expects three numbers`,n);return[Jt(e[0],n),Jt(e[1],n),Jt(e[2],n)]}function rp(e,t,n){if(!e)throw new Me(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Me(`${t} must be an integer greater than 1`,n);return r}function cE(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Me(\"DOMAIN_MAX values must be greater than DOMAIN_MIN values\")}function dE(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 fE(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function ip(e,t={}){let n=t.maxSize??Wo,r=null,i=sE,o=lE,a=null,s=null,l=[],u=e.replace(/^\\uFEFF/,\"\").split(/\\r?\\n/);for(let d=0;d<u.length;d++){let m=d+1,g=uE(u[d]??\"\").trim();if(!g)continue;let h=g.split(/\\s+/),b=(h[0]??\"\").toUpperCase(),x=h.slice(1);if(b===\"TITLE\"){r=dE(g);continue}if(b===\"DOMAIN_MIN\"){i=np(x,b,m);continue}if(b===\"DOMAIN_MAX\"){o=np(x,b,m);continue}if(b===\"LUT_3D_INPUT_RANGE\"){if(x.length!==2)throw new Me(`${b} expects two numbers`,m);let v=Jt(x[0],m),A=Jt(x[1],m);if(A<=v)throw new Me(\"LUT_3D_INPUT_RANGE max must exceed min\",m);i=[v,v,v],o=[A,A,A];continue}if(b===\"LUT_1D_SIZE\"){a=rp(x[0],b,m);continue}if(b===\"LUT_3D_SIZE\"){if(s=rp(x[0],b,m),s>n)throw new Me(`LUT_3D_SIZE ${s} exceeds max ${n}`,m);continue}if(!fE(b)){if(b.startsWith(\"LUT_\"))throw new Me(`Unsupported cube keyword ${b}`,m);continue}if(!s)throw a?new Me(\"1D cube LUTs are not supported yet\",m):new Me(\"LUT data appears before LUT_3D_SIZE\",m);if(h.length!==3)throw new Me(\"LUT data rows must contain three numbers\",m);l.push(Jt(h[0],m),Jt(h[1],m),Jt(h[2],m))}if(a&&s)throw new Me(\"Mixed 1D and 3D cube LUTs are not supported yet\");if(!s)throw a?new Me(\"1D cube LUTs are not supported yet\"):new Me(\"Missing LUT_3D_SIZE\");cE(i,o);let f=s*s*s;if(l.length!==f*3)throw new Me(`Expected ${f} LUT rows for size ${s}, found ${l.length/3}`);return{title:r,size:s,domainMin:i,domainMax:o,data:new Float32Array(l)}}function mE(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function Qr(e){return Math.round(mE(e)*255)}function pl(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 s=0;s<t;s++){let l=((o*t+a)*t+s)*3,u=(a*n+o*t+s)*4;i[u]=Qr(e.data[l]??0),i[u+1]=Qr(e.data[l+1]??0),i[u+2]=Qr(e.data[l+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var op=\"rec709\";var Ae={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 ap=[\"exposure\",\"contrast\",\"highlights\",\"shadows\",\"whites\",\"blacks\",\"temperature\",\"tint\",\"vibrance\",\"saturation\"],sp=[\"shadows\",\"midtones\",\"highlights\"],lp=[\"master\",\"red\",\"green\",\"blue\"],up=[\"hueVsHue\",\"hueVsSaturation\",\"hueVsLuma\"];var cp=[\"vignette\",\"vignetteMidpoint\",\"vignetteRoundness\",\"vignetteFeather\",\"grain\",\"grainSize\",\"grainRoughness\"],dp=[\"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 hF=Ae.unit,gF=Ae.signedUnit,bF=Ae.effects;var vt=1024,Zr=16;function fp(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 Ne(e,t){let n=e[t];if(n===void 0)throw new RangeError(\"Color curve points must be contiguous\");return n}function pE(e){let t=[],n=[],r=Ne(e,0);for(let a of e.slice(1)){let s=a[0]-r[0];t.push(s),n.push((a[1]-r[1])/s),r=a}let i=Ne(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=fp(Ne(t,0),Ne(t,1),i,Ne(n,1)),o[o.length-1]=fp(Ne(t,t.length-1),Ne(t,t.length-2),Ne(n,n.length-1),Ne(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let s=Ne(n,a-1),l=Ne(n,a);if(s===0||l===0||Math.sign(s)!==Math.sign(l)){o[a]=0;continue}let u=Ne(t,a-1),f=Ne(t,a),d=2*f+u,m=f+2*u;o[a]=(d+m)/(d/s+m/l)}return o}function mp(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 hE(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 gE(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),s=a*a,l=s*a;return(2*l-3*s+1)*t[1]+(l-2*s+a)*o*r+(-2*l+3*s)*n[1]+(l-s)*o*i}function pp(e,t,n,r,i){hE(e,r,i);let o=pE(e),a=new Float32Array(t),s=0;for(let l=0;l<t;l+=1){let u=n(l);for(;s<e.length-2&&u>Ne(e,s+1)[0];)s+=1;let f=Ne(e,s),d=Ne(e,s+1),m=gE(u,f,d,Ne(o,s),Ne(o,s+1));a[l]=Math.min(i,Math.max(r,m))}return a}function Zn(e,t=vt){if(mp(e,t),e.length>Zr)throw new RangeError(`A color curve supports at most ${Zr} 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 pp(e,t,n=>n/(t-1),0,1)}function gl(e,t,n,r=vt){if(e.length<3)throw new RangeError(\"A hue curve requires at least three points\");if(e.length>Zr)throw new RangeError(`A hue curve supports at most ${Zr} points`);let i=[...e].sort((l,u)=>l[0]-u[0]);for(let l=0;l<i.length;l+=1){let u=i[l];if(!u||u[0]<0||u[0]>=360)throw new RangeError(\"Hue curve inputs must be from 0 up to 360 degrees\");if(l>0&&u[0]===i[l-1]?.[0])throw new RangeError(\"Hue curve inputs must be unique\")}let o=i.slice(-2).map(([l,u])=>[l-360,u]),a=i.slice(0,2).map(([l,u])=>[l+360,u]),s=[...o,...i,...a];return mp(s,r),pp(s,r,l=>l/r*360,t,n)}var ei=\"data-color-grading\",Sn=\"data-hf-color-grading-source-hidden\",vn=\"data-hf-authored-opacity\",yp=\"__hf_color_grading_\",xE=op,yl={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Sl={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},vl={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 zo=ap,Sp=sp,vp=lp,Ep=up,Al=cp,wl=dp,hp={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},gp={vignette:.18};function Le(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...yl,...n},details:{...Sl,...r},effects:{...vl,...i}}}var _l=[Le(\"neutral\",\"Neutral\"),Le(\"warm-daylight\",\"Warm Daylight\",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Le(\"clean-studio\",\"Clean Studio\",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Le(\"skin-soft\",\"Skin Soft\",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Le(\"food-pop\",\"Food Pop\",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Le(\"night-lift\",\"Night Lift\",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Le(\"muted-editorial\",\"Muted Editorial\",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Le(\"vintage-wash\",\"Vintage Wash\",hp,gp),Le(\"mono-clean\",\"Mono Clean\",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Le(\"mono-fade\",\"Mono Fade\",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Le(\"soft-boost\",\"Soft Boost\",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Le(\"bright-pop\",\"Bright Pop\",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Le(\"deep-contrast\",\"Deep Contrast\",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Le(\"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),Le(\"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}),Le(\"home-movie-8mm\",\"8mm Home Movie\",hp,{...gp,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Le(\"editorial-halftone\",\"Editorial Halftone\",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Le(\"two-ink-print\",\"Two-Ink Print\",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],yE=new Map(_l.map(e=>[e.id,e])),SE=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,vE={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}},er={hue:0,amount:0,level:0},bp={amount:Ae.unit,level:Ae.signedUnit},Qt=[[0,0],[1,1]],tr=[],EE={hueVsHue:Ae.secondaryHueShift,hueVsSaturation:Ae.signedUnit,hueVsLuma:Ae.signedUnit},bl={center:0,range:180,softness:0},xl={min:0,max:1,softness:.05},AE={vignette:Ae.unit,vignetteMidpoint:Ae.unit,vignetteRoundness:Ae.signedUnit,vignetteFeather:Ae.unit,grain:Ae.unit,grainSize:Ae.unit,grainRoughness:Ae.unit},El=Ae.unit,wE=Ae.effects,Ap=[\"blur\",\"pixelate\",\"chromaBleed\",\"tapeDamage\",\"filmArtifacts\",\"halftone\",\"twoInkPrint\",\"ascii\",\"dither\",\"bloom\",\"monoScreen\",\"scanlines\",\"chromaticAberration\",\"crtCurvature\",\"digitalGlitch\",\"engraving\",\"crosshatch\",\"kuwahara\"];var _E=_l.filter(e=>Ap.some(t=>e.effects[t]>1e-4)),_F=_l.filter(e=>!_E.includes(e)),CF={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}},wp=[{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 CE=/^#[0-9a-f]{6}$/i;function RE(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t==\"string\"&&CE.test(t))?null:e.map(t=>t.toLowerCase())}function De(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function $o(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function _p(e,t){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function Ge(e,t){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?$o(n,t.min,t.max):0}function Cl(e,t=0){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function TE(e){let t=De(e)?e:{};return Sp.reduce((n,r)=>{let i=De(t[r])?t[r]:{};return n[r]={hue:Cl(i.hue,er.hue),amount:Ge(i.amount??er.amount,bp.amount),level:Ge(i.level??er.level,bp.level)},n},{shadows:{...er},midtones:{...er},highlights:{...er}})}function kE(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)?[$o(t,0,1),$o(n,0,1)]:null}function Cp(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function ME(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function NE(e){if(!Array.isArray(e)||e.length<2)return Qt;let t=[];for(let n of e){let r=kE(n);if(!r)return Qt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),Cp(t)||(ME(t),t.length>16)?Qt:t}function LE(e){let t=De(e)?e:{};return vp.reduce((n,r)=>(n[r]=NE(t[r]),n),{master:Qt,red:Qt,green:Qt,blue:Qt})}function FE(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)?[Cl(n),$o(r,t.min,t.max)]:null}function IE(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return tr;let n=[];for(let r of e){let i=FE(r,t);if(!i)return tr;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),Cp(n)?tr:n}function DE(e){let t=De(e)?e:{};return Ep.reduce((n,r)=>(n[r]=IE(t[r],EE[r]),n),{hueVsHue:tr,hueVsSaturation:tr,hueVsLuma:tr})}function xp(e){let t=De(e)?e:{},n=Ge(t.min??xl.min,El),r=Ge(t.max??xl.max,El);return{min:Math.min(n,r),max:Math.max(n,r),softness:Ge(t.softness??xl.softness,Ae.secondarySoftRangeSoftness)}}function PE(e){let t=De(e)?e:{},n=Ge(t.range??bl.range,Ae.secondaryHueRange);return{center:Cl(t.center,bl.center),range:n,softness:Ge(t.softness??bl.softness,{min:Ae.secondaryHueSoftness.min,max:Ae.secondaryHueCombinedMax-n})}}function OE(e){return{hueShift:Ge(e.hueShift??0,Ae.secondaryHueShift),saturation:Ge(e.saturation??0,Ae.signedUnit),luma:Ge(e.luma??0,Ae.signedUnit),temperature:Ge(e.temperature??0,Ae.signedUnit),tint:Ge(e.tint??0,Ae.signedUnit)}}function HE(e){return!De(e)||!De(e.key)||!De(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:PE(e.key.hue),saturation:xp(e.key.saturation),luma:xp(e.key.luma)},correction:OE(e.correction)}}function GE(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=HE(n);r&&t.push(r)}return t}function BE(e){if(e==null)return null;let t=String(e).trim();return t||null}function UE(e){if(e==null)return null;if(typeof e==\"string\"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!De(e))return null;let t=e.src;return typeof t!=\"string\"||t.trim()===\"\"?null:{src:t.trim(),intensity:_p(e.intensity,1)}}function WE(e){if(typeof e==\"string\"){let t=e.trim();if(!t)return null;if(t.startsWith(\"{\"))try{let n=JSON.parse(t);return De(n)?n:null}catch{return null}return{preset:t}}return De(e)?e:null}function VE(e,t){let n=e.trim().match(SE);if(!n)return e;let r=n[1]??n[2]??\"\";return r&&Object.hasOwn(t,r)?t[r]:e}function Vo(e,t){if(typeof e==\"string\"){let r=VE(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith(\"{\"))return e;try{return Vo(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Vo(r,t));if(!De(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Vo(i,t);return n}function $E(e){return e?yE.get(e)??null:null}function qo(e){let t=WE(e);if(!t||t.enabled===!1)return null;let n=BE(t.preset),r=$E(n),i=r?.adjust??yl,o=r?.details??Sl,a=r?.effects??vl,s=De(t.adjust)?t.adjust:{},l=De(t.details)?t.details:{},u=De(t.effects)?t.effects:{},f=zo.reduce((g,h)=>(g[h]=Ge(s[h]??i[h],vE[h]),g),{...yl}),d=Al.reduce((g,h)=>(g[h]=Ge(l[h]??o[h],AE[h]),g),{...Sl}),m=wl.reduce((g,h)=>(g[h]=Ge(u[h]??a[h],wE[h]??El),g),{...vl});return{enabled:!0,preset:n,intensity:_p(t.intensity,r?.intensity??1),adjust:f,wheels:TE(t.wheels),curves:LE(t.curves),hueCurves:DE(t.hueCurves),secondaries:GE(t.secondaries),details:d,effects:m,palette:RE(t.palette),lut:UE(t.lut),colorSpace:typeof t.colorSpace==\"string\"&&t.colorSpace.trim()?t.colorSpace.trim():xE}}function Rp(e,t){return qo(Vo(e,t))}function zE(e){return Sp.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Rl(e){return vp.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Tl(e){return Ep.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function kl(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function Tp(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||Ap.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:zo.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?zE(e.wheels):!1)||(e.curves?Rl(e.curves):!1)||(e.hueCurves?Tl(e.hueCurves):!1)||(e.secondaries?kl(e.secondaries):!1):!1}var jo=/^(|transparent|rgba\\(.*,\\s*0\\)|.*\\/\\s*0%?\\s*\\))$/,qE=new Set([\"IMG\",\"VIDEO\",\"IFRAME\",\"EMBED\",\"OBJECT\",\"CANVAS\"]),kp=\"http://www.w3.org/2000/svg\",jE=new Set([\"svg\",\"g\",\"foreignObject\"]),KE=[\"Top\",\"Right\",\"Bottom\",\"Left\"],XE={left:-1/0,right:1/0,top:-1/0,bottom:1/0},Mp=e=>!!e.backgroundImage&&e.backgroundImage!==\"none\"||!jo.test(e.backgroundColor),YE=e=>{let t=e.getPropertyValue(\"-webkit-text-fill-color\")||e.color,n=Number.parseFloat(e.getPropertyValue(\"-webkit-text-stroke-width\"))||0,r=e.getPropertyValue(\"-webkit-text-stroke-color\")||e.color;return!jo.test(t)||n>0&&!jo.test(r)},Np=e=>KE.map(t=>e[`border${t}Style`]!==\"none\"&&!jo.test(e[`border${t}Color`])&&Number.parseFloat(e[`border${t}Width`])||0),Ko=e=>e.bottom-e.top,Ml=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,Lp=(e,t)=>({left:Math.min(e.left,t.left),right:Math.max(e.right,t.right),top:Math.min(e.top,t.top),bottom:Math.max(e.bottom,t.bottom)}),JE=(e,t)=>t.display===\"none\"||t.position===\"absolute\"||t.position===\"fixed\"||Number.parseFloat(t.opacity)<=.01&&!e.hasAttribute(Sn);function QE(e,t,n){if(e.width<=0&&e.height<=0)return!1;let r=3*(Number.parseFloat(t.fontSize)||16),i=Math.max(r,Math.min(2*e.height,20*r/3));return n<e.top-i||n>e.bottom+i}function ZE(e,t,n,r){let[i,o,a,s]=Np(t);if(!(i||o||a||s))return!1;let l=e.getBoundingClientRect(),{offsetWidth:u,offsetHeight:f}=e,d=u>0?l.width/u:1,m=f>0?l.height/f:1,g={left:l.left+s*d,right:l.right-o*d,top:l.top+i*m,bottom:l.bottom-a*m};return!Ml(g,n,r)}function eA(e){let t=[];for(let n of[...e].sort((r,i)=>r.left-i.left)){let r=t.findIndex(i=>n.top<i.bottom&&n.bottom>i.top&&n.left-i.right<=2*Math.max(Ko(i),Ko(n)));r<0?t.push(n):t[r]=Lp(t[r],n)}return t}function tA(e){let t=[...e].sort((n,r)=>n.top-r.top);return t.flatMap((n,r)=>t.slice(r+1).flatMap(i=>{let o=i.left<n.right&&i.right>n.left,a=i.top-n.bottom<=2*Math.min(Ko(n),Ko(i));return o&&a&&i.top>n.bottom?[Lp(n,i)]:[]}))}function Fp(e,t,n){let r=e.defaultView,i=typeof e.createRange().getClientRects==\"function\",o=e.createRange(),a=new Map,s=new Map,l=new Map,u=x=>{let v=s.get(x);if(v===void 0){let A=r.getComputedStyle(x);v=JE(x,A)||i&&QE(x.getBoundingClientRect(),A,n),s.set(x,v)}return v},f=x=>{let v=l.get(x);if(v===void 0){let A=x.parentElement,E=A&&x.nodeValue?.trim()?r.getComputedStyle(A):null;v=!!E&&E.visibility!==\"hidden\"&&YE(E),l.set(x,v)}return v},d=x=>{if(!i)return[XE];let v=[];o.selectNodeContents(x);for(let A of o.getClientRects()){let E=A.bottom-A.top;A.width>0&&E>0&&n>=A.top-2*E&&n<=A.bottom+2*E&&v.push(A)}return v},m=x=>{let v=a.get(x);if(v)return v;v=[];for(let A of x.childNodes)A.nodeType===3?f(A)&&v.push(...d(A)):A.nodeType===1&&A.hasChildNodes()&&!u(A)&&v.push(...m(A));return a.set(x,v),v};function g(x){let v=eA(m(x));return v.some(A=>Ml(A,t,n))||tA(v).some(A=>Ml(A,t,n))}function h(x,v){let A=r.getComputedStyle(x,v);return!A.content||A.content===\"none\"||A.content===\"normal\"||A.display===\"none\"?!1:A.content!=='\"\"'||Mp(A)||Np(A).some(E=>E>0)}let b=(x,v)=>/inset/.test(v.boxShadow)||ZE(x,v,t,n)||h(x,\"::before\")||h(x,\"::after\");return x=>{if(qE.has(x.tagName)||!(x.namespaceURI!==kp||jE.has(x.localName))||!r)return!0;let A=r.getComputedStyle(x);return Mp(A)||b(x,A)||x.namespaceURI!==kp&&g(x)}}var nA=[\"[data-hyperframes-ignore]\",\"[data-hyperframes-picker-ignore]\",\"[data-hf-ignore]\",\"[data-no-inspect]\",\"[data-no-pick]\",\"[data-hyper-shader-loading]\"].join(\",\"),rA=[\"[data-hyperframes-picker-block]\",\"[data-hyper-shader-loading]\"].join(\",\"),Ip=\"[data-hf-inner-root],[data-composition-id]:not([data-composition-id] *)\",Dp=`${Ip}{pointer-events:auto!important}`,iA=`@layer hf-picker{${Dp}}`;function Pp(e){let t=!1,n=null,r=null,i=null,o=null,a,s=new Set;function l(N,_){try{window.dispatchEvent(new CustomEvent(N,{detail:_}))}catch(G){H(\"runtime.picker.site1\",G)}}function u(N){i=N,l(\"hyperframe:picker:hovered\",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function f(N){o=N,l(\"hyperframe:picker:selected\",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function d(N){if(s=new Set(Array.from(document.querySelectorAll(Ip)).filter(X=>getComputedStyle(X).pointerEvents===\"none\")),s.size===0)return N();let _=m(),G=_?g(_):h();try{return N()}finally{G(),s=new Set}}function m(){if(a!==void 0)return a;if(a=null,!Array.isArray(document.adoptedStyleSheets)||typeof CSSStyleSheet>\"u\")return null;try{let N=new CSSStyleSheet;N.replaceSync(iA),a=N}catch(N){H(\"runtime.picker.site2\",N)}return a}function g(N){return document.adoptedStyleSheets=[...document.adoptedStyleSheets,N],()=>{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(_=>_!==N)}}function h(){let N=document.createElement(\"style\");return N.textContent=Dp,(document.head??document.documentElement).appendChild(N),()=>N.remove()}function b(N){let _=N.ownerDocument.defaultView;if(!_)return!1;let G=N;if(_.getComputedStyle(N).visibility===\"hidden\")return!0;for(;G&&G!==document.body&&G!==document.documentElement;){let X=_.getComputedStyle(G);if(X.display===\"none\"||X.pointerEvents===\"none\")return!0;let U=Number.parseFloat(X.opacity);if(Number.isFinite(U)&&U<=.01&&!G.hasAttribute(Sn))return!0;G=G.parentElement}return!1}function x(N){if(!N||N===document.body||N===document.documentElement)return!1;let _=N.tagName.toLowerCase();return!(_===\"script\"||_===\"style\"||_===\"link\"||_===\"meta\"||s.has(N)||N.closest(nA)||b(N))}function v(N){return!!N?.closest(rA)}function A(N){let _=N.parentElement?.getAttribute(\"data-composition-id\");return!N.hasAttribute(\"data-hf-inner-root\")||!_?null:`[data-composition-id=\"${CSS.escape(_)}\"] > [data-hf-inner-root]`}function E(N){let _=A(N);if(_)return _;let G=N;if(G.id)return`#${CSS.escape(G.id)}`;let X=N.getAttribute(\"data-composition-id\");if(X)return`[data-composition-id=\"${CSS.escape(X)}\"]`;let U=N.getAttribute(\"data-composition-src\");if(U)return`[data-composition-src=\"${CSS.escape(U)}\"]`;let j=N.getAttribute(\"data-track-index\");if(j)return`[data-track-index=\"${CSS.escape(j)}\"]`;let V=N.tagName.toLowerCase(),J=N.parentElement;if(!J)return V;let Y=J.querySelectorAll(`:scope > ${V}`);if(Y.length===1)return V;for(let P=0;P<Y.length;P+=1)if(Y[P]===N)return`${V}:nth-of-type(${P+1})`;return V}function k(N){let _=N.tagName.toLowerCase(),G=(N.textContent??\"\").trim().replace(/\\s+/g,\" \"),X=(j,V)=>{let J=Array.from(j);return J.length>V?`${J.slice(0,V-1).join(\"\")}\\u2026`:j},U=/^h[1-6]$/.test(_);return U||_===\"p\"||_===\"span\"||_===\"div\"?G.length>0?X(G,56):U?\"Heading\":\"Text\":_===\"img\"?\"Image\":_===\"video\"?\"Video\":_===\"audio\"?\"Audio\":_===\"svg\"?\"Shape\":N.getAttribute(\"data-composition-src\")?\"Composition\":_===\"section\"?\"Section\":`${_.charAt(0).toUpperCase()}${_.slice(1)}`}function O(N,_,G){let X=typeof G==\"number\"&&G>0?G:8,U=[];if(document.elementsFromPoint)U=document.elementsFromPoint(N,_);else if(document.elementFromPoint){let P=document.elementFromPoint(N,_);U=P?[P]:[]}if(v(U[0]??null))return[];let j={},V=[],J=[],Y=Fp(document,N,_);for(let[P,K]of U.entries()){if(!x(K))continue;let Q=`${K.tagName}::${K.id||\"\"}::${P}`;if(!j[Q]&&(j[Q]=!0,V.push(K),(J.some(le=>K.contains(le))||Y(K))&&(J.push(K),J.length>=X)))break}return J.length>0?J:V.slice(0,X)}function F(N){let _=N.getBoundingClientRect(),G={};for(let U of Array.from(N.attributes))U.name.startsWith(\"data-\")&&(G[U.name]=U.value);return{id:N.id||null,tagName:N.tagName.toLowerCase(),selector:E(N),label:k(N),boundingBox:{x:_.left,y:_.top,width:_.width,height:_.height},textContent:N.textContent?N.textContent.trim().slice(0,200):null,src:N.getAttribute(\"src\")||N.getAttribute(\"data-composition-src\")||null,dataAttributes:G}}function D(N,_,G){return d(()=>O(N,_,G)).map(F)}function R(N){if(!t)return;let _=d(()=>{let X=O(N.clientX,N.clientY,1)[0]??(ke(N.target)?N.target:null);return x(X)?X:null});if(!_||n===_)return;n&&n.classList.remove(\"__hf-pick-highlight\"),n=_,_.classList.add(\"__hf-pick-highlight\");let G=F(_);u(G),e.postMessage({source:\"hf-preview\",type:\"element-hovered\",elementInfo:G})}function M(N){if(!t)return;N.preventDefault(),N.stopPropagation(),N.stopImmediatePropagation();let _=D(N.clientX,N.clientY,8);_.length!==0&&(u(_[0]??null),e.postMessage({source:\"hf-preview\",type:\"element-pick-candidates\",candidates:_,selectedIndex:0,point:{x:N.clientX,y:N.clientY}}))}function T(N){N.key===\"Escape\"&&(W(),e.postMessage({source:\"hf-preview\",type:\"pick-mode-cancelled\"}))}function B(){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\",R,!0),document.addEventListener(\"click\",M,!0),document.addEventListener(\"keydown\",T,!0),l(\"hyperframe:picker:mode\",{isPickMode:!0,timestamp:Date.now()}))}function W(){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\",R,!0),document.removeEventListener(\"click\",M,!0),document.removeEventListener(\"keydown\",T,!0),l(\"hyperframe:picker:mode\",{isPickMode:!1,timestamp:Date.now()}))}function ne(){window.__HF_PICKER_API={enable:B,disable:W,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(N,_,G)=>Number.isFinite(N)&&Number.isFinite(_)?D(N,_,G):[],pickAtPoint:(N,_,G)=>{if(!Number.isFinite(N)||!Number.isFinite(_))return null;let X=D(N,_,8);if(!X.length)return null;let U=Math.max(0,Math.min(X.length-1,Number(G??0))),j=X[U]??null;return j?(f(j),e.postMessage({source:\"hf-preview\",type:\"element-picked\",elementInfo:j}),W(),j):null},describe:N=>ke(N)?F(N):null,pickManyAtPoint:(N,_,G)=>{if(!Number.isFinite(N)||!Number.isFinite(_))return[];let X=D(N,_,8);if(!X.length)return[];let U=[],j=Array.isArray(G)?G:[0];for(let V of j){let J=Math.max(0,Math.min(X.length-1,Math.floor(Number(V)))),Y=X[J];if(!Y)continue;U.some(K=>K.selector===Y.selector&&K.tagName===Y.tagName)||U.push(Y)}return U.length?(f(U[0]??null),e.postMessage({source:\"hf-preview\",type:\"element-picked-many\",elementInfos:U}),W(),U):[]}},l(\"hyperframe:picker:api-ready\",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:B,disablePickMode:W,installPickerApi:ne}}function ti(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&&H(\"runtime.player.nonConformantNum\",{prop:t,actual:typeof r}),n)}function ut(e,t){let n=e?.[t];if(typeof n==\"function\"){n.call(e);return}n!==void 0&&H(\"runtime.player.nonConformantVoid\",{method:t,actual:typeof n})}function ni(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){H(\"runtime.player.site1\",i)}}}function Xo(e,t,n){return n?.exact===!0?Number.isFinite(e)&&e>0?e:0:um(e,t,n?.subFrameDivisions)}function Op(e,t,n,r){let i=Xo(t,n,r),o=r?.suppressEvents===!0;return ut(e,\"pause\"),typeof e.totalTime==\"function\"?e.totalTime(i,o):typeof e.seek==\"function\"&&e.seek(i,o),i}function oA(e,t,n,r,i){let o=[];ni(e,t,a=>{ut(a,\"play\"),o.push(a)});try{return Op(t,n,r,i)}finally{for(let a of o)try{ut(a,\"pause\")}catch(s){H(\"runtime.player.site2\",s)}}}function aA(e,t){ni(e,t,n=>{ut(n,\"play\")})}function Hp(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?.()??ti(n,\"duration\",0))||0);r>0&&Math.max(0,ti(n,\"time\",0))>=r&&(ut(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()),ut(n,\"play\"),ni(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale==\"function\"&&i.timeScale(e.getPlaybackRate()),ut(i,\"play\")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;ut(n,\"pause\"),ni(e.getTimelineRegistry?.(),n,i=>{ut(i,\"pause\")});let r=Math.max(0,ti(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(),s=oA(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(s),r?.keepPlaying&&a?(typeof i.timeScale==\"function\"&&i.timeScale(e.getPlaybackRate()),ut(i,\"play\"),ni(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale==\"function\"&&l.timeScale(e.getPlaybackRate()),ut(l,\"play\")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(aA(e.getTimelineRegistry?.(),i),Op(i,n,o,r)):Xo(Math.max(0,Number(n)||0),o,r);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>ti(e.getTimeline(),\"time\",0),getDuration:()=>ti(e.getTimeline(),\"duration\",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Nl(){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}}function En(e){if(e==null||e.trim()===\"\")return null;let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:null}function nr(e){if(e==null||e.trim()===\"\")return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function Et(e=document){let t=e.querySelector('[data-composition-id][data-root=\"true\"]');return xe(t)?t:e.querySelector(\"[data-composition-id]\")}var sA=new Set([\"SCRIPT\",\"STYLE\",\"LINK\",\"META\",\"TEMPLATE\",\"NOSCRIPT\"]);function Ll(e){return e.id||e.getAttribute(\"data-hf-id\")||null}function lA(e){return Ce(e)}function uA(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 cA(e){return pe(e)?Number.isFinite(e.duration)?xt(e,e.duration):null:Un(e)}function dA(e,t,n,r){let i=lA(e.getAttribute(\"data-duration\"));return i!=null&&i>0?i:uA(e,t)??cA(e)??Math.max(0,n-r)}function fA(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 Gp(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=Et(),a=0;for(let s of document.querySelectorAll(\"[data-start]\")){if(s===o||sA.has(s.tagName))continue;let l=t.resolveStartForElement(s,0);if(dA(s,n,r,l)<=0)continue;let u={id:Ll(s)??`__clip-${a++}`,element:s,parentId:null,children:[]};i.set(s,u)}return fA(i),{roots:Array.from(i.values()).filter(s=>s.parentId===null)}}var Fl=\"css:root\",Bp=[\"backdrop-filter\",\"clip-path\",\"filter\",\"mask\",\"mask-border-source\",\"mask-image\",\"perspective\",\"rotate\",\"scale\",\"transform\",\"translate\",\"-webkit-mask-image\"],mA=new Set([...Bp,\"contain\",\"isolation\",\"mask-border\",\"mix-blend-mode\",\"opacity\"]),pA=new Set([\"absolute\",\"relative\"]),hA=new Set([\"flex\",\"inline-flex\",\"grid\",\"inline-grid\"]),gA=new Set([\"layout\",\"paint\",\"strict\",\"content\"]),bA=new Set([\"size\",\"inline-size\"]);function xA(e){return e.position===\"fixed\"||e.position===\"sticky\"}function yA(e,t){if(t.zIndex===\"auto\"||t.zIndex===\"\")return!1;if(pA.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&hA.has(n)}function SA(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:Bp.some(r=>{let i=e.getPropertyValue(r);return i!==\"\"&&i!==\"none\"})}function vA(e){return e.getPropertyValue(\"contain\").split(/\\s+/).some(n=>gA.has(n))?!0:bA.has(e.getPropertyValue(\"container-type\"))}function EA(e){return e.getPropertyValue(\"will-change\").split(\",\").map(t=>t.trim()).some(t=>mA.has(t))}function AA(e,t){return xA(t)||yA(e,t)||SA(t)||vA(t)?!0:EA(t)}function wA(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 Yo(e){let t=e.ownerDocument.defaultView;if(!t)return Fl;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(AA(n,t.getComputedStyle(n)))return wA(n)}catch{return Fl}n=n.parentElement}return Fl}function Il(e){let t=e.trim().toLowerCase();return!(!t||t===\"main\"||t.includes(\"caption\")||t.includes(\"ambient\"))}var Jo=7200;function Qo(e,t){let n=e.tagName.toLowerCase();if(n===\"script\"||n===\"style\"||n===\"link\"||n===\"meta\")return!1;let i=n===\"video\"||n===\"audio\"?t.resolver.resolveMediaStartForElement(e):t.resolver.resolveStartForElement(e,0),o=t.resolver.resolveDurationForElement(e),a=e.getAttribute(\"data-composition-id\");if(a){let u=t.timelineRegistry[a],f=u&&typeof u.duration==\"function\"?Number(u.duration()):null;!(e.hasAttribute(\"data-duration\")||e.hasAttribute(\"data-end\")||e.hasAttribute(jn)||e.hasAttribute(Kn))&&(o==null||o<=0)&&f!=null&&Number.isFinite(f)&&f>0&&(o=f)}let s=o!=null&&o>0?i+o:Number.POSITIVE_INFINITY,l=t.exportRenderSeek?Lo(i,s,t.canonicalFps):{start:i,end:s};return Vn(t.currentTime,l.start,l.end,t.compositionDuration)}function ii(e){return Ce(e)}function Dl(e){let t=e.getAttribute(\"data-duration\"),n=e.getAttribute(jn),r=Xn({start:0,duration:t,authoredDuration:n})?.duration;return r??([t,n].map(ii).some(o=>o!=null&&o<=0)?0:null)}function Up(e){return Xn({start:0,end:e.getAttribute(\"data-end\"),authoredEnd:e.getAttribute(Kn)})?.end??null}function Pl(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 Ol(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function rr(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 oi(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 Wp(e){let t=e.getAttribute(\"src\")??e.getAttribute(\"data-src\");if(t)return oi(t);let n=e.getAttribute(\"data-composition-src\");if(n)return oi(n);let r=e.querySelector(\"img[src], video[src], audio[src], source[src]\");return r?oi(r.getAttribute(\"src\")):null}function CA(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 RA(e){if(!e)return null;let t;try{t=new URL(e,document.baseURI).pathname.split(\"/\").filter(Boolean).at(-1)}catch{t=e.replace(/[?#].*$/,\"\").split(/[\\\\/]/).filter(Boolean).at(-1)}if(!t)return null;try{return decodeURIComponent(t)}catch{return t}}function TA(e){let t=e.textContent?.replace(/\\s+/g,\" \").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function ri(e){let t=e.replace(/\\.[^.]+$/i,\"\").replace(/[-_]+/g,\" \").replace(/\\s+/g,\" \").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function Vp(e){return e.getAttribute(\"data-hf-original-composition-id\")??e.getAttribute(\"data-composition-id\")}function kA(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=Vp(e);if(i)return ri(i);let o=e.id;if(o)return ri(o);let a=CA(e);if(a)return ri(a);let s=RA(Wp(e));if(s)return ri(s);let l=TA(e);return l||`${ri(t)} ${n+1}`}function Hl(e){let n=window.__timelines??{},r=je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=Y=>{if(!Y)return null;let P=n[Y]??null;if(!P||typeof P.duration!=\"function\")return null;try{let K=Number(P.duration());return Number.isFinite(K)&&K>0?K:null}catch{return null}},o=()=>{let Y=Array.from(document.querySelectorAll(\"video[data-start], audio[data-start]\"));if(Y.length===0)return null;let P=0;for(let K of Y){let Q=r.resolveMediaStartForElement(K);if(!Number.isFinite(Q))continue;let le=Bn(K);le==null||le<=0||(P=Math.max(P,Math.max(0,Q)+le))}return P>0?P:null},a=(Y,P)=>{let K=[],Q=null,le=null,Z=null,z=Y.parentElement;for(;z;){let se=z.getAttribute(\"data-composition-id\");se&&(K.push(se),!Z&&z!==P&&(Z=se),Q==null&&(Q=r.resolveStartForElement(z,0)),le==null&&(le=ii(z.getAttribute(\"data-duration\"))??i(se)??null)),z=z.parentElement}return{parentCompositionId:Z,compositionAncestors:K.reverse(),inheritedStart:Q,inheritedDuration:le}},s=Et(),l=Array.from(document.querySelectorAll(\"[data-composition-id]\")),u=s?.getAttribute(\"data-composition-id\")??null,f=s?r.resolveStartForElement(s,0):0,d=o(),m=d!=null?Math.max(0,d-Math.max(0,f)):null,g=i(u),h=Dl(s??document.body),b=Ol(...l.filter(Y=>Y!==s).map(Y=>{let P=r.resolveStartForElement(Y,0),K=r.resolveDurationForElement(Y)??i(Y.getAttribute(\"data-composition-id\"))??null;return!Number.isFinite(P)||K==null||K<=0?null:Math.max(0,P)+K})),x=b!=null?Math.max(0,b-Math.max(0,f)):null,v=typeof g==\"number\"&&Number.isFinite(g)&&g>0?g:null,A=typeof h==\"number\"&&Number.isFinite(h)&&h>0?h:null,E=typeof m==\"number\"&&Number.isFinite(m)&&m>0?m:null,k=typeof x==\"number\"&&Number.isFinite(x)&&x>0?x:null,O=Ol(E,k),F=v!=null&&O!=null&&v>=Jo,R=A??(F?O:Ol(v,E,k))??null,T=(R!=null?f+R:null)??(typeof d==\"number\"&&Number.isFinite(d)&&d>0?d:null),B=(Y,P)=>!Number.isFinite(P)||P<=0?0:T==null||!Number.isFinite(T)?P:!Number.isFinite(Y)||Y>=T?0:Math.max(0,Math.min(P,T-Y)),W=[],ne=[],N=Array.from(document.querySelectorAll(\"[data-start], [data-track-index], [data-composition-id], video, audio, img\")),_=0;for(let[Y,P]of N.entries()){if(P===s||[\"SCRIPT\",\"STYLE\",\"LINK\",\"META\",\"TEMPLATE\",\"NOSCRIPT\"].includes(P.tagName))continue;let K=a(P,s),Q=P.tagName.toLowerCase(),le=Q===\"video\"||Q===\"audio\"?r.resolveMediaStartForElement(P):r.resolveStartForElement(P,K.inheritedStart??0),Z=P.getAttribute(\"data-composition-id\"),z=Dl(P);if(z==null&&Z&&Z!==u&&(z=i(Z)),z==null&&pe(P)&&Number.isFinite(P.duration)&&(z=xt(P,P.duration)),z==null&&(z=Un(P,le)),z==null){let Ke=K.inheritedDuration;if(Ke!=null&&Ke>0){let it=(K.inheritedStart??0)+Ke;z=Math.max(0,it-le)}}if(z==null||z<=0||(z=B(le,z),z<=0))continue;let se=le+z;_=Math.max(_,se);let pt=Z&&Z!==u?\"composition\":Q===\"video\"?\"video\":Q===\"audio\"?\"audio\":Q===\"img\"?\"image\":\"element\";W.push({id:Ll(P)??Z??null,label:kA(P,pt,W.length),start:le,duration:z,track:rr(P,Y),zIndex:Pl(P),stackingContextId:Yo(P),kind:pt,tagName:Q,compositionId:P.getAttribute(\"data-composition-id\"),compositionAncestors:K.compositionAncestors,parentCompositionId:K.parentCompositionId,nodePath:null,compositionSrc:oi(P.getAttribute(\"data-composition-src\")),playbackStart:St(P),playbackRate:Ve(P),assetUrl:Wp(P),timelineRole:P.getAttribute(\"data-timeline-role\"),timelineLabel:P.getAttribute(\"data-timeline-label\"),timelineGroup:P.getAttribute(\"data-timeline-group\"),timelinePriority:ii(P.getAttribute(\"data-timeline-priority\"))})}let G=new Set(W.map(Y=>Y.id)),X=s?.getAttribute(\"data-composition-id\")??null,U=X?n[X]??null:null;if(U&&s){let Y=U;if(typeof Y.getChildren==\"function\")try{let P=Y.getChildren(!0,!0,!1)??[],K=new Map;for(let Z of s.children){let z=Z;if(!z.id)continue;let se=z.tagName.toLowerCase();se===\"script\"||se===\"style\"||se===\"link\"||K.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=Z=>{let z=Z;for(;z;){if(K.has(z))return z;if(z===s)return null;z=z.parentElement}return null};for(let Z of P){if(typeof Z.targets!=\"function\"||typeof Z.startTime!=\"function\"||typeof Z.duration!=\"function\")continue;let z=Z.startTime(),se=Z.parent;for(;se&&se!==U&&typeof se.startTime==\"function\";)z+=se.startTime(),se=se.parent;let pt=z+Z.duration();if(!(!Number.isFinite(z)||!Number.isFinite(pt)))for(let Ke of Z.targets()){if(!ke(Ke))continue;let kn=Q(Ke);if(!kn)continue;let it=K.get(kn);it&&(it.start=Math.min(it.start,z),it.end=Math.max(it.end,pt))}}let le=W.length>0?Math.max(...W.map(Z=>Z.track))+1:0;for(let[Z,z]of K){if(z.start===1/0||z.end===-1/0)continue;let se=Z;if(G.has(se.id))continue;let pt=Math.max(0,z.end-z.start);if(pt<=0)continue;let Ke=B(z.start,pt);Ke<=0||(_=Math.max(_,z.start+Ke),W.push({id:se.id,label:se.getAttribute(\"data-timeline-label\")??se.getAttribute(\"data-label\")??se.getAttribute(\"aria-label\")??se.id,start:z.start,duration:Ke,track:rr(se,le),zIndex:Pl(se),stackingContextId:Yo(se),kind:\"element\",tagName:se.tagName.toLowerCase(),compositionId:se.getAttribute(\"data-composition-id\"),compositionAncestors:X?[X]:[],parentCompositionId:X,nodePath:null,compositionSrc:null,playbackStart:St(se),playbackRate:Ve(se),assetUrl:null,timelineRole:se.getAttribute(\"data-timeline-role\"),timelineLabel:se.getAttribute(\"data-timeline-label\"),timelineGroup:se.getAttribute(\"data-timeline-group\"),timelinePriority:ii(se.getAttribute(\"data-timeline-priority\"))}),G.add(se.id))}}catch(P){H(\"runtime.timeline.site1\",P)}}if(s&&R!=null&&R>0){let Y=W.length>0?Math.max(...W.map(P=>P.track))+1:0;for(let P of s.children){let K=P;if(!K.id||G.has(K.id))continue;let Q=K.getAttribute(\"data-timeline-role\");if(Q!==\"overlay\"&&Q!==\"persistent-overlay\")continue;let le=K.tagName.toLowerCase();if(le===\"script\"||le===\"style\"||le===\"link\"||le===\"meta\"||window.getComputedStyle(K).display===\"none\")continue;let z=B(0,R);z<=0||(_=Math.max(_,z),W.push({id:K.id,label:K.getAttribute(\"data-timeline-label\")??K.getAttribute(\"data-label\")??K.getAttribute(\"aria-label\")??K.id,start:0,duration:z,track:rr(K,Y),zIndex:Pl(K),stackingContextId:Yo(K),kind:\"element\",tagName:le,compositionId:K.getAttribute(\"data-composition-id\"),compositionAncestors:X?[X]:[],parentCompositionId:X,nodePath:null,compositionSrc:null,playbackStart:St(K),playbackRate:Ve(K),assetUrl:null,timelineRole:Q,timelineLabel:K.getAttribute(\"data-timeline-label\"),timelineGroup:K.getAttribute(\"data-timeline-group\"),timelinePriority:ii(K.getAttribute(\"data-timeline-priority\"))}),G.add(K.id))}}for(let Y of l){if(Y===s)continue;let P=Y.getAttribute(\"data-composition-id\");if(!P||!Il(P))continue;let K=r.resolveStartForElement(Y,0),Q=Dl(Y);if((Q==null||Q<=0)&&Up(Y)!=null){let se=Up(Y);Q=Math.max(0,se-K)}let le=i(P),Z=Q&&Q>0?Q:le;if(Z==null||Z<=0)continue;let z=B(K,Z);z<=0||ne.push({id:P,label:Y.getAttribute(\"data-label\")??Vp(Y)??P,start:K,duration:z,thumbnailUrl:oi(Y.getAttribute(\"data-thumbnail-url\")),avatarName:null})}let j=Math.max(_||0,R??0),V=j>0?j:1,J=Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...fo(e.canonicalFps),source:\"hf-preview\",type:\"timeline\",compositionContractVersion:1,durationSeconds:V,durationInFrames:J,clips:W,scenes:ne,compositionWidth:nr(s?.getAttribute(\"data-width\"))??1920,compositionHeight:nr(s?.getAttribute(\"data-height\"))??1080}}var $p=e=>e!==null&&Number.isFinite(e)&&e>0;function ir(e){let t=e.clipEndsSeconds.filter(r=>r===null).length;if($p(e.authoredDurationSeconds))return{seconds:e.authoredDurationSeconds,source:\"authored\",pendingClips:t};let n=e.clipEndsSeconds.filter($p);return n.length>0?{seconds:Math.max(...n),source:\"derived\",pendingClips:t}:{seconds:null,source:\"unresolved\",pendingClips:t,reason:t>0?\"every clip's length is still pending\":\"no authored duration and no clip with a length\"}}var It=1/60,Zo=e=>e!==null&&e>It?e:null;function zp(e){return{width:nr(e.getAttribute(\"data-width\")),height:nr(e.getAttribute(\"data-height\"))}}function qp(e,t){let n=[];for(let r of e.querySelectorAll(\"video[data-start], audio[data-start]\")){let i=t.mediaStart(r);if(!Number.isFinite(i))continue;let o=t.mediaDuration(r);o==null||o<=It||n.push(Math.max(0,i)+o)}return Zo(ir({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function jp(e,t){let n=[];for(let i of e.querySelectorAll(\"[data-composition-id][data-start]\")){if(i.parentElement?.closest(\"[data-composition-id]\")!==e)continue;let o=t.resolveStartForElement(i,0),a=t.resolveDurationForElement(i);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let r=Ce(e.getAttribute(\"data-duration\"));return Zo(ir({authoredDurationSeconds:null,clipEndsSeconds:[r,...n]}).seconds)}var MA=e=>e.hasAttribute(\"data-composition-id\")||e.hasAttribute(\"data-composition-src\");function Kp(e,t,{unregisteredLottie:n}){let r=[];for(let o of e.querySelectorAll(\"[data-start]\")){let a=t.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=t.resolveDurationForElement(o);s!=null?r.push(Math.max(0,a)+s):(pe(o)||MA(o))&&r.push(null)}(n||e.querySelector(\"[data-lottie-src]\"))&&r.push(null);let i=ir({authoredDurationSeconds:null,clipEndsSeconds:r});return i.pendingClips>0?{...i,seconds:null,source:\"unresolved\",reason:\"a clip's length is pending\"}:i}function Xp(e){if(e.declared!==null&&Number.isFinite(e.declared)&&e.declared>0)return e.declared;let t=Zo(e.timeline()),n=Math.max(0,...e.floors().map(o=>o??0)),r=Number.isFinite(e.fallback)&&e.fallback>It?e.fallback:0,i;return t!==null?i=Math.max(t,n,r):Zo(n)!==null?i=Math.max(n,r):r>0?i=r:i=e.derived(),i>0?i:0}var Gl=\"data-composition-id\",NA=\"data-composition-src\",LA=`[${Gl}]`,_I=`[${NA}]`,Bl=\"style\",Ul=\"script\",Wl='link[rel=\"stylesheet\"], link[rel=\"preconnect\"]',Yp=`${Bl}, ${Ul}, ${Wl}`;function An(e){return e?Array.from(e):[]}function Jp(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=An(t.querySelectorAll(LA)),s=o?a.find(f=>f.getAttribute(Gl)===o)??null:a[0]??null,l=(s??a[0])?.getAttribute(Gl)?.trim()||\"\",u=i?null:n??null;return{innerRoot:s,authoredCompositionId:o||l||null,scriptCompositionId:l||o||null,authoredRootId:s?.getAttribute(\"id\")?.trim()||null,styleSources:[...An(u?.querySelectorAll(Bl)),...An(t.querySelectorAll(Bl))],scriptSources:[...An(u?.querySelectorAll(Ul)),...An(t.querySelectorAll(Ul))],linkSources:[...An(n?.querySelectorAll(Wl)),...An(t.querySelectorAll(Wl))],variableDefaultCarriers:[r,s].filter(f=>f!=null)}}var FA='\"use strict\";(()=>{function I(e){return e?/[\\\\w-]/.test(e)||e.charCodeAt(0)>=128:!1}function _(e){return e===\" \"||e===\"\t\"||e===`\\n`||e===\"\\\\r\"||e===\"\\\\f\"}var j=/^[0-9a-fA-F]{1,6}/;function G(e){let n=e>=55296&&e<=57343;return e===0||e>1114111||n?65533:e}function $(e,n){return e[n]===\"\\\\r\"&&e[n+1]===`\\n`?n+2:_(e[n])?n+1:n}function R(e,n){let t=e[n+1];if(t===void 0||/[\\\\n\\\\r\\\\f]/.test(t))return null;let i=j.exec(e.slice(n+1,n+7));if(!i)return{value:t,end:n+2};let o=G(Number.parseInt(i[0],16));return{value:String.fromCodePoint(o),end:$(e,n+1+i[0].length)}}function H(e,n){let t=o=>I(o)&&!/[0-9-]/.test(o),i=o=>e[o]===\"\\\\\\\\\"&&R(e,o)!==null;return e[n]===\"-\"?e[n+1]===\"-\"||t(e[n+1])||i(n+1):t(e[n])||i(n)}function y(e,n){let t=n;for(;e.startsWith(\"/*\",t);){let i=e.indexOf(\"*/\",t+2);t=i<0?e.length:i+2}return t}function A(e,n){let t=y(e,n);for(;_(e[t]);)t=y(e,t+1);return t}function h(e,n){if(!H(e,n))return null;let t=n,i=\"\";for(;t<e.length;){let o=e[t];if(o===\"\\\\\\\\\"){let a=R(e,t);if(!a)break;i+=a.value,t=a.end;continue}if(!I(o))break;i+=o,t+=1}return t===n?null:{value:i,end:t}}var C=45;function T(e){return e>=48&&e<=57}function z(e){return e>=128||e===C||e===95||T(e)||e>=65&&e<=90||e>=97&&e<=122}function J(e,n){let t=e.charCodeAt(n);return t>=1&&t<=31||t===127?!0:T(t)?n===0||n===1&&e.charCodeAt(0)===C:!1}function k(e){let n=\"\";for(let t=0;t<e.length;t+=1){let i=e.charCodeAt(t),o=e[t];i===0?n+=\"\\\\uFFFD\":J(e,t)?n+=`\\\\\\\\${i.toString(16)} `:t===0&&e.length===1&&i===C?n+=`\\\\\\\\${o}`:z(i)?n+=o:n+=`\\\\\\\\${o}`}return n}var W=/\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*\\\\*\\\\/|\\\\\\\\(?:[0-9a-fA-F]{1,6}(?:\\\\r\\\\n|[ \\\\t\\\\r\\\\n\\\\f])?|[\\\\s\\\\S])|\"(?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\"|\\'(?:[^\\'\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\\'|\\\\[(?:\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*\\\\*\\\\/|\\\\\\\\[\\\\s\\\\S]|\"(?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\"|\\'(?:[^\\'\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\\'|[^\\\\]\"\\'\\\\\\\\/]|\\\\/(?!\\\\*))*\\\\]/g;function Q(e){let n=new Array(e.length).fill(!0);for(let t of e.matchAll(W)){let i=t.index;n.fill(!1,i,i+t[0].length)}return n}function q(e,n,t){if(n.length===0||!e.includes(\"#\"))return e;let i=new Set(n),o=Q(e),a=\"\",u=0;for(;u<e.length;){let d=o[u]&&e[u]===\"#\"?h(e,u+1):null;d&&i.has(d.value)?(a+=t(d.value),u=d.end):(a+=e[u],u+=1)}return a}function X(e){let n=\"\";for(let t=0;t<e.length;t+=1){if(e[t]===\"\\\\\\\\\"){let i=e[t+1];if(i!==void 0&&/[\\\\n\\\\r\\\\f]/.test(i)){t=$(e,t+1)-1;continue}let o=R(e,t);if(o){n+=o.value,t=o.end-1;continue}}n+=e[t]}return n}function N(e){return Array.from(e,n=>{let t=n.charCodeAt(0);return t===0?\"\\\\uFFFD\":t<32||t===127?`\\\\\\\\${t.toString(16)} `:n===\\'\"\\'||n===\"\\\\\\\\\"?`\\\\\\\\${n}`:n}).join(\"\")}function Y(e,n){return e?{kind:\"any\"}:n===void 0?{kind:\"none\"}:{kind:\"named\",prefix:n}}function Z(e,n){return e[n]===\"|\"&&e[n+1]!==\"=\"}function B(e,n){let t=e[n]===\"*\",i=t?{value:\"*\",end:n+1}:h(e,n),o=y(e,i?.end??n);if(!Z(e,o))return t?null:i?{token:i,namespace:{kind:\"none\"}}:null;let a=h(e,y(e,o+1));return a?{token:a,namespace:Y(t,i?.value)}:null}function K(e){if(e[0]!==\"[\")return null;let n=A(e,1),t=B(e,n);if(!t)return null;let{token:i,namespace:o}=t;return{name:i.value,rawName:e.slice(n,i.end),namespace:o,end:i.end}}function ee(e,n){let t=/^(?:\"((?:\\\\\\\\[\\\\s\\\\S]|[^\"\\\\\\\\])*)\"|\\'((?:\\\\\\\\[\\\\s\\\\S]|[^\\'\\\\\\\\])*)\\')/.exec(e.slice(n));return t?{value:X(t[1]??t[2]),end:n+t[0].length}:h(e,n)}function ne(e,n){let t=A(e,n),i=h(e,t);if(i){if(!/^[is]$/i.test(i.value))return null;t=A(e,i.end)}return e[t]!==\"]\"||t!==e.length-1?null:{flag:i?.value}}function F(e){let n=K(e);if(!n)return null;let t=A(e,n.end),o=[\"=\",\"~=\",\"|=\",\"^=\",\"$=\",\"*=\"].find(d=>e.startsWith(d,t));if(!o)return null;let a=ee(e,A(e,t+o.length));if(!a)return null;let u=ne(e,a.end);return u?{name:n.name,rawName:n.rawName,namespace:n.namespace,operator:o,value:a.value,flag:u.flag}:null}function E(e,n){return e.replace(W,t=>t.startsWith(\"[\")?n(t):t)}var re=\"data-hf-svg-reference-aliases\";function O(e,n,t,i){let o={\"=\":(s,r)=>s===r,\"~=\":(s,r)=>s.split(/[ \\\\t\\\\r\\\\n\\\\f]+/).includes(r),\"|=\":(s,r)=>s===r||s.startsWith(r+\"-\"),\"^=\":(s,r)=>s.startsWith(r),\"$=\":(s,r)=>s.endsWith(r),\"*=\":(s,r)=>s.includes(r)},a=(s,r,l)=>!r&&l!==\"=\"&&l!==\"|=\"?!1:o[l](s,r),u=s=>s.replace(/[A-Z]/g,r=>r.toLowerCase()),d=s=>{let r=F(s);if(!r)return s;let{name:l,rawName:g,namespace:m,operator:b,value:D,flag:w}=r;if(m.kind===\"named\"!=(i!==void 0))return s;let x=w?.toLowerCase()===\"i\"?u:S=>S,L=u(l),P=t.filter(S=>{let V=m.kind===\"none\"?S.name:S.localName,U=m.kind===\"named\"?i.get(m.prefix):null;return(m.kind===\"any\"||S.namespaceURI===U)&&u(V)===L}),v=new Set([s]);for(let S of P)a(x(S.before),x(D),b)&&v.add(`[${g}=\"${N(S.after)}\"${w?` ${w}`:\"\"}]`);return v.size===1?s:`:is(${[...v].join(\", \")})`};if(i)return E(e,d);let p=new Map(n.map(({id:s,replacement:r})=>[s,r])),f=new Map;for(let s of t){if(s.name!==\"id\"||s.before===s.after||p.has(s.before))continue;let r=f.get(s.before);r||(r=new Set([`#${k(s.before)}`]),f.set(s.before,r)),r.add(`#${k(s.after)}`)}for(let[s,r]of f)p.set(s,`:is(${[...r].join(\", \")})`);let c=q(e,[...p.keys()],s=>p.get(s));return E(c,d)}function se(e,n,t=!0){let i=[],a=(t?[...e.querySelectorAll(`[${n}]`)]:[]).map(d=>d.getAttribute(n)),u=e.getAttribute?.(n);u&&a.unshift(u);for(let d of a){let p;try{p=JSON.parse(d)}catch{continue}if(!Array.isArray(p))continue;let f=p;for(let c of f){if(!ie(c))continue;let{name:s,localName:r,namespaceURI:l,before:g,after:m}=c;i.push({name:s,localName:r,namespaceURI:l,before:g,after:m})}}return i}function ie(e){if(!e||typeof e!=\"object\")return!1;let{name:n,localName:t,namespaceURI:i,before:o,after:a}=e;return typeof n==\"string\"&&typeof t==\"string\"&&(i===null||typeof i==\"string\")&&typeof o==\"string\"&&typeof a==\"string\"}function oe(e){let n=[],t=[],i=!1,o,a=new WeakMap,u=(f,c)=>{for(let s of f){if(\"selectorText\"in s){let r=s,l=a.get(r),g=r.selectorText,m=l?.applied===g?l.authored:g,b=O(m,[],t,c);b!==g&&(r.selectorText=b),b===m?a.delete(r):a.set(r,{authored:m,applied:r.selectorText})}\"cssRules\"in s&&u(s.cssRules,c)}},d=()=>{if(t.length)for(let f of e.document.styleSheets){let c;try{c=f.cssRules}catch{continue}let s=new Map;for(let r of c){if(!(\"namespaceURI\"in r))continue;let{prefix:l,namespaceURI:g}=r;l&&s.set(l,g||null)}s.size&&u(c,s)}},p={rewrite:(f,c=[])=>{if(typeof f!=\"string\"||!f.includes(\"#\")&&!f.includes(\"[\"))return f;let s=O(f,c.length?[...c,...n]:n,t);if(s!==f){if(!o){let r=e.document.createElement(\"div\");o=r.matches.bind(r)}o(f)}return s},refresh(){t=se(e.document,re).filter(r=>r.before!==r.after);let f=new Set(t.filter(r=>r.name===\"id\").map(r=>r.before)),c=new Set;n=[];for(let r of e.document.querySelectorAll(\"[data-hf-authored-id][id]\")){let l=r.getAttribute(\"data-hf-authored-id\");if(!l||l===r.id||c.has(l)||f.has(l))continue;c.add(l);let g=N(l);n.push({id:l,replacement:`:is(#${k(l)}, [data-hf-authored-id=\"${g}\"])`})}if(d(),i||!n.length&&!t.length)return;let s=e.Element.prototype;s.querySelector=new Proxy(s.querySelector,{apply(r,l,g){return Reflect.apply(r,l,[p.rewrite(g[0])])}}),s.querySelectorAll=new Proxy(s.querySelectorAll,{apply(r,l,g){return Reflect.apply(r,l,[p.rewrite(g[0])])}}),i=!0}};e.__hfSvgSelectorAliases=p,p.refresh()}function M(){let e=window;e.__hfSvgSelectorAliases||oe(e)}M();})();\\n';function Qp(){return FA}var _e=yS(Rg(),1),ga=_e.default,hD=_e.default.stringify,gD=_e.default.fromJSON,bD=_e.default.plugin,xD=_e.default.parse,yD=_e.default.list,SD=_e.default.document,vD=_e.default.comment,ED=_e.default.atRule,AD=_e.default.rule,wD=_e.default.decl,_D=_e.default.root,CD=_e.default.CssSyntaxError,RD=_e.default.Declaration,TD=_e.default.Container,kD=_e.default.Processor,MD=_e.default.Document,ND=_e.default.Comment,LD=_e.default.Warning,FD=_e.default.AtRule,ID=_e.default.Result,DD=_e.default.Input,PD=_e.default.Rule,OD=_e.default.Root,HD=_e.default.Node;var mu=\"data-hf-scene\",wi=\"hf-scene-parts\",pu=\"data-hf-scene-no-swap\";var hu=\"data-hf-authored-id\",Tg=\"data-hf-inner-root\";function gu(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function bu(e){return e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function f_(e){let t=e.trim();return t?Array.from(new Set([t,kt(t)])).filter(Boolean):[]}function m_(e,t,n){let r=f_(t);return uo(e,r,()=>n)}function p_(e,t){let n=t?.trim();return n?m_(e,n,`[${hu}=\"${bu(n)}\"]`):e}function kg(e){return`${e}:not(:has([${Tg}])), ${e} > [${Tg}]`}function h_(e,t,n,r,i,o){let a=p_(e,r),s=g_(a,t,n),l=s.trim();if(!l||l===\"*\")return e;if(/^(html|body|:root)$/i.test(l))return o?kg(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*[\\\\^\\\\*\\\\$]?=\\\\s*([\"'])${gu(n)}\\\\1\\\\s*\\\\]`,\"g\");if(u.test(l))return l.replace(u,\"\").trim()===\"\"?kg(t):s.replace(u,t);let f=s.match(/^\\s*/)?.[0]??\"\",d=s.match(/\\s*$/)?.[0]??\"\";if(i){let m=r?`[${hu}=\"${bu(r)}\"]`:null;if(m&&l.startsWith(m)){let g=l.slice(m.length);return`${f}${t}${m}${g}${d}`}}return`${f}${t} ${l}${d}`}function g_(e,t,n){let r=gu(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 b_=new Set([\"keyframes\",\"-webkit-keyframes\",\"font-face\"]);function x_(e){return e?.type===\"atrule\"}function y_(e){let t=e.parent;for(;t;){if(x_(t)&&b_.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function S_(e){let t=e.parent;for(;t;){if(t.type===\"rule\")return!0;t=t.parent}return!1}function Mg(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id=\"${bu(o)}\"]`,s;try{s=ga.parse(e)}catch{return\"\"}return s.walkRules(l=>{y_(l)||S_(l)||(l.selectors=l.selectors.map(u=>h_(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),s.toResult({map:!1}).css}function et(e){return JSON.stringify(e).replace(/</g,\"\\\\u003c\")}var Ng=`!__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n assetUrl: function(path) {\n var page = window.document.baseURI;\n return new URL(path, __hfCompositionSrc ? new URL(__hfCompositionSrc, page) : page).href;\n },\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n })`;function Lg(e,t){return`const __hyperframes = (function(__hfBaseHyperframes, __hfTimelineCompId, __hfCompositionSrc) {\n return ${Ng};\n})(window.__hyperframes, ${et(e)}, ${et(t?.trim()||null)});\n${xu(\"\",e)}\n`}function xu(e,t,n=\"[HyperFrames] composition script error:\",r,i=t,o,a){let s=et(t),l=et(i),u=et(n),f=gu(t),d=et(o?.trim()||null),m=et(r??null),g=et(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:\"${f}\"|'${f}')\\s*\\]`),h=et(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:\"[^\"]*\"|'[^']*')\\s*\\]`);return`(function(){\n ${`(function(){ ${Qp()} })();`}\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${u};\n var __hfAuthoredRootId = ${d};\n var __hfCompositionSrc = ${et(a?.trim()||null)};\n var __hfAuthoredRootAttr = ${et(hu)};\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 = ${g};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? \"[\" + __hfAuthoredRootAttr + '=\"' + __hfEscapeAttr(__hfAuthoredRootId) + '\"]'\n : \"\";\n var __hfAuthoredRootEntries = __hfAuthoredRootSelector\n ? [{ id: __hfAuthoredRootId, replacement: __hfAuthoredRootSelector }]\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 return window.__hfSvgSelectorAliases.rewrite(normalized, __hfAuthoredRootEntries);\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 // Native window methods must stay bound to the real window. Handed\n // back unbound, \"this\" at call time is this Proxy and Chrome rejects\n // it with \"Illegal invocation\", which broke window.addEventListener,\n // setTimeout, matchMedia and getComputedStyle inside every\n // sub-composition -- including the window.addEventListener(\"hf-seek\",\n // ...) form the Three.js and TypeGPU adapters document. The sibling\n // document and gsap proxies here already bind.\n //\n // Only bind non-constructors. Function.prototype.bind drops static\n // members, so binding a class exposed on window (window.Texts and\n // friends) would silently strip its statics. Built-in methods have\n // no .prototype; classes and constructor functions do.\n var value = Reflect.get(target, prop, target);\n return typeof value === \"function\" && value.prototype === undefined\n ? value.bind(target)\n : value;\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 __hfQueryAll(target);\n if (!Array.isArray(target)) return target;\n return target.reduce(function(resolved, item) {\n if (typeof item === \"string\") {\n return resolved.concat(Array.prototype.slice.call(__hfQueryAll(item)));\n }\n resolved.push(item);\n return resolved;\n }, []);\n\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 = ${Ng};\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 // What the script started on the global gsap timeline, by any route, for a scene swap to revert.\n // Only a page with a scene manifest can swap; elsewhere the first script stores null and none records.\n var __hfRecordAnimations = function(run) {\n if (window.__hfSceneAnimations === undefined) {\n window.__hfSceneAnimations = window.document.querySelector(${et(`meta[name=\"${wi}\"]`)})\n ? {}\n : null;\n }\n var byComp = window.__hfSceneAnimations;\n var globalTimeline = __hfBaseGsap && __hfBaseGsap.globalTimeline;\n if (!byComp || !globalTimeline || !__hfTimelineCompId) return run();\n var before = globalTimeline.getChildren(false);\n // A set completes as it is made and would leave the timeline before the diff below.\n var autoRemove = globalTimeline.autoRemoveChildren;\n globalTimeline.autoRemoveChildren = false;\n run();\n globalTimeline.autoRemoveChildren = autoRemove;\n var recorded = (byComp[__hfTimelineCompId] = byComp[__hfTimelineCompId] || []);\n globalTimeline.getChildren(false).forEach(function(animation) {\n if (before.indexOf(animation) >= 0) return;\n recorded.push(animation);\n // Dropped as the timeline drops a finished tween (it keeps a paused one); moved back, a tween re-adds itself.\n if (autoRemove && !animation.getChildren && animation.totalProgress() === 1) globalTimeline.remove(animation);\n });\n };\n __hfFindRoot();\n __hfRecordAnimations(__hfRun);\n})();`}var Fg=(e,t)=>e&&Object.fromEntries(Object.entries(e).map(([n,r])=>[n,t(r)]));function Ig(e,t){let n;try{n=JSON.parse(e)}catch{return null}if(!n||typeof n!=\"object\")return null;let{imports:r,scopes:i}=n;return{imports:Fg(r,t),scopes:i&&Object.fromEntries(Object.entries(i).map(([o,a])=>[t(o),Fg(a,t)??{}]))}}var yu=\"text/hf-after-fonts\",Pg=`${yu}+module`,Og=`script[type=\"${yu}\"], script[type=\"${Pg}\"]`,Hg=\"__hfAfterFontsClaimed\",v_=\"data-hf-inlined-src\";var Gg=`[defer][src], [defer][${v_}]`;function ba(e){let t=e.getAttribute(\"type\");return t===yu?null:t===Pg?\"module\":t}function E_(e){let t=e.getAttribute(\"type\")??\"\",n=e.tagName.toLowerCase()===\"link\"?t.split(\";\")[0].trim():t;if(n!==\"\"&&n.toLowerCase()!==\"text/css\")return;let r=(e.getAttribute(\"media\")??\"\").trim().toLowerCase();return JSON.stringify([r===\"all\"?\"\":r,e.getAttribute(\"title\")??\"\"])}var jD=JSON.stringify([\"\",\"\"]);function Dg(e){return JSON.stringify([e.getAttribute(\"href\"),(e.getAttribute(\"rel\")??\"\").trim().toLowerCase(),E_(e)??e.getAttribute(\"type\"),e.hasAttribute(\"disabled\")])}function Bg(e,t){let n=Dg(t);return[...e.querySelectorAll(\"link[href]\")].some(r=>!r.closest(\"noscript\")&&Dg(r)===n)}var Pe=\"id\",Su=\"data-hf-authored-id\",cr=/(url\\(\\s*)([\"']?)#([^\"')\\s]+)\\2(\\s*\\))/gi;function Wg(e){return e===\"href\"||e.endsWith(\":href\")}function A_(e){return e.replace(/[^a-zA-Z0-9_-]/g,\"-\")}function vu(e,t){return!e||!e.toLowerCase().includes(\"url(\")?e:e.replace(cr,(n,r,i,o,a)=>{let s=t.get(o);return s?`${r}${i}#${s}${i}${a}`:n})}function w_(e,t,n){if(Wg(e)&&t.startsWith(\"#\")){let i=n.get(t.slice(1));return i?`#${i}`:t}cr.lastIndex=0;let r=cr.test(t);return cr.lastIndex=0,r?vu(t,n):null}function __(e,t,n){if(e.name===lt||e.name===Pe)return{kind:\"skip\"};let r=t&&e.value===t.after?t.before:e.value,i=w_(e.name,r,n);return i!==null?{kind:\"managed\",before:r,after:i}:t?{kind:\"retain\",alias:t}:{kind:\"skip\"}}function C_(e,t,n,r){let i=e.namespaceURI===void 0&&e.name===\"xlink:href\"&&r;return{name:e.name,localName:i?\"href\":e.localName,namespaceURI:i?\"http://www.w3.org/1999/xlink\":e.namespaceURI??null,before:t,after:n}}function R_(e,t){let n=new Map(bn(e,lt,!1).map(o=>[o.name,o])),r=[...n.values()].filter(o=>o.name===Pe),i=!!e.closest(\"svg\");for(let o of e.attributes?Array.from(e.attributes):[]){let a=__(o,n.get(o.name),t);if(a.kind!==\"skip\"){if(a.kind===\"retain\"){r.push(a.alias);continue}a.after!==o.value&&(o.namespaceURI?e.setAttributeNS(o.namespaceURI,o.name,a.after):e.setAttribute(o.name,a.after)),r.push(C_(o,a.before,a.after,i))}}r.length&&e.setAttribute(lt,JSON.stringify(r))}function Ug(e,t,n){let r;for(cr.lastIndex=0;r=cr.exec(e);){let i=r[3];t.has(i)&&n.add(i)}}function T_(e,t,n){if(Wg(e.name)&&e.value.startsWith(\"#\")){let r=e.value.slice(1);t.has(r)&&n.add(r)}}function k_(e,t,n){let r=new Set;for(let i of e)for(let o of i.attributes?Array.from(i.attributes):[])!o.value||o.name===lt||(T_(o,n,r),o.value.toLowerCase().includes(\"url(\")&&Ug(o.value,n,r));for(let i of t)i.toLowerCase().includes(\"url(\")&&Ug(i,n,r);return r}function Vg(e,t){return t.some(n=>n===e||n.contains(e))}function M_(e){let t=e.exclude??[],n=[...e.root.querySelectorAll(\"*\")],r=t.length?n.filter(i=>!Vg(i,t)):n;return[e.root,...r]}function N_(e){let t=e.exclude??[],n=[...e.root.querySelectorAll(\"svg [id], svg[id]\")];return t.length?n.filter(r=>!Vg(r,t)):n}function L_(e){let t=M_(e),n=new Set;if(!e.namespace)return{elements:t,renamable:n};let r=N_(e),i=new Set;for(let a of r){let s=a.getAttribute(Pe);s&&i.add(s)}if(i.size===0)return{elements:t,renamable:n};let o=k_(t,e.cssTexts??[],i);for(let a of r){let s=a.getAttribute(Pe);s&&o.has(s)&&n.add(a)}return{elements:t,renamable:n}}function $g(e){if(!e.closest(\"svg\"))return null;let t=bn(e,lt,!1).find(n=>n.name===Pe);return t?e.getAttribute(Pe)===t.after?t.before:null:e.getAttribute(Su)}function F_(e){let t=new Map,n=new Set;for(let r of e.querySelectorAll(\"[id]\")){let i=r.getAttribute(Pe);if(!i)continue;n.add(i);let o=t.get(i);o?o.push(r):t.set(i,[r]);let a=$g(r);if(a&&a!==i){let s=t.get(a);s?s.push(r):t.set(a,[r])}}return{elementsById:t,usedIds:n}}function I_(e,t,n){let r=`${A_(e)}--${t}`,i=r;for(let o=2;n.has(i);o+=1)i=`${r}-${o}`;return n.add(i),i}function D_(e,t,n){let r=t.find(a=>!n.has(a))??t[0],o=t.filter(a=>a!==r&&a.getAttribute(Pe)===e).map(a=>n.get(a));return new Set(o.filter(a=>a!==void 0))}function P_(e,t,n){let r=t.map(()=>new Map);for(let[i,o]of e.elementsById)if(!(o.length<2))for(let a of D_(i,o,n))r[a].set(i,I_(t[a].namespace,i,e.usedIds));return r}function O_(e,t,n){let r=new Map;for(let[i,o]of e.elementsById){let a=o[0],s=a.getAttribute(Pe);if(s!==i){r.set(i,s);continue}let l=n.get(a),u=l===void 0?void 0:t[l].get(i);u&&r.set(i,u)}return r}function H_(e){let t=new Set(e.map(r=>r.getAttribute(Pe))),n=new Map;for(let r of e){let i=$g(r),o=r.getAttribute(Pe);!i||!o||(t.add(i),n.set(i,o))}return{ids:t,renamed:n}}function G_(e,t){for(let n of e.elements){let r=n.getAttribute(Pe);if(r&&e.renamable.has(n)&&t.has(r)){n.hasAttribute(Su)||n.setAttribute(Su,r);let i=t.get(r),o=bn(n,lt,!1);o.push({name:Pe,localName:Pe,namespaceURI:null,before:r,after:i}),n.setAttribute(lt,JSON.stringify(o)),n.setAttribute(Pe,i)}R_(n,t)}}function zg(e,t,n){if(t.length===0)return[];let r=F_(e),i=t.map(L_),o=i.flatMap(({renamable:f})=>[...f]);if(n)for(let f of i)for(let d of f.renamable)n.has(d)&&f.renamable.delete(d);let a=new Map;i.forEach(({renamable:f},d)=>{for(let m of f)a.set(m,d)});let s=P_(r,t,a),l=O_(r,s,a),u=i.map((f,d)=>{let m=H_(t[d].referenceTarget===\"document\"?[]:f.elements),g=[...l].filter(([h])=>!m.ids.has(h));return new Map([...g,...m.renamed,...s[d]])});u.forEach((f,d)=>{G_(i[d],f)});for(let f of o)n?.add(f);return u}function qg(e,t,n=[]){if(!e||t.size===0&&n.length===0||!e.includes(\"#\")&&!e.includes(\"[\")&&!e.toLowerCase().includes(\"url(\"))return e;let r;try{r=ga.parse(e)}catch{return e}let i=!1,o=new Set(n.filter(s=>s.name===Pe).map(s=>s.before)),a=[...t].filter(([s])=>!o.has(s)).map(([s,l])=>({id:s,replacement:`:is(#${kt(s)}, #${kt(l)})`}));return r.walkRules(s=>{let l=s.selectors.map(u=>co(u,a,n));l.some((u,f)=>u!==s.selectors[f])&&(s.selectors=l,i=!0)}),r.walkDecls(s=>{let l=vu(s.value,t);l!==s.value&&(s.value=l,i=!0)}),r.walkAtRules(s=>{if(!s.params)return;let l=vu(s.params,t);l!==s.params&&(s.params=l,i=!0)}),i?r.toResult({map:!1}).css:e}var Eu=5e3;window[Hg]=!0;async function Au(){let e=document.fonts;if(!e)return;document.body?.offsetHeight;let t,n=await Promise.race([e.ready.then(()=>!1),new Promise(i=>t=setTimeout(i,Eu,!0))]);if(clearTimeout(t),!n)return;let r=[...new Set(Array.from(e).filter(i=>i.status===\"loading\").map(i=>i.family))];console.warn(`[hyperframes] fonts still loading after ${Eu} ms, composition scripts run without them: ${r.join(\", \")}`),Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"runtime_font_wait_timeout\",details:{loadingFamilies:r,timeoutMs:Eu}})}function B_(e,t){let n=Object.getOwnPropertyDescriptor(e,\"addEventListener\"),r=e.addEventListener,i=(o,a,s)=>{if(!a)return;o===\"DOMContentLoaded\"||o===\"load\"&&e===window&&document.readyState===\"complete\"?t.push({target:e,type:o,listener:a}):r.call(e,o,a,s)};return e.addEventListener=i,()=>{e.addEventListener===i&&(n?Object.defineProperty(e,\"addEventListener\",n):delete e.addEventListener)}}function U_(e){if(!e.isConnected)return;let t=document.createElement(\"script\");for(let{name:r,value:i}of Array.from(e.attributes))t.setAttribute(r,i);let n=ba(e);return n===null?t.removeAttribute(\"type\"):t.setAttribute(\"type\",n),t.async=e.hasAttribute(\"async\"),t.text=e.textContent??\"\",e.replaceWith(t),t}var W_=e=>new Promise(t=>{e.addEventListener(\"load\",t),e.addEventListener(\"error\",t)});function V_(){let e=document.createElement(\"script\");e.type=\"module\",e.async=!1,e.text='document.dispatchEvent(new Event(\"hf-after-fonts-modules\"))';let t=new Promise(n=>document.addEventListener(\"hf-after-fonts-modules\",n,{once:!0}));return document.body.appendChild(e),t.then(()=>e.remove())}async function xa(e,t){await Au();let n=o=>ba(o)===\"module\"||o.matches(Gg),r=[],i=[document,window].map(o=>B_(o,r));for(let o of[...e.filter(a=>!n(a)),...e.filter(n)]){let a=U_(o);a?.hasAttribute(\"src\")&&!a.async&&!a.noModule?await W_(a):ba(o)===\"module\"&&await V_()}for(let o of i)o();t?.();for(let{target:o,type:a,listener:s}of r){let l=new Event(a);try{typeof s==\"function\"?s.call(o,l):s.handleEvent(l)}catch(u){reportError(u)}}}var $_=[\"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 jg(e){let t=e.getAttribute(\"id\")?.trim();for(let n of $_)e.removeAttribute(n);t&&(e.removeAttribute(\"id\"),e.setAttribute(\"data-hf-authored-id\",t)),e.setAttribute(\"data-hf-inner-root\",\"true\")}var z_=8e3,q_=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,j_=/\\burl\\(\\s*([\"']?)([^)\"']+)\\1\\s*\\)/g,K_=[\"src\",\"href\"];function X_(e){return!e||e.startsWith(\"http://\")||e.startsWith(\"https://\")||e.startsWith(\"//\")||e.startsWith(\"data:\")||e.startsWith(\"#\")||e.startsWith(\"/\")}function Zg(e,t){if(!t)return e;let n=e.trim();if(X_(n)||!n.startsWith(\"../\")&&n!==\"..\")return e;try{return new URL(n,t).href}catch{return e}}function e0(e,t){return!t||!e?e:e.replace(j_,(n,r,i)=>{let o=Zg(i||\"\",t);return o===i?n:`url(${r||\"\"}${o}${r||\"\"})`})}function Y_(e,t){for(let n of Array.from(e.querySelectorAll(\"[src], [href]\")))for(let r of K_){let i=n.getAttribute(r);if(i==null)continue;let o=Zg(i,t);o!==i&&n.setAttribute(r,o)}}function J_(e,t){for(let n of Array.from(e.querySelectorAll(\"[style]\"))){let r=n.getAttribute(\"style\");if(r==null)continue;let i=e0(r,t);i!==r&&n.setAttribute(\"style\",i)}}function Q_(e,t){for(let n of Array.from(e.querySelectorAll(\"style\"))){let r=n.textContent||\"\",i=e0(r,t);i!==r&&(n.textContent=i)}}function t0(e,t){if(t){Y_(e,t),J_(e,t),Q_(e,t);for(let n of Array.from(e.querySelectorAll(\"template\")))t0(n.content,t)}}function Kg(e,t){return`${e}__hf${t}`}var Z_=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\"),z_)});function Cu(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=\"\"}function wu(e){for(let t of Array.from(e.querySelectorAll(Yp)))t.remove()}function e1(e){let t=document.importNode(e,!0);jg(t);let n=En(t.getAttribute(\"data-width\")),r=En(t.getAttribute(\"data-height\"));return t.style.width=n===null?\"100%\":`${n}px`,t.style.height=r===null?\"100%\":`${r}px`,t}function Xg(e,t){let n=e.trim();if(!n)return e;try{return q_.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 Yg(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 _i(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 t1(e){let t=new Map;for(let n of e){let r=_i(n).authoredCompositionId||\"\";r&&t.set(r,(t.get(r)||0)+1)}return t}function n0(e){let t=_i(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function n1(e){return!!e.querySelector('[data-hf-inner-root=\"true\"]')}function Jg(e){return e.hasAttribute(\"data-composition-src\")?!0:n0(e)?e.children.length===0||e.hasAttribute(\"data-hf-original-composition-id\")?!0:n1(e):!1}function ya(){return Array.from(document.querySelectorAll(\"[data-composition-src], [data-composition-id]\")).filter(t=>t.hasAttribute(\"data-composition-src\")?!0:n0(t))}function Ru(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(ya().map(n=>_i(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function r0(e,t){let n=t1(e),r=new Set(e.flatMap(a=>{let s=_i(a),l=s.authoredCompositionId?[s.authoredCompositionId]:[];return(t.has(a)||!Jg(a))&&s.runtimeCompositionId&&l.push(s.runtimeCompositionId),l})),i=new Map,o=new Map;for(let a of e){let{authoredCompositionId:s,runtimeCompositionId:l}=_i(a),u=!t.has(a)&&Jg(a);if(!s){o.set(a,{authoredCompositionId:null,runtimeCompositionId:l});continue}let f=(n.get(s)||0)>1,d=l||s;if(u){let m=f?(i.get(s)||0)+1:0;if(f){for(;r.has(Kg(s,m));)m+=1;i.set(s,m)}d=f?Kg(s,m):s,r.add(d),f?a.setAttribute(\"data-hf-original-composition-id\",s):a.removeAttribute(\"data-hf-original-composition-id\"),a.setAttribute(\"data-composition-id\",d)}o.set(a,{authoredCompositionId:s,runtimeCompositionId:d})}return Ru(),o}async function i0(e){let t=Jp({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=xe(t.innerRoot)?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,s=t.authoredRootId,l=a?`[data-composition-id=\"${CSS.escape(a)}\"]`:void 0;for(let b of t.linkSources){let x=(b.getAttribute(\"href\")||\"\").trim();if(!x)continue;let v=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&Yg(v,e.compositionUrl))continue;let A=b.cloneNode(!0);Ef(A)&&(A.href=v,!Bg(document.head,A)&&(document.head.appendChild(A),e.injectedLinks.push(A)))}let u=[];(b=>{for(let x of b){let v=x.cloneNode(!0);if(!vf(v))continue;i&&(v.textContent=Mg(v.textContent||\"\",i,l,s,{scopeRootSelectors:!0})),document.head.appendChild(v),e.injectedStyles.push(v);let A=v.textContent||\"\";u.push({element:v,authored:A,applied:A})}})(t.styleSources);let d=b=>{let x=b.getAttribute(\"type\")?.trim()??\"\",v=b.getAttribute(\"src\")?.trim()??\"\";if(v){let E=Xg(v,e.compositionUrl);return e.compositionUrl&&Yg(E,e.compositionUrl)?null:{kind:\"external\",src:E,type:x}}let A=b.textContent?.trim()??\"\";return A?{kind:\"inline\",content:A,type:x,scopeCompositionId:o}:null},m=t.scriptSources.map(d).filter(b=>b!==null);if(n){let b=n.getAttribute(\"data-width\"),x=n.getAttribute(\"data-height\"),v=e.parseDimensionPx(b),A=e.parseDimensionPx(x);b&&e.host.setAttribute(\"data-width\",b),x&&e.host.setAttribute(\"data-height\",x),v&&xe(e.host)&&(e.host.style.width=v),A&&xe(e.host)&&(e.host.style.height=A),n.hasAttribute(\"data-timeline-locked\")&&e.host.setAttribute(\"data-timeline-locked\",\"\");let E=e1(n);!e.authoredCompositionId&&i&&E.setAttribute(\"data-composition-id\",i),wu(E),e.host.appendChild(E)}else if(e.hasTemplate){let b=document.importNode(r,!0);wu(b),e.host.appendChild(b)}else e.host.innerHTML=e.fallbackBodyInnerHtml,wu(e.host);a&&i1(e,r,a);let g=Array.from(e.host.childNodes),h=()=>e.host.isConnected&&(g.length>0||e.host.childNodes.length===0)&&g.every(b=>b.parentNode===e.host);return{host:e.host,namespace:a||i||\"\",styles:u,isCurrent:h,runScripts:async()=>{if(m.length>0&&await Au(),!!h())for(let b of m){let x=document.createElement(\"script\");if(b.type&&(x.type=b.type),x.async=!1,b.kind===\"external\")x.src=b.src;else if(b.type.toLowerCase()===\"importmap\"){let v=Ig(b.content,A=>Xg(A,e.compositionUrl));x.textContent=v?JSON.stringify(v):b.content}else if(b.type.toLowerCase()===\"module\"){let v=b.scopeCompositionId?Lg(a||b.scopeCompositionId,e.compositionUrl?.href):\"\";x.textContent=v+b.content}else b.scopeCompositionId?x.textContent=xu(b.content,b.scopeCompositionId,\"[HyperFrames] composition script error:\",l,a||b.scopeCompositionId,s,e.compositionUrl?.href):x.textContent=`(function(){${b.content}})();`;if(document.body.appendChild(x),e.injectedScripts.push(x),b.kind===\"external\"){let v=await Z_(x);v.status!==\"load\"&&e.onDiagnostic?.({code:\"external_composition_script_load_issue\",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:b.src,loadStatus:v.status,elapsedMs:v.elapsedMs}})}}}}}async function Qg(e,t){let n=ya();if(Ru(),n.length===0)return[];let r=r0(n,t),i=n.filter(a=>{if(t.has(a)||a.hasAttribute(\"data-composition-src\")||a.children.length>0)return!1;let s=r.get(a)?.authoredCompositionId;return s?!!document.querySelector(`template#${CSS.escape(s)}-template`):!1}),o=[];for(let a of i){let s=r.get(a),l=s?.authoredCompositionId;if(!l)continue;let u=document.querySelector(`template#${CSS.escape(l)}-template`);Cu(a);let f=await i0({host:a,authoredCompositionId:l,runtimeCompositionId:s?.runtimeCompositionId||l,hostCompositionSrc:`template#${l}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:\"\",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});o.push(f)}return o}async function r1(e){let t=ya();if(Ru(),t.length===0)return[];let n=r0(t,new Set),r=t.filter(o=>o.hasAttribute(\"data-composition-src\"));return(await Promise.all(r.map(async o=>{let a=o.getAttribute(\"data-composition-src\");if(!a)return null;let s=n.get(o),l=s?.authoredCompositionId||null,u=s?.runtimeCompositionId||l||null,f=null;try{f=new URL(a,document.baseURI)}catch{f=null}Cu(o);let d=g=>{e.onDiagnostic?.({code:\"external_composition_load_failed\",details:{hostCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,errorMessage:g instanceof Error?g.message:\"unknown_error\"}}),Cu(o)},m=async g=>{let h=await i0(g),b=h.runScripts;return h.runScripts=async()=>{try{await b()}catch(x){d(x)}},h};try{let g=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(g)return await m({host:o,authoredCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,sourceNode:g.content,hasTemplate:!0,fallbackBodyInnerHtml:\"\",compositionUrl:f,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});let h=await fetch(a);if(!h.ok)throw new Error(`HTTP ${h.status}`);let b=await h.text(),v=new DOMParser().parseFromString(b,\"text/html\");t0(v,f);let A=(l?v.querySelector(`template#${CSS.escape(l)}-template`):null)??v.querySelector(\"template\"),E=A?A.content:v.body;return await m({host:o,authoredCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,sourceNode:E,hasTemplate:!!A,fallbackBodyInnerHtml:v.body.innerHTML,compositionUrl:f,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:v.head,declaredVariableDefaults:Vr(v.documentElement),variableDeclarer:v.documentElement,onDiagnostic:e.onDiagnostic})}catch(g){return d(g),null}}))).filter(o=>o!==null)}async function o0(e){let t=new Set,n={host:document.documentElement,namespace:\"\",referenceTarget:\"document\",styles:[...document.querySelectorAll(\"style\")].map(d=>({element:d,authored:d.textContent??\"\",applied:d.textContent??\"\"}))},r=await r1(e),i=await Qg(e,new Set(r.map(({host:d})=>d))),o=[...r,...i];_u([...o,n],t),await Promise.all(r.map(d=>d.runScripts()));let a=i.filter(d=>{if(d.isCurrent())return!0;for(let m of d.styles)m.element.remove();return window.__hfVariablesByComp&&delete window.__hfVariablesByComp[d.namespace],!1}),s=[...r.filter(d=>d.host.isConnected),...a],l=await Qg(e,new Set(s.map(({host:d})=>d)));l.length&&_u([...s,...l,n],t);let u=new Map([...a,...l].map(d=>[d.host,d]));for(let d of ya()){let m=u.get(d);m&&await m.runScripts()}let f=[...s,...l].filter(d=>d.host.isConnected);_u([...f,n],t)}function _u(e,t){for(let{styles:r}of e)for(let i of r){let o=i.element.textContent??\"\";o!==i.applied&&(i.authored=o,i.applied=o)}zg(document,e.map(({host:r,namespace:i,styles:o,referenceTarget:a})=>({root:r,namespace:i,referenceTarget:a,exclude:e.filter(s=>s.host!==r&&r.contains(s.host)).map(s=>s.host),cssTexts:o.map(s=>s.authored)})),t).forEach((r,i)=>{let o=bn(e[i].host,lt);if(!(r.size===0&&o.length===0))for(let a of e[i].styles){let s=qg(a.authored,r,o);s!==a.applied&&(a.element.textContent=s),a.applied=s}}),In()}function i1(e,t,n){let i={...e.declaredVariableDefaults??(ke(t)?Vr(t):{}),...Vf(e.host)};Gs(e.variableDeclarer??(ke(t)?t:null),i,n),Uf(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,Bs(e.host,{...Bf(e.host,i,window),...Ro()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function o1(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function a1(e){if(!Array.isArray(e))throw new Error(\"expected a JSON array\");if(!e.every(o1))throw new Error(\"every array entry must be an object\");return e}function s1(e){let n=e.vars.data?.captionState;return n===\"dim\"||n===\"active\"?n:void 0}function l1(e){return xe(e)?e.dataset.captionWrapper!==\"true\"?e:e.querySelector(\":scope > span\")??null:null}function u1(){let e=[],t=document.querySelectorAll(\".caption-group\");for(let n of t)for(let r of n.children){if(!xe(r))continue;let i=r.dataset.captionWrapper===\"true\"?r.querySelector(\":scope > span\"):r.tagName===\"SPAN\"?r:null;i&&e.push(i)}return e}function c1(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}var ku=()=>window.gsap,s0=()=>fetch(\"caption-overrides.json\").then(e=>e.ok?e.json():null),l0=e=>e===null?[]:a1(e);function u0(e){let t=e instanceof Error?e.message:String(e);console.error(`[HyperFrames] Invalid caption-overrides.json: ${t}`)}function c0(){return ku()?s0().then(l0).catch(e=>(u0(e),[])):Promise.resolve([])}function Mu(e,t){return!ku()||document.querySelectorAll(\".caption-group\").length===0?Promise.resolve():s0().then(n=>Nu(l0(n),e,t)).catch(u0)}function d1(e,t){return(e.wordId?l1(document.getElementById(e.wordId)):null)??(e.wordIndex!==void 0?t[e.wordIndex]??null:null)}function a0(e,t){return Object.fromEntries(t.filter(n=>e[n]!==void 0).map(n=>[n,e[n]]))}function Tu(e,t){let n=e.style.color;e.style.color=t;let r=getComputedStyle(e).color;return e.style.color=n,r}function f1(e,t){let n=t[0]?.vars.startAt;return Tu(e,n?.color===void 0?\"\":String(n.color))}function m1(e,t,n,r){let i=s1(e);if(i)return i;let o=String(e.vars.color);return/var\\(|currentcolor/i.test(o)?Tu(t,o)===n?\"dim\":\"active\":(r.has(o)||r.set(o,Tu(t,o)),r.get(o)===n?\"dim\":\"active\")}function p1(e,t,n){if(e.dimColor)return e.dimColor;if(!(t.length===0||t.some(r=>r.vars.runBackwards)))return n}function h1(e,t,n,r){let i=e.getTweensOf(t).filter(s=>s.vars.color!==void 0).sort((s,l)=>s.startTime()-l.startTime()),o=f1(t,i);for(let s of i){let u=m1(s,t,o,r)===\"dim\"?n.dimColor:n.activeColor;u&&(s.vars.color=u),s.vars.runBackwards||s.invalidate?.()}let a=p1(n,i,o);a&&e.set(t,{color:a})}function g1(e,t,n,r){let i=a0(n,[\"x\",\"y\",\"scale\",\"rotation\"]),o=a0(n,[\"opacity\",\"fontWeight\",\"fontFamily\"]);if(n.fontSize!==void 0&&(o.fontSize=`${n.fontSize}px`),(n.activeColor||n.dimColor)&&h1(e,t,n,r),Object.keys(o).length>0&&e.set(t,o),Object.keys(i).length>0){let a=c1(t);e.set(a,i)}}function Nu(e,t,n=()=>{}){let r=ku();if(!r||e.length===0)return;n();let i=u1(),o=new Map;for(let a of e){let s=d1(a,i);!s||t&&!t.some(l=>l.contains(s))||g1(r,s,a,o)}}var Fu=\"data-hf-edit-base-x\",Iu=\"data-hf-edit-base-y\",tn=\"data-hf-edit-original-translate\",Sa=e=>{let t=parseFloat(e??\"\");return Number.isFinite(t)?t:0},b1=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},d0=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Lu=(e,t)=>d0.test(e)&&d0.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,x1=(e,t,n)=>{if(!e||e===\"none\")return`${t} ${n}`;let[r,i,o]=b1(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Lu(r,t)} ${n}`;let a=o===void 0?\"\":` ${o}`;return`${Lu(r,t)} ${Lu(i,n)}${a}`},y1=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,\"x\")}catch{}},S1=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\"\"}},va=new WeakMap;function g0(e){va.delete(e)}function v1(e,t){let n=va.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue(\"translate\")!==n){Qe(\"position_edit_fold_skipped\",{hfId:e.getAttribute(\"data-hf-id\")});return}let r=Sa(e.getAttribute(\"data-x\"))-Sa(e.getAttribute(Fu)),i=Sa(e.getAttribute(\"data-y\"))-Sa(e.getAttribute(Iu));e.hasAttribute(tn)||e.setAttribute(tn,S1(e)),n===void 0&&y1(e);let o=e.getAttribute(tn)??\"\",a=x1(o,`${r}px`,`${i}px`);e.style.setProperty(\"translate\",a),va.set(e,e.style.getPropertyValue(\"translate\"))}function Ci(e,t){let n=e.querySelectorAll(`[${tn}]:not([${Fu}]):not([${Iu}])`);for(let o=0;o<n.length;o++){let a=n[o];if(a===void 0||!Fs(a))continue;let s=a.getAttribute(tn)??\"\";s===\"\"?a.style.removeProperty(\"translate\"):a.style.setProperty(\"translate\",s),a.removeAttribute(tn),va.delete(a)}let r=e.querySelectorAll(`[${Fu}], [${Iu}]`),i=0;for(let o=0;o<r.length;o++){let a=r[o];a===void 0||!Fs(a)||(v1(a,t),i+=1)}return i}var f0=\"__hfPositionEditsSeekReapplyWrapped\",m0=new WeakSet,p0=new WeakMap,h0=new WeakMap;function b0(e){let t=e,n=()=>{try{Ci(t.document)}catch{}},r=d=>typeof d==\"function\"&&(m0.has(d)||!!d[f0]),i=d=>{m0.add(d);try{Object.defineProperty(d,f0,{value:!0})}catch{}},o=d=>{if(typeof d!=\"function\"||r(d))return d;let m=function(...g){let h=d.apply(this,g);return n(),h};return i(m),m},a=(d,m)=>{let g=p0.get(d);if(g?.has(m))return!0;let h=Object.getOwnPropertyDescriptor(d,m);if(h?.configurable===!1){let v=d[m];return typeof v==\"function\"&&(d[m]=o(v),n()),!1}let b=d[m],x=h?.set;return Object.defineProperty(d,m,{configurable:!0,enumerable:h?.enumerable??!0,get:()=>b,set:v=>{b=o(v),x?.call(d,v)}}),b=o(b),g??(g=new Set),g.add(m),p0.set(d,g),n(),!0},s=(d,m)=>{let g=h0.get(t),h=Object.getOwnPropertyDescriptor(t,d);if(!g?.has(d)){if(h?.configurable===!1){let v=t[d];return v?a(v,m):!1}let x=t[d];Object.defineProperty(t,d,{configurable:!0,enumerable:h?.enumerable??!0,get:()=>x,set:v=>{x=v,x&&a(x,m)}}),g??(g=new Set),g.add(d),h0.set(t,g)}let b=t[d];return b?a(b,m):!1},l=()=>{let d=s(\"__hf\",\"seek\"),m=s(\"__player\",\"renderSeek\");return d&&m};if(l())return;let u=120,f=t.setInterval(()=>{if(l()){t.clearInterval(f);return}u-=1,u<=0&&t.clearInterval(f)},50)}function Ea(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 Aa(e){return typeof e==\"string\"||typeof e==\"number\"||typeof e==\"boolean\"}function Du(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}var x0=new Set([\"img\",\"video\",\"audio\",\"source\"]);function E1(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 A1(e){return e.replace(/[;{}<>\\r\\n]/g,\"\")}function w1(e){if(Aa(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 Pu(e,t){let n=e.closest(\"[data-composition-id]\"),r=t.get(n);if(r)return r;let i=Ea(e);return t.set(n,i),i}function _1(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 C1(e){return e.querySelector(\"[data-hf-root]\")??e.getElementById(\"stage\")??e.body?.firstElementChild??e.body}function R1(e,t){for(let n of new Set(e)){let r=Pu(n,t);for(let[i,o]of Object.entries(r)){let a=w1(o);a!==null&&xe(n)&&n.style.setProperty(`--${i}`,A1(a))}}}function y0(e,t,n=!0){let r=e.getAttribute(\"data-var-src\")?.trim();if(!r)return null;if(!x0.has(e.tagName.toLowerCase()))return n&&console.warn(`[hyperframes] Ignoring data-var-src on <${e.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(x0).join(\"/\")}.`),null;let i=E1(Pu(e,t)[r]);return i===null?null:Du(i)?i:(n&&console.warn(`[hyperframes] Ignoring data-var-src=\"${r}\": unsafe URL protocol.`),null)}function S0(e){return y0(e,new Map,!1)??Kr(e)}function wa(e,t){let n=new Map,r=o=>t?[...t.matches(o)?[t]:[],...t.querySelectorAll(o)]:Array.from(e.querySelectorAll(o)),i=t?null:C1(e);R1([...i?[i]:[],...r(\"[data-composition-id]\")],n);for(let o of r(\"[data-var-src]\")){let a=y0(o,n);a!==null&&Kr(o)!==a&&o.setAttribute(\"src\",a)}for(let o of r(\"[data-var-text]\")){let a=o.getAttribute(\"data-var-text\")?.trim();if(!a)continue;let s=Pu(o,n)[a];Aa(s)&&_1(o,String(s))}}var Pt=new Map,T1=\"data-hf-color-grading-canvas\",k1=\"__hf_color_grading_canvas__\";function N0(){if(typeof MutationObserver>\"u\"||typeof document>\"u\")return;let e=document.documentElement;if(!e)return;let t=r=>{xe(r)&&(r.hasAttribute(vn)||r.setAttribute(vn,r.style.opacity))},n=r=>{if(ke(r)){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 M1=16,N1=4,fr={enabled:!1,position:.5,softness:0,lineWidth:2},Ou=[\"#000000\",\"#ffffff\"],L1=[\"#1a1a1a\",\"#f5f5dc\"],Li=3,F1=Li-1,I1=5,Hu=`${vt}.0`,v0=`${vt-1}.0`,D1=`${Li}.0`,P1=`${(F1+.5)/Li}`;function _a(e){let t=e.getAttribute(ei);return t==null?null:Rp(t,Ea(e))}var O1=[\"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`),H1=[\"#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) * ${v0};`,\" float lower = floor(position);\",` float upper = min(lower + 1.0, ${v0});`,` float y = (row + 0.5) / ${D1};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${Hu}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${Hu}, y));`,\" return mix(before, after, position - lower);\",\"}\",\"vec4 advancedConfig(float index){\",` return texture2D(u_advanced, vec2((index + 0.5) / ${Hu}, ${P1}));`,\"}\",\"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`),G1=[\"#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`),B1=[\"#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`),U1=[\"#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 nn(e){return ye(e)||Ie(e)}function E0(e){let t=window.getComputedStyle(e);return t.display!==\"none\"&&t.visibility!==\"hidden\"}function A0(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(H(\"runtime.colorGrading.compileShader\",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Ma(e,t=H1){let n=A0(e,O1,e.VERTEX_SHADER),r=A0(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:(H(\"runtime.colorGrading.linkProgram\",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Ca(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 W1(e,t){let n=Ma(e,G1);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 V1(e,t){let n=Ma(e,B1);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 $1(e,t){let n=Ma(e,U1);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 ki(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Ca(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 Ta(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 Gu(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 w0(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Vu(e){let t=e.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Ma(t),r=Ca(t),i=Ca(t,t.NEAREST),o=Ca(t,t.NEAREST);if(!n||!r||!i||!o)return w0(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:Gu(t,n,zo),detailUniforms:Gu(t,n,Al),effectUniforms:Gu(t,n,wl),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\")}}):(w0(t,n,[r,i,o]),null)}function z1(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function q1(e){if(!z1(e))return{...fr};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,fr.position,0,1),softness:t(e.softness,fr.softness,0,.25),lineWidth:t(e.lineWidth,fr.lineWidth,0,12)}}function L0(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 Na(e){return e instanceof Error?e.message:\"LUT failed to load\"}function j1(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 F0(e){let t=e.id||e.currentSrc||e.getAttribute(\"src\")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return j1(t)}function $u(e){let t=L0(e);if(\"error\"in t)return{state:\"error\",message:t.error};let n=Pt.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=>ip(o,{maxSize:Wo})),i={state:\"pending\",promise:r};for(;Pt.size>=M1;){let o=Pt.keys().next().value;if(!o)break;Pt.delete(o)}return Pt.set(t.href,i),r.then(o=>{Pt.get(t.href)===i&&Pt.set(t.href,{state:\"ready\",lut:o})},o=>{Pt.get(t.href)===i&&Pt.set(t.href,{state:\"error\",message:Na(o)})}),i}function _0(e,t,n){if(e.lut?.src===t)return e.lut;let r=pl(n),{gl:i,program:o}=e;try{return I0(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=Na(a),e.lutLoadingSrc=null,H(\"runtime.colorGrading.uploadLut\",a),null}}async function K1(e){let t=$u(e);if(t.state===\"ready\")return t.lut;if(t.state===\"pending\")return t.promise;throw new Error(t.message)}function I0(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 X1(e,t,n){let r=pl(n),{gl:i,program:o}=e;return I0(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Ct(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function zu(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Ct(e.gl,t.scratch),Ct(e.gl,t.blur),t.bloom&&Ct(e.gl,t.bloom),e.effectTargets=null)}function qu(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Ct(e.gl,t.moments),Ct(e.gl,t.output),e.kuwaharaTargets=null)}function Ra(e,t=!1){zu(e),qu(e),Y1(e.gl,e.program),t&&e.gl.getExtension(\"WEBGL_lose_context\")?.loseContext()}function Y1(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function J1(e){let t=Vu(e.canvas);return t?(Ra(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function Wu(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 Q1(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=W1(t,e.program.quad),r=ki(t),i=ki(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Ct(t,r),i&&Ct(t,i),e.effectError=\"Framebuffer effects unavailable\",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function Z1(e,t){return t.bloom||(t.bloom=ki(e.gl),e.effectError=t.bloom?null:\"Framebuffer effects unavailable\"),t.bloom}function C0(e){let t=e.effectTargets;t?.bloom&&(Ct(e.gl,t.bloom),t.bloom=null)}function eC(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=V1(t,e.program.quad),o=$1(t,e.program.quad),a=ki(t,n.HALF_FLOAT_OES,t.NEAREST),s=ki(t);return!i||!o||!a||!s?(tC(t,i,o,a,s),e.effectError=\"Kuwahara framebuffer effects unavailable\",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:s},e.kuwaharaTargets)}function tC(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Ct(e,r),i&&Ct(e,i)}function D0(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Ta(e,t,o,a),Ta(e,n,o,a),{width:o,height:a}}function ka(e,t,n,r,i,o,a,s=!1,l=-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,s?1:0),e.uniform1f(t.threshold,l),Mi(e,t)}function nC(e,t,n,r,i,o,a){let s=D0(e,t.scratch,r,i/2,o/2),l=a/2;ka(e,t.blurProgram,n,t.scratch,s,{x:1,y:0},l,!0,.5),ka(e,t.blurProgram,t.scratch.texture,r,s,{x:0,y:1},l,!0)}function rC(e,t,n,r,i,o,a){let s=n;for(let l=0;l<Math.max(1,Math.floor(a));l++)ka(e,t.blurProgram,s,t.scratch,i,{x:1,y:0},o),ka(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),s=r.texture}function Mi(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 iC(e,t,n,r,i,o,a,s){Ta(e,t.moments,i.width,i.height),Ta(e,t.output,i.width,i.height);let l=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(l.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(l.source,0),e.uniform1i(l.blurSource,1),e.uniform2f(l.texel,1/i.width,1/i.height),e.uniform2f(l.uvScale,o.scaleX,o.scaleY),e.uniform2f(l.uvOffset,o.offsetX,o.offsetY),e.uniform1f(l.blurReady,a?1:0),e.uniform1f(l.blur,s.blur),e.uniform1f(l.radius,s.kuwaharaRadius),Mi(e,l);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,s.kuwaharaRadius),e.uniform1f(u.sharpness,s.kuwaharaSharpness),e.uniform1f(u.saturation,s.kuwaharaSaturation),Mi(e,u)}function oC(e,t,n,r){if(n<=0)return!1;let i=D0(e.gl,t.scratch,t.blur,r.width,r.height);return rC(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function aC(e,t,n,r,i,o){if(n<=0)return C0(e),null;o||C0(e);let a=o?Z1(e,t):t.blur;return a?(nC(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function sC(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&&zu(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=Q1(e);if(!s)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=oC(e,s,o,n),u=aC(e,s,a,t.effects.bloomRadius,n,l);return{blurReady:l,bloomReady:u!==null,blurTexture:s.blur.texture,bloomTexture:u??i.texture}}function lC(e,t,n,r,i,o,a){let s=t.effects.kuwahara;if(s<=0&&!o)return e.kuwaharaTargets&&a&&qu(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let l=eC(e);return!l||s<=0?{kuwaharaReady:!1,kuwaharaTexture:l?.output.texture??e.program.texture}:(iC(e.gl,l,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:l.output.texture})}function P0(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=sC(e,t,n,o),s=lC(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...s}}function uC(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=L0(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=$u(t);return i.state===\"ready\"?_0(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||(_0(e,r.href,o),tt(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Na(o),e.lutLoadingSrc=null,tt(e))})),null)}function Ri(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&&nn(n))return n;try{let r=document.querySelector(t);return r&&nn(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id=\"${CSS.escape(e.hfId)}\"]`);if(t&&nn(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&nn(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&&nn(r)?r:null}catch{return null}}function O0(e){return ye(e)?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:Ie(e)&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function H0(e){return ye(e)?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:Ie(e)?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function G0(e){let t=Ft(e);return t&&H0(t)?t:null}function R0(e){if(!ye(e))return!1;let t=G0(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!==\"none\"&&n.visibility!==\"hidden\"}function cC(e){return Ie(e)&&e.classList.contains(\"__render_frame__\")}function dC(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function B0(e){if(ye(e)){let t=G0(e);if(t)return t}return H0(e)?e:null}function T0(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 fC(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=T0(o,\"x\"),s=T0(o,\"y\");if(a!==null&&(o===\"left\"||o===\"right\"||o.endsWith(\"%\")&&i===0)){n=a;continue}if(s!==null&&(o===\"top\"||o===\"bottom\"||o.endsWith(\"%\")&&i>0)){r=s;continue}}return{x:n,y:r}}function U0(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\",s=e,l=t;if(a===\"contain\"||a===\"cover\"||a===\"scale-down\"){let m=a===\"cover\"?Math.max(e/n,t/r):Math.min(e/n,t/r);s=n*m,l=r*m,a===\"scale-down\"&&s>n&&l>r&&(s=n,l=r)}else a===\"none\"&&(s=n,l=r);let u=fC(o||\"center\"),f=(e-s)*u.x/e,d=(t-l)*u.y/t;return{scaleX:s/e,scaleY:l/t,offsetX:f,offsetY:d}}function mC(e,t){window.getComputedStyle(t).position===\"static\"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position=\"relative\")}function k0(e,t){return Math.max(0,Math.round(e>0?e:t))}function pC(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&mC(e,i);let o=window.getComputedStyle(t);cm(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(),s=k0(n.offsetWidth,a.width),l=k0(n.offsetHeight,a.height);if(s<=0||l<=0)return r.style.display=\"none\",null;let u=Math.max(1,window.devicePixelRatio||1),f=Math.round(s*u),d=Math.round(l*u);return r.width!==f&&(r.width=f),r.height!==d&&(r.height=d),{width:f,height:d}}function dr(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 Rn(e,t,n,r){e.set(r,(t*vt+n)*4)}function rn(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Bu(e,t,n){return e.length>=3?gl(e,t,n):new Float32Array(vt)}function Cn(e,t){return e[t]??0}function hC(e,t,n){let r=Zn(t.red),i=Zn(t.green),o=Zn(t.blue),a=Zn(t.master),s=Bu(n.hueVsHue,-180,180),l=Bu(n.hueVsSaturation,-1,1),u=Bu(n.hueVsLuma,-1,1);for(let f=0;f<vt;f+=1)Rn(e,0,f,[Cn(r,f),Cn(i,f),Cn(o,f),Cn(a,f)]),Rn(e,1,f,[rn(Cn(s,f),180),rn(Cn(l,f),1),rn(Cn(u,f),1),1])}function gC(e,t,n){let r=n*I1;Rn(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Rn(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Rn(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Rn(e,2,r+3,[rn(t.correction.hueShift,180),rn(t.correction.saturation,1),rn(t.correction.luma,1),rn(t.correction.temperature,1)]),Rn(e,2,r+4,[rn(t.correction.tint,1),.5,.5,1])}function bC(e,t,n){let r=new Float32Array(vt*Li*4);hC(r,e,t);let i=0;for(let o of n)o.enabled&&(gC(r,o,i),i+=1);return r}var M0=new WeakMap;function xC(e,t,n){let r=M0.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return M0.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function yC(e,t,n,r){let{curves:i,hueCurves:o}=n,a=xC(i,o,r);if(t.advancedSignature===a)return;let s=Uint8Array.from(bC(i,o,r),Qr);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,vt,Li,0,e.RGBA,e.UNSIGNED_BYTE,s),t.advancedSignature=a}function Uu(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function W0(e,t,n,r,i,o,a,s,l,u,f,d){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,l.width,l.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:m,hueCurves:g,secondaries:h}=n,b=Rl(m),x=Tl(g),v=kl(h)?h.reduce((k,O)=>k+Number(O.enabled),0):0;(b||x||v>0)&&yC(e,t,n,h),Uu(e,t.shadowWheel,n.wheels.shadows),Uu(e,t.midtoneWheel,n.wheels.midtones),Uu(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,b?1:0),e.uniform1f(t.hueCurvesEnabled,x?1:0),e.uniform1f(t.secondaryCount,v);for(let[k,O]of t.adjustUniforms)e.uniform1f(O,n.adjust[k]);for(let[k,O]of t.detailUniforms)e.uniform1f(O,n.details[k]);e.uniform1f(t.grainSeed,f),e.uniform1f(t.effectTime,d);for(let[k,O]of t.effectUniforms)e.uniform1f(O,n.effects[k]);let A=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?L1:Ou),E=A[A.length-1]??Ou[1];e.uniform1f(t.paletteSize,A.length),dr(e,t.palette0,A[0]??Ou[0]),dr(e,t.palette1,A[1]??E),dr(e,t.palette2,A[2]??E),dr(e,t.palette3,A[3]??E),dr(e,t.palette4,A[4]??E),dr(e,t.palette5,A[5]??E),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,s.enabled?1:0),e.uniform1f(t.comparePosition,s.position),e.uniform1f(t.compareSoftness,s.softness),e.uniform1f(t.compareLineWidth,s.lineWidth)}function SC(e){if(!e.sourceHidden){let t=e.element.getAttribute(vn);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 Ot(e){let t=wp.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var V0=Ot(\"intensity\"),$0=Ot(\"lut.intensity\"),z0=Ot(\"adjust.exposure\"),q0=Ot(\"effects.kuwahara\"),j0=[[\"blur\",Ot(\"effects.blur\")],[\"bloom\",Ot(\"effects.bloom\")],[\"kuwahara\",q0],[\"pixelate\",Ot(\"effects.pixelate\")],[\"ascii\",Ot(\"effects.ascii\")],[\"dither\",Ot(\"effects.dither\")]],K0=[V0,$0,z0,...j0.map(([,e])=>e)];function Tn(e,t){let n=getComputedStyle(e).getPropertyValue(t.name).trim();if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Ti(e,t){return t!==null&&(Tp(t)||K0.some(n=>Tn(e,n)!==null))}function vC(e,t){let n=null;for(let[r,i]of j0){let o=Tn(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function EC(e){let{element:t,grading:n}=e,r=Tn(t,V0),i=Tn(t,$0),o=Tn(t,z0),a=vC(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let l={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(l.intensity=r),n.lut&&i!==null&&(l.lut={...n.lut,intensity:i}),l}function X0(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 Y0(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 tt(e){if(e.destroyed||e.contextLost)return!1;let t=B0(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display=\"none\"),!1;let n=O0(t);if(!n)return!1;let r=xe(t)?t:e.element,i=e.element.style.getPropertyValue(\"opacity\"),o=e.element.style.getPropertyPriority(\"opacity\"),a=e.sourceHidden&&i===\"0\"&&o===\"important\",s=e.element.style.getPropertyValue(\"visibility\"),l=cC(t);l&&dC(e,t),a&&!l&&(e.sourceInlineOpacity!==null?e.element.style.setProperty(\"opacity\",e.sourceInlineOpacity,e.sourceInlineOpacityPriority||\"\"):e.element.style.removeProperty(\"opacity\"));let u=window.getComputedStyle(l?t:e.element);e.sourceOpacityForCanvas=u.opacity||\"1\",a&&!l&&e.element.style.setProperty(\"opacity\",\"0\",\"important\"),e.sourceVisibleForCanvas=(l||s!==\"hidden\")&&u.visibility!==\"hidden\";let f=pC(e,r);if(!f)return!1;let d=window.getComputedStyle(r),m=U0(f.width,f.height,n.width,n.height,d.objectFit,d.objectPosition),{gl:g,program:h}=e;try{let b=EC(e),x=uC(e);X0(g,h.texture,t);let v=Tn(e.element,q0)!==null,A=P0(e,b,f,m,{preserveKuwahara:v});g.bindFramebuffer(g.FRAMEBUFFER,null),g.viewport(0,0,f.width,f.height),g.useProgram(h.program),Y0(g,h,A);let E=window.__player?.getTime?.(),k=typeof E==\"number\"&&Number.isFinite(E)?Math.max(0,E):ye(e.element)?Math.max(0,e.element.currentTime):0,O=e.grainSeed+Math.floor(k*60);return W0(g,h,b,x,A.blurReady,A.bloomReady,A.kuwaharaReady,e.compare,f,m,O,k),Mi(g,h),SC(e),e.hasDrawn=!0,e.drawError=null,!0}catch(b){return e.drawError=b instanceof Error?b.message:\"Shader draw failed\",H(\"runtime.colorGrading.drawEntry\",b),!1}}function AC(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))),s=i>0&&o>0?i/o:t.width/t.height;return s>=1?{width:a,height:Math.max(1,Math.round(a/s))}:{width:Math.max(1,Math.round(a*s)),height:a}}function wC(){let e=document.createElement(\"canvas\"),t=Vu(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function _C(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n==\"number\"&&Number.isFinite(n)?Math.max(0,n):ye(e)?Math.max(0,e.currentTime):0}function CC(e,t,n,r){let i=B0(t);if(!i)return null;let o=O0(i);if(!o)return null;let a=AC(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let s=xe(i)?i:t,l=window.getComputedStyle(s),u=U0(a.width,a.height,o.width,o.height,l.objectFit,l.objectPosition);return X0(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:_C(t,r),grainSeed:F0(t)+(ye(t)?Math.floor(t.currentTime*60):0)}}async function RC(e,t,n,r,i=!1){let o=CC(e,t,r,i);if(!o)return null;let{dimensions:a,uv:s,grainSeed:l,effectTime:u}=o,f=[];for(let d of n.slice(0,32)){let m=qo(d.grading);if(!m){f.push({id:d.id,dataUrl:null,error:\"Invalid grading\"});continue}let g=null;try{m.lut&&(e.lut?.src!==m.lut.src&&(e.lut=X1(e,m.lut.src,await K1(m.lut.src))),g=e.lut),f.push({id:d.id,dataUrl:TC(e,m,g,a,s,l,u)})}catch(h){f.push({id:d.id,dataUrl:null,error:Na(h)})}}return{...a,images:f}}function TC(e,t,n,r,i,o,a){let{canvas:s,gl:l,program:u}=e,f=P0(e,t,r,i,{releaseIdleTargets:!1});return l.bindFramebuffer(l.FRAMEBUFFER,null),l.viewport(0,0,r.width,r.height),l.useProgram(u.program),Y0(l,u,f),n||(e.lut=null),W0(l,u,t,n,f.blurReady,f.bloomReady,f.kuwaharaReady,fr,r,i,o,a),Mi(l,u),s.toDataURL(\"image/png\")}function _t(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function kC(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&ye(e.element)&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Ni(e){if(e.destroyed||!ye(e.element)||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,tt(e),!e.destroyed&&!t.paused&&!t.ended&&Ni(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,tt(e),!e.destroyed&&!t.paused&&!t.ended&&Ni(e)})}function MC(e){let t=()=>{tt(e)};if(_t(e,e.element,\"load\",t),_t(e,e.element,\"loadedmetadata\",t),_t(e,e.element,\"loadeddata\",t),_t(e,e.element,\"seeked\",t),_t(e,e.element,\"timeupdate\",t),_t(e,window,\"resize\",t),ye(e.element)&&(_t(e,e.element,\"play\",()=>Ni(e)),_t(e,e.element,\"pause\",t)),_t(e,e.canvas,\"webglcontextlost\",n=>{n.preventDefault(),e.contextLost=!0,e.drawError=\"WebGL context lost\",e.canvas.style.display=\"none\",Wu(e)}),_t(e,e.canvas,\"webglcontextrestored\",()=>{if(e.contextLost=!1,!J1(e)){e.contextLost=!0,e.drawError=\"WebGL context restore failed\",Wu(e);return}e.drawError=null,tt(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(),tt(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:[\"style\"]}),e.cleanup.push(()=>o.disconnect())}}function NC(e){if(e.destroyed)return null;e.destroyed=!0,kC(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),zu(e),qu(e),Wu(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 J0(e,t){return e.removeAttribute(\"style\"),t.id?e.id=`${yp}${t.id}`:e.removeAttribute(\"id\"),e.className=k1,e.setAttribute(T1,\"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 LC(e){return J0(document.createElement(\"canvas\"),e)}function Q0(e){let t=new WeakMap,n=new Set,r=[],i=null,o=null,a=Promise.resolve(),s=!1,l=(R,M,T)=>{let B=t.get(R);if(B)return B.grading=M,B.source=T,tt(B),ye(R)&&!R.paused&&Ni(B),!0;let W=r.pop();if(W)J0(W.canvas,R);else{let N=LC(R),_=Vu(N);if(!_)return N.remove(),!1;W={canvas:N,gl:_.gl,program:_.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let ne={element:R,...W,grading:M,compare:{...fr},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:T,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:\"\",sourceOpacityForCanvas:window.getComputedStyle(R).opacity||\"1\",sourceVisibleForCanvas:window.getComputedStyle(R).visibility!==\"hidden\",hasDrawn:!1,contextLost:!1,grainSeed:F0(R),destroyed:!1};return t.set(R,ne),n.add(R),MC(ne),tt(ne),ye(R)&&!R.paused&&Ni(ne),!0},u=(R,M)=>{if(s)return!1;let T=Ri(R);if(!T)return!1;let B=t.get(T);if(!B){let W=_a(T);if(!Ti(T,W)||!l(T,W,\"attribute\"))return!1;B=t.get(T)}return B?(B.compare=q1(M),tt(B),!0):!1},f=R=>{let M=t.get(R);if(!M)return;let T=NC(M);T&&(M.contextLost||r.length>=N1?Ra(T,!0):r.push(T)),t.delete(R),n.delete(R)},d=()=>{if(s)return 0;let R=new Set;document.querySelectorAll(`video[${ei}], img[${ei}]`).forEach(T=>{if(!nn(T))return;R.add(T);let B=_a(T);Ti(T,B)&&(E0(T)||R0(T))?l(T,B,\"attribute\"):f(T)});for(let T of n){let B=t.get(T);B&&(!T.isConnected||B.source===\"attribute\"&&!R.has(T))&&f(T)}return n.size},m=()=>{if(s)return 0;let R=0;for(let M of n){let T=t.get(M);T&&tt(T)&&(R+=1)}return R},g=async()=>{let R=new Set;for(let M of n){let T=t.get(M)?.grading.lut;if(!T?.src.trim()||(T.intensity??1)<=0)continue;let B=$u(T.src);B.state===\"pending\"&&R.add(B.promise)}return R.size>0&&await Promise.allSettled(R),m(),R.size},h=()=>{if(s)return 0;let R=0;for(let M of n){let T=t.get(M);!T||!K0.some(W=>Tn(M,W)!==null)||ye(M)&&!M.paused&&!M.ended||tt(T)&&(R+=1)}return R},b=(R,M)=>{if(s)return!1;let T=Ri(R);if(!T)return!1;let B=qo(M);return Ti(T,B)?l(T,B,\"live\"):(f(T),!0)},x=(R,M)=>{if(!nn(R))return!1;let T=t.get(R);if(!T){if(!M)return!1;let B=_a(R);return Ti(R,B)&&l(R,B,\"attribute\")}return T.sourceVisibleForCanvas=M,!M&&T.source===\"attribute\"&&f(R),!0},v=R=>nn(R)&&t.has(R),A=R=>{let M=Ri(R);if(!M)return{state:\"missing\",message:\"Media not found\"};let T=t.get(M);if(T)return T.effectError?{state:\"unavailable\",message:T.effectError}:T.drawError?{state:\"unavailable\",message:T.drawError}:T.lutError?{state:\"unavailable\",message:`LUT error: ${T.lutError}`}:T.grading.lut&&T.lutLoadingSrc?{state:\"pending\",message:\"Loading LUT\"}:T.canvas.style.display===\"none\"?{state:\"pending\",message:\"Waiting for media frame\"}:{state:\"active\",message:T.lut?\"Shader + LUT active\":\"Shader active\"};let B=_a(M);return Ti(M,B)?!E0(M)&&!R0(M)?{state:\"pending\",message:\"Waiting for visible media\"}:{state:\"unavailable\",message:\"WebGL unavailable\"}:{state:\"inactive\",message:\"No grading applied\"}},E=async(R,M,T)=>{let B=async()=>{if(s||M.length===0)return null;let ne=Ri(R);return!ne||(o??(o=wC()),!o)?null:RC(o,ne,M,T?.maxDimension,T?.useMediaTime)},W=a.then(B,B);return a=W.then(()=>{},()=>{}),W},k=R=>{let M=Ri(R);if(!ye(M))return null;if(!M.paused)return()=>{};let T=M.currentTime,B=M.loop,W=M.muted;return M.loop=!0,M.muted=!0,(M.ended||Number.isFinite(M.duration)&&T>=M.duration)&&(M.currentTime=0),e?.lease(M),M.play().catch(()=>{}),()=>{e?.release(M),M.pause(),M.loop=B,M.muted=W,M.currentTime=T}},O=()=>{if(!s){s=!0,i?.disconnect(),i=null;for(let R of n)f(R);for(let R of r)Ra(R,!0);r.length=0,o&&(Ra(o,!0),o=null)}};document.body&&(i=new MutationObserver(()=>d()),i.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ei]}));let F={refresh:d,redraw:m,redrawAnimated:h,waitForActiveLuts:g,setGrading:b,setCompare:u,setSourceVisibility:x,isGraded:v,getStatus:A,renderPreviews:E,startPreviewPlayback:k,destroy:O},D=window;return D.__hf=D.__hf||{},D.__hf.colorGrading=F,d(),F}var FC={mulX:374761393,mulY:668265263,mulMix:1274126177,offset:2654435769,shift1:13,shift2:16,divisor:4294967296},{mulX:IC,mulY:DC,mulMix:Z0,offset:PC,shift1:OC,shift2:HC,divisor:GC}=FC,BC=20,eb=`#version 300 es\nprecision highp float;\nprecision highp int;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform float u_fractalType;\nuniform float u_noiseType;\nuniform float u_invert;\nuniform float u_contrast;\nuniform float u_brightness;\nuniform float u_scale;\nuniform float u_complexity;\nuniform float u_subInfluence;\nuniform float u_subScaling;\nuniform float u_evolution;\nuniform float u_randomSeed;\nuniform float u_opacity;\n\nfloat hfHashUnit(int ix, int iy, int seed) {\n uint h = ((uint(ix) * ${IC}u) ^ (uint(iy) * ${DC}u) ^ (uint(seed) * ${Z0}u)) + ${PC}u;\n h = h ^ (h >> ${OC}u);\n h = h * ${Z0}u;\n h = h ^ (h >> ${HC}u);\n return float(h) / ${GC}.0;\n}\n\nfloat hfFade(float f, float noiseType) {\n if (noiseType < 1.5) return 0.0;\n if (noiseType < 2.5) return f;\n if (noiseType < 3.5) return f * f * (3.0 - 2.0 * f);\n return f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n}\n\nfloat hfValueNoise(vec2 p, int seed) {\n vec2 cell = floor(p);\n vec2 f = p - cell;\n int ix = int(cell.x);\n int iy = int(cell.y);\n float sx = hfFade(f.x, u_noiseType);\n float sy = hfFade(f.y, u_noiseType);\n float bottom = mix(hfHashUnit(ix, iy, seed), hfHashUnit(ix + 1, iy, seed), sx);\n float top = mix(hfHashUnit(ix, iy + 1, seed), hfHashUnit(ix + 1, iy + 1, seed), sx);\n return mix(bottom, top, sy);\n}\n\nfloat hfFbm(vec2 p) {\n float lacunarity = 100.0 / max(u_subScaling, 1.0);\n float gain = u_subInfluence / 100.0;\n int seed = int(u_randomSeed);\n float amp = 1.0;\n float freq = 1.0;\n float sum = 0.0;\n float norm = 0.0;\n for (int i = 0; i < ${BC}; i++) {\n if (float(i) >= u_complexity) break;\n sum += amp * hfValueNoise(p * freq, seed + i);\n norm += amp;\n amp *= gain;\n freq *= lacunarity;\n }\n return norm > 0.0 ? sum / norm : 0.0;\n}\n\nvoid main() {\n vec2 px = v_uv * u_size;\n vec2 p = px / max(u_scale, 1.0) + vec2(u_evolution, u_evolution * 0.5);\n float v = hfFbm(p);\n v = (v - 0.5) * (u_contrast / 100.0) + 0.5 + u_brightness / 100.0;\n if (u_invert > 0.5) v = 1.0 - v;\n v = clamp(v, 0.0, 1.0);\n float a = clamp(u_opacity / 100.0, 0.0, 1.0);\n fragColor = vec4(v * a, v * a, v * a, a);\n}\n`;var ju={lumaR:.299,lumaG:.587,lumaB:.114},{lumaR:UC,lumaG:WC,lumaB:VC}=ju,tb=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform sampler2D u_src2;\n// 1 when the map ref named another element, 0 when the map is the layer\n// itself. Set by the runtime for every pass, from whether a ref resolved.\nuniform float u_hasSrc2;\nuniform float u_useH;\nuniform float u_maxH;\nuniform float u_useV;\nuniform float u_maxV;\nuniform float u_behavior;\nuniform float u_edge;\nuniform float u_expand;\n\nvec4 hfSampleSrc(vec2 uv) {\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return vec4(0.0);\n return texture(u_src, uv);\n}\n\n// The selector's value, in [0, 1]. Half and Off both land on 0.5, which is the\n// \"no displacement\" midpoint the caller subtracts.\nfloat hfMapChannel(vec4 premultiplied, float selector) {\n vec3 rgb = premultiplied.a > 0.0 ? premultiplied.rgb / premultiplied.a : vec3(0.0);\n if (selector < 1.5) return rgb.r;\n if (selector < 2.5) return rgb.g;\n if (selector < 3.5) return rgb.b;\n if (selector < 4.5) return premultiplied.a;\n if (selector < 8.5) return dot(rgb, vec3(${UC}, ${WC}, ${VC}));\n if (selector < 9.5) return 1.0;\n return 0.5;\n}\n\nvoid main() {\n vec4 mapTexel = u_hasSrc2 > 0.5 ? texture(u_src2, v_uv) : texture(u_src, v_uv);\n float h = hfMapChannel(mapTexel, u_useH);\n float v = hfMapChannel(mapTexel, u_useV);\n vec2 d = vec2((h - 0.5) * 2.0 * u_maxH, (v - 0.5) * 2.0 * u_maxV);\n fragColor = hfSampleSrc(v_uv + d / u_size);\n}\n`;var{lumaR:$C,lumaG:zC,lumaB:qC}=ju;var nb=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform sampler2D u_src2;\nuniform float u_mode;\n\n// The matte texel is premultiplied, so its rgb is already \"over black\" \\u2014 the\n// composite After Effects reads a luma matte through.\nfloat hfCoverage(vec4 matte, float mode) {\n if (mode < 1.5) return matte.a;\n if (mode < 2.5) return 1.0 - matte.a;\n float luma = dot(matte.rgb, vec3(${$C}, ${zC}, ${qC}));\n if (mode < 3.5) return luma;\n return 1.0 - luma;\n}\n\nvoid main() {\n vec4 src = texture(u_src, v_uv);\n vec4 matte = texture(u_src2, v_uv);\n fragColor = src * clamp(hfCoverage(matte, u_mode), 0.0, 1.0);\n}\n`;var jC={lcgMulA:1103515245,lcgMulB:12996205,lcgAdd:12345,highMask:32640,lowMask:255,byteScale:32704},{lcgMulA:KC,lcgMulB:XC,lcgAdd:rb,highMask:YC,lowMask:JC,byteScale:QC}=jC,ib=`#version 300 es\nprecision highp float;\n// NOT decoration: a fragment shader's default integer precision is mediump,\n// and a mediump uint is only guaranteed 16 bits (ESSL 3.00 \\xA74.5.2). Every step\n// below \\u2014 the Jenkins mix, both LCG rounds \\u2014 is defined by 32-bit wraparound,\n// so without this the hash is a different function on any implementation that\n// honours the minimum. ANGLE and SwiftShader both use 32-bit ints, which is\n// exactly why no test on this machine would catch it.\nprecision highp int;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform float u_amount;\nuniform float u_useColorNoise;\nuniform float u_clipping;\n\n// Bob Jenkins' 1997 integer mix, the six-round shift/xor/subtract sequence the\n// metallib runs verbatim. uint arithmetic wraps in GLSL ES 3.00, which is what\n// makes this bit-identical to the C original.\nuint hfJenkinsMix(uint a, uint b, uint c) {\n a -= b; a -= c; a ^= (c >> 13u);\n b -= c; b -= a; b ^= (a << 8u);\n c -= a; c -= b; c ^= (b >> 13u);\n a -= b; a -= c; a ^= (c >> 12u);\n b -= c; b -= a; b ^= (a << 16u);\n c -= a; c -= b; c ^= (b >> 5u);\n a -= b; a -= c; a ^= (c >> 3u);\n b -= c; b -= a; b ^= (a << 10u);\n c -= a; c -= b; c ^= (b >> 15u);\n return c;\n}\n\n// The hash's 15-bit output byte for one channel.\nfloat hfNoiseByte(uint a, uint y, uint seed) {\n uint h = hfJenkinsMix(a, y, seed);\n uint t2 = h * ${KC}u + ${rb}u;\n uint t4 = t2 * ${XC}u + ${rb}u;\n return float(((t4 >> 16u) & ${JC}u) ^ ((t2 >> 9u) & ${YC}u));\n}\n\nvoid main() {\n vec4 src = texture(u_src, v_uv);\n vec2 px = floor(v_uv * u_size);\n uint x = uint(max(px.x, 0.0));\n // After Effects indexes rows from the top; v_uv is y-up.\n uint y = uint(max(u_size.y - 1.0 - px.y, 0.0));\n float frame = floor(u_t * u_fps + 0.5);\n uint seed = uint(max(frame, 0.0)) & 0xFFFFu;\n\n float amount = u_amount * 0.01;\n vec3 nz;\n if (u_useColorNoise > 0.5) {\n uint a = x * 3u;\n nz = vec3(hfNoiseByte(a, y, seed), hfNoiseByte(a + 1u, y, seed), hfNoiseByte(a + 2u, y, seed));\n } else {\n nz = vec3(hfNoiseByte(x, y, seed));\n }\n nz = amount * (nz / ${QC}.0 - 0.5);\n\n vec4 out4 = vec4(src.rgb + nz, src.a);\n // A valid premultiplied colour needs rgb <= a component-wise; noise on a\n // near-transparent texel can push rgb above it, which our fixed 8-bit RGBA\n // storage cannot carry safely the way AE's float pipeline can (see the doc\n // comment above). This runs before, and independently of, u_clipping.\n out4.rgb = min(out4.rgb, out4.a);\n fragColor = u_clipping > 0.5 ? clamp(out4, 0.0, 1.0) : out4;\n}\n`;var ZC={tau:6.283185307179586,degreesPerTurn:360},{tau:eR,degreesPerTurn:tR}=ZC,ob=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform float u_waveType;\nuniform float u_height;\nuniform float u_width;\nuniform float u_direction;\nuniform float u_speed;\nuniform float u_pinning;\nuniform float u_phase;\n\n// Outside the layer's own box there is nothing to warp in from, so the wave\n// carries transparency rather than a smeared edge pixel.\nvec4 hfSampleSrc(vec2 uv) {\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return vec4(0.0);\n return texture(u_src, uv);\n}\n\nvoid main() {\n vec2 px = v_uv * u_size;\n float dir = radians(u_direction);\n vec2 travel = vec2(sin(dir), -cos(dir));\n vec2 swing = vec2(-travel.y, travel.x);\n float proj = (px.x + 1.0) * travel.x + px.y * travel.y;\n float turns = proj / max(u_width, 1.0) + u_phase / ${tR}.0 + u_speed * u_t;\n float disp = u_height * sin(${eR} * turns);\n fragColor = hfSampleSrc((px + swing * disp) / u_size);\n}\n`;var Ku=\"data-vfx-chain\",ab=1,sb=[{value:1,label:\"Red\"},{value:2,label:\"Green\"},{value:3,label:\"Blue\"},{value:4,label:\"Alpha\"},{value:5,label:\"Luminance\"},{value:6,label:\"Hue\"},{value:7,label:\"Lightness\"},{value:8,label:\"Saturation\"},{value:9,label:\"Full\"},{value:10,label:\"Half\"},{value:11,label:\"Off\"}],nR=[{id:\"fractal-noise\",label:\"Fractal Noise\",ae:\"ADBE Fractal Noise\",capture:\"none\",frag:eb,params:[{kind:\"enum\",key:\"fractalType\",label:\"Fractal Type\",options:[{value:1,label:\"Basic\"}],default:1,hint:\"Only Basic is implemented in v1.\"},{kind:\"enum\",key:\"noiseType\",label:\"Noise Type\",options:[{value:1,label:\"Block\"},{value:2,label:\"Linear\"},{value:3,label:\"Soft Linear\"},{value:4,label:\"Spline\"}],default:3},{kind:\"bool\",key:\"invert\",label:\"Invert\",default:!1},{kind:\"number\",key:\"contrast\",label:\"Contrast\",unit:\"%\",min:0,max:1e3,step:1,default:100},{kind:\"number\",key:\"brightness\",label:\"Brightness\",unit:\"\",min:-1e3,max:1e3,step:1,default:0},{kind:\"number\",key:\"scale\",label:\"Scale\",unit:\"%\",min:6,max:1e4,step:1,default:100},{kind:\"number\",key:\"complexity\",label:\"Complexity\",unit:\"\",min:1,max:20,step:1,default:6},{kind:\"number\",key:\"subInfluence\",label:\"Sub Influence\",unit:\"%\",min:0,max:100,step:1,default:70},{kind:\"number\",key:\"subScaling\",label:\"Sub Scaling\",unit:\"%\",min:0,max:100,step:1,default:56},{kind:\"number\",key:\"evolution\",label:\"Evolution\",unit:\"revolutions\",min:-1e4,max:1e4,step:.01,default:0,animatable:!0},{kind:\"number\",key:\"randomSeed\",label:\"Random Seed\",unit:\"\",min:0,max:99999,step:1,default:0},{kind:\"number\",key:\"opacity\",label:\"Opacity\",unit:\"%\",min:0,max:100,step:1,default:100,animatable:!0}]},{id:\"wave-warp\",label:\"Wave Warp\",ae:\"ADBE Wave Warp\",capture:\"self\",frag:ob,params:[{kind:\"enum\",key:\"waveType\",label:\"Wave Type\",options:[{value:1,label:\"Sine\"}],default:1,hint:\"Only Sine is implemented in v1; the exporter marks the others cosmetic.\"},{kind:\"number\",key:\"height\",label:\"Wave Height\",unit:\"px\",min:-1e3,max:1e3,step:1,default:10,animatable:!0},{kind:\"number\",key:\"width\",label:\"Wave Width\",unit:\"px\",min:1,max:1e4,step:1,default:40,animatable:!0},{kind:\"number\",key:\"direction\",label:\"Direction\",unit:\"deg\",min:-360,max:360,step:1,default:90},{kind:\"number\",key:\"speed\",label:\"Wave Speed\",unit:\"waves/s\",min:-100,max:100,step:.1,default:1},{kind:\"enum\",key:\"pinning\",label:\"Pinning\",options:[{value:1,label:\"None\"}],default:1,hint:\"Only None is implemented in v1; the exporter marks the others cosmetic.\"},{kind:\"number\",key:\"phase\",label:\"Phase\",unit:\"deg\",min:-360,max:360,step:1,default:0,animatable:!0}]},{id:\"displacement-map\",label:\"Displacement Map\",ae:\"ADBE Displacement Map\",capture:\"self\",frag:tb,params:[{kind:\"ref\",key:\"map\",label:\"Displacement Map Layer\",optional:!0},{kind:\"enum\",key:\"useH\",label:\"Use For Horizontal Displacement\",options:sb,default:1,hint:\"Hue, Lightness and Saturation are read as Luminance in v1.\"},{kind:\"number\",key:\"maxH\",label:\"Max Horizontal Displacement\",unit:\"px\",min:-32e3,max:32e3,step:1,default:5,animatable:!0},{kind:\"enum\",key:\"useV\",label:\"Use For Vertical Displacement\",options:sb,default:2,hint:\"Hue, Lightness and Saturation are read as Luminance in v1.\"},{kind:\"number\",key:\"maxV\",label:\"Max Vertical Displacement\",unit:\"px\",min:-32e3,max:32e3,step:1,default:5,animatable:!0},{kind:\"enum\",key:\"behavior\",label:\"Displacement Map Behavior\",options:[{value:1,label:\"Center Map\"}],default:1,hint:\"Only Center Map is implemented in v1.\"},{kind:\"enum\",key:\"edge\",label:\"Edge Behavior\",options:[{value:0,label:\"Off\"}],default:0,hint:\"Only Off (transparent outside the layer) is implemented in v1.\"},{kind:\"bool\",key:\"expand\",label:\"Expand Output\",default:!0}]},{id:\"luma-matte\",label:\"Matte\",capture:\"self\",frag:nb,params:[{kind:\"ref\",key:\"matte\",label:\"Matte Layer\"},{kind:\"enum\",key:\"mode\",label:\"Matte Mode\",options:[{value:1,label:\"Alpha\"},{value:2,label:\"Alpha Inverted\"},{value:3,label:\"Luma\"},{value:4,label:\"Luma Inverted\"}],default:1}]},{id:\"noise\",label:\"Noise\",ae:\"ADBE Noise\",capture:\"self\",frag:ib,params:[{kind:\"number\",key:\"amount\",label:\"Amount of Noise\",unit:\"%\",min:0,max:400,step:.1,default:0,animatable:!0},{kind:\"bool\",key:\"useColorNoise\",label:\"Use Color Noise\",default:!1},{kind:\"bool\",key:\"clipping\",label:\"Clip Result Values\",default:!0}]}],La=new Map(nR.map(e=>[e.id,e]));function cb(e){return La.get(e)}function db(e,t){let n=La.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];r[i.key]=i.kind===\"enum\"?rR(i,o):i.kind===\"bool\"?iR(i,o):i.kind===\"ref\"?oR(o):aR(i,o)}return r}function fb(e){let t=typeof e==\"number\"?e:typeof e==\"string\"&&e.trim()!==\"\"?Number(e):Number.NaN;return Number.isFinite(t)?t:void 0}function rR(e,t){let n=fb(t);return n!==void 0&&e.options.some(r=>r.value===n)?n:e.default}function iR(e,t){return typeof t==\"boolean\"?t:e.default}function oR(e){return typeof e==\"string\"?e:\"\"}function aR(e,t){let n=fb(t);return n!==void 0?Math.min(e.max,Math.max(e.min,n)):e.default}var ft=class extends Error{constructor(t){super(t),this.name=\"VfxChainError\"}};function Xu(e){return e.nodes.filter(t=>t.enabled!==!1)}var lb={none:0,self:1,backdrop:2};function mb(e){let t=\"none\";for(let n of Xu(e)){let r=La.get(n.type);r&&lb[r.capture]>lb[t]&&(t=r.capture)}return t}function pb(e){let t;try{t=JSON.parse(e)}catch(i){throw new ft(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new ft(\"Chain file must be a JSON object.\");let n=t;if(n.version!==ab)throw new ft(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new ft(\"Chain file is missing a `nodes` array.\");let r=n.nodes.map(uR);return{version:ab,nodes:r}}function ub(e){return typeof e==\"object\"&&e!==null}function sR(e,t){if(typeof e.type!=\"string\"||!La.has(e.type))throw new ft(`Node ${t} has unknown effect type: ${String(e.type)}`);return e.type}function lR(e,t){if(typeof e.id!=\"string\"||e.id===\"\")throw new ft(`Node ${t} is missing an id.`);return e.id}function uR(e,t){if(!ub(e))throw new ft(`Node ${t} is not an object.`);let n=e,r=sR(n,t),i=lR(n,t),o=ub(n.params)?n.params:{};return cR({type:r,id:i,enabled:n.enabled===!1?!1:void 0,params:o})}function cR(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}var dR=\"data-vfx-ref-visible\",Sb=\"[HyperFrames] composition script error:\",fR={preserveDrawingBuffer:!0,antialias:!1,premultipliedAlpha:!0,alpha:!0},mR=`#version 300 es\nout vec2 v_uv;\nvoid main() {\n vec2 p = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2));\n v_uv = p;\n gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0);\n}\n`,Ht=[],vb=30,Eb=0,Zu=0,Ab=-1,Yu=null,Ju=null;function nt(e){console.error(Sb,`vfx: ${e}`)}function wb(e){console.error(Sb,`vfx-frame: ${e}`)}function hb(e,t,n){let r=e.createShader(t);return r?(e.shaderSource(r,n),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(nt(`shader failed to compile: ${e.getShaderInfoLog(r)??\"(no log)\"}`),e.deleteShader(r),null)):null}function pR(e,t){let n=hb(e,e.VERTEX_SHADER,mR),r=n?hb(e,e.FRAGMENT_SHADER,t):null;if(!n||!r)return 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:(nt(`program failed to link: ${e.getProgramInfoLog(i)??\"(no log)\"}`),e.deleteProgram(i),null)):null}var gb=\"position:absolute;inset:0;width:100%;height:100%;pointer-events:none;\";function hR(e){let t=e.querySelector(\"canvas.hf-vfx-out\");if(Gr(t))return t.style.cssText=gb+t.style.cssText,t;let n=document.createElement(\"canvas\");return n.className=\"hf-vfx-out\",n.style.cssText=gb,e.appendChild(n),n}function gR(e,t,n){let r={};for(let i of n.params)i.kind!==\"ref\"&&(r[i.key]=e.getUniformLocation(t,`u_${i.key}`));return{size:e.getUniformLocation(t,\"u_size\"),t:e.getUniformLocation(t,\"u_t\"),fps:e.getUniformLocation(t,\"u_fps\"),src:e.getUniformLocation(t,\"u_src\"),src2:e.getUniformLocation(t,\"u_src2\"),hasSrc2:e.getUniformLocation(t,\"u_hasSrc2\"),params:r}}function bR(e,t,n,r){return r.optional?{kind:\"none\"}:(nt(`${Rt(e)}: node \"${t.id}\" (${n.id}) needs a \"${r.key}\" param naming the id of the element to read as its second source.`),{kind:\"error\"})}function xR(e,t,n,r,i,o){let a=n.params.find(d=>d.kind===\"ref\");if(!a)return{kind:\"none\"};let s=r[a.key];if(typeof s!=\"string\"||s===\"\")return bR(e,t,n,a);let l=e.ownerDocument.getElementById(s);if(!xe(l))return nt(`${Rt(e)}: node \"${t.id}\" (${n.id}) names \"${a.key}\" element #${s}, which is not in the composition.`),{kind:\"error\"};if(l===e)return a.optional?{kind:\"none\"}:{kind:\"self\"};let u=o.get(l);if(u)return{kind:\"source\",source:u};let f=_b(l,i,`${Rt(e)}: \"${a.key}\" source`);return f?(f.visible=f.canvas.hasAttribute(dR),o.set(l,f),{kind:\"source\",source:f}):{kind:\"error\"}}function yR(e,t,n){let r=[],i=new Map;for(let o of Xu(t)){let a=cb(o.type);if(!a)return nt(`node \"${o.id}\" has unknown effect type \"${o.type}\"`),null;let s=pR(e,a.frag);if(!s)return nt(`node \"${o.id}\" (${a.id}) has no usable program`),null;let l=db(a.id,o.params),u=xR(n,o,a,l,e,i);if(u.kind===\"error\")return null;r.push({node:o,def:a,program:s,params:l,locations:gR(e,s,a),...u.kind===\"source\"?{ref:u.source}:{},selfRef:u.kind===\"self\"})}return r}function SR(e){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),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),t}function vR(e){let t=e.parentElement;if(!t||e.id===\"\")return null;let n=t.children;for(let r=0;r<n.length;r++){let i=n.item(r);if(Gr(i)&&i.classList.contains(\"hf-vfx-src\")&&i.getAttribute(\"data-vfx-for\")===e.id)return i}return null}function _b(e,t,n){let r=vR(e),i=r??e.querySelector(\"canvas.hf-vfx-src\"),o=Gr(i)?i.querySelector(\":scope > .hf-vfx-in\"):null;if(!Gr(i)||!xe(o)){nt(`${n}: a capturing chain needs <canvas layoutsubtree class=\"hf-vfx-src\"><div class=\"hf-vfx-in\">\\u2026</div></canvas> in source \\u2014 inside the element for its own pixels, or beside it with data-vfx-for=\"${e.id}\" for the layers below it.`);return}let a=i.getContext(\"2d\");if(!a||typeof a.drawElementImage!=\"function\"){nt(`${n}: drawElementImage is unavailable, so the layer cannot be captured. In Studio, enable chrome://flags/#canvas-draw-element.`);return}return{canvas:i,inner:o,ctx:a,texture:SR(t),backdrop:r!==null,visible:!1,emptyBoxReported:!1,laidOutEmpty:on(o)===null}}function ER(e){e.out.addEventListener(\"webglcontextlost\",t=>{t.preventDefault(),!(!Ht.includes(e)||e.contextLost)&&(e.contextLost=!0,nt(`${Rt(e.host)}: WebGL context lost.`))})}function AR(e){try{return pb(e.getAttribute(Ku)??\"\")}catch(t){let n=t instanceof ft?t.message:String(t);return nt(`${Rt(e)}: ${n}`),null}}function wR(e){let t=AR(e);if(!t)return null;let n=hR(e),r=n.getContext(\"webgl2\",fR);if(!r)return nt(`${Rt(e)}: WebGL2 is unavailable, so the chain cannot paint.`),n.remove(),null;let i=yR(r,t,e);if(!i)return n.remove(),null;let o=mb(t),a=o===\"none\"?void 0:_b(e,r,Rt(e));if(o!==\"none\"&&!a)return n.remove(),null;let s=a?.backdrop?\"backdrop\":o,l={host:e,chain:t,capture:s,out:n,gl:r,passes:i,src:a,contextLost:!1};return ER(l),l}function ec(e){let t=getComputedStyle(e);return t.display!==\"none\"&&t.visibility!==\"hidden\"}function Cb(e){if(getComputedStyle(e.inner).visibility===\"hidden\")return!1;for(let t=e.inner;t;t=t.parentElement)if(getComputedStyle(t).display===\"none\")return!1;return!0}function Rt(e){return e.id?`#${e.id}`:`<${e.tagName.toLowerCase()}>`}function mr(e){let t=e.src?[e.src]:[];for(let n of e.passes)n.ref&&!t.includes(n.ref)&&t.push(n.ref);return t}function tc(e){return e.src?.backdrop===!0}function Fi(e){let t=[];for(let n of e.passes)n.ref?.visible&&!t.includes(n.ref)&&t.push(n.ref);return t}function _R(){for(let e of Ht){let{gl:t}=e;for(let n of e.passes)t.deleteProgram(n.program);for(let n of mr(e))t.deleteTexture(n.texture);if(e.ping){for(let n of e.ping.textures)t.deleteTexture(n);for(let n of e.ping.framebuffers)t.deleteFramebuffer(n)}}}function Fa(e,t){_R(),Ht=[],vb=Number.isFinite(t)&&t>0?t:30;let n=e.querySelectorAll(`[${Ku}]`);for(let r of n){if(!xe(r))continue;let i=wR(r);i&&Ht.push(i)}return Ht}function on(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1,n=Math.round(e.offsetWidth*t),r=Math.round(e.offsetHeight*t);return n>0&&r>0?{width:n,height:r}:null}function bb(e,t,n){let r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,n,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),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);let i=e.createFramebuffer();return e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0),[r,i]}function CR(e,t,n){let r=e.ping;if(r&&r.width===t&&r.height===n)return r;let{gl:i}=e;if(r){for(let l of r.textures)i.deleteTexture(l);for(let l of r.framebuffers)i.deleteFramebuffer(l)}let o=bb(i,t,n),a=bb(i,t,n),s={textures:[o[0],a[0]],framebuffers:[o[1],a[1]],width:t,height:n};return e.ping=s,s}function RR(e,t,n){if(e.kind===\"ref\")return null;if(e.kind===\"number\"&&e.animatable){let i=n.getPropertyValue(`--vfx-${t.node.id}-${e.key}`).trim(),o=i===\"\"?Number.NaN:Number.parseFloat(i);if(Number.isFinite(o))return Math.min(e.max,Math.max(e.min,o))}let r=t.params[e.key];return typeof r==\"boolean\"?r?1:0:typeof r==\"number\"?r:0}function TR(e,t,n,r,i,o){let{gl:a}=e,{locations:s}=t;a.uniform2f(s.size,i,o),a.uniform1f(s.t,r),a.uniform1f(s.fps,vb),a.uniform1f(s.hasSrc2,t.ref||t.selfRef?1:0);for(let l of t.def.params){let u=RR(l,t,n);u!==null&&a.uniform1f(s.params[l.key]??null,u)}}function kR(e,t,n){return e===t||!n?null:n.framebuffers[e%2]??null}function MR(e,t,n){return t===0?e.src?.texture??null:n?.textures[(t-1)%2]??null}function NR(e,t,n,r){let{gl:i}=e,o=e.passes[t];i.bindFramebuffer(i.FRAMEBUFFER,kR(t,n,r));let a=MR(e,t,r);a&&xb(i,o.locations.src,a,0),o.ref?(xb(i,o.locations.src2,o.ref.texture,1),i.activeTexture(i.TEXTURE0)):o.selfRef&&a&&i.uniform1i(o.locations.src2,0)}function xb(e,t,n,r){e.activeTexture(r===0?e.TEXTURE0:e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t,r)}function nc(e,t){let n=on(e.host);if(!n)return;let{gl:r,out:i,passes:o}=e;i.width!==n.width&&(i.width=n.width),i.height!==n.height&&(i.height=n.height);let a=o.length>1?CR(e,n.width,n.height):null,s=getComputedStyle(e.host),l=o.length-1;for(let u=0;u<=l;u++){let f=o[u];r.useProgram(f.program),NR(e,u,l,a),r.viewport(0,0,n.width,n.height),TR(e,f,s,t,n.width,n.height),r.drawArrays(r.TRIANGLES,0,3)}}function Rb(e,t){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.canvas),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0)}var LR={upload:!0,keepBitmap:!1},FR={upload:!1,keepBitmap:!0},IR={upload:!0,keepBitmap:!0},DR={upload:!1,keepBitmap:!0};function Tb(e,t){e.canvas.width!==t.width&&(e.canvas.width=t.width),e.canvas.height!==t.height&&(e.canvas.height=t.height)}function yb(e,t,n,r){return Tb(t,n),t.ctx.clearRect(0,0,n.width,n.height),r.upload&&Rb(e.gl,t),!0}function rc(e,t,n,r,i){if(!Cb(t))return yb(e,t,n,i);if(on(t.inner)===null)return t.emptyBoxReported||(t.emptyBoxReported=!0,wb(`${Rt(e.host)}: the .hf-vfx-in wrapper measures 0\\xD70, so its capture would be empty. Inside a layoutsubtree canvas an inset or percentage box has no size \\u2014 the wrapper must state an explicit width and height in px.`)),yb(e,t,n,i);Tb(t,n),t.ctx.clearRect(0,0,n.width,n.height);try{t.ctx.drawElementImage(t.inner,0,0,n.width,n.height)}catch(o){return r||nt(`${Rt(e.host)}: drawElementImage failed: ${o.message} In Studio, enable chrome://flags/#canvas-draw-element.`),!1}return i.upload&&Rb(e.gl,t),i.keepBitmap||t.ctx.clearRect(0,0,n.width,n.height),!0}function kb(e,t){return e.visible?on(e.inner)??t:t}function Mb(e,t=!1){let n=on(e.host),r=mr(e);if(!n||r.length===0)return!1;let i=!0;for(let o of r){let a=o.visible?IR:LR;rc(e,o,kb(o,n),t,a)||(i=!1)}return i}function Nb(e,t=!1){let n=e.src;if(!n)return!1;let r=on(e.host)??on(n.inner);return r?rc(e,n,r,t,FR):!1}function Qu(e,t=!1){let n=!0;for(let r of Fi(e)){let i=kb(r,{width:0,height:0});rc(e,r,i,t,DR)||(n=!1)}return n}function PR(e){let t=!1;return tc(e)&&Nb(e)&&(t=!0),Fi(e).length>0&&Qu(e)&&(t=!0),t}function OR(){let e=!1;for(let t of Ht)if(!t.contextLost&&mr(t).length!==0){if(!ec(t.host)){PR(t)&&(e=!0);continue}Mb(t)&&(nc(t,Eb),e=!0)}return Ab=Zu,window.__hf_page_composite_pending=!1,e}function HR(){let e=window,t=e.__hf_page_composite_resolve;t!==Yu&&(Ju=typeof t==\"function\"?t:null,Yu=()=>{let n=Ju?Ju():!1;return OR()||n},e.__hf_page_composite_resolve=Yu),e.__hf_page_composite_pending=!0}var Lb=2e3;function GR(e){return new Promise(t=>{let n=!1,r=a=>{n||(n=!0,clearTimeout(o),e.removeEventListener(\"paint\",i),t(a))},i=()=>r(\"painted\"),o=setTimeout(()=>r(\"timeout\"),Lb);e.addEventListener(\"paint\",i,{once:!0});try{e.requestPaint?.()}catch{}if(typeof requestAnimationFrame!=\"function\"){r(\"painted\");return}requestAnimationFrame(()=>requestAnimationFrame(()=>r(\"painted\")))})}async function BR(e,t){return(await Promise.all(t.map(r=>GR(r.canvas)))).includes(\"timeout\")?(wb(`${Rt(e.host)}: no paint arrived within ${Lb}ms, so this frame's capture was skipped (a BeginFrame-controlled compositor without a tick for this frame is a known cause).`),!1):!0}function UR(e){return ec(e.host)?\"paint\":tc(e)?\"passThrough\":\"refOnly\"}function WR(e,t){return(t===\"passThrough\"?[...e.src?[e.src]:[],...Fi(e)]:t===\"refOnly\"?Fi(e):mr(e)).filter(Cb)}function VR(e,t){return t!==Zu||Ab===t?!1:Ht.includes(e)&&!e.contextLost}async function $R(e,t,n,r){let i=UR(e);if(await BR(e,WR(e,i))&&VR(e,n)){if(i===\"passThrough\"){Nb(e,r),Qu(e,r);return}if(i===\"refOnly\"){Qu(e,r);return}Mb(e,r)&&nc(e,t)}}async function zR(e,t,n,r){await Promise.all(e.map(i=>$R(i,t,n,r)))}function qR(){for(let e of Ht.flatMap(mr)){let t=on(e.inner)===null;e.laidOutEmpty&&!t&&e.canvas.insertBefore(e.inner,e.inner.nextSibling),e.laidOutEmpty=t}}function ic(e,t){Eb=e;let n=++Zu;qR();let r=[];for(let i of Ht)if(!i.contextLost){if(!ec(i.host)){(tc(i)||Fi(i).length>0)&&r.push(i);continue}mr(i).length>0?r.push(i):nc(i,e)}r.length!==0&&(t?.engineMode&&HR(),Ze(zR(r,e,n,t?.engineMode===!0)))}var jR=500,KR=33,XR=3,Ia=class{constructor(t){de(this,\"_baseTime\",0);de(this,\"_playStartMs\",null);de(this,\"_rate\",1);de(this,\"_duration\",1/0);de(this,\"_playStart\",0);de(this,\"_playEnd\",1/0);de(this,\"_playHold\",1/0);de(this,\"_nowMs\");de(this,\"_audioSource\",null);de(this,\"_lastReadMs\",null);de(this,\"_lastNow\",0);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:r=this._elementTimeNeverBehind(this._audioSource),r!==null){let i=Math.min(r,this.getEnd());return this._baseTime=Math.max(0,i),this._playStartMs=this._nowMs(),this._lastReadMs=null,this._lastNow=this._baseTime,this._baseTime}}this._applyStallCorrection();let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return this._lastNow=Math.max(0,Math.min(n,this.getEnd())),this._lastNow}_elementTimeNeverBehind(t){let{el:n,compositionStart:r,mediaStart:i,rate:o}=t;if(n.paused||!Number.isFinite(n.currentTime))return null;if(n.seeking)return this._lastNow;let a=o??1,s=yn(a,n.currentTime-i)+r;return s>=this._lastNow?s:this._heldTimeWhenBehind(n,this._lastNow-s,a)}_heldTimeWhenBehind(t,n,r){return t.loop&&n>yn(r,t.duration)/2?null:t.readyState<XR||n<=ll?this._lastNow:null}_applyStallCorrection(){if(this._playStartMs===null)return;let t=this._nowMs();if(this._lastReadMs!==null){let n=t-this._lastReadMs;n>jR&&(this._playStartMs+=n-KR)}this._lastReadMs=t}play(){return this._playStartMs!==null||this._baseTime>=this.getEnd()?!1:(this._playStartMs=this._nowMs(),this._lastNow=this._baseTime,this._lastReadMs=null,!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._lastNow=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs(),this._lastReadMs=null)}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._lastReadMs=null),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}setPlayRange(t,n,r){this._playStart=Number.isFinite(t)&&t>0?t:0,this._playEnd=n!==null&&Number.isFinite(n)&&n>this._playStart?n:1/0,this._playHold=qd(this._playStart,this._playEnd,r)}getPlayStart(){return this._playStart}getEnd(){return Math.min(this._duration,this._playEnd)}getStopTime(){return this._playEnd<this._duration?this._playHold:this.getEnd()}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs(),this._lastReadMs=null),this._audioSource=null}audioElement(){return this._audioSource&&\"el\"in this._audioSource?this._audioSource.el: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(){let t=this.now();return t>=this.getEnd()||this._playStartMs===null&&t>=this.getStopTime()}};var YR=100,JR=8,QR=4096,oc=e=>e;function ZR(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t===\"linear\"&&!n}function eT(e){let t=Math.ceil(e*YR);return Math.min(QR,Math.max(JR,t))}function tT(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:s}=r,l=i??oc,u=A=>o+(A-a)/s,f=e.points[t],d=e.points[t+1],m=u(d.t);if(m<=o)return null;let g=Math.max(o,u(f.t)),h=m-g;if(h<=0)return null;if(ZR(f,n,i))return{kind:\"ramp\",time:m,value:l(d.v)};let b=eT(h),x=mf(e,Math.max(f.t,a),d.t,b,n),v=new Float32Array(b);for(let A=0;A<b;A+=1)v[A]=l(x[A]??0);return{kind:\"curve\",time:g,duration:h,values:v}}function nT(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let s=tT(e,a,t,n,r);s&&i.push(s)}let o=i[0];return o?.kind===\"curve\"&&o.time<=n.scheduledAt||i.unshift({kind:\"set\",time:n.scheduledAt,value:(r??oc)(Lt(e,n.elapsed,t))}),i}function rT(e,t){for(let n of t)if(n.kind===\"set\")e.setValueAtTime(n.value,n.time);else if(n.kind===\"ramp\")e.linearRampToValueAtTime(n.value,n.time);else try{e.setValueCurveAtTime(n.values,n.time,n.duration)}catch{let r=n.values[n.values.length-1]??0;e.linearRampToValueAtTime(r,n.time+n.duration)}}function Ii(e){for(let t of e)t.param.cancelScheduledValues(0)}function pr(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime==\"function\"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function ac(e,t,n,r){if(t.points.length!==0)for(let i of e){if(Ii([i]),ff(t)){let o=(i.map??oc)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}rT(i.param,nT(t,n,r,i.map))}}function Fb(e,t,n,r,i){let o=new Map(n.filter(s=>s.id).map(s=>[s.id,s.handle])),a=[];for(let s of e.lanes){let l=Hr(s.target);if(!l)continue;let u=l.kind===\"preset\"?i?.[l.presetId]:l.kind===\"fx\"?o.get(l.nodeId)?.automation?.[l.param]:void 0;if(!u||u.length===0)continue;let f=ks(s.target,t);f&&(ac(u,s,f.scale,r),a.push(...u))}return a}function Ib(e){return e.lanes.find(t=>t.target===Pn)??null}var iT=`\nconst dbToLin = (db) => Math.pow(10, db / 20);\n\n/**\n * One-pole envelope followers, one per channel.\n *\n * Per channel matters: the followers advance once per sample, so a single shared\n * follower stepped once per channel per sample. On stereo that ran a 20 ms attack\n * as 10 ms, and gave the right channel a gain computed from an envelope that had\n * already traversed the left \\u2014 so the two channels ducked by different amounts\n * from the same input and the image pumped.\n */\nclass EnvBank {\n constructor(attackMs, releaseMs) { this.set(attackMs, releaseMs); this.values = []; }\n set(attackMs, releaseMs) {\n this.a = Math.exp(-1 / (sampleRate * Math.max(1e-5, attackMs / 1000)));\n this.r = Math.exp(-1 / (sampleRate * Math.max(1e-5, releaseMs / 1000)));\n }\n push(ch, x) {\n const prev = this.values[ch] ?? 0;\n const m = Math.abs(x);\n const c = m > prev ? this.a : this.r;\n const next = m + c * (prev - m);\n this.values[ch] = next;\n return next;\n }\n}\n\n/** Soft-knee gain computer in dB, matching acompressor's shape. */\nfunction kneeGain(envDb, thresholdDb, ratio, kneeDb) {\n const over = envDb - thresholdDb;\n if (kneeDb > 0 && over > -kneeDb && over < kneeDb) {\n const t = (over + kneeDb) / (2 * kneeDb);\n return -((1 - 1 / ratio) * kneeDb * t * t);\n }\n return over > 0 ? -(over * (1 - 1 / ratio)) : 0;\n}\n\n// log10/exp per sample is the single most expensive thing a dynamics processor\n// can do on the audio thread, and every sample below the knee needs neither:\n// its gain is exactly unity. Comparing envelopes in the linear domain lets the\n// quiet majority of samples skip the transcendentals entirely.\nconst LN10_OVER_20 = Math.LN10 / 20;\nconst dbToLinFast = (db) => Math.exp(db * LN10_OVER_20);\n\nclass HfCompressor extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 20, this.p.release ?? 250);\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 20, this.p.release ?? 250);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const makeup = dbToLin(p.makeup ?? 0);\n const mix = p.mix ?? 1;\n // Knee is expressed as a ratio in FFmpeg; convert to dB width.\n const kneeDb = 20 * Math.log10(Math.max(1.0001, p.knee ?? 2.83));\n const thresholdDb = p.threshold ?? -24;\n const ratio = p.ratio ?? 4;\n // Below this the gain computer returns unity, so the sample needs no\n // logarithm at all.\n const kneeStartLin = dbToLin(thresholdDb - kneeDb);\n const dry = 1 - mix;\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n // Per-channel follower, and the sub-knee shortcut: below the knee the\n // gain is exactly unity, so the sample needs no logarithm at all.\n const env = this.env.push(ch, x);\n if (env <= kneeStartLin) {\n out[n] = x * makeup * mix + x * dry;\n continue;\n }\n const envDb = 20 * Math.log10(env);\n const g = dbToLinFast(kneeGain(envDb, thresholdDb, ratio, kneeDb));\n out[n] = x * g * makeup * mix + x * dry;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-compressor\", HfCompressor);\n\nclass HfLimiter extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 5, this.p.release ?? 50);\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 5, this.p.release ?? 50);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const ceiling = dbToLin(this.p.limit ?? -1);\n const outGain = dbToLin(this.p.level_out ?? 0);\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n const env = this.env.push(ch, x);\n // Only ever attenuate: a limiter that can raise level is a compressor.\n const g = env > ceiling ? ceiling / env : 1;\n out[n] = x * g * outGain;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-limiter\", HfLimiter);\n\nclass HfGate extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 1, this.p.release ?? 100);\n this.gains = [];\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 1, this.p.release ?? 100);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const threshold = dbToLin(p.threshold ?? -35);\n const floor = dbToLin(p.range ?? -24);\n const ratio = p.ratio ?? 10;\n // Knee is declared in the registry as a ratio, like the compressor's; a\n // hard threshold ignored it and chattered on material sitting right at the\n // gate point.\n const kneeDb = 20 * Math.log10(Math.max(1.0001, p.knee ?? 2.83));\n const kneeLin = dbToLin((p.threshold ?? -35) + kneeDb);\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n const env = this.env.push(ch, x);\n let target = 1;\n // Above the threshold the gate is fully open; skip the pow entirely.\n if (env < threshold) {\n const under = env > 1e-9 ? threshold / env : 1e9;\n target = Math.max(floor, 1 / Math.pow(under, ratio - 1));\n if (!isFinite(target)) target = floor;\n }\n // Smooth toward the target so the gate does not click on every sample.\n const held = this.gains[ch] ?? 1;\n const c = target < held ? this.env.r : this.env.a;\n const smoothed = target + c * (held - target);\n this.gains[ch] = smoothed;\n out[n] = x * smoothed;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-gate\", HfGate);\n\nclass HfBitcrush extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.holds = [];\n this.held = [];\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const levels = Math.pow(2, (p.bits ?? 8) - 1);\n const step = Math.max(1, Math.round(p.samples ?? 1));\n const mix = p.mix ?? 1;\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n if (this.held[ch] === undefined) this.held[ch] = 0;\n if (this.holds[ch] === undefined) this.holds[ch] = 0;\n for (let n = 0; n < inp.length; n++) {\n // Per channel: advancing one shared counter only on the last channel\n // left every earlier channel either unheld or frozen for a whole\n // 128-sample quantum, clicking once a block.\n if (this.holds[ch] === 0) this.held[ch] = Math.round(inp[n] * levels) / levels;\n out[n] = this.held[ch] * mix + inp[n] * (1 - mix);\n this.holds[ch] = (this.holds[ch] + 1) % step;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-bitcrush\", HfBitcrush);\n\n/** Linear-interpolated read, \\`delaySamples\\` behind the write head. */\nfunction readTap(ring, write, delaySamples) {\n const len = ring.length;\n const pos = (write - 1 - delaySamples + len) % len;\n const i0 = Math.floor(pos);\n const frac = pos - i0;\n const i1 = (i0 + 1) % len;\n return ring[i0] * (1 - frac) + ring[i1] * frac;\n}\n\n/** Equal-power-ish crossfade, zero at a tap's reset point \\u2014 hides the splice. */\nfunction xfade(phase) {\n return Math.sin(Math.PI * phase);\n}\n\n/**\n * Dual-tap granular delay line: two read taps 180\\xB0 apart in a 100 ms grain,\n * each sweeping at a speed relative to the write head that shifts pitch\n * without changing duration. One tap is always fading in as the other fades\n * out, which hides the splice each tap makes when it wraps.\n *\n * write/phase are block-level state, advanced once per SAMPLE across all\n * channels together (not once per channel) \\u2014 advancing them inside the\n * per-channel loop would move the tap 2x/4x too fast on a stereo/quad input.\n */\nclass HfPitchshift extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.grain = Math.round(sampleRate * 0.1);\n this.buf = [];\n this.write = 0;\n this.phase = 0;\n // Samples written so far, capped at one grain. The taps read up to a grain\n // behind the write head, so until this fills they would read the ring's\n // zeros \\u2014 the head of every clip came out attenuated or silent.\n this.filled = 0;\n // How much of the wet (pitch-shifted) path is currently in the output, and\n // where it is heading. Crossing between dry and wet is a ~50 ms jump in the\n // signal, so it is RAMPED rather than switched: a hard swap either way is a\n // click. Ramping in both directions is also what lets a node return to true\n // bypass at semitones 0 \\u2014 a one-way latch left preview stuck with the delay\n // that the render, building a fresh node from the attribute, does not have.\n this.wet = 0;\n this.wetTarget = 0;\n // ~15 ms one-pole, short enough to feel immediate on a slider drag and long\n // enough that the splice is inaudible.\n this.wetCoef = Math.exp(-1 / (sampleRate * 0.015));\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const semitones = Math.max(-12, Math.min(12, p.semitones ?? 0));\n const mix = Math.max(0, Math.min(1, p.mix ?? 1));\n const grain = this.grain;\n const ringLen = grain * 2;\n const n = i[0] ? i[0].length : 0;\n for (let ch = 0; ch < i.length; ch++) {\n if (!this.buf[ch]) this.buf[ch] = new Float32Array(ringLen);\n }\n\n // Nothing to shift, or mixed fully out. The grain delay is ~grain/2\n // whatever the ratio, so at semitones=0 this degenerated into a pure 50 ms\n // delay of the signal \\u2014 while the copy for that exact setting reads\n // \"Unchanged pitch\".\n this.wetTarget = semitones === 0 ? 0 : mix;\n\n // Fully dry AND settled: take the cheap transparent path. The ring keeps\n // filling, so a later shift does not start cold.\n if (this.wetTarget === 0 && this.wet < 1e-4) {\n this.wet = 0;\n let w = this.write;\n for (let s = 0; s < n; s++) {\n for (let ch = 0; ch < i.length; ch++) {\n const x = i[ch][s];\n this.buf[ch][w] = x;\n o[ch][s] = x;\n }\n w = (w + 1) % ringLen;\n }\n this.write = w;\n this.filled = Math.min(grain, this.filled + n);\n return true;\n }\n\n const ratio = Math.pow(2, semitones / 12);\n const inc = (1 - ratio) / grain;\n let write = this.write, phase = this.phase, filled = this.filled, wetNow = this.wet;\n const target = this.wetTarget, coef = this.wetCoef;\n for (let s = 0; s < n; s++) {\n phase += inc;\n phase -= Math.floor(phase);\n const phaseB = (phase + 0.5) % 1;\n const gA = xfade(phase), gB = xfade(phaseB);\n // Ramp the wet path in as the ring fills rather than reading zeros:\n // 100 ms of unshifted audio at the head of a clip beats 50 ms of silence.\n const warm = filled >= grain ? 1 : filled / grain;\n wetNow = target + coef * (wetNow - target);\n const wetMix = wetNow * warm;\n for (let ch = 0; ch < i.length; ch++) {\n const ring = this.buf[ch];\n const inp = i[ch], out = o[ch];\n const x = inp[s];\n ring[write] = x;\n const wet =\n readTap(ring, write, phase * grain) * gA + readTap(ring, write, phaseB * grain) * gB;\n out[s] = x * (1 - wetMix) + wet * wetMix;\n }\n write = (write + 1) % ringLen;\n if (filled < grain) filled++;\n }\n this.write = write;\n this.phase = phase;\n this.filled = filled;\n this.wet = wetNow;\n return true;\n }\n}\nregisterProcessor(\"hf-pitchshift\", HfPitchshift);\n`,sc=new WeakMap;function lc(e){return Db.has(e)}var Db=new WeakSet;function uc(e){let t=sc.get(e);return t||(t=(async()=>{if(!e.audioWorklet)throw new Error(\"AudioWorklet is unavailable \\u2014 the page needs a secure context (https, localhost or file://)\");let n=`data:text/javascript;base64,${btoa(String.fromCharCode(...new TextEncoder().encode(iT)))}`;await e.audioWorklet.addModule(n),Db.add(e)})().catch(n=>{throw sc.delete(e),n}),sc.set(e,t)),t}function oT(e,t,n){let r=.6+Math.max(0,Math.min(1,t))*2.6,i=Math.max(1,Math.floor(e*r)),o=new Float32Array(i),a=Math.round(t*1e3)*2654435761+Math.round(n*1e3)*40503>>>0,s=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),l=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,f=0;for(let m=0;m<i;m++){u+=l*(s()-u);let g=u*Math.pow(1-m/i,2.5);o[m]=g,f+=g*g}let d=Math.sqrt(f);if(d>0)for(let m=0;m<i;m++)o[m]=(o[m]??0)/d;return o}var ve=e=>typeof e==\"number\"?e:Number(e??0),cc=e=>e/1e3;function Gb(e,t,n,r){let i=Math.max(1,Math.round(e.sampleRate)),o=e.createBuffer(1,i,e.sampleRate),a=o.getChannelData(0);for(let u=0;u<i;u++){let f=u/i;a[u]=t===\"sine\"?Math.sin(2*Math.PI*f):4*Math.abs((f+.75)%1-.5)-1}let s=e.createBufferSource();s.buffer=o,s.loop=!0,s.playbackRate.value=n;let l=(r*n%1+1)%1*(i/e.sampleRate);return s.start(typeof e.currentTime==\"number\"?e.currentTime:0,l),s}function Bb(e){try{e.stop()}catch{}e.disconnect()}function dc(e,t){return[{param:e},{param:t,map:n=>1-n}]}function Ub(e,t,n){e.gain.value=n,t.gain.value=1-n}function fc(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var aT=new Set([\"peaking\",\"highpass\",\"lowpass\"]),Pb=e=>Math.pow(10,e/20),sT=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=Pb(ve(i.gain))};return r(t),fc(n,r,{gain:[{param:n.gain,map:Pb}]})};function Di(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=ve(a.frequency),a.q!==void 0&&(i.Q.value=ve(a.q)),t&&(i.gain.value=ve(a.gain))};return o(r),fc(i,o,{frequency:[{param:i.frequency}],...aT.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function lT(e){return(t,n)=>{let r=Math.tan(Math.PI*ve(n.frequency)/t.sampleRate),i=e===\"highpass\"?t.createIIRFilter([1/(1+r),-1/(1+r)],[1,(r-1)/(r+1)]):t.createIIRFilter([r/(1+r),r/(1+r)],[1,(r-1)/(r+1)]);return fc(i,()=>{})}}function Pi(e){return(t,n)=>{let r=new AudioWorkletNode(t,e,{processorOptions:{...n}});return{input:r,output:r,update:i=>r.port.postMessage({...i}),dispose:()=>{r.port.postMessage({__hfDispose:!0}),r.disconnect()}}}}var uT={tanh:Math.tanh,atan:e=>2/Math.PI*Math.atan(Math.PI/2*e),cubic:e=>Math.abs(e)>=1?Math.sign(e):e-e**3/3,exp:e=>Math.sign(e)*(1-Math.exp(-Math.abs(e))),alg:e=>e/Math.sqrt(1+e*e),quintic:e=>Math.abs(e)>=1?Math.sign(e):e-e**5/5,sin:e=>Math.abs(e)>=1?Math.sign(e):Math.sin(Math.PI/2*e),erf:e=>Math.tanh(1.20211*e),hard:e=>Math.max(-1,Math.min(1,e))},cT=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let s=uT[String(a.type)]??Math.tanh,l=Math.pow(10,ve(a.threshold)/20),u=8192,f=new Float32Array(u);for(let d=0;d<u;d++){let m=d/(u-1)*2-1;f[d]=s(m/Math.max(1e-6,l))*l}n.curve=f,n.oversample=ve(a.oversample)>=4?\"4x\":ve(a.oversample)>=2?\"2x\":\"none\",i.gain.value=Math.pow(10,ve(a.output)/20)};return o(t),{input:r,output:i,update:o,automation:{output:[{param:i.gain,map:a=>Math.pow(10,a/20)}]},dispose:()=>{r.disconnect(),n.disconnect(),i.disconnect()}}},dT=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),s=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(s).connect(r);let l=u=>{i.delayTime.value=Math.min(5,ve(u.time)/1e3),o.gain.value=ve(u.feedback),Ub(a,s,ve(u.mix))};return l(t),{input:n,output:r,update:l,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,cc(u))}],feedback:[{param:o.gain}],mix:dc(a.gain,s.gain)},dispose:()=>[n,r,i,o,a,s].forEach(u=>u.disconnect())}},fT=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=Gb(e,\"sine\",ve(t.speed),n),s=e.createGain(),l=e.createGain(),u=e.createGain();a.connect(s).connect(o.delayTime),r.connect(o).connect(l).connect(i),r.connect(u).connect(i);let f=d=>{o.delayTime.value=ve(d.delay)/1e3,s.gain.value=ve(d.depth)/1e3,a.playbackRate.value=ve(d.speed),Ub(l,u,ve(d.mix))};return f(t),{input:r,output:i,update:f,automation:{delay:[{param:o.delayTime,map:cc}],depth:[{param:s.gain,map:cc}],speed:[{param:a.playbackRate}],mix:dc(l.gain,u.gain)},dispose:()=>{Bb(a),[r,i,o,s,l,u].forEach(d=>d.disconnect())}}},mT=6,pT=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),s=Gb(e,String(t.type)===\"1\"?\"sine\":\"triangle\",ve(t.speed),n),l=e.createGain(),u=e.createGain(),f=e.createGain(),d=[];r.connect(o);let m=o;for(let h=0;h<mT;h++){let b=e.createBiquadFilter();b.type=\"allpass\",b.Q.value=.7071,l.connect(b.frequency),m.connect(b),m=b,d.push(b)}s.connect(l),m.connect(u).connect(a),o.connect(f).connect(a),a.connect(i);let g=h=>{let b=1e3/Math.max(.1,ve(h.delay));for(let x of d)x.frequency.value=b;l.gain.value=b*ve(h.decay),s.playbackRate.value=ve(h.speed),o.gain.value=ve(h.in_gain),a.gain.value=ve(h.out_gain),u.gain.value=1,f.gain.value=1};return g(t),{input:r,output:i,update:g,automation:{speed:[{param:s.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{Bb(s),[r,i,o,a,l,u,f,...d].forEach(h=>h.disconnect())}}},hT=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createConvolver(),o=e.createGain(),a=e.createGain();i.normalize=!1,n.connect(i).connect(o).connect(r),n.connect(a).connect(r);let s=\"\",l=u=>{let f=`${ve(u.size)}:${ve(u.damping)}`;if(f!==s){let d=oT(e.sampleRate,ve(u.size),ve(u.damping)),m=e.createBuffer(1,d.length,e.sampleRate);m.getChannelData(0).set(d),i.buffer=m,s=f}o.gain.value=ve(u.wet),a.gain.value=ve(u.dry)};return l(t),{input:n,output:r,update:l,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},gT={\"gain-node\":sT,\"biquad-peaking\":Di(\"peaking\",!0),\"biquad-lowshelf\":Di(\"lowshelf\",!0),\"biquad-highshelf\":Di(\"highshelf\",!0),\"biquad-highpass\":Di(\"highpass\",!1),\"biquad-lowpass\":Di(\"lowpass\",!1),\"worklet-compressor\":Pi(\"hf-compressor\"),\"worklet-limiter\":Pi(\"hf-limiter\"),\"worklet-gate\":Pi(\"hf-gate\"),\"worklet-bitcrush\":Pi(\"hf-bitcrush\"),\"worklet-pitchshift\":Pi(\"hf-pitchshift\"),waveshaper:cT,\"delay-feedback\":dT,\"chorus-lfo\":fT,\"allpass-phaser\":pT,convolver:hT};function Wb(e){return e.nodes.some(t=>Ir(t.type)?.web.startsWith(\"worklet-\")??!1)}function bT(e,t,n,r=0){let i=Ir(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=Dr(t,n);if((t===\"highpass\"||t===\"lowpass\")&&String(o.poles)===\"1\")return lT(t)(e,o,r);let a=gT[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function Ob(e){let t=[];for(let n of e){let r=n.fromPreset,i=t.at(-1);if(i&&i.preset===r)i.nodes.push(n);else{let o=typeof n.presetAmount==\"number\"?n.presetAmount:1;t.push({...r?{preset:r}:{},amount:Math.min(1,Math.max(0,o)),nodes:[n]})}}return t}function Hb(e){return Pr(e).map(t=>{let n=Dr(t.type,t.params),r=n.poles!==void 0?`:${n.poles}`:\"\",i=String(n.poles)===\"1\"?`@${n.frequency}`:\"\",o=t.type===\"phaser\"?`~${n.type}`:\"\",a=t.fromPreset?`%${t.fromPreset}`:\"\";return`${t.type}${r}${i}${o}${a}`}).join(\"|\")}function Vb(e,t,n=0){var d;let r=e.createGain(),i=e.createGain(),o=[],a=[],s=Ob(Pr(t)),l=r;for(let m of s){let g=null;if(m.preset){let h=e.createGain(),b=e.createGain(),x=e.createGain(),v=e.createGain();x.gain.value=m.amount,b.gain.value=1-m.amount,l.connect(h),h.connect(b).connect(v),g={entry:h,wet:x,dry:b,join:v},l=h}for(let h of m.nodes){let b=bT(e,h.type,h.params??{},n);l.connect(b.input),l=b.output,o.push({...h.id?{id:h.id}:{},type:h.type,handle:b})}g&&m.preset&&(l.connect(g.wet).connect(g.join),a.push({id:m.preset,...g}),l=g.join)}l.connect(i);let u=Hb(t),f={};for(let m of a)(f[d=m.id]??(f[d]=[])).push(...dc(m.wet.gain,m.dry.gain));return{input:r,output:i,presets:f,nodes:o,update(m){if(Hb(m)!==u)return!1;Pr(m).forEach((h,b)=>{let x=o[b];x&&(x.handle.update(Dr(h.type,h.params)),h.id===void 0?delete x.id:x.id=h.id)});let g=0;for(let h of Ob(Pr(m))){if(!h.preset)continue;let b=a[g++];!b||b.id!==h.preset||(b.wet.gain.value=h.amount,b.dry.gain.value=1-h.amount)}return!0},dispose(){for(let{handle:m}of o)m.dispose();for(let{entry:m,wet:g,dry:h,join:b}of a)m.disconnect(),g.disconnect(),h.disconnect(),b.disconnect();r.disconnect(),i.disconnect()}}}var $b={version:1,nodes:[]},zb={version:1,lanes:[]};function qb(e,t){let n=(typeof e.getAttribute==\"function\"?e.getAttribute(Nt):null)??\"\";if(!n)return zb;try{return df(yo(n),t)}catch{return zb}}function hr(e){let t=(typeof e.getAttribute==\"function\"?e.getAttribute(xn):null)??\"\";if(!t)return{chain:$b,raw:\"\"};try{return{chain:af(t),raw:t}}catch{return{chain:$b,raw:\"\"}}}function jb(e){return qb(e,hr(e).chain)}function Da(e,t,n,r,i){let{chain:o}=hr(t),a=null,s=[],l=!1,u=0,f=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},d=(E,k)=>{if(E.nodes.length===0){n.connect(r);return}if(Wb(E)&&!lc(e)){n.connect(r);let O=++u;uc(e).then(()=>{l||O!==u||x(hr(t).chain)}).catch(()=>{});return}try{let O=Vb(e,E,k);n.connect(O.input),O.output.connect(r),a=O}catch{n.connect(r)}},m=(E,k)=>{s=k&&a?Fb(qb(t,E),E,a.nodes,k,a.presets):[]},g=i?{...i}:null;d(o,g?.elapsed??0),m(o,g);let h=()=>{if(!g)return null;let E=typeof e.currentTime==\"number\"?e.currentTime:g.scheduledAt;return{scheduledAt:E,elapsed:g.elapsed+(E-g.scheduledAt)*g.rate,rate:g.rate}},b=E=>{let k=h();k&&(pr(s,k.scheduledAt),m(E,k))},x=E=>{let k=h();pr(s,k?.scheduledAt??0),f(),d(E,k?.elapsed??0),m(E,k)},v=null,A=t;return typeof MutationObserver<\"u\"&&typeof A?.nodeType==\"number\"&&(v=new MutationObserver(()=>{let E=hr(t);s.length>0&&Ii(s),!a||!a.update(E.chain)?x(E.chain):b(E.chain)}),v.observe(A,{attributes:!0,attributeFilter:[xn,Nt]})),{reanchor:E=>{if(l)return;let k=h();k&&pr(s,k.scheduledAt),g={...E},m(hr(t).chain,g)},setRate:E=>{let k=h();l||!k||!Number.isFinite(E)||E<=0||E===k.rate||(g={...k,rate:E},pr(s,k.scheduledAt),m(hr(t).chain,g))},dispose:()=>{l=!0,v?.disconnect(),s.length>0&&pr(s,typeof e.currentTime==\"number\"?e.currentTime:0),a?.dispose()}}}function Kb(e,t){e.getFloatTimeDomainData(t);let n=0;for(let r=0;r<t.length;r++)n=Math.max(n,Math.abs(t[r]??0));return n}function mc(e,t){let n=e.createGain();n.channelCount=2,n.channelCountMode=\"explicit\";let r=e.createChannelSplitter(2),i=e.createAnalyser(),o=e.createAnalyser();i.fftSize=o.fftSize=2048,t.connect(n),n.connect(r),r.connect(i,0),r.connect(o,1);let a=new Float32Array(new ArrayBuffer(2048*4)),s=new Float32Array(new ArrayBuffer(2048*4));return{read:()=>({l:Kb(i,a),r:Kb(o,s)}),dispose:()=>{try{t.disconnect(n),n.disconnect(),r.disconnect()}catch{}}}}var Xb=\"runtime_web_audio_bypass\";function pc(e,t){return typeof e.getAttribute==\"function\"?e.getAttribute(t):null}function Oi(e,t){return pc(e,t)!==null}function xT(e){return Oi(e,\"crossorigin\")?!0:e.crossOrigin!=null}function yT(e){return typeof e.baseURI==\"string\"&&e.baseURI?e.baseURI:typeof document<\"u\"?document.baseURI:\"\"}function ST(e){let t=typeof e.currentSrc==\"string\"?e.currentSrc:\"\";if(t)return[t];let n=pc(e,\"src\");if(n)return[n];if(typeof e.querySelectorAll!=\"function\")return[];let r=[];for(let i of Array.from(e.querySelectorAll(\"source\"))){let o=i.getAttribute(\"src\");o&&r.push(o)}return r}function vT(e,t){let n;try{n=new URL(e,yT(t))}catch{return null}return n.protocol!==\"http:\"&&n.protocol!==\"https:\"?null:n}function ET(){return typeof window.origin==\"string\"?window.origin:window.location.origin}function AT(e,t){if(typeof window>\"u\")return null;let n=vT(e,t);if(!n)return null;let r=ET(),i=r===\"null\";return!i&&n.origin===r||xT(t)?null:i?\"opaque_document_origin\":\"cross_origin_no_cors\"}function Jb(e){return(typeof e.currentSrc==\"string\"?e.currentSrc:\"\")?!0:Oi(e,\"src\")}function gr(e){for(let t of ST(e)){let n=AT(t,e);if(n)return{kind:\"decode-only\",reason:n,asset:t}}return{kind:\"web-audio\"}}function wT(e){let t=[];Oi(e,xn)&&t.push(\"fx-chain\"),Oi(e,Nt)&&t.push(\"automation\"),Oi(e,Po)&&t.push(\"audio-group\");let n=Number.parseFloat(pc(e,\"data-volume\")??\"\");return Number.isFinite(n)&&n>1&&t.push(\"above-unity-gain\"),t}function _T(){return typeof window<\"u\"&&!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}var Yb=new WeakSet,CT={cross_origin_no_cors:\"cross-origin media without a `crossorigin` opt-in is silent through createMediaElementSource (Web Audio spec); using native playback instead\",opaque_document_origin:\"this document's security origin is opaque (a sandbox without `allow-same-origin`), so no media is same-origin with it and createMediaElementSource would be silent (Web Audio spec); using native playback instead\"},RT={cross_origin_no_cors:\"proxy or download the asset to a same-origin URL to keep it.\",opaque_document_origin:\"add `allow-same-origin` to the sandbox, or serve the asset with a `crossorigin` attribute and an `Access-Control-Allow-Origin` of `null` or `*`, to keep it.\"};function br(e,t){if(t.kind===\"web-audio\"||_T()||Yb.has(e))return;let n=wT(e);Yb.add(e);let r={asset:t.asset,reason:t.reason,lostProcessing:n,note:CT[t.reason]};Ee({source:\"hf-preview\",type:\"diagnostic\",code:Xb,details:r});let i=n.length>0?` Native playback cannot reproduce: ${n.join(\", \")} \\u2014 ${RT[t.reason]}`:\"\";console.info(`[hyperframes] ${Xb}: \"${t.asset}\" (${t.reason}): Web Audio capture withheld; the track plays through native HTMLMediaElement output.${i}`)}function hc(e){return!Number.isFinite(e)||e<=0?1:e}function Qb(e){return Je(e)}function TT(e,t){t||e.paused||!wo().__hfDebug||console.debug(\"[hyperframes] webAudioTransport claimed fallback-playing element:\",e.currentSrc||e.getAttribute(\"src\")||\"\")}function kT(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,u=s*a;if(n>=0){let d=n*a,m=u-d;return l&&m<=0?!1:(l?e.start(0,d+r,m):e.start(0,d+r),!0)}let f=-n/o;return l?e.start(i+f,r,u):e.start(i+f,r),!0}function Pa(e,t,n){let r=Ib(jb(e));r&&ac([{param:t.gain}],r,xo.scale,n)}function xr(e){return e.sourceKind===\"buffer\"}var MT=1e4,Oa=class{constructor(){de(this,\"_ctx\",null);de(this,\"_bufferCache\",new Map);de(this,\"_failedSrcs\",new Set);de(this,\"_mediaElementSources\",new WeakMap);de(this,\"_activeSources\",[]);de(this,\"_masterGain\",null);de(this,\"_monitorGain\",null);de(this,\"_masterVolume\",1);de(this,\"_masterMuted\",!1);de(this,\"_groups\",new Map);de(this,\"_metering\",!1);de(this,\"_masterTap\",null);de(this,\"_groupTaps\",new Map);de(this,\"_rateAnchorCtx\",0);de(this,\"_rateAnchorComp\",0);de(this,\"_rate\",1);de(this,\"_paused\",!0);de(this,\"_playGeneration\",0);de(this,\"_playingCaptured\",new Set);de(this,\"_suspendPending\",!1);de(this,\"_restTimer\",null)}async init(){try{return this._ctx=new AudioContext,this._ctx.onstatechange=()=>this.rest(),this._masterGain=this._ctx.createGain(),this._monitorGain=this._ctx.createGain(),this._masterGain.connect(this._monitorGain),this._monitorGain.connect(this._ctx.destination),this.applyMasterGain(),this._metering&&this.attachMasterTap(),!0}catch{return!1}}async wake(){!this._ctx||this._ctx.state===\"running\"&&!this._suspendPending||(this._suspendPending=!1,await this._ctx.resume())}rest(){this._restTimer!==null&&clearTimeout(this._restTimer),this._restTimer=null,!(!this._ctx||this._ctx.state!==\"running\"||this._suspendPending)&&(this._restTimer=setTimeout(()=>{this._restTimer=null,this.suspendIfIdle()},MT))}suspendIfIdle(){for(let t of this._playingCaptured)t.paused&&this._playingCaptured.delete(t);!this._ctx||!this._paused||this._suspendPending||this._playingCaptured.size>0||(this._suspendPending=!0,this._ctx.suspend().catch(t=>{this._suspendPending=!1,H(\"webAudioTransport.suspend\",t)}))}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 H(\"webAudioTransport.fetch\",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return H(\"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),H(\"webAudioTransport.decode\",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}acquireMediaElementSource(t){let n=this._mediaElementSources.get(t);if(n){let a=gr(t);if(a.kind!==\"web-audio\"){try{n.disconnect()}catch{}return this._mediaElementSources.delete(t),br(t,a),null}return n}if(!this._ctx)return null;let r=gr(t);if(r.kind!==\"web-audio\")return br(t,r),null;let i=this._ctx.createMediaElementSource(t);this._mediaElementSources.set(t,i),t.paused||this._playingCaptured.add(t),t.addEventListener(\"play\",()=>{this._playingCaptured.add(t),this.wake()});let o=()=>{this._playingCaptured.delete(t),this.rest()};return t.addEventListener(\"pause\",o),t.addEventListener(\"emptied\",o),i}async scheduleMediaElementPlayback(t,n,r,i,o,a,s=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(await this.wake(),a!==this._playGeneration)return null;let l=this.acquireMediaElementSource(t);if(!l)return null;l.disconnect();let u=hc(s),f=this._ctx.createGain();f.gain.value=o;let d=this._ctx.currentTime,m=i-n,g={scheduledAt:d,elapsed:m,rate:u},h=Da(this._ctx,t,l,f,g);f.connect(this.resolveDestination(t,d,i,u)??this._masterGain),Pa(t,f,g),this._rate=u,this._rateAnchorCtx=d,this._rateAnchorComp=i;let b={fx:h,el:t,sourceNode:l,sourceKind:\"media-element\",gainNode:f,compositionStart:n,mediaStart:r,scheduledAt:d,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:Ve(t),bounded:!1};return t.volume=1,this._activeSources.push(b),this._paused=!1,b}catch(l){return H(\"webAudioTransport.mediaElementSource\",l),null}}groupInput(t,n,r){let i=this._groups.get(t);if(i){if(i.generation!==this._playGeneration)try{i.reanchor(r),i.generation=this._playGeneration}catch(m){H(\"webAudioTransport.groupReanchor\",m)}return i.input}if(!this._ctx||!this._masterGain)return null;let o=this._ctx.createGain(),a=this._ctx.createGain();a.connect(this._masterGain);let s=()=>Zs(n,t),l=s(),u=this._ctx.createGain();u.gain.value=l?.hasAttribute(\"data-hidden\")?0:1,u.connect(a);let f=this._ctx.createGain();f.gain.value=Qb(Qs(l)),f.connect(u);let d=Da(this._ctx,l??{getAttribute:()=>null},o,f,r);return l&&Pa(l,f,r),this._groups.set(t,{input:o,output:a,isPresent:()=>s()!==null,fader:f,muteGain:u,fx:d,generation:this._playGeneration,reanchor:m=>{Ii([{param:f.gain}]);let g=s();f.gain.value=Qb(Qs(g)),u.gain.value=g?.hasAttribute(\"data-hidden\")?0:1,d?.reanchor(m),g&&Pa(g,f,m)},dispose:()=>{try{d?.dispose(),o.disconnect(),f.disconnect(),u.disconnect(),a.disconnect()}catch{}}}),this.attachGroupTap(t,a),o}startMetering(){this._metering=!0,this.attachMasterTap();for(let[t,n]of this._groups)this.attachGroupTap(t,n.output)}stopMetering(){this._metering=!1,this._masterTap?.dispose(),this._masterTap=null;for(let t of this._groupTaps.values())t.dispose();this._groupTaps.clear()}readLevels(){let t={};for(let[n,r]of this._groupTaps)this._groups.get(n)?.isPresent()&&(t[n]=r.read());return{master:this._masterTap?.read()??{l:0,r:0},groups:t}}attachMasterTap(){this._ctx&&this._masterGain&&!this._masterTap&&(this._masterTap=mc(this._ctx,this._masterGain))}attachGroupTap(t,n){this._metering&&this._ctx&&!this._groupTaps.has(t)&&this._groupTaps.set(t,mc(this._ctx,n))}setGroupMuted(t,n){let r=this._groups.get(t);if(r)try{r.muteGain.gain.value=n?0:1}catch(i){H(\"webAudioTransport.setGroupMuted\",i)}}resolveDestination(t,n,r,i){if(!this._masterGain)return null;let o=Ho(t);if(!o)return this._masterGain;let a={scheduledAt:n,elapsed:r,rate:i};return this.groupInput(o,t.ownerDocument,a)??this._masterGain}handleSourceEnded(t,n,r,i){let o=this._activeSources.indexOf(n);if(o!==-1){this._activeSources.splice(o,1),r.muted=i;try{t.disconnect(),n.fx?.dispose(),n.gainNode.disconnect()}catch{}this._activeSources.length===0&&(this._paused=!0)}}async schedulePlayback(t,n,r,i,o,a,s,l=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||s!==this._playGeneration)return null;try{if(await this.wake(),s!==this._playGeneration)return null;let f=o(),d=hc(l),m=Ve(t),g=d*m,h=this._ctx.createBufferSource();h.buffer=n,h.playbackRate.value=g;let b=this._ctx.createGain();b.gain.value=a;let x=f-r,v=this._ctx.currentTime,A={scheduledAt:v,elapsed:x,rate:d},E=Da(this._ctx,t,h,b,A);if(b.connect(this.resolveDestination(t,v,f,d)??this._masterGain),Pa(t,b,A),this._rate=d,this._rateAnchorCtx=v,this._rateAnchorComp=f,!kT(h,{elapsed:x,mediaStart:i,scheduledAt:v,globalRate:d,mediaRate:m,clipDuration:u}))return h.disconnect(),E?.dispose(),b.disconnect(),null;let k=t.muted;t.muted=!0,TT(t,k);let O={fx:E,el:t,sourceNode:h,sourceKind:\"buffer\",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:v,priorMuted:k,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(O),this._paused=!1,h.addEventListener(\"ended\",()=>this.handleSourceEnded(h,O,t,k)),O}catch(f){return H(\"webAudioTransport.schedule\",f),null}}setRate(t){let n=hc(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{xr(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){H(\"webAudioTransport.setRate\",i)}for(let r of this._groups.values())try{r.fx?.setRate(n)}catch(i){H(\"webAudioTransport.setRate.group\",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>xr(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{xr(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}xr(t)?t.el.muted=t.priorMuted:(t.el.volume=t.priorVolume,this._ctx&&t.sourceNode.connect(this._ctx.destination))}this._activeSources=[],this._paused=!0,this._playGeneration+=1,this.rest()}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=Je(n);for(let i of this._activeSources)if(i.el===t)try{i.sourceKind===\"media-element\"&&(i.el.volume=1),i.gainNode.gain.value=r}catch(o){H(\"webAudioTransport.setElementVolume\",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._monitorGain&&(this._monitorGain.gain.value=this._masterMuted?0:this._masterVolume)}ownsClock(){return!this._paused&&this._activeSources.some(xr)}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&xr(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){this.stopAll(),this.stopMetering();for(let t of this._groups.values())t.dispose();if(this._groups.clear(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._playingCaptured.clear(),this._suspendPending=!1,this._restTimer!==null&&clearTimeout(this._restTimer),this._restTimer=null,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._monitorGain=null,this._masterVolume=1,this._masterMuted=!1}};var Hi=\"data-hf-studio-manual-edit-gesture\";var Zb=`[${Hi}]`;function ex(e,t){let n=e.defaultView?.MutationObserver??globalThis.MutationObserver;if(!n||!e.documentElement)return{isActive:()=>e.querySelector(Zb)!=null,observing:!1,disconnect:()=>{}};let r=new Set(e.querySelectorAll(Zb)),i=s=>{for(let l of s){let u=l.target;ke(u)&&(u.hasAttribute(Hi)?r.add(u):r.delete(u))}},o=s=>{s.length!==0&&(i(s),t())},a=new n(o);return a.observe(e.documentElement,{subtree:!0,attributes:!0,attributeFilter:[Hi]}),{observing:!0,isActive:()=>{o(a.takeRecords());for(let s of r){if(s.isConnected&&s.hasAttribute(Hi))return!0;r.delete(s)}return!1},disconnect:()=>{a.disconnect(),r.clear()}}}var tx=333.3333333333333,nx=1e3*60/60;function rx(e){return e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2?!1:e.compositionChanged===!0?!0:e.isPlaying?e.playingPollDue===!0:Number.isInteger(e.tick)&&e.tick>0&&e.tick%60===0}var NT=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function ix(e){return Math.max(0,Math.min(1,e))}function ox(e){let t=NT.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?ix(n):null}function ax(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=ix(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 LT=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,FT=Math.PI*2;function IT(e){let t=LT.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 DT(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(FT*t*e)}function sx(e,t){let n=IT(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=>DT(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var PT=24,lx=e=>e>=1?1:0,OT=e=>e,Ha=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,HT=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Ha}\\s*,\\s*${Ha}\\s+${Ha}\\s*,\\s*${Ha}\\s+1\\s*,\\s*1\\s*$`,\"i\");function ux(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function GT(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 s=0;s<PT;s+=1){let l=(o+a)/2;ux(l,t,r)<e?o=l:a=l}return ux((o+a)/2,n,i)}function BT(e){let t=HT.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=>GT(a,n,r,i,o)}function UT(e,t){if(!e.startsWith(\"spring(\"))return null;let n=ox(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>ax(o,n);return t.set(n,i),i}function WT(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=BT(n);return i&&t.set(n,i),i}function cx(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=l=>typeof l!=\"string\"?null:l===\"hold\"?lx:sx(l,i)??UT(l,r)??WT(l,n),a=(l,u,f=[])=>{let d=o(l);return d||(typeof l==\"string\"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(l.trim())&&Qe(\"custom_ease_parse_failed\",{ease:l}),t.call(u,l,...f)??OT)};e.parseEase=function(u,...f){return a(u,this,f)};let s=e.registerEase;if(typeof s==\"function\"){s(\"hold\",lx);let l=u=>{let f=d=>d;f.config=(...d)=>a(`${u}(${d.join(\",\")})`,e),s(u,f)};l(\"spring\"),l(\"wiggle\"),l(\"custom\")}return e.__hfCustomEaseInstalled=!0,!0}var bc=\"first-frame\",VT=3;function $T(e){let t=e.ownerDocument?.defaultView;return t&&e instanceof t.Element?!0:e instanceof Element}function zT(e){if(!$T(e)||e.tagName!==\"AUDIO\"&&e.tagName!==\"VIDEO\")return!1;let t=e.ownerDocument?.defaultView;return t&&e instanceof t.HTMLMediaElement?!0:e instanceof HTMLMediaElement}function qT(e){return e.hasAttribute(\"data-start\")||e.hasAttribute(\"data-track-index\")}function jT(e,t,n){let r=e;for(;r;){if(qT(r)&&!Qo(r,{currentTime:0,compositionDuration:Number.POSITIVE_INFINITY,canonicalFps:30,exportRenderSeek:!1,timelineRegistry:n,resolver:t}))return!1;r=r.parentElement}return!0}function dx(e,t,n,r){return t===\"all\"?!0:jT(e,n,r)}function KT(e,{scope:t=\"all\"}={}){let n=e.defaultView,r=je({documentRef:e,timelineRegistry:n?.__timelines,includeAuthoredTimingAttrs:!0}),i=e.querySelector(`meta[name=\"${Eo}\"]`)!==null,o=Array.from(e.querySelectorAll(\"video, audio\")).filter(zT).filter(l=>dx(l,i&&l.preload!==\"auto\"?bc:t,r,n?.__timelines??{})).filter(l=>l.readyState<VT),a=Array.from(e.querySelectorAll(\"img\")).filter(l=>dx(l,l.getAttribute(\"loading\")?.toLowerCase()===\"lazy\"?bc:t,r,n?.__timelines??{})).filter(l=>!l.complete),s=e.fonts?.status===\"loading\";return{pendingMedia:o,pendingImages:a,fontsLoading:s}}function XT(e,{pendingMedia:t,pendingImages:n,fontsLoading:r},i){let o=t.map(l=>new Promise(u=>{if(l.error){u();return}let f=()=>{l.removeEventListener(\"canplay\",f),l.removeEventListener(\"error\",f),i.removeEventListener(\"abort\",f),u()};l.addEventListener(\"canplay\",f),l.addEventListener(\"error\",f),i.addEventListener(\"abort\",f,{once:!0})})),a=n.map(l=>l.decode?l.decode().catch(()=>{}):Promise.resolve()),s=r&&e.fonts?e.fonts.ready.then(()=>{}):Promise.resolve();return Promise.all([...o,...a,s]).then(()=>{})}function YT(e,t,{scope:n=\"all\"}={}){let r=KT(e,{scope:n});return r.pendingMedia.length===0&&r.pendingImages.length===0&&!r.fontsLoading?null:XT(e,r,t)}var JT=50;function QT(e,t){let n=e.defaultView;return!n||n.__renderReady||!n.__hf?null:new Promise(r=>{let i,o=()=>{i!==void 0&&clearTimeout(i),t.removeEventListener(\"abort\",o),r()};if(t.aborted){o();return}t.addEventListener(\"abort\",o,{once:!0});let a=()=>{if(n.__renderReady){o();return}i=setTimeout(a,JT)};a()})}var ZT=50,ek=1.5,tk=2,nk=1500;function gc(e,t){return new Promise(n=>{if(t.aborted){n(-1);return}let r=0,i=()=>{e.cancelAnimationFrame?.(r),n(-1)};t.addEventListener(\"abort\",i,{once:!0}),r=e.requestAnimationFrame(o=>{t.removeEventListener(\"abort\",i),n(o)})})}function rk(e,t){let n=e.defaultView;return n?(async()=>{let r=await gc(n,t);if(t.aborted)return;let i=await gc(n,t),o=i-r,a=0;for(;!t.aborted&&a<tk;){if(i-r>=nk)return;let s=await gc(n,t);if(t.aborted)return;let l=s-i;o=Math.min(o,l),a=l<ZT||l<=o*ek?a+1:0,i=s}})():null}var ik=8e3;function ok(e,t,n={}){let r=n.inputs??[(u,f)=>YT(u,f,{scope:n.scope}),QT,rk],i=new AbortController,o=r.map(u=>u(e,i.signal)).filter(u=>u!==null);if(o.length===0){t({timedOut:!1});return}let a=n.timeoutMs??ik,s,l=new Promise(u=>{s=setTimeout(()=>u(\"timed-out\"),a)});Promise.race([Promise.all(o).then(()=>\"done\"),l]).then(u=>{clearTimeout(s),i.abort(),t({timedOut:u===\"timed-out\"})})}function fx(e,t,n={}){ok(e,t,{...n,scope:bc})}var Sc=new Map,Gi=new Map,xc=new Map,yc=()=>{},px=()=>{},mx=0;function vc(e){return/^[a-z][a-z0-9-]{0,63}$/.test(e)}function hx(e){let t=(xc.get(e)??0)+1;return xc.set(e,t),t}function gx(e){return typeof e==\"number\"&&Number.isSafeInteger(e)&&e>0?e:(mx-=1,mx)}function Ec(e,t){let n=Gi.get(e);if(!n)return;let r=()=>xc.get(e)===t.generation&&Gi.get(e)===n;try{Promise.resolve(n(t.payload)).then(()=>{r()&&px(e,t.requestId)},i=>{r()&&yc(e,t.requestId,i)})}catch(i){r()&&yc(e,t.requestId,i)}}function bx(e){yc=e}function xx(e){px=e}function Ga(e,t,n){if(!vc(e))return;let r={payload:t,requestId:gx(n),generation:hx(e)};Sc.set(e,r),Ec(e,r)}function Ba(e,t){vc(e)&&(Sc.delete(e),Ec(e,{payload:void 0,requestId:gx(t),generation:hx(e)}))}function yx(e,t){if(!vc(e))throw new Error(`Invalid HyperFrames runtime-data channel: ${e}`);Gi.set(e,t);let n=Sc.get(e);return n&&Ec(e,n),()=>{Gi.get(e)===t&&Gi.delete(e)}}var Sx=!1;function Tt(e){if(e){if(typeof e.pause!=\"function\"){Sx||(Sx=!0,Qe(\"timeline_missing_pause\",{}));return}try{e.pause()}catch(t){H(\"runtime.timeline.pause\",t)}}}function lk(e){let t=e;if(typeof t.remove==\"function\")for(let n of e.getChildren?.(!1,!0,!1)??[])n.data===Mr&&t.remove(n)}function uk(){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 ck(e,t){return t!==null&&e.length===t.length&&e.every((n,r)=>n===t[r])}function vx(e,t,n){let r=null,i=!0;return()=>{let o=e();if(o.length===0)return r=null,i=!0,!0;if(ck(o,r))return i;r=o,i=!1;let a=o.length===1?o[0]:Promise.all(o);return Promise.resolve(a).then(()=>{r===o&&(i=!0,t())},s=>{r===o&&(i=!0,n(s),t())}),i}}function Bi(e){let t=e.querySelector(`meta[name=\"${wi}\"]`)?.getAttribute(\"content\");if(!t)return null;try{return JSON.parse(t)}catch{return null}}var Cc=e=>JSON.stringify([Array.from(e.attributes,t=>[t.name,t.value]).filter(([t])=>t!==vn),e.innerHTML]),dk=new Set([\"style\",\"preload\",\"src\",vn,tn]),fk=e=>e.split(/\\s+/).filter(t=>t&&!t.startsWith(\"__hf-\")).join(\" \"),Ex=e=>JSON.stringify([Array.from(e.attributes,({name:t,value:n})=>[t,t===\"class\"?fk(n):n]).filter(([t,n])=>!dk.has(t)&&!(t===\"class\"&&!n)).sort(([t],[n])=>t<n?-1:1),e.hasAttribute(\"data-var-src\")?null:Kr(e),e.innerHTML]),Ui=new WeakMap,wx=e=>e.localName===\"video\"||e.localName===\"audio\",wc=e=>{if(!ke(e))return;let t=wx(e)?[e]:e.firstElementChild?e.querySelectorAll(\"video, audio\"):[];for(let n of t)Ui.has(n)||Ui.set(n,Cc(n))},Ua=null;function _x(){typeof MutationObserver>\"u\"||!Bi(document)||(wc(document.documentElement),Ua=new MutationObserver(e=>{for(let t of e){t.addedNodes.forEach(wc);let{target:n}=t;ke(n)&&wx(n)&&Ui.set(n,Cc(n))}}),Ua.observe(document.documentElement,{childList:!0,subtree:!0}))}function Cx(){let e=i=>i?.config?.({force3D:!1}),t=Object.getOwnPropertyDescriptor(window,\"gsap\"),n=window.gsap;if(e(n),t?.configurable===!1||t?.get?.hfFlat)return;let r=Object.assign(()=>t?.get?t.get.call(window):n,{hfFlat:!0});Object.defineProperty(window,\"gsap\",{configurable:!0,enumerable:!0,get:r,set:i=>{t?.set?t.set.call(window,i):n=i,e(i)}})}var mk=new Map([[\"image\",[\"href\",\"xlink:href\"]],[\"object\",[\"data\"]]]),pk=1e3;function hk(){let e;return()=>e??(e=document.getAnimations())}var _c=e=>vo(e)||ye(e)&&Fo(e)&&hm({volume:Number.parseFloat(e.dataset.volume??\"\"),fxChain:e.getAttribute(\"data-fx-chain\"),automation:e.getAttribute(\"data-automation\"),audioGroup:e.getAttribute(\"data-audio-group\")}),Rx=\"audio[data-start], video[data-start]\",Ac=e=>Array.from(e.querySelectorAll(Rx)).filter(_c);function Ax(e){let t=e.matches(`[${Is}]`)?[e]:Array.from(e.querySelectorAll(`img[${Is}]`)).filter(n=>n.closest(\"[data-start]\")===e);for(let n of t)n.setAttribute(\"loading\",\"eager\")}function Tx(){let e=Nl();Ua?.disconnect(),Ua=null,Bi(document)&&wc(document.documentElement);let t=()=>{};Df(Ee),bx((c,p,y)=>{Ee({source:\"hf-preview\",type:\"runtime-data-error\",channel:c,requestId:p,message:y instanceof Error?y.message:String(y)})}),xx((c,p)=>{try{t()}catch(y){Ee({source:\"hf-preview\",type:\"runtime-data-error\",channel:c,requestId:p,message:y instanceof Error?y.message:String(y)});return}Ee({source:\"hf-preview\",type:\"runtime-data-applied\",channel:c,requestId:p})}),Ci(document),wa(document),Im(document);let n=uk();if(e.canonicalFps=n.fps??e.canonicalFps,Lf(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG){let c=JSON.stringify({canonicalFps:e.canonicalFps,source:n.source,rawFpsSource:n.rawFpsSource,rawFps:n.rawFps,fallbackReason:n.fallbackReason});console.info(`[hyperframes] render runtime fps ${c}`)}let r=null,i=null,o=null,a=[],s=new Set,l=null,u=new Set,f=(c,p,y)=>{u.has(c)||(u.add(c),Qe(p,y))};if(typeof window.__hfRuntimeTeardown==\"function\")try{window.__hfRuntimeTeardown()}catch(c){H(\"runtime.init.site1\",c)}let d=new Ia;e.transportClock=d;let m=new Oa,g=!1;m.init().then(c=>{g=c}),window.__hf=window.__hf||{};let h=c=>c.closest(\"[data-hidden]\")!==null||Oo(c.ownerDocument,c),b=()=>{let c=window.gsap,p=window;if(!(!c?.registerPlugin||p.__hfAutoNoopRegistered))try{c.registerPlugin({name:\"_auto\",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch(y){f(\"auto_marker_install_failed\",\"auto_marker_install_failed\",{reason:\"threw\"}),H(\"runtime.autoMarker.install\",y)}},x=()=>{let c=window.gsap;if(!c){f(\"custom_ease_missing_gsap\",\"custom_ease_install_failed\",{reason:\"missing_gsap\"});return}try{cx(c)||f(\"custom_ease_no_parse_ease\",\"custom_ease_install_failed\",{reason:\"no_parseEase\"})}catch(p){f(\"custom_ease_install_threw\",\"custom_ease_install_failed\",{reason:\"threw\"}),H(\"runtime.customEase.install\",p)}};b(),x(),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{Wf(document)}catch(c){H(\"runtime.init.cssVariables\",c)}if(window.__timelines=window.__timelines||{},Array.isArray(window.__timelines)){let c=window.__timelines,p=Et()?.getAttribute(\"data-composition-id\")??\"root\",y={};if(c.length===1)y[p]=c[0];else for(let S=0;S<c.length;S++)y[`tl-${S}`]=c[S];window.__timelines=y}let v=Et();v&&!v.hasAttribute(\"data-start\")&&v.setAttribute(\"data-start\",\"0\");let A=c=>{a.push(c)},E=(c,p,y)=>{let S=y??`${c}:${JSON.stringify(p)}`;s.has(S)||(s.add(S),Ee({source:\"hf-preview\",type:\"diagnostic\",code:c,details:p}))},k=c=>{let p={scale:1,focusX:960,focusY:540},y=[],S=[],w={time:c.getTime(),duration:c.getDuration(),isPlaying:c.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:c.play,pause:c.pause,seek:c.seek,getTime:c.getTime,getDuration:c.getDuration,isPlaying:c.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>y,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:c.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...w,time:c.getTime(),duration:c.getDuration(),isPlaying:c.isPlaying()})}},O=.75,F=.05,D=100,R=240,M=c=>{if(c instanceof Error)return c.message||String(c);if(typeof c==\"string\")return c;try{return JSON.stringify(c)}catch{return String(c??\"\")}},T=c=>{let p=c.toLowerCase();return p.includes(\"cannot read properties of null\")||p.includes(\"cannot set properties of null\")?{code:\"runtime_null_dom_access\",category:\"dom-null-access\"}:p.includes(\"failed to execute 'queryselector'\")?{code:\"runtime_invalid_selector\",category:\"selector-invalid\"}:p.includes(\"is not defined\")?{code:\"runtime_reference_missing\",category:\"reference-missing\"}:{code:\"runtime_script_error\",category:\"script-error\"}},B=c=>{let p=En(c);return p===null?null:`${p}px`},W=()=>Et(),ne=()=>{let c=W();if(!c)return;let p=B(c.getAttribute(\"data-width\")),y=B(c.getAttribute(\"data-height\"));p&&(c.style.width=p),y&&(c.style.height=y),p&&c.style.setProperty(\"--comp-width\",p),y&&c.style.setProperty(\"--comp-height\",y),p&&(document.documentElement.style.width=p),y&&(document.documentElement.style.height=y),p&&(document.body.style.width=p),y&&(document.body.style.height=y)},N=()=>{let c=W(),p=Array.from(document.querySelectorAll(\"[data-composition-id]\")).filter(y=>y.hasAttribute(\"data-duration\")||y.hasAttribute(\"data-end\"));for(let y of p){if(c&&y===c)continue;let S=y.getAttribute(\"data-duration\"),w=y.getAttribute(\"data-end\");S!=null&&!y.hasAttribute(jn)&&y.setAttribute(jn,S),w!=null&&!y.hasAttribute(Kn)&&y.setAttribute(Kn,w),y.removeAttribute(\"data-duration\"),y.removeAttribute(\"data-end\")}},_=()=>{let c=W();if(!c)return;c.style.position||(c.style.position=\"relative\"),c.style.overflow=\"hidden\";let p=B(c.getAttribute(\"data-width\")),y=B(c.getAttribute(\"data-height\"));p&&(c.style.width=p),y&&(c.style.height=y);let S=Array.from(c.children).filter(C=>{let L=C.tagName.toLowerCase();return L===\"script\"||L===\"style\"||L===\"link\"||L===\"meta\"||!C.hasAttribute(\"data-start\")?!1:!C.hasAttribute(\"data-hf-autostamped\")}),w=S.filter(C=>C.style.getPropertyValue(\"display\")===\"none\").map(C=>({el:C,priority:C.style.getPropertyPriority(\"display\")}));for(let{el:C}of w)C.style.removeProperty(\"display\");for(let C of S){let L=C.tagName.toLowerCase(),I=(C.style.top===\"0px\"||C.style.top===\"0\")&&(C.style.left===\"0px\"||C.style.left===\"0\")&&C.style.width===\"100%\"&&C.style.height===\"100%\",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(C.style.transform);if(I&&q&&!C.hasAttribute(\"data-width\")&&!C.hasAttribute(\"data-height\")){let ce=C.style.top,ge=C.style.left,$e=C.style.width,st=C.style.height;C.style.top=\"\",C.style.left=\"\",C.style.width=\"\",C.style.height=\"\";let ze=window.getComputedStyle(C);ze.top!==\"auto\"||ze.bottom!==\"auto\"||ze.left!==\"auto\"||ze.right!==\"auto\"||ze.width!==\"0px\"||ze.height!==\"0px\"||(C.style.top=ce,C.style.left=ge,C.style.width=$e,C.style.height=st)}let ee=window.getComputedStyle(C),me=ee.position;if(me!==\"absolute\"&&me!==\"fixed\"&&(C.style.position=\"absolute\"),L!==\"audio\"){let ce=B(C.getAttribute(\"data-width\")),ge=B(C.getAttribute(\"data-height\")),$e=ee.width!==\"0px\"&&ee.width!==\"auto\",st=ee.height!==\"0px\"&&ee.height!==\"auto\";ce?!C.style.width&&!$e&&(C.style.width=ce):!C.style.width&&ee.width===\"0px\"&&(C.style.width=\"100%\"),ge?!C.style.height&&!st&&(C.style.height=ge):!C.style.height&&ee.height===\"0px\"&&(C.style.height=\"100%\")}}for(let{el:C,priority:L}of w)C.style.setProperty(\"display\",\"none\",L)},G=c=>je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:c}),X=null,U=c=>{let p=X;X=G(!0);try{return c()}finally{X=p}},j=c=>c&&X?X:G(c),V=(c,p=0,y)=>j(y?.includeAuthoredTimingAttrs??!0).resolveStartForElement(c,p),J=(c,p)=>j(p?.includeAuthoredTimingAttrs??!0).resolveDurationForElement(c),Y=c=>{let p=c.closest(\"[data-composition-id]\"),y=p?V(p,0):null,S=p?J(p,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:p,inheritedStart:y,inheritedDuration:S}},P=c=>j(!0).resolveMediaStartForElement(c);window.__hfResolveMediaStartSeconds=P,a.push(()=>{window.__hfResolveMediaStartSeconds===P&&delete window.__hfResolveMediaStartSeconds});let K=!!document.querySelector(\"[data-composition-src]\"),Q=!1;{let c=document.querySelectorAll(\"[data-composition-id]:not([data-composition-src])\");for(let p of c){let y=p.getAttribute(\"data-composition-id\");if(y&&p.children.length===0&&document.querySelector(`template#${CSS.escape(y)}-template`)){Q=!0;break}}}let le=!K&&!Q,Z=c=>{if(!c||typeof c.duration!=\"function\")return null;try{let p=Number(c.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},z=c=>typeof c==\"number\"&&Number.isFinite(c)&&c>It,se=()=>Array.from(document.querySelectorAll(\"video[data-start], audio[data-start]\")).length===0?null:U(()=>qp(document,{mediaStart:P,mediaDuration:Bn})),pt=()=>{let c=W();if(!c)return null;let p=window.__timelines??{},y=je({timelineRegistry:p,includeAuthoredTimingAttrs:!0});return jp(c,y)},Ke=()=>{let c=window;return!!(c.lottie||c.DotLottie)},kn=()=>{let c=W();if(!c)return ir({authoredDurationSeconds:null,clipEndsSeconds:[]});let p=je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:!0});return Kp(c,p,{unregisteredLottie:Ke()})},it=null,fy=()=>{if(vr)return kn();let c=Er();return it?.revision!==c&&(it={revision:c,result:kn()}),it.result},my=c=>{window.__hf=window.__hf||{},window.__hf.durationSource={source:c.source,seconds:c.seconds,pendingClips:c.pendingClips},c.source===\"derived\"&&E(\"composition_duration_derived\",{source:c.source,seconds:c.seconds,pendingClips:c.pendingClips},`composition_duration_derived:${c.seconds}`)},py=()=>{let c=se();return typeof c!=\"number\"||!Number.isFinite(c)||c<=It?null:c},hy=c=>z(c)?Math.max(It,c*O):It,Xa=(c=!1)=>{let p=0;for(let y of e.deterministicAdapters){let S=c?y.getAnimationCycleEndSeconds:y.getInferredDurationSeconds;if(typeof S!=\"function\")continue;let w=null;try{w=S()}catch(C){H(\"runtime.init.adapterDuration\",C)}typeof w==\"number\"&&Number.isFinite(w)&&w>0&&(p=Math.max(p,w))}return p>It?p:null},vr=!1,Pc=()=>vr&&window.__HF_EXPORT_RENDER_SEEK_CONFIG!=null,gy=[\"data-start\",\"data-duration\",\"data-end\",\"data-composition-id\",\"data-composition-src\",\"data-composition-file\",\"data-root\",\"data-hf-authored-duration\",\"data-hf-authored-end\",\"data-hf-auto-start\",Io,\"data-playback-rate\",\"data-automation\",\"data-playback-start\",\"data-media-start\",\"id\",\"src\"],Oc=[\"loadedmetadata\",\"durationchange\",\"emptied\"],$i=null,Hc=-1,Gc=null,cn=null,Bc=0,Bt=()=>{},Mn=()=>{Bc+=1,Bt()},Uc=()=>({media:py(),authoredComposition:pt()}),by=()=>{let c=window.__timelines??{},p=\"\";for(let y of Object.keys(c)){let S=c[y];S&&(p+=`${y}=${Z(S)??\"?\"};`)}return p},xy=()=>{if(!(cn||typeof MutationObserver>\"u\")){cn=new MutationObserver(Mn),cn.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...gy,\"data-width\",\"data-height\"]});for(let c of Oc)document.addEventListener(c,Mn,!0);a.push(()=>{cn?.disconnect(),cn=null,Mn();for(let c of Oc)document.removeEventListener(c,Mn,!0)})}},Er=()=>{xy(),cn&&cn.takeRecords().length>0&&Mn();let c=by();return c!==Gc&&(Gc=c,Mn()),Bc},Wc=c=>vr?Uc():(c??(c=Er()),$i&&Hc===c||(Hc=c,$i=Uc()),$i),Be=(c,p=0,y)=>{let S=null,w=Xp({declared:Ce(W()?.getAttribute(\"data-duration\")),timeline:()=>Z(c),floors:()=>{let{media:C,authoredComposition:L}=Wc(y);return[C,L,Xa()]},fallback:p,derived:()=>(S=fy(),S.seconds??0)});return S?my(S):window.__hf?.durationSource&&delete window.__hf.durationSource,w},Ya=new WeakMap,Vc=null,Ja=()=>{let c=window.__timelines??{},p=oe=>{let te=Object.entries(c).filter($=>!!$[1]&&typeof $[1].play==\"function\"&&typeof $[1].pause==\"function\");if(te.length!==1)return{timeline:null};let re=te[0];if(!re)return{timeline:null};let[ue,we]=re;return{timeline:we,selectedTimelineIds:[ue],selectedDurationSeconds:Z(we),diagnostics:{code:\"root_timeline_sole_registered_fallback\",details:{reason:oe,soleTimelineId:ue}}}},y=je({timelineRegistry:c,includeAuthoredTimingAttrs:!0}),{media:S,authoredComposition:w}=Wc(),C=Math.max(S??0,w??0)||null,L=hy(C),I=oe=>{let te=document.querySelector(`[data-composition-id=\"${CSS.escape(oe)}\"]`);return te?y.resolveStartForElement(te,0):0},q=(oe,te)=>{let re=I(te.compositionId);oe.add(te.timeline,re),Ya.set(te.timeline,{hostId:te.compositionId,parent:oe,at:re})},ee=(oe,te)=>{let re=te.timeline,ue=Ya.get(re);return ue&&ue.parent===oe&&re.parent===oe?ue:null},me=(oe,te)=>Math.abs(oe.at-I(te.compositionId))<1e-6,Ue=(oe,te)=>{let re=ee(oe,te);!re||me(re,te)||q(oe,te)},ce=oe=>{let te=window.gsap;if(!te||typeof te.timeline!=\"function\")return null;let re=te.timeline({paused:!0});for(let ue of oe)q(re,ue);return Rr($e(re,oe)),re},ge=(oe,te)=>{if(!z(oe))return null;let re=window.gsap;if(!re||typeof re.timeline!=\"function\")return null;let ue=re.timeline({paused:!0});if(te){try{ue.add(te,0)}catch($){H(\"runtime.init.site2\",$)}Rr($e(ue,[{timeline:te}]))}let we=ue;if(typeof we.to==\"function\")try{we.to({},{duration:oe,data:Mr})}catch($){H(\"runtime.init.site3\",$)}return ue},$e=(oe,te)=>{if(!oe||typeof oe.getChildren!=\"function\")return[];try{let re=oe.getChildren(!0,!0,!0);return Array.isArray(re)?te.filter(ue=>re.includes(ue.timeline)):[]}catch{return[]}},st=(oe,te)=>{let re=oe,ue={addedIds:[],nested:[]};if(typeof re.getChildren!=\"function\")return ue;try{let we=re.getChildren(!0,!0,!0)??[];if(!Array.isArray(we))return ue;let $=[];for(let ie of te){if(we.includes(ie.timeline)){Ue(oe,ie);continue}try{q(oe,ie),$.push(ie.compositionId)}catch(he){H(\"runtime.init.site4\",he)}}return{addedIds:$,nested:$e(oe,te)}}catch{return ue}},ze=W(),Re=ze?.getAttribute(\"data-composition-id\")??null;if(!Re)return p(\"root_missing_composition_id\");let Fe=c[Re]??null,Te=(()=>{if(!ze)return[];let oe=new Set,te=Array.from(ze.querySelectorAll(\"[data-composition-id]\")),re=[];for(let ue of te){let we=ue.getAttribute(\"data-composition-id\");if(!we||we===Re||oe.has(we))continue;oe.add(we);let $=c[we]??null;if(!$||typeof $.play!=\"function\"||typeof $.pause!=\"function\")continue;let ie=Z($);re.push({compositionId:we,timeline:$,durationSeconds:ie??0})}return re})(),Rr=oe=>{for(let te of oe){let re=te.timeline;if(typeof re.paused==\"function\")try{re.paused(!1)}catch(ue){H(\"runtime.init.site5\",ue)}}};if(Fe){let oe=Te.length>0?st(Fe,Te):{addedIds:[],nested:[]},te=oe.addedIds;if(Rr(oe.nested),(Te.length>0||!document.querySelector(\"[data-composition-id]:not([data-composition-id='\"+Re+\"'])\"))&&(Nn=!0),te.length>0)try{let $=Fe.time();Fe.seek($,!1)}catch{}lk(Fe);let re=Z(Fe);if(!z(re)&&Te.length>0){let $=Te.map(qe=>qe.compositionId),ie=ce(Te),he=Z(ie);if(ie&&z(he))return{timeline:ie,selectedTimelineIds:$,selectedDurationSeconds:he,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_fallback\",details:{rootCompositionId:Re,rootDurationSeconds:re,fallbackKind:\"composite_by_root_children\",minCandidateDurationSeconds:L,selectedDurationSeconds:he,mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:$,autoNestedChildren:te}}};let be=ge(C??0,Fe),We=Z(be);if(be&&z(We))return{timeline:be,selectedTimelineIds:[Re],selectedDurationSeconds:We,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_media_floor_fallback\",details:{rootCompositionId:Re,rootDurationSeconds:re,fallbackKind:\"media_duration_floor\",mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:We,selectedTimelineIds:[Re],autoNestedChildren:te}}}}if(!z(re)&&Te.length===0){let $=ge(C??0,Fe),ie=Z($);if($&&z(ie))return{timeline:$,selectedTimelineIds:[Re],selectedDurationSeconds:ie,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_media_floor_fallback\",details:{rootCompositionId:Re,rootDurationSeconds:re,fallbackKind:\"media_duration_floor\",mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:ie,selectedTimelineIds:[Re]}}}}let ue=Ce(ze?.getAttribute(\"data-duration\")),we=Math.max(z(ue)?ue:0,w??0);if(we>0&&z(we)&&z(re)&&we>=re+.5){let $=Fe;if(typeof $.to==\"function\")try{$.to({},{duration:0,data:Mr},we)}catch(he){H(\"runtime.init.site6\",he)}let ie=Z(Fe);if(z(ie))return{timeline:Fe,selectedTimelineIds:[Re],selectedDurationSeconds:ie,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_padded_to_declared_duration\",details:{rootCompositionId:Re,rootDurationSeconds:re,rootDeclaredDur:ue,authoredCompositionDurationFloorSeconds:w,newDur:ie}}}}return{timeline:Fe,selectedTimelineIds:[Re],selectedDurationSeconds:re,mediaDurationFloorSeconds:S,diagnostics:te.length>0?{code:\"root_timeline_auto_nested_children\",details:{rootCompositionId:Re,selectedDurationSeconds:re,autoNestedChildren:te}}:void 0}}if(Te.length>0){let oe=Te.map($=>$.compositionId),te=Vc,re=te?.size===Te.length&&z(Z(te.timeline))&&Te.every($=>{let ie=ee(te.timeline,$);return ie!==null&&me(ie,$)})?te.timeline:null,ue=re??ce(Te),we=Z(ue);if(ue)return re||(Vc={timeline:ue,size:Te.length}),{timeline:ue,selectedTimelineIds:oe,selectedDurationSeconds:we,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_missing_fallback\",details:{rootCompositionId:Re,fallbackKind:\"composite_by_root_children\",minCandidateDurationSeconds:L,selectedDurationSeconds:we,mediaDurationFloorSeconds:S,selectedTimelineIds:oe}}}}return p(\"root_composition_id_unmatched_in_registry\")},Nn=!1,yy=c=>{let p=window.gsap,y=c;if(!(!y||typeof y.getChildren!=\"function\"||!p||typeof p.parseEase!=\"function\"))for(let S of y.getChildren(!0,!0,!0)){let w=S,C=w.timeline;if(!C||!(\"_ease\"in C)||typeof C._ease==\"function\")continue;let L=w.vars?.keyframes,q=(L&&!Array.isArray(L)?L.ease:void 0)??w.vars?.ease??\"none\";try{let ee=p.parseEase(q);typeof ee==\"function\"&&(C._ease=ee)}catch(ee){Qe(\"keyframe_ease_repair_failed\",{ease:typeof q==\"string\"?q:String(q)}),H(\"runtime.keyframeEase.repair\",ee)}}},Ln=()=>{if(x(),!le)return!1;let c=e.capturedTimeline,p=Z(c),y=z(p);if(c&&y&&Nn)return!1;let S=Ja();if(!S.timeline)return!1;if(c&&c===S.timeline)return typeof c.timeScale==\"function\"&&c.timeScale(e.playbackRate),!1;e.capturedTimeline=S.timeline,typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate),yy(e.capturedTimeline);let w=Be(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress==\"function\"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),Tt(e.capturedTimeline)),w>0){try{d.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime==\"function\"){typeof e.capturedTimeline.progress==\"function\"&&e.capturedTimeline.progress(1e-4,!0);let L=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(L,!1),Tt(e.capturedTimeline)}let C=window.__hfStudioManualEditsApply;typeof C==\"function\"&&C(),Ci(document)}if(S.diagnostics&&Ee({source:\"hf-preview\",type:\"diagnostic\",code:S.diagnostics.code,details:S.diagnostics.details}),Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_bound\",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=W(),L=w>0?w:0,I=String(L>0?L:1),q=new Set,ee=ce=>ce.tagName.toLowerCase()===Yn,me=new Set(document.querySelectorAll(\"[data-start]\")),Ue=ce=>{let ge=ce.parentElement;for(;ge&&ge!==C;){if(me.has(ge))return!0;ge=ge.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ce of e.capturedTimeline.getChildren(!0))if(typeof ce.targets==\"function\")for(let ge of ce.targets())xe(ge)&&ge!==C&&(ee(ge)||ge.hasAttribute(\"data-start\")||Ue(ge)||q.has(ge)||(q.add(ge),ge.setAttribute(\"data-start\",\"0\"),ge.setAttribute(\"data-duration\",I),ge.setAttribute(\"data-hf-autostamped\",\"1\")))}catch{}if(xe(C))for(let ce of C.querySelectorAll(\"[id]\"))xe(ce)&&ce!==C&&(ce.hasAttribute(\"data-start\")||Ue(ce)||q.has(ce)||ce.tagName===\"SCRIPT\"||ce.tagName===\"STYLE\"||ce.tagName===\"LINK\"||ee(ce)||(q.add(ce),ce.setAttribute(\"data-start\",\"0\"),ce.setAttribute(\"data-duration\",I),ce.setAttribute(\"data-hf-autostamped\",\"1\")))}for(let C of Ut)Ar.delete(C),Qa(C);return!0},$c=()=>{if(e.tornDown)return;let c=Ja();if(!c.timeline){e.capturedTimeline=null,Nn=!1,d.setDuration(0),fn(e.currentTime);return}if(e.capturedTimeline!==c.timeline)Nn=!1,Ln();else{let p=Be(e.capturedTimeline,0);p>0&&p!==d.getDuration()&&(d.setDuration(p),ot())}fn(e.currentTime)};t=()=>{$c(),ot()},window.__hfForceTimelineRebind=$c;let Sy=()=>{let c=W();if(!xe(c))return;let p=c.getBoundingClientRect(),y=En(c.getAttribute(\"data-width\")),S=En(c.getAttribute(\"data-height\")),w=window.getComputedStyle(c),C=y!==null&&S!==null,L=p.width<=0||p.height<=0||c.clientWidth<=0||c.clientHeight<=0;!C||!L||E(\"root_stage_layout_zero\",{compositionId:c.getAttribute(\"data-composition-id\")??null,declaredWidth:y,declaredHeight:S,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:c.clientWidth,clientHeight:c.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${c.getAttribute(\"data-composition-id\")??\"unknown\"}`)},vy=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Sy()}))},Ey=()=>{i=c=>{let p=M(c.error??c.message).slice(0,R);if(!p)return;let y=T(p);Ee({source:\"hf-preview\",type:\"diagnostic\",code:y.code,details:{category:y.category,message:p,filename:c.filename||null,line:Number.isFinite(c.lineno)?c.lineno:null,column:Number.isFinite(c.colno)?c.colno:null}})},o=c=>{let p=M(c.reason).slice(0,R);if(!p)return;let y=T(p);Ee({source:\"hf-preview\",type:\"diagnostic\",code:`${y.code}_unhandled_rejection`,details:{category:`${y.category}-unhandled-rejection`,message:p}})},window.addEventListener(\"error\",i),window.addEventListener(\"unhandledrejection\",o)},zc=new WeakSet,Ay=()=>{let c=Array.from(document.querySelectorAll(\"img, video, audio, source, link[rel='stylesheet']\"));for(let y of c){if(zc.has(y))continue;zc.add(y);let S=()=>{if(!ke(y))return;let w=y.tagName.toLowerCase(),C=y.getAttribute(\"src\")??y.getAttribute(\"href\")??y.getAttribute(\"poster\")??null,L=w===\"link\"?\"runtime_stylesheet_load_failed\":\"runtime_asset_load_failed\";E(L,{tagName:w,assetUrl:C,currentSrc:(Ie(y)||pe(y))&&y.currentSrc||null,readyState:pe(y)?y.readyState:null,networkState:pe(y)?y.networkState:null},`${L}:${w}:${C??\"unknown\"}`)};y.addEventListener(\"error\",S),A(()=>{y.removeEventListener(\"error\",S)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let y=Array.from(p).filter(S=>S.status===\"error\").map(S=>S.family).filter(S=>!!S).slice(0,10);y.length!==0&&E(\"runtime_font_load_issue\",{failedFamilies:y,totalFaces:Array.from(p).length},`runtime-font-load-issue:${y.join(\"|\")}`)}).catch(()=>{})},wy=(c,p)=>{if(!c.timeline)return!1;let y=e.capturedTimeline;if(y&&y===c.timeline)return!1;let S=Math.max(0,e.currentTime||0);e.capturedTimeline=c.timeline,typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate);try{Tt(e.capturedTimeline),typeof e.capturedTimeline.seek==\"function\"&&e.capturedTimeline.seek(S,!1)}catch(w){H(\"runtime.init.site7\",w)}return Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_loop_guard_rebind\",details:{reason:p,previousTime:S,selectedTimelineIds:c.selectedTimelineIds??[],selectedDurationSeconds:c.selectedDurationSeconds??null,mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),!0},dn=null,qc=!1,Ut=new Set,Ar=new WeakMap,zi=()=>{e.tornDown||(dn!=null&&window.clearTimeout(dn),dn=window.setTimeout(()=>{if(e.tornDown||(dn=null,Pc()))return;let c=Ja();if(!c.timeline||!z(c.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){Ln()&&(ot(),Oe(!0));return}if(qc)return;let y=Z(e.capturedTimeline),S=c.selectedDurationSeconds??Z(c.timeline);z(S)&&(!z(y)||S>=y+F)&&wy(c,\"manual\")&&(qc=!0,Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_rebind_after_media_metadata\",details:{previousDurationSeconds:y??null,selectedDurationSeconds:S??null,selectedTimelineIds:c.selectedTimelineIds??[],mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),ot(),Oe(!0))},D))},jc=c=>{pe(c.currentTarget)&&ep(c.currentTarget)},Kc=c=>{pe(c.currentTarget)&&tp(c.currentTarget)},Xc=c=>{_c(c)&&Jb(c)&&br(c,gr(c))},Yc=c=>{let p=c.currentTarget;pe(p)&&Xc(p)},Jc=c=>{c.removeEventListener(\"loadedmetadata\",zi),c.removeEventListener(\"durationchange\",zi),c.removeEventListener(\"loadedmetadata\",jc),c.removeEventListener(\"loadedmetadata\",Yc),c.removeEventListener(\"error\",Kc),Ut.delete(c)},_y=()=>{for(let c of Ut)Jc(c)},Cy=()=>{for(let c of Ut)c.isConnected||(Jc(c),c.pause(),Ds(c))},Qc=c=>{let p=Number.parseFloat(c.dataset.volume??\"\");return Number.isFinite(p)?Math.max(0,Math.min(1,p)):null},qi=()=>{if(e.tornDown)return;let c=Array.from(document.querySelectorAll(\"video, audio\")),p=[];for(let y of c){if(Ut.has(y))continue;Ut.add(y);let S=Qc(y);S!==null&&(y.volume=S),y.addEventListener(\"loadedmetadata\",zi),y.addEventListener(\"durationchange\",zi),y.addEventListener(\"loadedmetadata\",Yc),Xc(y),y.addEventListener(\"loadedmetadata\",jc),y.addEventListener(\"error\",Kc),Zm(y),rs(y)?p.push(y):Ao(y),Qa(y)}p.length>0&&fn(e.currentTime,p)},Qa=c=>{Ar.has(c)||Cm(c,e.capturedTimeline,Be(e.capturedTimeline,0),Ar,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Za=new WeakMap,Ry=c=>{let p=Za.get(c);if(p!==void 0)return p;let y=window.getComputedStyle(c).position,S=y===\"static\"||y===\"relative\"||y===\"sticky\";return Za.set(c,S),S},es=new WeakMap,Ty=c=>{let p=es.get(c);if(p!==void 0)return p;let y=c.querySelector(\"[data-start]\")===null;return es.set(c,y),y},ky=()=>{Za=new WeakMap,es=new WeakMap},ji=new WeakMap,Zc=(c,p)=>{if(!ji.has(c)){let y=c.style.getPropertyValue(\"display\"),S=c.style.getPropertyPriority(\"display\"),w=p&&y===\"none\"&&!S;ji.set(c,w?{value:\"\",priority:\"\"}:{value:y,priority:S})}c.style.display=\"none\"},ed=c=>{let p=ji.get(c);p&&(ji.delete(c),p.value?c.style.setProperty(\"display\",p.value,p.priority):c.style.removeProperty(\"display\"))},Ki=new WeakSet,Xi=!1,td=c=>pe(c)&&c.hasAttribute(\"data-start\")&&(_c(c)||m.routesElement(c)),nd=c=>td(c)||Array.from(c.querySelectorAll(Rx)).some(td),rd=new WeakMap,My=(c,p)=>{for(let y of Ac(document)){if(Ho(y)!==c||m.routesElement(y)||h(y))continue;let S=P(y),w=Ce(y.dataset.duration),C=w!=null&&w>0?S+w:1/0;if(Number.isFinite(S)&&p<C)return!0}return!1},Ny=c=>{let p=!1;for(let y of document.querySelectorAll(Yn)){let S=y.hasAttribute(\"data-hidden\"),w=rd.get(y);w!==S&&(rd.set(y,S),y.id&&(m.setGroupMuted(y.id,S),w&&!S&&My(y.id,c)&&(p=!0)))}return p},id=c=>{let p=Be(e.capturedTimeline,0,c);return(y,S)=>Qo(y,{currentTime:S,compositionDuration:p,canonicalFps:e.canonicalFps,exportRenderSeek:!!window.__HF_EXPORT_RENDER_SEEK_CONFIG,timelineRegistry:window.__timelines??{},resolver:j(!0)})},od=(c,p,y,S)=>{for(let w=c;w&&w!==S;w=w.parentElement)if(xe(w)&&w.hasAttribute(\"data-start\")&&!y(w,p))return!1;return!0},ts=Ur(),Ly=2,ad=4,ns=(c,p,y,S=Ly)=>{let w=pe(c)?P(c):V(c,Number.NaN),C=w+(J(c)??Number.NaN);return w>y&&w<=y+S||C<=y&&C>=y-S||p(c,y+S)},Yi=null,rs=c=>ts&&c.hasAttribute(\"data-start\")&&Ps(c),wr=new WeakMap,sd=new WeakMap,Ji=new WeakSet,ld=c=>c.parentElement?.closest(\"[data-composition-id]\"),Fy=c=>{let p=rr(c,Number.NaN),y=Zi(Array.from(Ut).filter(C=>C.isConnected&&rr(C,Number.NaN)===p&&ld(C)===ld(c))).mediaClips,S=y.find(C=>C.el===c)?.end??Number.NaN,w;for(let C of y)C.el!==c&&C.start>=S-_o(S)&&!(w&&w.start<=C.start)&&(w=C);!w||!rs(w.el)||(sd.set(w.el,c),wr.get(w.el)!==!0&&(wr.set(w.el,!0),Ao(w.el)))},Iy=(c,p,y)=>{let S=d.isPlaying();p&&S?Ji.has(c)||(Ji.add(c),Fy(c)):Ji.delete(c);let w=sd.get(c),C=p||y||w!==void 0&&Ji.has(w),L=wr.get(c);L!==C&&(wr.set(c,C),C?(!p||L===void 0)&&Ao(c):c.preload!==\"none\"&&(c.preload=\"none\",L&&kf(c)))},Dy=(c,p,y)=>wr.get(c)===!0&&ns(c,p,y,ad)||Yi!==null&&d.isPlaying()&&(p(c,Yi)||ns(c,p,Yi,ad)),Py=(c,p,y)=>{let S=W(),w=!1,C=id(y);for(let I of p){if(!xe(I))continue;if(I.hasAttribute(\"data-hidden\")){Ki.has(I)||(Ki.add(I),nd(I)&&(Xi=!0)),Zc(I,!1),(ye(I)||Ie(I))&&r?.setSourceVisibility(I,!1);continue}Ki.has(I)&&(ed(I),Ki.delete(I),nd(I)&&(Xi=!0));let q=C(I,c)&&od(I.parentElement,c,C,S);I.style.visibility=q?\"visible\":\"hidden\";let ee=ts&&!q&&ns(I,C,c);ee&&!I.hasAttribute(Wn)&&Ax(I),I.toggleAttribute(Wn,ee),pe(I)&&Ut.has(I)&&rs(I)&&Iy(I,q,ee||Dy(I,C,c)),!pe(I)&&!Ie(I)&&(w=!0),(ye(I)||Ie(I))&&r?.setSourceVisibility(I,q),q?ed(I):Ry(I)&&Ty(I)&&Zc(I,!0)}w&&Tf()&&r?.refresh();let L=Ny(c);if((Xi||L)&&d.isPlaying()){m.stopAll();for(let I of Ac(document))h(I)&&(I.volume=0);fs()}Xi=!1},fn=(c,p=Array.from(document.querySelectorAll(\"[data-start]\")),y)=>U(()=>Py(c,p,y)),Oy=c=>U(()=>{if(!ts)return[];let p=W(),y=id();return Array.from(document.images).filter(S=>S.closest('[data-start][style*=\"visibility: hidden\"]')!==null&&(S.closest(Br)!==null||!S.complete)&&od(S,c,y,p))}),_r=null,mn=null,Qi=[],ud=c=>c.hasAttribute(\"data-start\")||!!Y(c).compositionRoot,Zi=c=>Hm({elements:c,shouldIncludeElement:ud,resolveStartSeconds:p=>P(p),resolveDurationSeconds:p=>{let y=Y(p),S=P(p),w=y.inheritedStart!=null&&y.inheritedDuration!=null&&y.inheritedDuration>0?Math.max(0,y.inheritedStart+y.inheritedDuration-S):null,C=Number.isFinite(p.duration)?xt(p,p.duration):null,L=Ce(p.dataset.duration),I=L!=null&&L>0?L:null;return Om({isVideo:p.tagName===\"VIDEO\",sourceDuration:C,hostRemaining:w,explicitDuration:I})}}),Hy=()=>{let c=Er();if(_r&&_r.revision===c)return _r;let p=Zi().mediaClips;return _r={revision:c,clips:p,byStart:[...p].sort((y,S)=>y.start-S.start),byEnd:[...p].sort((y,S)=>y.end-S.end)},mn=null,Qi=[],_r},cd=(c,p,y,S)=>{let w=0,C=c.length;for(;w<C;){let I=w+C>>1;p(c[I])<y?w=I+1:C=I}let L=[];for(let I=w;I<c.length&&p(c[I])<=S;I+=1)L.push(c[I]);return L},Gy=(c,p,y)=>{let S=mn;if(S===null)return c.clips.map(q=>q.el);let w=2*_o(Math.max(Math.abs(S),Math.abs(p))),C=Math.min(S,p)-w,L=Math.max(S,p)+w,I=new Set;for(let q of Qi)I.add(q.el);for(let q of cd(c.byStart,ee=>ee.start,C,L+y))I.add(q.el);for(let q of cd(c.byEnd,ee=>ee.end,C,L))I.add(q.el);return[...I]},eo=new WeakSet,dd=c=>{eo.add(c)},fd=c=>{eo.delete(c),Bt()};window.__hf.leasePausedMedia=dd,window.__hf.releasePausedMedia=fd,window.__hf.setLoopStart=c=>{Yi=c!=null&&Number.isFinite(c)&&c>=0?c:null};let By=c=>{let p=Ya.get(c)?.hostId,y=p?document.querySelector(`[data-composition-id=\"${CSS.escape(p)}\"]`):null,S=y?J(y):null;return y&&S?V(y,0)+S:1/0},md=c=>{let p=0;for(let y of c){if(y.data===Mr)continue;let S=y.getChildren?y:y.timeline,w=Number(y.duration?.())/Number(S?.duration?.()),C=S?.getChildren?md(S.getChildren(!1,!0,!0))*(Number.isFinite(w)&&w>0?w:1):Number(y.duration?.())||0,L=Math.abs(Number(y.timeScale?.())||1),I=(Number(y.startTime?.())||0)+C/L;I>=Jo||(p=Math.max(p,Math.min(I,By(y))))}return p};window.__hf.animationEnd=()=>{let c=e.capturedTimeline,p=c?.getChildren?md(c.getChildren(!1,!0,!0)):Z(c)??0,y=Math.max(p,Xa(!0)??0);return y>0&&y<Jo?y:null},window.__hf.audioMeter={start:()=>m.startMetering(),stop:()=>m.stopMetering(),read:()=>m.readLevels()};let Uy=()=>{for(let c of document.querySelectorAll(\"video, audio\"))if(pe(c)&&!c.paused&&ud(c)&&!eo.has(c))return!0;return!1},pd=()=>Bt();document.addEventListener(\"play\",pd,!0),a.push(()=>{document.removeEventListener(\"play\",pd,!0)});let Xe=c=>{let p=!vr,y=e.isPlaying&&!e.mediaForceSyncNextTick&&mn!==null?Math.min(Math.max(0,e.currentTime-mn),Kt*Math.min(1,e.playbackRate)):0,S=U(()=>{if(!p)return Zi().mediaClips;let L=Hy();return Zi(Gy(L,e.currentTime,y)).mediaClips});for(let L of S){let I=Ar.get(L.el);I&&(L.volumeKeyframes=I)}let w=e.isPlaying?S:S.filter(L=>!eo.has(L.el)),C=e.mediaForceSyncNextTick;C&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||(Gm({clips:w,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:C,cueAheadSeconds:y,getCompositionDuration:()=>Be(e.capturedTimeline,0,c),onElementVolume:(L,I,q)=>m.setElementVolume(L,q),isWebAudioOwned:L=>m.ownsElement(L),isWebAudioRouted:L=>m.routesElement(L),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ee({source:\"hf-preview\",type:\"media-autoplay-blocked\"}))}}),p?(mn=e.currentTime,Qi=S.filter(L=>jt(e.currentTime,L.start-Kt,L.end))):(mn=null,Qi=[])),fn(e.currentTime,void 0,c)},Oe=c=>{c&&Bt();let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),y=Date.now();(c||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||y-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=y,Ee({source:\"hf-preview\",type:\"state\",frame:p,currentTime:e.currentTime||0,ended:d.reachedEnd(),isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},is=\"\",hd=!1,gd=!1,bd=0,xd=\"\",Wy=()=>{let c=\"\";for(let p of document.querySelectorAll(\"[data-start]\"))c+=`${p.id}:${p.tagName}|`;return c},ot=()=>{N(),ne(),_();let c=W();if(c){let{width:S,height:w}=zp(c);S!==null&&w!==null&&Ee({source:\"hf-preview\",type:\"stage-size\",width:S,height:w})}Ln();let p=Hl({canonicalFps:e.canonicalFps});window.__clipManifest=p,xd=JSON.stringify(p);let y=Wy();if(is!==y&&ky(),!window.__clipTree||is!==y){let S=window;window.__clipTree=Gp({startResolver:je({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),is=y}Ee({...p,assetsReady:gd}),hd||(hd=!0,fx(document,({timedOut:S})=>{e.tornDown||(gd=!0,Ee({source:\"hf-preview\",type:\"assets-ready\",timedOut:S}))})),vy()},Vy=()=>{JSON.stringify(Hl({canonicalFps:e.canonicalFps}))!==xd&&ot()},os=c=>typeof c==\"number\"&&Number.isFinite(c)&&c>0?c:0,$y=c=>{let p=os(Number(c));if(p<=0)return;let y=W(),S=os(Ce(y?.getAttribute(\"data-duration\"))),w=Math.max(bd,os(d.getDuration()),S);p<=w||(bd=p,y?.setAttribute(\"data-duration\",String(p)),d.setDuration(p),ot(),Oe(!0))},Ye=(c,p=0,y)=>{for(let S of e.deterministicAdapters){try{c===\"discover\"&&S.discover(),c===\"pause\"&&S.pause({pageAnimations:y}),c===\"play\"&&S.play&&S.play()}catch(w){H(\"runtime.init.site8\",w)}if(c===\"discover\")try{S.seek({time:p,suppressEvents:!0})}catch(w){H(\"runtime.init.site9\",w)}}},pn=()=>{window.__renderReady=!1},zy=vx(()=>{let c=[];for(let p of e.deterministicAdapters){let y=p.getReadyPromise;if(typeof y==\"function\")try{let S=y();S&&c.push(S)}catch(S){H(\"runtime.init.adapterReady\",S)}}return c},()=>pn(),c=>H(\"runtime.init.adapterReady\",c)),qy=vx(()=>{let c=window.__hf?.buildReady;return c?Object.values(c).filter(p=>p!=null&&typeof p.then==\"function\"):[]},()=>pn(),c=>H(\"runtime.init.buildReady\",c)),jy=()=>{qi(),Ay();let c=Mu();return wa(document),Fa(document.body,e.canonicalFps),c};if(le)Mu();else{let c={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:B,onDiagnostic:({code:p,details:y})=>{Ee({source:\"hf-preview\",type:\"diagnostic\",code:p,details:y})}};o0(c).finally(()=>{le=!0,jy(),pn()})}let yd=c=>{let p=new Set,y=S=>{for(let w of(S??\"\").matchAll(/url\\(\\s*(['\"]?)(.*?)\\1\\s*\\)|@import\\s+(['\"])(.*?)\\3/gi))p.add(w[2]??w[4]);for(let w of(S??\"\").matchAll(/image-set\\((?:[^()]|\\([^()]*\\))*\\)/gi))for(let C of w[0].matchAll(/(['\"])(.*?)\\1/g))p.add(C[2])};for(let S of c)if(S.tagName===\"STYLE\"&&y(S.textContent),!(S.tagName===\"STYLE\"||S.tagName===\"SCRIPT\"))for(let w of[S,...S.querySelectorAll(\"*\")]){let C=mk.get(w.localName)??[],L=[S0(w),...[...C,\"poster\",\"srcset\"].map(I=>w.getAttribute(I))];for(let I of L)I&&p.add(I);y(w.getAttribute(\"style\"))}return p},as=0,Ky=(c,p,y)=>{let S=new Map;for(let w of y?c.querySelectorAll(\"video, audio\"):[]){let C=Ui.get(w);if(!C||r?.isGraded(w))continue;let{srcObject:L,sinkId:I,mediaKeys:q}=w;L||I||q||S.set(C,[...S.get(C)??[],w])}for(let w of p.querySelectorAll(\"video, audio\")){let C=Cc(w),L=S.get(C)?.shift();if(!L||Ex(L)!==Ex(w)){Ui.set(w,C);continue}w.replaceWith(L),window.gsap?.set?.(L,{clearProps:\"all\"});let I=w.getAttribute(\"style\");I===null?L.removeAttribute(\"style\"):L.setAttribute(\"style\",I),g0(L);let q=L;q.volume=Qc(q)??1,q.muted=e.bridgeMuted||e.mediaOutputMuted||q.defaultMuted,q.defaultPlaybackRate=1,q.playbackRate=e.playbackRate,q.preservesPitch=!0}},Sd=c=>[c,...c.querySelectorAll(\"[data-composition-id]\")].flatMap(p=>p.getAttribute(\"data-composition-id\")||[]),Xy=(c,p,y,S)=>{let w=new Set(Sd(p).flatMap(I=>[y[I],...S[I]??[]])),C=new Set([p,...p.querySelectorAll(\"*\")]);for(let I of window.gsap?.globalTimeline?.getChildren?.(!0,!0,!1)??[]){if(!I.targets?.().some(ee=>C.has(ee)))continue;let q=I;for(;q&&!w.has(q);)q=q.parent;if(!q)throw new Error(`scene ${c} cannot be swapped: an animation outside it moves its elements`)}let L=I=>typeof I?.nodeType==\"number\"&&!C.has(I);for(let I of w)for(let q of I?[I,...I.getChildren?.(!0,!0,!1)??[]]:[])if(q.targets?.().some(L))throw new Error(`scene ${c} cannot be swapped: its animations write outside the scene`)},Yy=async(c,p)=>{let y=as,S=new DOMParser().parseFromString(c,\"text/html\"),w=Bi(document),C=Bi(S);if(!w||!C)throw new Error(\"no scene manifest\");if(w.shared!==C.shared)throw new Error(\"the film changed outside its scenes\");let L=Object.keys(C.scenes);if(L.length!==Object.keys(w.scenes).length||L.some($=>!($ in w.scenes)))throw new Error(\"scenes were added or removed\");let I=L.filter($=>C.scenes[$]!==w.scenes[$]);if(I.length===0)throw new Error(\"no scene changed\");let q=I.map($=>{let ie=gt=>Array.from(gt.querySelectorAll(`[${mu}=\"${CSS.escape($)}\"]`)),he=gt=>gt.tagName!==\"STYLE\"&&gt.tagName!==\"SCRIPT\",be=ie(document),We=ie(S),qe=be.filter(he),gn=We.filter(he),He=qe[0],$t=gn[0];if(!He||!$t||qe.length>1||gn.length>1)throw new Error(`scene ${$} cannot be swapped: it has no single host`);if(He.hasAttribute(\"data-hf-original-composition-id\"))throw new Error(`scene ${$} cannot be swapped: it is a duplicated instance`);let Hd=He.getAttribute(pu)??$t.getAttribute(pu);if(Hd!==null)throw new Error(`scene ${$} cannot be swapped: ${Hd}`);let cS=yd(be);if([...yd(We)].some(gt=>!cS.has(gt)))throw new Error(`scene ${$} cannot be swapped: it loads media this scene has not loaded`);let Gd=gt=>gt.filter(dS=>dS.tagName===\"STYLE\").length;if(Gd(be)!==Gd(We))throw new Error(`scene ${$} cannot be swapped: its styles moved`);return{name:$,oldParts:be,homes:be.map(gt=>gt.parentNode),newParts:We,oldHost:He,newHost:$t}}),ee=()=>{let $=W(),ie=new Set;for(let he of document.querySelectorAll(`[${mu}]`)){if(he.tagName===\"STYLE\"||he.tagName===\"SCRIPT\")continue;let be=he.parentElement;for(;be;be=be===$?null:be.parentElement)ie.add(be)}return[...ie].flatMap(he=>[he,...Array.from(he.children).filter(be=>!be.hasAttribute(\"data-hf-ignore\")),null])},me=ee(),Ue=q.some(({newHost:$})=>$.querySelector(\".caption-group\"))?await c0():[];if(e.tornDown)throw new Error(\"the preview was torn down during the swap\");if(p?.aborted)throw new Error(\"the swap was cancelled\");if(y!==as)throw new Error(\"the preview changed while this swap waited\");let ce=()=>{let $=({oldParts:be,homes:We})=>be.some((qe,gn)=>!qe.isConnected||qe.parentNode!==We[gn]),ie=ee();if(ie.length!==me.length||ie.some((be,We)=>be!==me[We])||q.some($))throw new Error(\"a scene changed while this swap waited\")};ce();let ge=()=>window.__timelines??(window.__timelines={}),$e=()=>window.__hfSceneAnimations??(window.__hfSceneAnimations={}),st=()=>{for(let{name:$,oldHost:ie}of q)Xy($,ie,ge(),$e())};st(),as+=1;let ze=e.capturedTimeline,Re=[],Fe=[],ps=q.flatMap(({oldHost:$})=>Sd($)),Te=new Set,Rr=()=>{let $=Te.size;for(let ie of ps)for(let he of[...($e()[ie]??[]).slice().reverse(),ge()[ie]]){if(!he||Te.has(he))continue;Te.add(he);let be=he;be.revert?be.revert():be.totalTime?.(0,!0),ze?.remove?.(he),be.revert||be.kill?.()}return Te.size>$},oe=0;for(;Rr();)if(++oe>8)throw new Error(\"the old scene keeps starting animations as they stop\");ce(),st();for(let $ of ps)delete ge()[$],delete $e()[$];m.stopAll(),d.detachAudioSource();for(let{oldParts:$,newParts:ie,oldHost:he,newHost:be}of q){let We=ie.filter(He=>He.tagName===\"STYLE\");$.filter(He=>He.tagName===\"STYLE\").forEach((He,$t)=>He.replaceWith(document.importNode(We[$t],!0)));for(let He of $)He!==he&&He.remove();let qe=document.importNode(be,!0),gn=He=>JSON.stringify(He.flatMap($t=>$t.tagName===\"SCRIPT\"?$t.textContent:[]));Ky(he,qe,gn($)===gn(ie)),he.replaceWith(qe),Fe.push(qe),qe.querySelector(\".caption-group\")&&Re.push(qe)}In();let te=q.flatMap(({newParts:$})=>$.filter(ie=>ie.tagName===\"SCRIPT\").map(ie=>document.body.appendChild(document.importNode(ie,!0))));if(await xa(te),e.tornDown)throw new Error(\"the preview was torn down during the swap\");document.querySelector(`meta[name=\"${wi}\"]`)?.setAttribute(\"content\",JSON.stringify(C));for(let $ of Fe)wa(document,$);qi();let re=()=>{for(let $ of Re)for(let ie of[$,...$.querySelectorAll(\"[data-composition-id]\")]){let he=ie.getAttribute(\"data-composition-id\");he&&window.__timelines?.[he]?.totalTime?.(0,!0)}};Fa(document.body,e.canonicalFps),Nu(Ue,Re,re),Cy(),Nn=!1,Ln();for(let $ of Fe)for(let ie of $.querySelectorAll(\"video, audio\"))Ar.delete(ie),Qa(ie);let ue=Be(e.capturedTimeline,0);ue>0&&d.setDuration(ue),Ye(\"discover\",e.currentTime),Ci(document);let we=d.isPlaying()&&ue>0&&e.currentTime>=ue;no.seek(we?ue:e.currentTime,{keepPlaying:!we}),fn(e.currentTime),ot()};Bi(document)&&(window.__hfSwapScenes=Yy,A(()=>{delete window.__hfSwapScenes}));let to=Pp({postMessage:c=>Ee(c)});to.installPickerApi(),fn(e.currentTime,Array.from(document.querySelectorAll(\"video[data-start], img[data-start]\")));let ht=Q0({lease:dd,release:fd});r=ht,A(()=>{ht.destroy(),r=null}),Fa(document.body,e.canonicalFps);let ss=c=>{let p=Number(c);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate);let y=document.querySelectorAll(\"video, audio\");for(let S of y)if(pe(S))try{S.playbackRate=e.playbackRate}catch(w){H(\"runtime.init.site10\",w)}},Jy=1e3,Wt=null,vd=()=>{let c=Wt;Wt=null,c?.apply()},Ed=(c,p)=>{m.stopAll(),d.detachAudioSource();let y=d.isPlaying();y&&d.pause(),d.seek(c),e.currentTime=d.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let S=e.capturedTimeline;Tt(S);let w=hn(e.currentTime);if(Ye(\"pause\",0,w),p?.keepPlaying&&y){no.play();return}Xe(),ht.redraw(),ic(e.currentTime),Oe(!0)},no={play:()=>{vd();let c=e.capturedTimeline;if(d.isPlaying())return;let p=Be(c,0);if(p>0){if(d.setDuration(p),d.reachedEnd()){let y=d.getPlayStart();d.seek(y),e.currentTime=y,hn(y)}}else{let y=W(),S=Number(y?.getAttribute(\"data-duration\")??0);S>0&&d.setDuration(S)}Tt(c),d.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Pd(d.now()),g&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&fs(),Ye(\"play\"),Xe(),ht.redraw(),Oe(!0))},pause:()=>{if(!d.isPlaying())return;m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1,e.currentTime=d.now(),e.mediaForceSyncNextTick=!0,Pd(e.currentTime);let c=e.capturedTimeline;Tt(c),Ye(\"pause\"),Xe(),ht.redraw(),Oe(!0)},seek:(c,p)=>{let y=Ys(Math.max(0,Number(c)||0),e.canonicalFps);Wt=null;let S=d.isPlaying()?[]:Oy(y);if(S.length===0){Ed(y,p);return}let w={time:y,apply:()=>Ed(y,p)};Wt=w;for(let ee of S){Ax(ee);for(let me=ee.closest(Br);me;me=ee.closest(Br))me.setAttribute(Wn,\"\")}let C=0,L=new Promise(ee=>{C=window.setTimeout(()=>{Wt===w&&H(\"runtime.init.seekHoldCap\",S),ee()},Jy)}),I=Promise.all(S.map(ee=>ee.decode?ee.decode().catch(()=>{}):void 0)),q=Promise.race([I,L]).then(()=>{window.clearTimeout(C),Wt===w&&vd()});return Ze(q),q},renderSeek:(c,p)=>{Wt=null,vr=!0;let y=Xo(Math.max(0,Number(c)||0),e.canonicalFps,p);m.stopAll(),d.detachAudioSource(),d.isPlaying()&&d.pause(),d.seek(y),e.currentTime=d.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let S=hn(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents});Ye(\"pause\",0,S),Xe(),ht.redraw(),ic(e.currentTime,{engineMode:!0}),Oe(!0)},getTime:()=>Wt?.time??d.now(),getDuration:()=>{let c=d.getDuration();return Number.isFinite(c)?c:0},isPlaying:()=>d.isPlaying(),setPlaybackRate:c=>{ss(c),d.setRate(e.playbackRate),Od()},getPlaybackRate:()=>e.playbackRate},Ad=Be(e.capturedTimeline,0);Ad>0&&d.setDuration(Ad);let at=Hp({getTimeline:()=>e.capturedTimeline,setTimeline:c=>{e.capturedTimeline=c},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:c=>{e.isPlaying!==c&&(e.mediaForceSyncNextTick=!0),e.isPlaying=c},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:ss,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(c,p)=>{e.currentTime=Math.max(0,Number(c)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Xe()},onStatePost:Oe,onDeterministicSeek:(c,p)=>{for(let y of e.deterministicAdapters)if(!(y.name===\"gsap\"&&e.capturedTimeline))try{y.seek({time:Number(c)||0,suppressEvents:p?.suppressEvents})}catch(S){H(\"runtime.init.site11\",S)}},onDeterministicPause:()=>Ye(\"pause\"),onDeterministicPlay:()=>Ye(\"play\"),onRenderFrameSeek:()=>{ht.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Be(e.capturedTimeline,0),transport:no});window.__player=k(at),window.__playerReady=!0,Qe(\"composition_loaded\",{duration:at.getDuration(),compositionId:Et()?.getAttribute(\"data-composition-id\")??null}),e.deterministicAdapters=[mm({start:c=>V(c,0),duration:c=>J(c),compositionDuration:()=>Be(e.capturedTimeline,0),canonicalFps:()=>e.canonicalFps,exportRenderSeek:()=>!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}),Sm(),$f({resolveStartSeconds:c=>V(c,0)}),Kf(),Qf({resolveStartSeconds:c=>V(c,0)}),tm(),nm(),rm(),im(),om(),am(),sm(),jf({getTimeline:()=>e.capturedTimeline})],xm(),ym(),window.__hfReseekGpu=c=>{let p=Math.max(0,Number(c)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,No(p)},window.__hfWaitForSeekCompletion=js,a.push(()=>{window.__hfWaitForSeekCompletion===js&&delete window.__hfWaitForSeekCompletion}),Ey(),qi(),Ye(\"discover\");let Qy=()=>{let c=e.capturedTimeline,p=Ln();e.capturedTimeline&&(p||e.capturedTimeline!==c||!at._timeline)&&(at._timeline=e.capturedTimeline);let y=Be(e.capturedTimeline,0);if(y>0&&d.setDuration(y),Ye(\"discover\",e.currentTime),!e.capturedTimeline){let S=window.__timelines??{},w=Object.keys(S).filter(C=>S[C]);if(w.length>0){let L=W()?.getAttribute(\"data-composition-id\")??null;E(\"root_timeline_unbound_registry_present\",{reason:L?\"root data-composition-id has no matching key in window.__timelines\":\"root composition element has no data-composition-id attribute\",rootCompositionId:L,registeredTimelineKeys:w},\"root_timeline_unbound_registry_present\"),console.warn(\"[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. \"+(L?`Root data-composition-id is \"${L}\" but window.__timelines has no such key. `:\"Root composition element has no data-composition-id. \")+`Registered timeline keys: [${w.join(\", \")}]. Register the root timeline under its data-composition-id (window.__timelines[\"${L??\"<root-id>\"}\"] = tl).`)}}fn(e.currentTime,Array.from(document.querySelectorAll(\"[data-start]:not(video, audio, img)\"))),window.__renderReady=!0,ot(),Oe(!0)},Fn=null,Zy=()=>{if(Fn)return;let c=()=>{window.removeEventListener(\"hf-timelines-built\",c),Fn=null,pn()};Fn=c,window.addEventListener(\"hf-timelines-built\",c)};A(()=>{Fn&&(window.removeEventListener(\"hf-timelines-built\",Fn),Fn=null)}),pn=()=>{if(!e.tornDown){if(!le){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,Zy();return}if(Ye(\"discover\",e.currentTime),!zy()){window.__renderReady=!1;return}if(!qy()){window.__renderReady=!1;return}Qy()}},pn(),le&&setTimeout(()=>{pn()},0);let ls=0,ro=!1,io=Number.NaN,oo=null,ao=!1,Vt=null,wd=!1,so=!1,_d=\"\",Cd=-1,Cr=!1,Rd=Number.NEGATIVE_INFINITY,Td=Number.NEGATIVE_INFINITY,kd=\"\",Md=!1,eS=(c,p,y,S)=>{try{let w=S?.suppressEvents===!0;Tt(c),typeof c.totalTime==\"function\"?c.totalTime(p,w):c.seek(p,w)}catch(w){H(y,w)}},tS=(c,p)=>{let y=window.__timelines??{},S=W()?.getAttribute(\"data-composition-id\")??null;for(let[w,C]of Object.entries(y)){if(!C||w===S)continue;let L=document.querySelector(`[data-composition-id=\"${CSS.escape(w)}\"]`);if(!L)continue;let I=V(L,0);if(!Number.isFinite(I))continue;let q=Z(C),ee=St(L)+On(bt(L),Math.max(0,c-I)),me=Math.max(0,q!=null&&q>0?Math.min(q,ee):ee);eS(C,me,\"runtime.init.transport.childTimeline\",p)}},nS=c=>{let p=window.__timelines??{},y=[];for(let S of Object.values(p))if(!(!S||S===c)){y.push(S);try{S.play()}catch(w){H(\"runtime.init.activateSiblings\",w)}}return y},Nd=c=>typeof c==\"object\"&&c!==null,rS=[\"onStart\",\"onUpdate\",\"onComplete\",\"onReverseComplete\",\"onRepeat\"],Ld=(c,p)=>{let y=c[p];if(typeof y!=\"function\")return null;try{let S=Number(y.call(c));return Number.isFinite(S)?S:null}catch(S){return H(\"runtime.init.gsapCallbackDuration\",S),null}},iS=c=>{if(!(\"getChildren\"in c)||typeof c.getChildren!=\"function\")return!1;let p;try{p=c.getChildren(!0,!0,!0)}catch(y){return H(\"runtime.init.gsapCallbackChildren\",y),!1}if(!Array.isArray(p))return!1;for(let y of p){if(!Nd(y))continue;let S=y.vars;if(!Nd(S)||!rS.some(I=>typeof S[I]==\"function\"))continue;let L=Ld(y,\"totalDuration\")??Ld(y,\"duration\");if(L!=null&&L<=1e-6)return!0}return!1};function hn(c,p){let y=e.capturedTimeline,S=y&&p?.activateChildren?nS(y):[];try{let w=oS(y,c,p);return io=c,oo=y,w}finally{for(let w of S)Tt(w)}}function oS(c,p,y){let S=y?.suppressEvents===!0;if(c){let C=p;if(typeof c.totalDuration==\"function\")try{let L=Number(c.totalDuration());Number.isFinite(L)&&L>0&&p>L&&(C=L)}catch(L){H(\"runtime.init.transport.clampDuration\",L)}try{typeof c.totalTime==\"function\"?(c.totalTime(C,S),!S&&!iS(c)&&Ws({totalTime:c.totalTime.bind(c),totalDuration:c.totalDuration?.bind(c),getChildren:c.getChildren?.bind(c)},C)):c.seek(C,S)}catch(L){H(\"runtime.init.transport.seek\",L)}}tS(p,y);let w=hk();for(let C of e.deterministicAdapters)if(!(C.name===\"gsap\"&&c))try{C.seek({time:p,suppressEvents:S,pageAnimations:w})}catch(L){H(\"runtime.init.transport.adapter\",L)}return w}let us=ex(document,()=>{Bt()});a.push(()=>us.disconnect());let Fd=()=>{try{return us.isActive()}catch{return!1}},aS=()=>!d.isPlaying()&&!Pc()&&us.observing&&(!ao||Fd())&&!Cr&&e.currentTime===io&&e.capturedTimeline===oo,cs=()=>`${Er()}|${Xa()??\"\"}`,Id=()=>{Vt=window.setTimeout(sS,wd&&e.capturedTimeline&&Nn?pk:e.bridgeMaxPostIntervalMs)},sS=()=>{if(Vt=null,!e.tornDown&&!(typeof window>\"u\"||typeof document>\"u\")){if(cs()!==_d){Bt();return}Oe(!1),Id()}},lS=()=>{if(e.transportRafId=null,e.tornDown)return;let c=so;if(so=!1,c||!aS()){e.transportRafId=window.requestAnimationFrame(ds);return}_d=cs(),Id()};Bt=()=>{e.tornDown||(so=!0,!(ro||e.transportRafId!=null)&&(Vt!=null&&(window.clearTimeout(Vt),Vt=null),so=!1,e.transportRafId=window.requestAnimationFrame(ds)))};let uS=c=>{let p=document.querySelectorAll(\"audio[data-start]\"),y=null;for(let S of c?[c,...p]:p){if(!pe(S)||!S.isConnected||h(S)||al(S)||S.ended&&!S.loop||!S.hasAttribute(\"src\")&&!S.querySelector(\"source[src]\"))continue;let w=P(S),C=Ce(S.dataset.duration),L=C!=null&&C>0?w+C:1/0;if(!Number.isFinite(w)||!jt(e.currentTime,w,L))continue;if(S===c)return{el:S,start:w};let I=w+(Bn(S)??1/0);(!y||I>y.runsUntil)&&(y={el:S,start:w,runsUntil:I})}return y};function Dd(){if(d.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.ownsClock()&&m.context){let c=m.getTime();c>=0&&d.attachAudioSource({currentTimeSeconds:c})}else{let c=uS(d.audioElement());c&&!c.el.paused?d.attachAudioSource({el:c.el,compositionStart:c.start,mediaStart:St(c.el),rate:bt(c.el)}):c&&c.el.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?d.attachAudioSource({currentTimeSeconds:e.currentTime}):d.hasAudioSource()&&d.detachAudioSource()}else d.hasAudioSource()&&d.detachAudioSource()}let ds=()=>{if(!(e.tornDown||ro)){ro=!0;try{ls+=1;let c=Er();c!==Cd&&(Cd=c,Cr=!0);let p=Date.now(),y=d.isPlaying(),S=y&&p-Td>=nx,w=Md&&!y;if(Md=y,S){Td=p;let me=cs();me!==kd&&(kd=me,Cr=!0)}let C=Cr&&p-Rd>=tx;C&&(Rd=p);let L=me=>!y&&ls%me===0;if(rx({tick:ls,isPlaying:y,hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:d.now(),compositionChanged:C,playingPollDue:S})){let me=e.capturedTimeline;if(Ln()){e.capturedTimeline&&!at._timeline&&(at._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==me&&Tt(e.capturedTimeline);let Ue=Be(e.capturedTimeline,0,c);Ue>0&&d.setDuration(Ue),ot()}}if(C||L(20)?(ot(),Cr=!1):(S||w)&&Vy(),(C||L(30))&&qi(),e.capturedTimeline){let me=Be(e.capturedTimeline,0,c);me>0&&(!d.isPlaying()||me>=d.getDuration())&&d.setDuration(me)}Dd();let I=d.now();e.currentTime=I;let q=d.isPlaying();if(!q&&Fd()?ao=!0:(q||ao||I!==io||e.capturedTimeline!==oo)&&(hn(I),q||(ao=!1)),q&&ht.redrawAnimated(),d.isPlaying()&&d.reachedEnd()){m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1;let me=d.getStopTime();Number.isFinite(me)&&(d.seek(me),e.currentTime=me,hn(me)),Ye(\"pause\"),Xe(c),Oe(!0);return}d.isPlaying()?Xe(c):Uy()&&(mn=null,Xe(c)),Oe(!1)}finally{ro=!1,lS()}}},Pd=c=>{let p=document.querySelectorAll(\"video, audio\");for(let y of p){if(!pe(y)||!y.isConnected||!y.hasAttribute(\"data-start\"))continue;let S=P(y);if(!Number.isFinite(S))continue;let w=Ce(y.dataset.duration),C=w!=null&&w>0?S+w:1/0;if(!jt(c,S,C))continue;let L=St(y),I=c-S+L;if(I>=0)try{y.currentTime=I}catch{}}},fs=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let c=m.startGeneration();for(let p of Ac(document)){if(h(p))continue;let y=P(p);if(!Number.isFinite(y))continue;let S=St(p),w=Number.parseFloat(p.dataset.volume??\"\"),C=Number.isFinite(w)?w:1,L=Ce(p.dataset.duration),I=L!=null&&L>0?L:Number.POSITIVE_INFINITY,q=p.closest(\"[data-composition-id]\");if(q){let Ue=V(q,0),ce=J(q,{includeAuthoredTimingAttrs:!0});ce!=null&&ce>0&&(I=Math.min(I,Math.max(0,Ue+ce-y)))}let ee=gr(p);br(p,ee),(ee.kind===\"web-audio\"?m.scheduleMediaElementPlayback(p,y,S,d.now(),C,c,e.playbackRate):Promise.resolve(null)).then(Ue=>{let ce=c!==m.currentGeneration();if(Ue||!vo(p)||!d.isPlaying()||ce||typeof bt(p)!=\"number\")return;let ge=e.playbackRate*Ve(p),$e=p.hasAttribute(\"data-fx-chain\")||p.hasAttribute(\"data-automation\");if(Math.abs(ge-1)>1e-9){ee.kind===\"web-audio\"&&$e&&(p.muted=!0);return}m.decodeAudioElement(p).then(st=>{!st||!d.isPlaying()||m.schedulePlayback(p,st,y,S,()=>d.now(),C,c,e.playbackRate,I)})})}};function Od(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&g&&d.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),fs())}if(e.capturedTimeline){let c=Be(e.capturedTimeline,0);c>0&&d.setDuration(c),Tt(e.capturedTimeline)}b0(window),e.transportRafId=window.requestAnimationFrame(ds),ot(),Oe(!0),e.controlBridgeHandler=Ff({onPlay:()=>{at.play(),Qe(\"composition_played\",{time:at.getTime()})},onPause:()=>{at.pause(),Qe(\"composition_paused\",{time:at.getTime()})},onStopMedia:()=>{m.stopAll();let c=document.querySelectorAll(\"video, audio\");for(let p of c)pe(p)&&!p.paused&&p.pause()},onSeek:(c,p)=>{at.seek(c),Qe(\"composition_seeked\",{time:c})},onSetMuted:c=>{e.bridgeMuted=c;let p=c||e.mediaOutputMuted;m.setMuted(p);let y=document.querySelectorAll(\"video, audio\");for(let S of y)pe(S)&&(S.muted=p||S.defaultMuted)},onSetVolume:c=>{e.bridgeVolume=c,m.setVolume(c);let p=document.querySelectorAll(\"video, audio\");for(let y of p){if(!pe(y))continue;let S=parseFloat(y.dataset.volume??\"\"),w=Number.isFinite(S)?S:1;y.volume=ho(w*c)}},onSetMediaOutputMuted:c=>{e.mediaOutputMuted=c;let p=c||e.bridgeMuted;m.setMuted(p);let y=document.querySelectorAll(\"video, audio\");for(let S of y)pe(S)&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:c=>{e.nativeMediaSyncDisabled!==c&&(e.nativeMediaSyncDisabled=c,e.mediaForceSyncNextTick=!0,c?(m.stopAll(),d.detachAudioSource()):Xe())},onSetWebAudioMediaDisabled:c=>{e.webAudioMediaDisabled!==c&&(e.webAudioMediaDisabled=c,e.mediaForceSyncNextTick=!0,c&&(m.stopAll(),d.detachAudioSource()),Xe())},onSetPlaybackRate:c=>{ss(c),e.transportClock&&e.transportClock.setRate(e.playbackRate),Od()},onSetDisplayScale:Xm,onSetIdleHeartbeat:c=>{wd=c,Bt()},onSetRootDuration:$y,onSetPlayRange:(c,p)=>{d.setPlayRange(c,p,e.canonicalFps);let y=d.getPlayStart();if(d.isPlaying()&&(d.now()<y||d.reachedEnd())){no.seek(y,{keepPlaying:!0});return}Oe(!0)},onSetColorGrading:(c,p)=>{ht.setGrading(c,p)},onSetColorGradingCompare:(c,p)=>{ht.setCompare(c,p)},onTick:()=>{if(e.tornDown||!d.isPlaying())return;Dd();let c=d.now();if(e.currentTime=c,(c!==io||e.capturedTimeline!==oo)&&hn(c),d.reachedEnd()){m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1;let p=d.getStopTime();Number.isFinite(p)&&(d.seek(p),e.currentTime=p,hn(p)),Ye(\"pause\"),Xe(),Oe(!0)}},onEnablePickMode:()=>to.enablePickMode(),onDisablePickMode:()=>to.disablePickMode(),onSetRuntimeData:Ga,onClearRuntimeData:Ba,getCanonicalFps:()=>e.canonicalFps});let ms=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),Vt!=null&&(window.clearTimeout(Vt),Vt=null),e.transportClock=null,m.destroy(),dn!=null&&(window.clearTimeout(dn),dn=null),l!=null&&(window.cancelAnimationFrame(l),l=null),_y(),e.controlBridgeHandler&&(window.removeEventListener(\"message\",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener(\"error\",i),i=null),o&&(window.removeEventListener(\"unhandledrejection\",o),o=null),e.beforeUnloadHandler&&(window.removeEventListener(\"beforeunload\",e.beforeUnloadHandler),e.beforeUnloadHandler=null),to.disablePickMode();for(let c of e.deterministicAdapters)if(!(!c||typeof c.revert!=\"function\"))try{c.revert()}catch(p){H(\"runtime.init.site12\",p)}e.deterministicAdapters=[],window.__hf?.buildReady&&(window.__hf.buildReady={});for(let c of a.splice(0))try{c()}catch(p){H(\"runtime.init.site13\",p)}for(let c of e.injectedCompStyles)try{c.remove()}catch(p){H(\"runtime.init.site14\",p)}e.injectedCompStyles=[];for(let c of e.injectedCompLinks)try{c.remove()}catch(p){H(\"runtime.init.site15\",p)}e.injectedCompLinks=[];for(let c of e.injectedCompScripts)try{c.remove()}catch(p){H(\"runtime.init.site16\",p)}e.injectedCompScripts=[],e.capturedTimeline=null,t=()=>{},window.__hfRuntimeTeardown===ms&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=ms,e.beforeUnloadHandler=ms,window.addEventListener(\"beforeunload\",e.beforeUnloadHandler)}var kx=[\"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\"],Rc=[[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 gk(e){if(e<=255)return kx[e];let t=0,n=Rc.length-1;for(;t<=n;){let r=t+n>>1,i=Rc[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return\"L\"}function bk(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let f=e.charCodeAt(u),d=f,m=1;if(f>=55296&&f<=56319&&u+1<t){let h=e.charCodeAt(u+1);h>=56320&&h<=57343&&(d=(f-55296<<10)+(h-56320)+65536,m=2)}let g=gk(d);(g===\"R\"||g===\"AL\"||g===\"AN\")&&(r=!0);for(let h=0;h<m;h++)n[u+h]=g;u+=m}if(!r)return null;let i=0;for(let u=0;u<t;u++){let f=n[u];if(f===\"L\"){i=0;break}if(f===\"R\"||f===\"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\",s=a,l=s;for(let u=0;u<t;u++)n[u]===\"NSM\"?n[u]=l:l=n[u];l=s;for(let u=0;u<t;u++){let f=n[u];f===\"EN\"?n[u]=l===\"AL\"?\"AN\":\"EN\":(f===\"R\"||f===\"L\"||f===\"AL\")&&(l=f)}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 f;for(f=u-1;f>=0&&n[f]===\"ET\";f--)n[f]=\"EN\";for(f=u+1;f<t&&n[f]===\"ET\";f++)n[f]=\"EN\"}for(let u=0;u<t;u++){let f=n[u];(f===\"WS\"||f===\"ES\"||f===\"ET\"||f===\"CS\")&&(n[u]=\"ON\")}l=s;for(let u=0;u<t;u++){let f=n[u];f===\"EN\"?n[u]=l===\"L\"?\"L\":\"EN\":(f===\"R\"||f===\"L\")&&(l=f)}for(let u=0;u<t;u++){if(n[u]!==\"ON\")continue;let f=u+1;for(;f<t&&n[f]===\"ON\";)f++;let d=u>0?n[u-1]:s,m=f<t?n[f]:s,g=d!==\"L\"?\"R\":\"L\";if(g===(m!==\"L\"?\"R\":\"L\"))for(let b=u;b<f;b++)n[b]=g;u=f-1}for(let u=0;u<t;u++)n[u]===\"ON\"&&(n[u]=a);for(let u=0;u<t;u++){let f=n[u];(o[u]&1)===0?f===\"R\"?o[u]++:(f===\"AN\"||f===\"EN\")&&(o[u]+=2):(f===\"L\"||f===\"AN\"||f===\"EN\")&&o[u]++}return o}function Mx(e,t){let n=bk(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 xk=/[ \\t\\n\\r\\f]+/g,yk=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Sk(e){let t=e??\"normal\";return t===\"pre-wrap\"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function vk(e){if(!yk.test(e))return e;let t=e.replace(xk,\" \");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 Ek(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Tc=null,Ak;function wk(){return Tc===null&&(Tc=new Intl.Segmenter(Ak,{granularity:\"word\"})),Tc}var _k=/\\p{Script=Arabic}/u,Wa=/\\p{M}/u,Hx=/\\p{Nd}/u;function Nx(e){return _k.test(e)}function Lx(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 mt(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(Lx(i))return!0;t++;continue}}if(Lx(n))return!0}}return!1}function Ck(e){let t=za(e);return t!==null&&($a.has(t)||an.has(t))}var Rk=new Set([\"\\xA0\",\"\\u202F\",\"\\u2060\",\"\\uFEFF\"]);function Tk(e){return mt(e)}function kk(e){let t=za(e);return t!==null&&Rk.has(t)}function Va(e){return!Ck(e)&&!kk(e)}var $a=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\"]),Vi=new Set(['\"',\"(\",\"[\",\"{\",\"\\u201C\",\"\\u2018\",\"\\xAB\",\"\\u2039\",\"\\uFF08\",\"\\u3014\",\"\\u3008\",\"\\u300A\",\"\\u300C\",\"\\u300E\",\"\\u3010\",\"\\u3016\",\"\\u3018\",\"\\u301A\"]),Mc=new Set([\"'\",\"\\u2019\"]),an=new Set([\".\",\",\",\"!\",\"?\",\":\",\";\",\"\\u060C\",\"\\u061B\",\"\\u061F\",\"\\u0964\",\"\\u0965\",\"\\u104A\",\"\\u104B\",\"\\u104C\",\"\\u104D\",\"\\u104F\",\")\",\"]\",\"}\",\"%\",'\"',\"\\u201D\",\"\\u2019\",\"\\xBB\",\"\\u203A\",\"\\u2026\"]),Mk=new Set([\":\",\".\",\"\\u060C\",\"\\u061B\"]),Nk=new Set([\"\\u104F\"]),Lk=new Set([\"\\u201D\",\"\\u2019\",\"\\xBB\",\"\\u203A\",\"\\u300D\",\"\\u300F\",\"\\u3011\",\"\\u300B\",\"\\u3009\",\"\\u3015\",\"\\uFF09\"]);function Fk(e){if(Nc(e))return!0;let t=!1;for(let n of e){if(an.has(n)){t=!0;continue}if(!(t&&Wa.test(n)))return!1}return t}function Ik(e){for(let t of e)if(!$a.has(t)&&!an.has(t))return!1;return e.length>0}function Dk(e){if(Nc(e))return!0;for(let t of e)if(!Vi.has(t)&&!Mc.has(t)&&!Wa.test(t))return!1;return e.length>0}function Nc(e){let t=!1;for(let n of e)if(!(n===\"\\\\\"||Wa.test(n))){if(Vi.has(n)||an.has(n)||Mc.has(n)){t=!0;continue}return!1}return t}function Gx(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 za(e){if(e.length===0)return null;let t=Gx(e,e.length);return e.slice(t)}function Pk(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Wa.test(r)){n--;continue}if(Vi.has(r)||Mc.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(\"\"),tail:t.slice(n).join(\"\")}}function Ok(e,t,n){return n===\"text\"&&!t&&e.length===1&&e!==\"-\"&&e!==\"\\u2014\"?e:null}function Fx(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 s=i.repeat(a);return e[r]=s,s}function Ix(e,t){return e&&t!==null&&Mk.has(t)}function Hk(e){let t=za(e);return t!==null&&Nk.has(t)}function Gk(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 qa(e){let t=e.length;for(;t>0;){let n=Gx(e,t),r=e.slice(n,t);if(Lk.has(r))return!0;if(!an.has(r))return!1;t=n}return!1}function Bk(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===\" \")return\"preserved-space\";if(e===\"\t\")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 Uk=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function rt(e){return e.length===1?e[0]:e.join(\"\")}function Wk(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),rt(n)}function Vk(e,t,n,r){if(!Uk.test(e))return[{text:e,isWordLike:t,kind:\"text\",start:n}];let i=[],o=null,a=[],s=n,l=!1,u=0;for(let f of e){let d=Bk(f,r),m=d===\"text\"&&t;if(o!==null&&d===o&&m===l){a.push(f),u+=f.length;continue}o!==null&&i.push({text:rt(a),isWordLike:l,kind:o,start:s}),o=d,a=[f],s=n+u,l=m,u+=f.length}return o!==null&&i.push({text:rt(a),isWordLike:l,kind:o,start:s}),i}function kc(e){return e===\"space\"||e===\"preserved-space\"||e===\"zero-width-break\"||e===\"hard-break\"}var $k=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function zk(e,t){let n=e.texts[t];return n.startsWith(\"www.\")?!0:$k.test(n)&&t+1<e.len&&e.kinds[t+1]===\"text\"&&e.texts[t+1]===\"//\"}function qk(e){return e.includes(\"?\")&&(e.includes(\"://\")||e.startsWith(\"www.\"))}function jk(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\"||!zk(e,a))continue;let s=[t[a]],l=a+1;for(;l<e.len&&!kc(r[l]);){s.push(t[l]),n[a]=!0;let u=t[l].includes(\"?\");if(r[l]=\"text\",t[l]=\"\",l++,u)break}t[a]=rt(s)}let o=0;for(let a=0;a<t.length;a++){let s=t[a];s.length!==0&&(o!==a&&(t[o]=s,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 Kk(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]),!qk(a))continue;let s=o+1;if(s>=e.len||kc(e.kinds[s]))continue;let l=[],u=e.starts[s],f=s;for(;f<e.len&&!kc(e.kinds[f]);)l.push(e.texts[f]),f++;l.length>0&&(t.push(rt(l)),n.push(!0),r.push(\"text\"),i.push(u),o=f-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var Xk=new Set([\":\",\"-\",\"/\",\"\\xD7\",\",\",\".\",\"+\",\"\\u2013\",\"\\u2014\"]),Dx=/^[A-Za-z0-9_]+[,:;]*$/,Px=/[,:;]+$/;function Bx(e){for(let t of e)if(Hx.test(t))return!0;return!1}function Wi(e){if(e.length===0)return!1;for(let t of e)if(!(Hx.test(t)||Xk.has(t)))return!1;return!0}function Yk(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],s=e.kinds[o];if(s===\"text\"&&Wi(a)&&Bx(a)){let l=[a],u=o+1;for(;u<e.len&&e.kinds[u]===\"text\"&&Wi(e.texts[u]);)l.push(e.texts[u]),u++;t.push(rt(l)),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(s),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Jk(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],s=e.kinds[o],l=e.isWordLike[o];if(s===\"text\"&&l&&Dx.test(a)){let u=[a],f=Px.test(a),d=o+1;for(;f&&d<e.len&&e.kinds[d]===\"text\"&&e.isWordLike[d]&&Dx.test(e.texts[d]);){let m=e.texts[d];u.push(m),f=Px.test(m),d++}t.push(rt(u)),n.push(!0),r.push(\"text\"),i.push(e.starts[o]),o=d-1;continue}t.push(a),n.push(l),r.push(s),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Qk(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 s=a.split(\"-\"),l=s.length>1;for(let u=0;u<s.length;u++){let f=s[u];if(!l)break;(f.length===0||!Bx(f)||!Wi(f))&&(l=!1)}if(l){let u=0;for(let f=0;f<s.length;f++){let d=s[f],m=f<s.length-1?`${d}-`:d;t.push(m),n.push(!0),r.push(\"text\"),i.push(e.starts[o]+u),u+=m.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 Zk(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],s=e.isWordLike[o],l=e.kinds[o],u=e.starts[o];if(l===\"glue\"){let f=[a[0]],d=u;for(o++;o<e.len&&e.kinds[o]===\"glue\";)f.push(e.texts[o]),o++;let m=rt(f);if(o<e.len&&e.kinds[o]===\"text\")a[0]=m,a.push(e.texts[o]),s=e.isWordLike[o],l=\"text\",u=d,o++;else{t.push(m),n.push(!1),r.push(\"glue\"),i.push(d);continue}}else o++;if(l===\"text\")for(;o<e.len&&e.kinds[o]===\"glue\";){let f=[];for(;o<e.len&&e.kinds[o]===\"glue\";)f.push(e.texts[o]),o++;let d=rt(f);if(o<e.len&&e.kinds[o]===\"text\"){a.push(d,e.texts[o]),s=s||e.isWordLike[o],o++;continue}a.push(d)}t.push(rt(a)),n.push(s),r.push(l),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function eM(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\"||!mt(t[o])||!mt(t[o+1]))continue;let a=Pk(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 Ox(e,t,n){let r=wk(),i=0,o=[],a=[],s=[],l=[],u=[],f=[],d=[],m=[],g=[],h=[],b=[],x=[];for(let F of r.segment(e))for(let D of Vk(F.segment,F.isWordLike??!1,F.index,n)){let G=function(){f[_]!==null&&(a[_]=[Fx(o,f,d,_)],f[_]=null),a[_].push(D.text),s[_]=s[_]||D.isWordLike,m[_]=m[_]||T,g[_]=g[_]||B,h[_]=ne,b[_]=N,x[_]=Ix(g[_],W)},R=D.kind===\"text\",M=Ok(D.text,D.isWordLike,D.kind),T=mt(D.text),B=Nx(D.text),W=za(D.text),ne=qa(D.text),N=Hk(D.text),_=i-1;t.carryCJKAfterClosingQuote&&R&&i>0&&l[_]===\"text\"&&T&&m[_]&&h[_]||R&&i>0&&l[_]===\"text\"&&Ik(D.text)&&m[_]||R&&i>0&&l[_]===\"text\"&&b[_]?G():R&&i>0&&l[_]===\"text\"&&D.isWordLike&&B&&x[_]?(G(),s[_]=!0):M!==null&&i>0&&l[_]===\"text\"&&f[_]===M?d[_]=(d[_]??1)+1:R&&!D.isWordLike&&i>0&&l[_]===\"text\"&&(Fk(D.text)||D.text===\"-\"&&s[_])?G():(o[i]=D.text,a[i]=[D.text],s[i]=D.isWordLike,l[i]=D.kind,u[i]=D.start,f[i]=M,d[i]=M===null?0:1,m[i]=T,g[i]=B,h[i]=ne,b[i]=N,x[i]=Ix(B,W),i++)}for(let F=0;F<i;F++){if(f[F]!==null){o[F]=Fx(o,f,d,F);continue}o[F]=rt(a[F])}for(let F=1;F<i;F++)l[F]===\"text\"&&!s[F]&&Nc(o[F])&&l[F-1]===\"text\"&&(o[F-1]+=o[F],s[F-1]=s[F-1]||s[F],o[F]=\"\");let v=Array.from({length:i},()=>null),A=-1;for(let F=i-1;F>=0;F--){let D=o[F];if(D.length!==0){if(l[F]===\"text\"&&!s[F]&&Dk(D)&&A>=0&&l[A]===\"text\"){let R=v[A]??[];R.push(D),v[A]=R,u[A]=u[F],o[F]=\"\";continue}A=F}}for(let F=0;F<i;F++){let D=v[F];D!=null&&(o[F]=Wk(D,o[F]))}let E=0;for(let F=0;F<i;F++){let D=o[F];D.length!==0&&(E!==F&&(o[E]=D,s[E]=s[F],l[E]=l[F],u[E]=u[F]),E++)}o.length=E,s.length=E,l.length=E,u.length=E;let k=Zk({len:E,texts:o,isWordLike:s,kinds:l,starts:u}),O=eM(Jk(Qk(Yk(Kk(jk(k))))));for(let F=0;F<O.len-1;F++){let D=Gk(O.texts[F]);D!==null&&(O.kinds[F]!==\"space\"&&O.kinds[F]!==\"preserved-space\"||O.kinds[F+1]!==\"text\"||!Nx(O.texts[F+1])||(O.texts[F]=D.space,O.isWordLike[F]=!1,O.kinds[F]=O.kinds[F]===\"preserved-space\"?\"preserved-space\":\"space\",O.texts[F+1]=D.marks+O.texts[F+1],O.starts[F+1]=O.starts[F]+D.space.length))}return O}function tM(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 nM(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,s=0,l=!1,u=!1;function f(){o!==null&&(t.push(rt(o)),n.push(a),r.push(\"text\"),i.push(s),o=null)}for(let d=0;d<e.len;d++){let m=e.texts[d],g=e.kinds[d],h=e.isWordLike[d],b=e.starts[d];if(g===\"text\"){let x=Tk(m),v=Va(m);if(o!==null&&l&&u){o.push(m),a=a||h,l=l||x,u=v;continue}f(),o=[m],a=h,s=b,l=x,u=v;continue}f(),t.push(m),n.push(h),r.push(g),i.push(b)}return f(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Ux(e,t,n=\"normal\",r=\"normal\"){let i=Sk(n),o=i.mode===\"pre-wrap\"?Ek(e):vk(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r===\"keep-all\"?nM(Ox(o,t,i)):Ox(o,t,i);return{normalized:o,chunks:tM(a,i),...a}}var yr=null,Wx=new Map,Sr=null,rM=96,iM=/\\p{Emoji_Presentation}/u,oM=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Lc=null,Vx=new Map;function Fc(){if(yr!==null)return yr;if(typeof OffscreenCanvas<\"u\")return yr=new OffscreenCanvas(1,1).getContext(\"2d\"),yr;if(typeof document<\"u\")return yr=document.createElement(\"canvas\").getContext(\"2d\"),yr;throw new Error(\"Text measurement requires OffscreenCanvas or a DOM canvas context.\")}function aM(e){let t=Wx.get(e);return t||(t=new Map,Wx.set(e,t)),t}function Gt(e,t){let n=t.get(e);return n===void 0&&(n={width:Fc().measureText(e).width,containsCJK:mt(e)},t.set(e,n)),n}function ln(){if(Sr!==null)return Sr;if(typeof navigator>\"u\")return Sr={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Sr;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 Sr={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},Sr}function sM(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function $x(){return Lc===null&&(Lc=new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Lc}function lM(e){return iM.test(e)||e.includes(\"\\uFE0F\")}function zx(e){return oM.test(e)}function uM(e,t){let n=Vx.get(e);if(n!==void 0)return n;let r=Fc();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 Vx.set(e,n),n}function cM(e){let t=0,n=$x();for(let r of n.segment(e))lM(r.segment)&&t++;return t}function dM(e,t){return t.emojiCount===void 0&&(t.emojiCount=cM(e)),t.emojiCount}function sn(e,t,n){return n===0?t.width:t.width-dM(e,t)*n}function qx(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=$x(),a=[];for(let f of o.segment(e))a.push(f.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i===\"sum-graphemes\"){let f=[];for(let d of a){let m=Gt(d,n);f.push(sn(d,m,r))}return t.breakableFitAdvances=f,t.breakableFitAdvances}if(i===\"pair-context\"||a.length>rM){let f=[],d=null,m=0;for(let g of a){let h=Gt(g,n),b=sn(g,h,r);if(d===null)f.push(b);else{let x=d+g,v=Gt(x,n);f.push(sn(x,v,r)-m)}d=g,m=b}return t.breakableFitAdvances=f,t.breakableFitAdvances}let s=[],l=\"\",u=0;for(let f of a){l+=f;let d=Gt(l,n),m=sn(l,d,r);s.push(m-u),u=m}return t.breakableFitAdvances=s,t.breakableFitAdvances}function jx(e,t){let n=Fc();n.font=e;let r=aM(e),i=sM(e),o=t?uM(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function fM(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 Kx(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Xx(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let s=a+e[o];if((o+1<e.length?s+i:s)>n+r)break;a=s,o++}return{fitCount:o,fittedWidth:a}}function mM(e,t){let n=0,r=e.chunks.length;for(;n<r;){let i=Math.floor((n+r)/2);t<e.chunks[i].consumedEndSegmentIndex?r=i:n=i+1}return n<e.chunks.length?n:-1}function Yx(e,t,n){let r=n.segmentIndex;if(n.graphemeIndex>0)return t;let i=e.chunks[t];if(i.startSegmentIndex===i.endSegmentIndex&&r===i.startSegmentIndex)return n.segmentIndex=r,n.graphemeIndex=0,t;for(r<i.startSegmentIndex&&(r=i.startSegmentIndex);r<i.endSegmentIndex;){let o=e.kinds[r];if(o!==\"space\"&&o!==\"zero-width-break\"&&o!==\"soft-hyphen\")return n.segmentIndex=r,n.graphemeIndex=0,t;r++}return i.consumedEndSegmentIndex>=e.widths.length?-1:(n.segmentIndex=i.consumedEndSegmentIndex,n.graphemeIndex=0,t+1)}function Jx(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=mM(e,t.segmentIndex);return n<0?-1:Yx(e,n,t)}function pM(e,t,n){if(n.segmentIndex>=e.widths.length)return-1;let r=t;for(;r<e.chunks.length&&n.segmentIndex>=e.chunks[r].consumedEndSegmentIndex;)r++;return r>=e.chunks.length?-1:Yx(e,r,n)}function Qx(e,t){return e.simpleLineWalkFastPath?Zx(e,t):Ic(e,t)}function Zx(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let s=ln().lineFitEpsilon,l=t+s,u=0,f=0,d=!1,m=0,g=0,h=0,b=0,x=-1,v=0;function A(){x=-1,v=0}function E(M=h,T=b,B=f){u++,n?.({startSegmentIndex:m,startGraphemeIndex:g,endSegmentIndex:M,endGraphemeIndex:T,width:B}),f=0,d=!1,A()}function k(M,T){d=!0,m=M,g=0,h=M+1,b=0,f=T}function O(M,T,B){d=!0,m=M,g=T,h=M,b=T+1,f=B}function F(M,T){if(!d){k(M,T);return}f+=T,h=M+1,b=0}function D(M,T){let B=o[M];for(let W=T;W<B.length;W++){let ne=B[W];d?f+ne>l?(E(),O(M,W,ne)):(f+=ne,h=M,b=W+1):O(M,W,ne)}d&&h===M&&b===B.length&&(h=M+1,b=0)}let R=0;for(;R<r.length&&!(!d&&(R=fM(e,R),R>=r.length));){let M=r[R],T=i[R],B=T===\"space\"||T===\"preserved-space\"||T===\"tab\"||T===\"zero-width-break\"||T===\"soft-hyphen\";if(!d){M>t&&o[R]!==null?D(R,0):k(R,M),B&&(x=R+1,v=f-M),R++;continue}if(f+M>l){if(B){F(R,M),E(R+1,0,f-M),R++;continue}if(x>=0){if(h>x||h===x&&b>0){E();continue}E(x,0,v);continue}if(M>t&&o[R]!==null){E(),D(R,0),R++;continue}E();continue}F(R,M),B&&(x=R+1,v=f-M),R++}return d&&E(),u}function Ic(e,t,n){if(e.simpleLineWalkFastPath)return Zx(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:s,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:f}=e;if(r.length===0||f.length===0)return 0;let d=ln(),m=d.lineFitEpsilon,g=t+m,h=0,b=0,x=!1,v=0,A=0,E=0,k=0,O=-1,F=0,D=0,R=null;function M(){O=-1,F=0,D=0,R=null}function T(U=E,j=k,V=b){h++,n?.({startSegmentIndex:v,startGraphemeIndex:A,endSegmentIndex:U,endGraphemeIndex:j,width:V}),b=0,x=!1,M()}function B(U,j){x=!0,v=U,A=0,E=U+1,k=0,b=j}function W(U,j,V){x=!0,v=U,A=j,E=U,k=j+1,b=V}function ne(U,j){if(!x){B(U,j);return}b+=j,E=U+1,k=0}function N(U,j,V,J){if(!j)return;let Y=U===\"tab\"?0:i[V],P=U===\"tab\"?J:o[V];O=V+1,F=b-J+Y,D=b-J+P,R=U}function _(U,j){let V=s[U];for(let J=j;J<V.length;J++){let Y=V[J];x?b+Y>g?(T(),W(U,J,Y)):(b+=Y,E=U,k=J+1):W(U,J,Y)}x&&E===U&&k===V.length&&(E=U+1,k=0)}function G(U){if(R!==\"soft-hyphen\")return!1;let j=s[U];if(j==null)return!1;let{fitCount:V,fittedWidth:J}=Xx(j,b,t,m,l);return V===0?!1:(b=J,E=U,k=V,M(),V===j.length?(E=U+1,k=0,!0):(T(U,V,J+l),_(U,V),!0))}function X(U){h++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),M()}for(let U=0;U<f.length;U++){let j=f[U];if(j.startSegmentIndex===j.endSegmentIndex){X(j);continue}x=!1,b=0,v=j.startSegmentIndex,A=0,E=j.startSegmentIndex,k=0,M();let V=j.startSegmentIndex;for(;V<j.endSegmentIndex;){let J=a[V],Y=J===\"space\"||J===\"preserved-space\"||J===\"tab\"||J===\"zero-width-break\"||J===\"soft-hyphen\",P=J===\"tab\"?Kx(b,u):r[V];if(J===\"soft-hyphen\"){x&&(E=V+1,k=0,O=V+1,F=b+l,D=b+l,R=J),V++;continue}if(!x){P>t&&s[V]!==null?_(V,0):B(V,P),N(J,Y,V,P),V++;continue}if(b+P>g){let Q=b+(J===\"tab\"?0:i[V]),le=b+(J===\"tab\"?P:o[V]);if(R===\"soft-hyphen\"&&d.preferEarlySoftHyphenBreak&&F<=g){T(O,0,D);continue}if(R===\"soft-hyphen\"&&G(V)){V++;continue}if(Y&&Q<=g){ne(V,P),T(V+1,0,le),V++;continue}if(O>=0&&F<=g){if(E>O||E===O&&k>0){T();continue}let Z=O;T(Z,0,D),V=Z;continue}if(P>t&&s[V]!==null){T(),_(V,0),V++;continue}T();continue}ne(V,P),N(J,Y,V,P),V++}if(x){let J=O===j.consumedEndSegmentIndex?D:b;T(j.consumedEndSegmentIndex,0,J)}}return h}function ey(e,t,n,r){let i=e.chunks[n];if(i.startSegmentIndex===i.endSegmentIndex)return t.segmentIndex=i.consumedEndSegmentIndex,t.graphemeIndex=0,0;let{widths:o,lineEndFitAdvances:a,lineEndPaintAdvances:s,kinds:l,breakableFitAdvances:u,discretionaryHyphenWidth:f,tabStopAdvance:d}=e,m=ln(),g=m.lineFitEpsilon,h=r+g,b=0,x=!1,v=t.segmentIndex,A=t.graphemeIndex,E=-1,k=0,O=0,F=null;function D(){E=-1,k=0,O=0,F=null}function R(_=v,G=A,X=b){return x?(t.segmentIndex=_,t.graphemeIndex=G,X):null}function M(_,G){x=!0,v=_+1,A=0,b=G}function T(_,G,X){x=!0,v=_,A=G+1,b=X}function B(_,G){if(!x){M(_,G);return}b+=G,v=_+1,A=0}function W(_,G,X,U){if(!G)return;let j=_===\"tab\"?0:a[X],V=_===\"tab\"?U:s[X];E=X+1,k=b-U+j,O=b-U+V,F=_}function ne(_,G){let X=u[_];for(let U=G;U<X.length;U++){let j=X[U];if(!x)T(_,U,j);else{if(b+j>h)return R();b+=j,v=_,A=U+1}}return x&&v===_&&A===X.length&&(v=_+1,A=0),null}function N(_){if(F!==\"soft-hyphen\"||E<0)return null;let G=u[_]??null;if(G!==null){let{fitCount:X,fittedWidth:U}=Xx(G,b,r,g,f);if(X===G.length)return b=U,v=_+1,A=0,D(),null;if(X>0)return R(_,X,U+f)}return k<=h?R(E,0,O):null}for(let _=t.segmentIndex;_<i.endSegmentIndex;_++){let G=l[_],X=G===\"space\"||G===\"preserved-space\"||G===\"tab\"||G===\"zero-width-break\"||G===\"soft-hyphen\",U=_===t.segmentIndex?t.graphemeIndex:0,j=G===\"tab\"?Kx(b,d):o[_];if(G===\"soft-hyphen\"&&U===0){x&&(v=_+1,A=0,E=_+1,k=b+f,O=b+f,F=G);continue}if(!x){if(U>0){let J=ne(_,U);if(J!==null)return J}else if(j>r&&u[_]!==null){let J=ne(_,0);if(J!==null)return J}else M(_,j);W(G,X,_,j);continue}if(b+j>h){let J=b+(G===\"tab\"?0:a[_]),Y=b+(G===\"tab\"?j:s[_]);if(F===\"soft-hyphen\"&&m.preferEarlySoftHyphenBreak&&k<=h)return R(E,0,O);let P=N(_);if(P!==null)return P;if(X&&J<=h)return B(_,j),R(_+1,0,Y);if(E>=0&&k<=h)return v>E||v===E&&A>0?R():R(E,0,O);if(j>r&&u[_]!==null){let K=R();if(K!==null)return K;let Q=ne(_,0);if(Q!==null)return Q}return R()}B(_,j),W(G,X,_,j)}return E===i.consumedEndSegmentIndex&&A===0?R(i.consumedEndSegmentIndex,0,O):R(i.consumedEndSegmentIndex,0,b)}function hM(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,s=ln().lineFitEpsilon,l=n+s,u=0,f=!1,d=t.segmentIndex,m=t.graphemeIndex,g=-1,h=0;for(let b=t.segmentIndex;b<r.length;b++){let x=r[b],v=i[b],A=v===\"space\"||v===\"preserved-space\"||v===\"tab\"||v===\"zero-width-break\"||v===\"soft-hyphen\",E=b===t.segmentIndex?t.graphemeIndex:0,k=o[b];if(!f){if(E>0||x>n&&k!==null){let O=k,F=O[E];f=!0,u=F,d=b,m=E+1;for(let D=E+1;D<O.length;D++){let R=O[D];if(u+R>l)return t.segmentIndex=d,t.graphemeIndex=m,u;u+=R,d=b,m=D+1}d===b&&m===O.length&&(d=b+1,m=0)}else f=!0,u=x,d=b+1,m=0;A&&(g=b+1,h=u-x);continue}if(u+x>l)return A?(t.segmentIndex=b+1,t.graphemeIndex=0,u):g>=0?d>g||d===g&&m>0?(t.segmentIndex=d,t.graphemeIndex=m,u):(t.segmentIndex=g,t.graphemeIndex=0,h):(t.segmentIndex=d,t.graphemeIndex=m,u);u+=x,d=b+1,m=0,A&&(g=b+1,h=u-x)}return f?(t.segmentIndex=d,t.graphemeIndex=m,u):null}function gM(e,t,n){let r=Jx(e,t);return r<0?null:e.simpleLineWalkFastPath?hM(e,t,n):ey(e,t,r,n)}function ty(e,t){if(e.widths.length===0)return{lineCount:0,maxLineWidth:0};let n={segmentIndex:0,graphemeIndex:0},r=0,i=0;if(!e.simpleLineWalkFastPath){let o=Jx(e,n);for(;o>=0;){let a=ey(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=pM(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=gM(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var Dc=null;function bM(){return Dc===null&&(Dc=new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Dc}function xM(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 yM(e,t){let n=[],r=[],i=0,o=!1,a=!1,s=!1;function l(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(\"\"),start:i}),r=[],o=!1,a=!1,s=!1)}function u(d,m,g){r=[d],i=m,o=g,a=qa(d),s=Vi.has(d)}function f(d,m){r.push(d),o=o||m;let g=qa(d);d.length===1&&an.has(d)?a=a||g:a=g,s=!1}for(let d of bM().segment(e)){let m=d.segment,g=mt(m);if(r.length===0){u(m,d.index,g);continue}if(s||$a.has(m)||an.has(m)||t.carryCJKAfterClosingQuote&&g&&a){f(m,g);continue}if(!o&&!g){f(m,g);continue}l(),u(m,d.index,g)}return l(),n}function SM(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=mt(e[0].text),o=Va(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(\"\"),start:r})}for(let s=1;s<e.length;s++){let l=e[s],u=mt(l.text),f=Va(l.text);if(i&&o){n.push(l.text),i=i||u,o=f;continue}a(),n=[l.text],r=l.start,i=u,o=f}return a(),t}function vM(e,t,n,r){let i=ln(),{cache:o,emojiCorrection:a}=jx(t,zx(e.normalized)),s=sn(\"-\",Gt(\"-\",o),a),u=sn(\" \",Gt(\" \",o),a)*8;if(e.len===0)return xM(n);let f=[],d=[],m=[],g=[],h=e.chunks.length<=1,b=n?[]:null,x=[],v=n?[]:null,A=Array.from({length:e.len});function E(D,R,M,T,B,W,ne){B!==\"text\"&&B!==\"space\"&&B!==\"zero-width-break\"&&(h=!1),f.push(R),d.push(M),m.push(T),g.push(B),b?.push(W),x.push(ne),v!==null&&v.push(D)}function k(D,R,M,T,B){let W=Gt(D,o),ne=sn(D,W,a),N=R===\"space\"||R===\"preserved-space\"||R===\"zero-width-break\"?0:ne,_=R===\"space\"||R===\"zero-width-break\"?0:ne;if(B&&T&&D.length>1){let G=\"sum-graphemes\";Wi(D)?G=\"pair-context\":i.preferPrefixWidthsForBreakableRuns&&(G=\"segment-prefixes\");let X=qx(D,W,o,a,G);E(D,ne,N,_,R,M,X);return}E(D,ne,N,_,R,M,null)}for(let D=0;D<e.len;D++){A[D]=f.length;let R=e.texts[D],M=e.isWordLike[D],T=e.kinds[D],B=e.starts[D];if(T===\"soft-hyphen\"){E(R,0,s,s,T,B,null);continue}if(T===\"hard-break\"){E(R,0,0,0,T,B,null);continue}if(T===\"tab\"){E(R,0,0,0,T,B,null);continue}let W=Gt(R,o);if(T===\"text\"&&W.containsCJK){let ne=yM(R,i),N=r===\"keep-all\"?SM(ne):ne;for(let _=0;_<N.length;_++){let G=N[_];k(G.text,\"text\",B+G.start,M,r===\"keep-all\"||!mt(G.text))}continue}k(R,T,B,M,!0)}let O=EM(e.chunks,A,f.length),F=b===null?null:Mx(e.normalized,b);return v!==null?{widths:f,lineEndFitAdvances:d,lineEndPaintAdvances:m,kinds:g,simpleLineWalkFastPath:h,segLevels:F,breakableFitAdvances:x,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:O,segments:v}:{widths:f,lineEndFitAdvances:d,lineEndPaintAdvances:m,kinds:g,simpleLineWalkFastPath:h,segLevels:F,breakableFitAdvances:x,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:O}}function EM(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,s=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,l=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:s,consumedEndSegmentIndex:l})}return r}function ny(e,t,n,r){let i=r?.wordBreak??\"normal\",o=Ux(e,ln(),r?.whiteSpace,i);return vM(o,t,n,i)}function ja(e,t,n){return ny(e,t,!1,n)}function ry(e,t,n){return ny(e,t,!0,n)}function Ka(e,t,n){let r=Qx(e,t);return{lineCount:r,height:r*n}}function AM(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function wM(e,t,n){return e.widths.length===0?0:Ic(e,t,r=>{n(AM(r))})}function iy(e,t){return ty(e,t)}function oy(e){let t=0;return wM(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var _M={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:\"Outfit\",step:2};function ay(e,t){let n={..._M,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i=Math.max(n.minFontSize,i-n.step)){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=ja(e,o),{lineCount:s}=Ka(a,n.maxWidth,i*r);if(s<=1)return{fontSize:i,fits:!0};if(i===n.minFontSize)break}return{fontSize:n.minFontSize,fits:!1}}var sy={prepare:ja,layout:Ka,prepareWithSegments:ry,measureLineStats:iy,measureNaturalWidth:oy};function ly(e){return new URL(e,document.baseURI).href}var un=\"appifact-film:\";function uy(e){let{iframe:t,runnerHtml:n,load:r}=e,i=(t.getAttribute(\"sandbox\")??\"\").split(/\\s+/);if(!i.includes(\"allow-scripts\")||i.includes(\"allow-same-origin\"))throw new Error('Film runners require sandbox=\"allow-scripts\" without allow-same-origin');let o=0,a=!1,s=!1,l=null,u,f,d=new Promise((E,k)=>{u=E,f=k});d.catch(()=>{});let m=null,g=E=>{l=E,clearTimeout(h),f(E),m&&(clearTimeout(m.timer),m.reject(E),m=null)},h=setTimeout(()=>g(new Error(\"Film runner did not become ready within 20 s\")),2e4),b=E=>{if(E.type!==un+\"frame\"&&E.type!==un+\"frame-error\"||!(\"seq\"in E)||m===null||m.sequence!==E.seq)return;let k=m;m=null,clearTimeout(k.timer),E.type===un+\"frame-error\"?k.reject(new Error(\"message\"in E?String(E.message):\"Film frame failed\")):k.resolve()},x=E=>{try{let k=t.contentWindow;if(!k)throw new Error(\"Film runner window is unavailable\");k.postMessage(E,\"*\")}catch(k){g(k instanceof Error?k:new Error(String(k)))}},v=E=>{if(E.type===un+\"hello\"){if(a){g(new Error(\"Film runner reloaded; recreate the bridge before seeking\"));return}a=!0,x({...r,type:un+\"load\"})}else E.type===un+\"ready\"&&a?(clearTimeout(h),u()):E.type===un+\"error\"&&g(new Error(\"message\"in E?String(E.message):\"Film runner failed\"))},A=E=>{if(s||l||E.source!==t.contentWindow||E.origin!==\"null\")return;let k=E.data;!k||typeof k!=\"object\"||!(\"type\"in k)||(v(k),b(k))};return window.addEventListener(\"message\",A),t.srcdoc=n,{ready:d,async render(E){if(await d,l)throw l;if(m)throw new Error(\"Film seeks must be serialized; use registerFrameSource\");let k=++o;return new Promise((O,F)=>{let D=setTimeout(()=>{g(new Error(\"Film frame did not arrive within 15 s\"))},15e3);m={sequence:k,resolve:O,reject:F,timer:D},x({type:un+\"frame\",t:E,seq:k})})},dispose(){s||(s=!0,window.removeEventListener(\"message\",A),g(new Error(\"Film bridge was disposed\")),t.srcdoc=\"\")}}}window.__timelines=window.__timelines||{};N0();_x();Cx();window.__hfHasFrameSources=dm;Rf();Mf();window.__hyperframes={assetUrl:ly,fitTextFontSize:ay,getVariables:Hf,pretext:sy,registerRuntimeDataHandler:yx,setRuntimeData:Ga,clearRuntimeData:Ba,registerFrameSource:fm,createFilmBridge:uy};function cy(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Tx())}function dy(){In();let e=Array.from(document.querySelectorAll(Og));e.length===0?cy():xa(e,cy)}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",dy,{once:!0}):dy();})();\n";
2
+ const RUNTIME_IIFE = "\"use strict\";(()=>{var LS=Object.create;var Ss=Object.defineProperty;var FS=Object.getOwnPropertyDescriptor;var IS=Object.getOwnPropertyNames;var DS=Object.getPrototypeOf,PS=Object.prototype.hasOwnProperty;var OS=(e,t,n)=>t in e?Ss(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var HS=(e,t,n,r)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of IS(t))!PS.call(e,i)&&i!==n&&Ss(e,i,{get:()=>t[i],enumerable:!(r=FS(t,i))||r.enumerable});return e};var GS=(e,t,n)=>(n=e!=null?LS(DS(e)):{},HS(t||!e||!e.__esModule?Ss(n,\"default\",{value:e,enumerable:!0}):n,e));var de=(e,t,n)=>OS(e,typeof t!=\"symbol\"?t+\"\":t,n);var xh=fe((cD,Xl)=>{var ae=String,bh=function(){return{isColorSupported:!1,reset:ae,bold:ae,dim:ae,italic:ae,underline:ae,inverse:ae,hidden:ae,strikethrough:ae,black:ae,red:ae,green:ae,yellow:ae,blue:ae,magenta:ae,cyan:ae,white:ae,gray:ae,bgBlack:ae,bgRed:ae,bgGreen:ae,bgYellow:ae,bgBlue:ae,bgMagenta:ae,bgCyan:ae,bgWhite:ae,blackBright:ae,redBright:ae,greenBright:ae,yellowBright:ae,blueBright:ae,magentaBright:ae,cyanBright:ae,whiteBright:ae,bgBlackBright:ae,bgRedBright:ae,bgGreenBright:ae,bgYellowBright:ae,bgBlueBright:ae,bgMagentaBright:ae,bgCyanBright:ae,bgWhiteBright:ae}};Xl.exports=bh();Xl.exports.createColors=bh});var Jl=fe(()=>{});var oa=fe((mD,vh)=>{\"use strict\";var yh=xh(),Sh=Jl(),di=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=yh.isColorSupported);let r=f=>f,i=f=>f,o=f=>f;if(t){let{bold:f,gray:d,red:m}=yh.createColors(!0);i=x=>f(m(x)),r=x=>d(x),Sh&&(o=x=>Sh(x))}let a=n.split(/\\r?\\n/),s=Math.max(this.line-3,0),l=Math.min(this.line+2,a.length),u=String(l).length;return a.slice(s,l).map((f,d)=>{let m=s+1+d,x=\" \"+(\" \"+m).slice(-u)+\" | \";if(m===this.line){if(f.length>160){let b=20,g=Math.max(0,this.column-b),v=Math.max(this.column+b,this.endColumn+b),A=f.slice(g,v),E=r(x.replace(/\\d/g,\" \"))+f.slice(0,Math.min(this.column-1,b-1)).replace(/[^\\t]/g,\" \");return i(\">\")+r(x)+o(A)+`\n `+E+i(\"^\")}let h=r(x.replace(/\\d/g,\" \"))+f.slice(0,this.column-1).replace(/[^\\t]/g,\" \");return i(\">\")+r(x)+o(f)+`\n `+h+i(\"^\")}return\" \"+r(x)+o(f)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+\": \"+this.message+t}};vh.exports=di;di.default=di});var Ql=fe((pD,Ch)=>{\"use strict\";var dw=/(<)(\\/?style\\b)/gi,fw=/(<)(!--)/g,mw=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/;function dt(e){return typeof e!=\"string\"||!e.includes(\"<\")?e:e.replace(dw,\"\\\\3c $2\").replace(fw,\"\\\\3c $2\")}var Eh={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:\" \",beforeRule:`\n`,colon:\": \",commentLeft:\" \",commentRight:\" \",emptyBody:\"\",indent:\" \",semicolon:!1};function pw(e){return e[0].toUpperCase()+e.slice(1)}function Ah(e,t){let n=\"@\"+t.name,r=t.params?e.rawValue(t,\"params\"):\"\",i=t.raws.afterName;return typeof i>\"u\"?i=r?\" \":\"\":i===\"\"&&r&&!mw.test(r[0])&&(i=\" \"),n+i+r}function hw(e){if(!e.prop.startsWith(\"--\"))return!1;let t=e.raws.before;return typeof t>\"u\"||!/\\S$/.test(t)}function _h(e,t,n){let r=n.nodes,i=r.length-1;for(;i>0&&r[i].type===\"comment\";)i-=1;let o=e.raw(n,\"semicolon\"),a=n.type===\"document\";for(let s=r.length-1;s>=0;s--){let l=r[s],u=i!==s||o;!u&&s<r.length-1&&(l.type===\"atrule\"&&!l.nodes||l.type===\"decl\"&&hw(l))&&(u=!0),t.push({document:a,node:l,semicolon:u})}}function wh(e,t,n,r){let i=e.raw(n,\"between\",\"beforeOpen\");e.builder(dt(r+i)+\"{\",n,\"start\");let o=n.nodes&&n.nodes.length,a=()=>{let s=o?e.raw(n,\"after\"):e.raw(n,\"after\",\"emptyBody\");s&&e.builder(dt(s)),e.builder(\"}\",n,\"end\"),n.type===\"rule\"&&n.raws.ownSemicolon&&e.builder(dt(n.raws.ownSemicolon),n,\"end\")};o?(t.push(a),_h(e,t,n)):a()}var fi=class e{constructor(t){this.builder=t}atrule(t,n){let r=Ah(this,t);if(t.nodes)this.block(t,r);else{let i=(t.raws.between||\"\")+(n?\";\":\"\");this.builder(dt(r+i),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 s=0;s<o;s++)r+=a}return r}block(t,n){let r=this.raw(t,\"between\",\"beforeOpen\");this.builder(dt(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(dt(i)),this.builder(\"}\",t,\"end\")}body(t){let n=e.prototype,r=[\"atrule\",\"block\",\"body\",\"rule\",\"stringify\"].every(o=>this[o]===n[o]),i=[];for(_h(this,i,t);i.length>0;){let o=i.pop();if(typeof o==\"function\"){o();continue}let a=o.node,s=this.raw(a,\"before\");s&&this.builder(o.document?s:dt(s)),r&&a.type===\"rule\"?wh(this,i,a,this.rawValue(a,\"selector\")):r&&a.type===\"atrule\"&&a.nodes?wh(this,i,a,Ah(this,a)):this.stringify(a,o.semicolon)}}comment(t){let n=this.raw(t,\"left\",\"commentLeft\"),r=this.raw(t,\"right\",\"commentRight\");this.builder(dt(\"/*\"+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(dt(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 Eh[r];let a=t.root(),s=a.rawCache||(a.rawCache={});if(typeof s[r]<\"u\")return s[r];if(r===\"before\"||r===\"after\")return this.beforeAfter(t,r);{let l=\"raw\"+pw(r);this[l]?i=this[l](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<\"u\")return!1})}return typeof i>\"u\"&&(i=Eh[r]),s[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(t.source&&t.source.input.hasBOM&&this.builder(\"\\uFEFF\",t,\"start\"),this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type===\"document\";this.builder(r?n:dt(n))}}rule(t){this.block(t,this.rawValue(t,\"selector\")),t.raws.ownSemicolon&&this.builder(dt(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)}};Ch.exports=fi;fi.default=fi});var mi=fe((hD,Rh)=>{\"use strict\";var gw=Ql();function Zl(e,t){new gw(t).stringify(e)}Rh.exports=Zl;Zl.default=Zl});var pi=fe((gD,eu)=>{\"use strict\";eu.exports.isClean=Symbol(\"isClean\");eu.exports.my=Symbol(\"my\")});var bi=fe((bD,Th)=>{\"use strict\";var bw=oa(),xw=Ql(),yw=mi(),{isClean:hi,my:Sw}=pi();function vw(e,t){let n=new e.constructor,r=[[e,n,t]];for(;r.length>0;){let[i,o,a]=r.pop();for(let s in i){if(!Object.prototype.hasOwnProperty.call(i,s)||s===\"proxyCache\")continue;let l=i[s],u=typeof l;if(s===\"parent\"&&u===\"object\")a&&(o[s]=a);else if(s===\"source\")o[s]=l;else if(Array.isArray(l)){let f=[];o[s]=f;for(let d of l){let m=new d.constructor;f.push(m),r.push([d,m,o])}}else{if(u===\"object\"&&l!==null){let f=new l.constructor;r.push([l,f,void 0]),l=f}o[s]=l}}}return n}function wt(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 gi=class e{get proxyOf(){return this}constructor(t={}){this.raws={},this[hi]=!1,this[Sw]=!0;for(let n of Object.keys(t))if(n!==\"__proto__\")if(n===\"nodes\"){this.nodes=[];for(let r of t[n])typeof r.clone==\"function\"&&r.parent?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=vw(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 bw(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[hi]=!0}markDirty(){if(this[hi]){this[hi]=!1;let t=this;for(;t=t.parent;)t[hi]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(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:wt(n,this.source.start)};if(t.index)r=this.positionInside(t.index);else if(t.word){let o=n.slice(wt(n,this.source.start),wt(n,this.source.end)).indexOf(t.word);o!==-1&&(r=this.positionInside(o))}return r}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=wt(i,this.source.start),a=o+t;for(let s=o;s<a;s++)i[s]===`\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:wt(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:wt(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(wt(n,this.source.start),wt(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:wt(n,t.start)}:typeof t.index==\"number\"&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:wt(n,t.end)}:typeof t.endIndex==\"number\"?i=this.positionInside(t.endIndex):typeof t.index==\"number\"&&(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 xw().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=n==null;n=n||new Map;let i=[],o=[[this,i,0]];for(let s=0;s<o.length;s++){let[l,u,f]=o[s],d={};u[f]=d;for(let m in l){if(!Object.prototype.hasOwnProperty.call(l,m)||m===\"parent\"||m===\"proxyCache\")continue;let x=l[m];if(Array.isArray(x)){let h=[];d[m]=h;for(let b=0;b<x.length;b++){let g=x[b];typeof g==\"object\"&&g.toJSON?g.toJSON===e.prototype.toJSON?o.push([g,h,b]):h[b]=g.toJSON(null,n):h[b]=g}}else if(typeof x==\"object\"&&x.toJSON)x.toJSON===e.prototype.toJSON?o.push([x,d,m]):d[m]=x.toJSON(null,n);else if(m===\"source\"){if(x==null)continue;let h=n.get(x.input);h==null&&(h=n.size,n.set(x.input,h)),d[m]={end:x.end,inputId:h,start:x.start}}else d[m]=x}}let a=i[0];return r&&(a.inputs=[...n.keys()].map(s=>s.toJSON())),a}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=yw){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)}};Th.exports=gi;gi.default=gi});var yi=fe((xD,kh)=>{\"use strict\";var Ew=bi(),xi=class extends Ew{constructor(t){super(t),this.type=\"comment\"}};kh.exports=xi;xi.default=xi});var vi=fe((yD,Mh)=>{\"use strict\";var Aw=bi(),Si=class extends Aw{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\"}};Mh.exports=Si;Si.default=Si});var Pt=fe((SD,Hh)=>{\"use strict\";var Lh=yi(),Fh=vi(),Nh=bi(),{isClean:Ih,my:Dh}=pi(),tu,Ph,Oh,nu;function ww(e){let t=e.slice();for(;t.length>0;){let n=t.pop();if(delete n.source,n.nodes){n.nodes=n.nodes.slice();for(let r of n.nodes)t.push(r)}}return e.slice()}function _w(e){let t=[e];for(;t.length>0;){let n=t.pop();if(n[Ih]=!1,n.proxyOf.nodes)for(let r of n.proxyOf.nodes)t.push(r)}}var _t=class e extends Nh{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){let n=[this];for(;n.length>0;){let r=n.pop();if(r!==this&&r.cleanRaws!==e.prototype.cleanRaws){r.cleanRaws(t);continue}if(Nh.prototype.cleanRaws.call(r,t),r.nodes)for(let i of r.nodes)n.push(i)}}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 s of o)this.proxyOf.nodes.splice(r,0,s);let a;for(let s in this.indexes)a=this.indexes[s],r<=a&&(this.indexes[s]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t==\"string\")t=ww(Ph(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 Fh(t)]}else if(t.selector||t.selectors)t=[new nu(t)];else if(t.name)t=[new tu(t)];else if(t.text)t=[new Lh(t)];else throw new Error(\"Unknown node type in node creation\");return t.map(i=>(i[Dh]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Ih]&&_w(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){if(!this.proxyOf.nodes)return;let n=[{iterator:this.getIterator(),node:this.proxyOf}];for(;n.length>0;){let{iterator:r,node:i}=n[n.length-1],o=i.indexes[r];if(o>=i.proxyOf.nodes.length){delete i.indexes[r],n.pop();let l=n[n.length-1];l&&(l.node.indexes[l.iterator]+=1);continue}let a=i.proxyOf.nodes[o],s;try{s=t(a,o)}catch(l){throw a.addToError(l)}if(s===!1){for(let l of n)delete l.node.indexes[l.iterator];return!1}a.walk&&a.proxyOf.nodes?n.push({iterator:a.getIterator(),node:a}):i.indexes[r]+=1}}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)}))}};_t.registerParse=e=>{Ph=e};_t.registerRule=e=>{nu=e};_t.registerAtRule=e=>{tu=e};_t.registerRoot=e=>{Oh=e};Hh.exports=_t;_t.default=_t;_t.rebuild=e=>{let t=[e];for(;t.length>0;){let n=t.pop();if(n.type===\"atrule\"?Object.setPrototypeOf(n,tu.prototype):n.type===\"rule\"?Object.setPrototypeOf(n,nu.prototype):n.type===\"decl\"?Object.setPrototypeOf(n,Fh.prototype):n.type===\"comment\"?Object.setPrototypeOf(n,Lh.prototype):n.type===\"root\"&&Object.setPrototypeOf(n,Oh.prototype),n[Dh]=!0,n.nodes)for(let r of n.nodes)t.push(r)}}});var aa=fe((vD,Bh)=>{\"use strict\";var Gh=Pt(),ur=class extends Gh{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)}};Bh.exports=ur;ur.default=ur;Gh.registerAtRule(ur)});var sa=fe((ED,Vh)=>{\"use strict\";var Cw=Pt(),Uh,Wh,Cn=class extends Cw{constructor(t){super({type:\"document\",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Uh(new Wh,this,t).stringify()}};Cn.registerLazyResult=e=>{Uh=e};Cn.registerProcessor=e=>{Wh=e};Vh.exports=Cn;Cn.default=Cn});var zh=fe((AD,$h)=>{var Rw=\"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\",Tw=(e,t=21)=>(n=t)=>{let r=\"\",i=n|0;for(;i-- >0;)r+=e[Math.random()*e.length|0];return r},kw=(e=21)=>{let t=\"\",n=e|0;for(;n-- >0;)t+=Rw[Math.random()*64|0];return t};$h.exports={nanoid:kw,customAlphabet:Tw}});var la=fe(()=>{});var ua=fe(()=>{});var ru=fe(()=>{});var qh=fe(()=>{});var iu=fe((LD,Xh)=>{\"use strict\";var{existsSync:Mw,readFileSync:Nw,realpathSync:Lw}=qh(),{dirname:ca,isAbsolute:Fw,join:Iw,relative:Dw,sep:Pw}=la(),{SourceMapConsumer:jh,SourceMapGenerator:Kh}=ua();function Yh(e){try{return Lw(e)}catch{return e}}function Ow(e){return Buffer?Buffer.from(e,\"base64\").toString():window.atob(e)}var Ei=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=ca(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new jh(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 s=t.match(n)||t.match(r);if(s)return Ow(t.substr(s[0].length));let l=t.slice(22);throw l=l.slice(0,l.indexOf(\",\")),new Error(\"Unsupported source map encoding \"+l)}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){if(!/\\.map$/i.test(t)||!n)return;let i=Dw(Yh(ca(n)),Yh(t));if(i===\"..\"||i.startsWith(\"..\"+Pw)||Fw(i))return}if(this.root=ca(t),Mw(t))return this.mapFile=t,Nw(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 jh)return Kh.fromSourceMap(n).toString();if(n instanceof Kh)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=Iw(ca(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)}};Xh.exports=Ei;Ei.default=Ei});var Ai=fe((FD,tg)=>{\"use strict\";var{nanoid:Hw}=zh(),{isAbsolute:su,resolve:lu}=la(),{SourceMapConsumer:Gw,SourceMapGenerator:Bw}=ua(),{fileURLToPath:Jh,pathToFileURL:da}=ru(),Qh=oa(),Uw=iu(),ou=Jl(),au=Symbol(\"lineToIndexCache\"),Ww=!!(Gw&&Bw),Zh=!!(lu&&su);function eg(e){if(e[au])return e[au];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[au]=n,n}var cr=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&&(!Zh||/^\\w+:\\/\\//.test(n.from)||su(n.from)?this.file=n.from:this.file=lu(n.from)),Zh&&Ww){let r=new Uw(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 \"+Hw(6)+\">\"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,s,l,u;if(n&&typeof n==\"object\"){let d=n,m=r;if(typeof d.offset==\"number\"){l=d.offset;let x=this.fromOffset(l);n=x.line,r=x.col}else n=d.line,r=d.column,l=this.fromLineAndColumn(n,r);if(typeof m.offset==\"number\"){s=m.offset;let x=this.fromOffset(s);a=x.line,o=x.col}else a=m.line,o=m.column,s=this.fromLineAndColumn(m.line,m.column)}else if(r)l=this.fromLineAndColumn(n,r);else{l=n;let d=this.fromOffset(l);n=d.line,r=d.col}let f=this.origin(n,r,a,o);return f?u=new Qh(t,f.endLine===void 0?f.line:{column:f.column,line:f.line},f.endLine===void 0?f.column:{column:f.endColumn,line:f.endLine},f.source,f.file,i.plugin):u=new Qh(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:s,line:n,offset:l,source:this.css},this.file&&(da&&(u.input.url=da(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return eg(this)[t-1]+n-1}fromOffset(t){let n=eg(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:lu(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-1,line:t});if(!a.source)return!1;let s;if(typeof r==\"number\"){let d=o.originalPositionFor({column:i-1,line:r});d.source&&(s=d)}let l;su(a.source)?l=da(a.source):l=new URL(a.source,this.map.consumer().sourceRoot||da(this.map.mapFile));let u={column:a.column+1,endColumn:s&&s.column+1,endLine:s&&s.line,line:a.line,url:l.toString()};if(l.protocol===\"file:\")if(Jh)u.file=Jh(l);else throw new Error(\"file: protocol is not available in this PostCSS build\");let f=o.sourceContentFor(a.source);return f&&(u.source=f),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}};tg.exports=cr;cr.default=cr;ou&&ou.registerInput&&ou.registerInput(cr)});var dr=fe((ID,og)=>{\"use strict\";var ng=Pt(),rg,ig,tn=class extends ng{constructor(t){super(t),this.type=\"root\",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=new Set;for(let a of Array.isArray(t)?t:[t])a&&typeof a==\"object\"&&!a.parent&&a.raws&&typeof a.raws.before<\"u\"&&i.add(a.raws);let o=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 a of o)i.has(a.raws)||(a.raws.before=n.raws.before)}return o}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 rg(new ig,this,t).stringify()}};tn.registerLazyResult=e=>{rg=e};tn.registerProcessor=e=>{ig=e};og.exports=tn;tn.default=tn;ng.registerRoot(tn)});var uu=fe((DD,ag)=>{\"use strict\";var wi={comma(e){return wi.split(e,[\",\"],!0)},space(e){let t=[\" \",`\n`,\"\t\"];return wi.split(e,t)},split(e,t,n){if(typeof e!=\"string\")return[];let r=[],i=\"\",o=!1,a=0,s=!1,l=\"\",u=!1;for(let d of e)if(u?u=!1:d===\"\\\\\"?u=!0:s?d===l&&(s=!1):d==='\"'||d===\"'\"?(s=!0,l=d):d===\"(\"?a+=1:d===\")\"?a>0&&(a-=1):a===0&&t.includes(d)&&(o=!0),o){let m=i.trim();(n||m!==\"\")&&r.push(m),i=\"\",o=!1}else i+=d;let f=i.trim();return(n||f!==\"\")&&r.push(f),r}};ag.exports=wi;wi.default=wi});var fa=fe((PD,lg)=>{\"use strict\";var sg=Pt(),Vw=uu(),fr=class extends sg{get selectors(){return Vw.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=[])}};lg.exports=fr;fr.default=fr;sg.registerRule(fr)});var dg=fe((OD,cg)=>{\"use strict\";var $w=aa(),zw=yi(),qw=vi(),jw=Ai(),Kw=iu(),Yw=dr(),Xw=fa();function ug(e,t){return e.inputs?e.inputs.map(n=>{let r={...n,__proto__:jw.prototype};return r.map&&(r.map={...r.map,__proto__:Kw.prototype}),r}):t}function Jw(e,t,n){let r={...e};if(delete r.inputs,delete r.nodes,r.source){let{inputId:o,...a}=r.source;r.source=a,o!=null&&(r.source.input=t[o])}let i;if(r.type===\"root\")i=new Yw(r);else if(r.type===\"decl\")i=new qw(r);else if(r.type===\"rule\")i=new Xw(r);else if(r.type===\"comment\")i=new zw(r);else if(r.type===\"atrule\")i=new $w(r);else throw new Error(\"Unknown node type: \"+e.type);if(n){i.nodes=n;for(let o of n)o.parent=i}return i}function ma(e,t){if(Array.isArray(e))return e.map(i=>ma(i));let n,r=[{childIndex:0,children:[],inputs:ug(e,t),json:e}];for(;r.length>0;){let i=r[r.length-1],o=i.json.nodes;if(o&&i.childIndex<o.length){let s=o[i.childIndex];i.childIndex+=1,r.push({childIndex:0,children:[],inputs:ug(s,i.inputs),json:s});continue}r.pop();let a=Jw(i.json,i.inputs,o?i.children:void 0);r.length>0?r[r.length-1].children.push(a):n=a}return n}cg.exports=ma;ma.default=ma});var du=fe((HD,bg)=>{\"use strict\";var{dirname:pa,relative:mg,resolve:pg,sep:hg}=la(),{SourceMapConsumer:gg,SourceMapGenerator:ha}=ua(),{pathToFileURL:fg}=ru(),Qw=Ai(),Zw=!!(gg&&ha),e_=!!(pa&&pg&&mg&&hg),cu=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||pa(t.file),i;this.mapOpts.sourcesContent===!1?(i=new gg(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=\"/*# sourceMappingURL=\",n;for(;(n=this.css.lastIndexOf(t))!==-1;){let r=this.css.indexOf(\"*/\",n+t.length);if(r===-1)break;for(;n>0&&this.css[n-1]===`\n`;)n--;this.css=this.css.slice(0,n)+this.css.slice(r+2)}}}}generate(){if(this.clearAnnotation(),e_&&Zw&&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=ha.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new ha({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 ha({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,(s,l,u)=>{if(this.css+=s,l&&u!==\"end\"&&(i.generated.line=t,i.generated.column=n-1,l.source&&l.source.start?(i.source=this.sourcePath(l),i.original.line=l.source.start.line,i.original.column=l.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=s.match(/\\n/g),a?(t+=a.length,o=s.lastIndexOf(`\n`),n=s.length-o):n+=s.length,l&&u!==\"start\"){let f=l.parent||{raws:{}};(!(l.type===\"decl\"||l.type===\"atrule\"&&!l.nodes)||l!==f.last||f.raws.semicolon)&&(l.source&&l.source.end?(i.source=this.sourcePath(l),i.original.line=l.source.end.line,i.original.column=l.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?pa(this.opts.to):\".\";typeof this.mapOpts.annotation==\"string\"&&(r=pa(pg(r,this.mapOpts.annotation)));let i=mg(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 Qw(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(fg){let r=fg(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;hg===\"\\\\\"&&(t=t.replace(/\\\\/g,\"/\"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};bg.exports=cu});var Sg=fe((GD,yg)=>{\"use strict\";var ga=/[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g,ba=/[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g,t_=/.[\\r\\n\"'(/\\\\]/,xg=/[\\da-f]/i;yg.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,s,l,u,f,d,m,x,h,b=r.length,g=0,v=[],A=[],E=-1;function k(){return g}function P(M){throw t.error(\"Unclosed \"+M,g)}function L(){return A.length===0&&g>=b}function D(M){if(A.length)return A.pop();if(g>=b)return;let T=M?M.ignoreUnclosed:!1;switch(o=r.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{l=g;do l+=1,o=r.charCodeAt(l);while(o===32||o===10||o===9||o===13||o===12);f=[\"space\",r.slice(g,l)],g=l-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let B=String.fromCharCode(o);f=[B,B,g];break}case 40:{if(h=v.length?v.pop()[1]:\"\",x=r.charCodeAt(g+1),h===\"url\"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){l=g;do{if(d=!1,l=r.indexOf(\")\",l+1),l===-1)if(i||T){l=g;break}else P(\"bracket\");for(m=l;r.charCodeAt(m-1)===92;)m-=1,d=!d}while(d);f=[\"brackets\",r.slice(g,l+1),g,l],g=l}else g<=E?f=[\"(\",\"(\",g]:(l=r.indexOf(\")\",g+1),a=r.slice(g,l+1),l===-1||t_.test(a)?(E=l===-1?b:l,f=[\"(\",\"(\",g]):(f=[\"brackets\",a,g,l],g=l));break}case 39:case 34:{u=o===39?\"'\":'\"',l=g;do{if(d=!1,l=r.indexOf(u,l+1),l===-1)if(i||T){l=g+1;break}else P(\"string\");for(m=l;r.charCodeAt(m-1)===92;)m-=1,d=!d}while(d);f=[\"string\",r.slice(g,l+1),g,l],g=l;break}case 64:{ga.lastIndex=g+1,ga.test(r),ga.lastIndex===0?l=r.length-1:l=ga.lastIndex-2,f=[\"at-word\",r.slice(g,l+1),g,l],g=l;break}case 92:{for(l=g,s=!0;r.charCodeAt(l+1)===92;)l+=1,s=!s;if(o=r.charCodeAt(l+1),s&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(l+=1,xg.test(r.charAt(l)))){for(;xg.test(r.charAt(l+1));)l+=1;r.charCodeAt(l+1)===32&&(l+=1)}f=[\"word\",r.slice(g,l+1),g,l],g=l;break}default:{o===47&&r.charCodeAt(g+1)===42?(l=r.indexOf(\"*/\",g+2)+1,l===0&&(i||T?l=r.length:P(\"comment\")),f=[\"comment\",r.slice(g,l+1),g,l],g=l):(ba.lastIndex=g+1,ba.test(r),ba.lastIndex===0?l=r.length-1:l=ba.lastIndex-2,f=[\"word\",r.slice(g,l+1),g,l],v.push(f),g=l);break}}return g++,f}function R(M){A.push(M)}return{back:R,endOfFile:L,nextToken:D,position:k}}});var wg=fe((BD,Ag)=>{\"use strict\";var n_=aa(),r_=yi(),i_=vi(),o_=dr(),vg=fa(),a_=Sg(),Eg={empty:!0,space:!0};function s_(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}function fu(e,t,n){let r=\"\";for(let i=t;i<n;i++)r+=e[i][1];return r}var mu=class{constructor(t){this.input=t,this.root=new o_,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 n_;n.name=t[1].slice(1),n.name===\"\"&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,s=!1,l=[],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===\"{\"){s=!0;break}else if(r===\"}\"){if(l.length>0){for(o=l.length-1,i=l[o];i&&i[0]===\"space\";)i=l[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else l.push(t);else l.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(n.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(n,\"params\",l),a&&(t=l[l.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=\"\"),s&&(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,s]of t.entries()){if(i=s,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 r_;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=a_(this.input)}decl(t,n){let r=new i_;this.init(r,t[0][2]);let i=t[t.length-1];i[0]===\";\"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||s_(t)),r.source.end.offset++;let o=0;for(;t[o][0]!==\"word\";)o===t.length-1&&this.unknownWord([t[o]]),o++;r.raws.before+=fu(t,0,o),r.source.start=this.getPosition(t[o][2]);let a=o;for(;o<t.length;){let m=t[o][0];if(m===\":\"||m===\"space\"||m===\"comment\")break;o++}r.prop=fu(t,a,o);let s=o,l;for(;o<t.length&&(l=t[o],o++,l[0]!==\":\");)l[0]===\"word\"&&/\\w/.test(l[1])&&this.unknownWord([l]);r.raws.between=fu(t,s,o),(r.prop[0]===\"_\"||r.prop[0]===\"*\")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let u=o;for(;o<t.length;){let m=t[o][0];if(m!==\"space\"&&m!==\"comment\")break;o++}let f=t.slice(u,o);t=t.slice(o),this.precheckMissedSemicolon(t);for(let m=t.length-1;m>=0;m--){if(l=t[m],l[1].toLowerCase()===\"!important\"){r.important=!0;let x=this.stringFrom(t,m);x=this.spacesFromEnd(t)+x,x!==\" !important\"&&(r.raws.important=x);break}else if(l[1].toLowerCase()===\"important\"){let x=t.slice(0),h=\"\";for(let b=m;b>0;b--){let g=x[b][0];if(h.trim().startsWith(\"!\")&&g!==\"space\")break;h=x.pop()[1]+h}h.trim().startsWith(\"!\")&&(r.important=!0,r.raws.important=h,t=x)}if(l[0]!==\"space\"&&l[0]!==\"comment\")break}t.some(m=>m[0]!==\"space\"&&m[0]!==\"comment\")&&(r.raws.between+=f.map(m=>m[1]).join(\"\"),f=[]),this.raw(r,\"value\",f.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 vg;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++)}}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=[],s=t[1].startsWith(\"--\"),l=[],u=t;for(;u;){if(r=u[0],l.push(u),r===\"(\"||r===\"[\")o||(o=u),a.push(r===\"(\"?\")\":\"]\");else if(s&&i&&r===\"{\")o||(o=u),a.push(\"}\");else if(a.length===0)if(r===\";\")if(i){this.decl(l,s);return}else break;else if(r===\"{\"){this.rule(l);return}else if(r===\"}\"){this.tokenizer.back(l.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(!s)for(;l.length&&(u=l[l.length-1][0],!(u!==\"space\"&&u!==\"comment\"));)this.tokenizer.back(l.pop());this.decl(l,s)}else this.unknownWord(l)}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,s=r.length,l=\"\",u=!0,f,d;for(let m=0;m<s;m+=1)o=r[m],a=o[0],a===\"space\"&&m===s-1&&!i?u=!1:a===\"comment\"?(d=r[m-1]?r[m-1][0]:\"empty\",f=r[m+1]?r[m+1][0]:\"empty\",!Eg[d]&&!Eg[f]?l.slice(-1)===\",\"?u=!1:l+=o[1]:u=!1):l+=o[1];if(!u){let m=r.reduce((x,h)=>x+h[1],\"\");t.raws[n]={raw:m,value:l}}t[n]=l}rule(t){t.pop();let n=new vg;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})}};Ag.exports=mu});var ya=fe((UD,_g)=>{\"use strict\";var l_=Pt(),u_=Ai(),c_=wg();function xa(e,t){let n=new u_(e,t),r=new c_(n);try{r.parse()}catch(i){throw i}return r.root}_g.exports=xa;xa.default=xa;l_.registerParse(xa)});var pu=fe((WD,Cg)=>{\"use strict\";var d_=Pt(),{my:f_}=pi(),_i=class{constructor(t,n={}){if(this.type=\"warning\",this.text=t,n.node&&n.node.source){n.node[f_]||d_.rebuild(n.node);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}};Cg.exports=_i;_i.default=_i});var Sa=fe((VD,Rg)=>{\"use strict\";var m_=pu(),Ci=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 m_(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type===\"warning\")}};Rg.exports=Ci;Ci.default=Ci});var hu=fe(($D,kg)=>{\"use strict\";var Tg={};kg.exports=function(t){Tg[t]||(Tg[t]=!0,typeof console<\"u\"&&console.warn&&console.warn(t))}});var xu=fe((qD,Fg)=>{\"use strict\";var p_=Pt(),h_=sa(),g_=du(),b_=ya(),Mg=Sa(),x_=dr(),y_=mi(),{isClean:ft,my:S_}=pi(),zD=hu(),v_={atrule:\"AtRule\",comment:\"Comment\",decl:\"Declaration\",document:\"Document\",root:\"Root\",rule:\"Rule\"},E_={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},A_={Once:!0,postcssPlugin:!0,prepare:!0},mr=0;function Ri(e){return typeof e==\"object\"&&typeof e.then==\"function\"}function gu(e){let t=!1,n=v_[e.type];return e.type===\"decl\"?t=e.prop.toLowerCase():e.type===\"atrule\"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+\"-\"+t,mr,n+\"Exit\",n+\"Exit-\"+t]:t?[n,n+\"-\"+t,n+\"Exit\",n+\"Exit-\"+t]:e.append?[n,mr,n+\"Exit\"]:[n,n+\"Exit\"]}function Ng(e){let t;return e.type===\"document\"?t=[\"Document\",mr,\"DocumentExit\"]:e.type===\"root\"?t=[\"Root\",mr,\"RootExit\"]:t=gu(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function Lg(e){let t=[e];for(;t.length>0;){let n=t.pop();if(n[ft]=!1,n.nodes)for(let r of n.nodes)t.push(r)}return e}var bu={},nn=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=Lg(n);else if(n instanceof e||n instanceof Mg)i=Lg(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=b_;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[S_]&&p_.rebuild(i)}this.result=new Mg(t,i,r),this.helpers={...bu,postcss:bu,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(!E_[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!A_[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(Ri(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[ft];){t[ft]=!0;let n=[Ng(t)];for(;n.length>0;){let r=this.visitTick(n);if(Ri(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 Ri(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=y_;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,s=>{a+=s}),this.result.css=a,this.result}let o=new g_(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(Ri(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[ft];)t[ft]=!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(Ri(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,s]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return s(r.toProxy(),this.helpers)}catch(l){throw this.handleError(l,r)}}if(n.iterator!==0){let a=n.iterator;n.descending&&(n.descending=!1,r.indexes[a]+=1);let s;for(;s=r.nodes[r.indexes[a]];){if(!s[ft]){s[ft]=!0,n.descending=!0,t.push(Ng(s));return}r.indexes[a]+=1}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===mr){r.nodes&&r.nodes.length&&(r[ft]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[ft]=!0;let n=[{eventIndex:0,events:gu(t),iterator:0,node:t}];for(;n.length>0;){let r=n[n.length-1],i=r.node;if(r.iterator!==0){let o=r.iterator;r.descending&&(r.descending=!1,i.indexes[o]+=1);let a,s=!1;for(;a=i.nodes[i.indexes[o]];){if(!a[ft]){a[ft]=!0,r.descending=!0,n.push({eventIndex:0,events:gu(a),iterator:0,node:a}),s=!0;break}i.indexes[o]+=1}if(s)continue;r.iterator=0,delete i.indexes[o]}if(r.eventIndex<r.events.length){let o=r.events[r.eventIndex];if(r.eventIndex+=1,o===mr)i.nodes&&i.nodes.length&&(r.iterator=i.getIterator());else{let a=this.listeners[o];a&&this.visitSync(a,i.toProxy())&&n.pop()}continue}n.pop()}}warnings(){return this.sync().warnings()}};nn.registerPostcss=e=>{bu=e};Fg.exports=nn;nn.default=nn;x_.registerLazyResult(nn);h_.registerLazyResult(nn)});var Dg=fe((KD,Ig)=>{\"use strict\";var w_=du(),__=ya(),C_=Sa(),R_=mi(),jD=hu(),Ti=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=__;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=R_;this.result=new C_(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 w_(i,void 0,this._opts,n);if(a.isMap()){let[s,l]=a.generate();s&&(this.result.css=s),l&&(this.result.map=l)}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[]}};Ig.exports=Ti;Ti.default=Ti});var Og=fe((YD,Pg)=>{\"use strict\";var T_=sa(),k_=xu(),M_=Dg(),N_=dr(),Rn=class{constructor(t=[]){this.version=\"8.5.28\",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 M_(this,t,n):new k_(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Pg.exports=Rn;Rn.default=Rn;N_.registerProcessor(Rn);T_.registerProcessor(Rn)});var zg=fe((XD,$g)=>{\"use strict\";var Hg=aa(),Gg=yi(),L_=Pt(),F_=oa(),Bg=vi(),Ug=sa(),I_=dg(),D_=Ai(),P_=xu(),O_=uu(),H_=bi(),G_=ya(),yu=Og(),B_=Sa(),Wg=dr(),Vg=fa(),U_=mi(),W_=pu();function Se(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new yu(e)}Se.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(\"zh\")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let s=n(...a);return s.postcssPlugin=t,s.postcssVersion=new yu().version,s}let o;return Object.defineProperty(i,\"postcss\",{get(){return o||(o=i()),o}}),i.process=function(a,s,l){return Se([i(l)]).process(a,s)},i};Se.stringify=U_;Se.parse=G_;Se.fromJSON=I_;Se.list=O_;Se.comment=e=>new Gg(e);Se.atRule=e=>new Hg(e);Se.decl=e=>new Bg(e);Se.rule=e=>new Vg(e);Se.root=e=>new Wg(e);Se.document=e=>new Ug(e);Se.CssSyntaxError=F_;Se.Declaration=Bg;Se.Container=L_;Se.Processor=yu;Se.Document=Ug;Se.Comment=Gg;Se.Warning=W_;Se.AtRule=Hg;Se.Result=B_;Se.Input=D_;Se.Rule=Vg;Se.Root=Wg;Se.Node=H_;P_.registerPostcss(Se);$g.exports=Se;Se.default=Se});function jd(e){return e?/[\\w-]/.test(e)||e.charCodeAt(0)>=128:!1}function Kd(e){return e===\" \"||e===\"\t\"||e===`\n`||e===\"\\r\"||e===\"\\f\"}var BS=/^[0-9a-fA-F]{1,6}/;function US(e){let t=e>=55296&&e<=57343;return e===0||e>1114111||t?65533:e}function Yd(e,t){return e[t]===\"\\r\"&&e[t+1]===`\n`?t+2:Kd(e[t])?t+1:t}function vs(e,t){let n=e[t+1];if(n===void 0||/[\\n\\r\\f]/.test(n))return null;let r=BS.exec(e.slice(t+1,t+7));if(!r)return{value:n,end:t+2};let i=US(Number.parseInt(r[0],16));return{value:String.fromCodePoint(i),end:Yd(e,t+1+r[0].length)}}function WS(e,t){let n=i=>jd(i)&&!/[0-9-]/.test(i),r=i=>e[i]===\"\\\\\"&&vs(e,i)!==null;return e[t]===\"-\"?e[t+1]===\"-\"||n(e[t+1])||r(t+1):n(e[t])||r(t)}function po(e,t){let n=t;for(;e.startsWith(\"/*\",n);){let r=e.indexOf(\"*/\",n+2);n=r<0?e.length:r+2}return n}function Lr(e,t){let n=po(e,t);for(;Kd(e[n]);)n=po(e,n+1);return n}function Fr(e,t){if(!WS(e,t))return null;let n=t,r=\"\";for(;n<e.length;){let i=e[n];if(i===\"\\\\\"){let o=vs(e,n);if(!o)break;r+=o.value,n=o.end;continue}if(!jd(i))break;r+=i,n+=1}return n===t?null:{value:r,end:n}}var Es=45;function Xd(e){return e>=48&&e<=57}function VS(e){return e>=128||e===Es||e===95||Xd(e)||e>=65&&e<=90||e>=97&&e<=122}function $S(e,t){let n=e.charCodeAt(t);return n>=1&&n<=31||n===127?!0:Xd(n)?t===0||t===1&&e.charCodeAt(0)===Es:!1}function Mt(e){let t=\"\";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n),i=e[n];r===0?t+=\"\\uFFFD\":$S(e,n)?t+=`\\\\${r.toString(16)} `:n===0&&e.length===1&&r===Es?t+=`\\\\${i}`:VS(r)?t+=i:t+=`\\\\${i}`}return t}var Jd=/\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:[0-9a-fA-F]{1,6}(?:\\r\\n|[ \\t\\r\\n\\f])?|[\\s\\S])|\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|'(?:[^'\\\\]|\\\\[\\s\\S])*'|\\[(?:\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\[\\s\\S]|\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|'(?:[^'\\\\]|\\\\[\\s\\S])*'|[^\\]\"'\\\\/]|\\/(?!\\*))*\\]/g;function zS(e){let t=new Array(e.length).fill(!0);for(let n of e.matchAll(Jd)){let r=n.index;t.fill(!1,r,r+n[0].length)}return t}function ho(e,t,n){if(t.length===0||!e.includes(\"#\"))return e;let r=new Set(t),i=zS(e),o=\"\",a=0;for(;a<e.length;){let s=i[a]&&e[a]===\"#\"?Fr(e,a+1):null;s&&r.has(s.value)?(o+=n(s.value),a=s.end):(o+=e[a],a+=1)}return o}function qS(e){let t=\"\";for(let n=0;n<e.length;n+=1){if(e[n]===\"\\\\\"){let r=e[n+1];if(r!==void 0&&/[\\n\\r\\f]/.test(r)){n=Yd(e,n+1)-1;continue}let i=vs(e,n);if(i){t+=i.value,n=i.end-1;continue}}t+=e[n]}return t}function As(e){return Array.from(e,t=>{let n=t.charCodeAt(0);return n===0?\"\\uFFFD\":n<32||n===127?`\\\\${n.toString(16)} `:t==='\"'||t===\"\\\\\"?`\\\\${t}`:t}).join(\"\")}function jS(e,t){return e?{kind:\"any\"}:t===void 0?{kind:\"none\"}:{kind:\"named\",prefix:t}}function KS(e,t){return e[t]===\"|\"&&e[t+1]!==\"=\"}function YS(e,t){let n=e[t]===\"*\",r=n?{value:\"*\",end:t+1}:Fr(e,t),i=po(e,r?.end??t);if(!KS(e,i))return n?null:r?{token:r,namespace:{kind:\"none\"}}:null;let o=Fr(e,po(e,i+1));return o?{token:o,namespace:jS(n,r?.value)}:null}function XS(e){if(e[0]!==\"[\")return null;let t=Lr(e,1),n=YS(e,t);if(!n)return null;let{token:r,namespace:i}=n;return{name:r.value,rawName:e.slice(t,r.end),namespace:i,end:r.end}}function JS(e,t){let n=/^(?:\"((?:\\\\[\\s\\S]|[^\"\\\\])*)\"|'((?:\\\\[\\s\\S]|[^'\\\\])*)')/.exec(e.slice(t));return n?{value:qS(n[1]??n[2]),end:t+n[0].length}:Fr(e,t)}function QS(e,t){let n=Lr(e,t),r=Fr(e,n);if(r){if(!/^[is]$/i.test(r.value))return null;n=Lr(e,r.end)}return e[n]!==\"]\"||n!==e.length-1?null:{flag:r?.value}}function Qd(e){let t=XS(e);if(!t)return null;let n=Lr(e,t.end),i=[\"=\",\"~=\",\"|=\",\"^=\",\"$=\",\"*=\"].find(s=>e.startsWith(s,n));if(!i)return null;let o=JS(e,Lr(e,n+i.length));if(!o)return null;let a=QS(e,o.end);return a?{name:t.name,rawName:t.rawName,namespace:t.namespace,operator:i,value:o.value,flag:a.flag}:null}function ws(e,t){return e.replace(Jd,n=>n.startsWith(\"[\")?t(n):n)}var ut=\"data-hf-svg-reference-aliases\";function go(e,t,n,r){let i={\"=\":(d,m)=>d===m,\"~=\":(d,m)=>d.split(/[ \\t\\r\\n\\f]+/).includes(m),\"|=\":(d,m)=>d===m||d.startsWith(m+\"-\"),\"^=\":(d,m)=>d.startsWith(m),\"$=\":(d,m)=>d.endsWith(m),\"*=\":(d,m)=>d.includes(m)},o=(d,m,x)=>!m&&x!==\"=\"&&x!==\"|=\"?!1:i[x](d,m),a=d=>d.replace(/[A-Z]/g,m=>m.toLowerCase()),s=d=>{let m=Qd(d);if(!m)return d;let{name:x,rawName:h,namespace:b,operator:g,value:v,flag:A}=m;if(b.kind===\"named\"!=(r!==void 0))return d;let E=A?.toLowerCase()===\"i\"?a:D=>D,k=a(x),P=n.filter(D=>{let R=b.kind===\"none\"?D.name:D.localName,M=b.kind===\"named\"?r.get(b.prefix):null;return(b.kind===\"any\"||D.namespaceURI===M)&&a(R)===k}),L=new Set([d]);for(let D of P)o(E(D.before),E(v),g)&&L.add(`[${h}=\"${As(D.after)}\"${A?` ${A}`:\"\"}]`);return L.size===1?d:`:is(${[...L].join(\", \")})`};if(r)return ws(e,s);let l=new Map(t.map(({id:d,replacement:m})=>[d,m])),u=new Map;for(let d of n){if(d.name!==\"id\"||d.before===d.after||l.has(d.before))continue;let m=u.get(d.before);m||(m=new Set([`#${Mt(d.before)}`]),u.set(d.before,m)),m.add(`#${Mt(d.after)}`)}for(let[d,m]of u)l.set(d,`:is(${[...m].join(\", \")})`);let f=ho(e,[...l.keys()],d=>l.get(d));return ws(f,s)}function yn(e,t,n=!0){let r=[],o=(n?[...e.querySelectorAll(`[${t}]`)]:[]).map(s=>s.getAttribute(t)),a=e.getAttribute?.(t);a&&o.unshift(a);for(let s of o){let l;try{l=JSON.parse(s)}catch{continue}if(!Array.isArray(l))continue;let u=l;for(let f of u){if(!ev(f))continue;let{name:d,localName:m,namespaceURI:x,before:h,after:b}=f;r.push({name:d,localName:m,namespaceURI:x,before:h,after:b})}}return r}function ev(e){if(!e||typeof e!=\"object\")return!1;let{name:t,localName:n,namespaceURI:r,before:i,after:o}=e;return typeof t==\"string\"&&typeof n==\"string\"&&(r===null||typeof r==\"string\")&&typeof i==\"string\"&&typeof o==\"string\"}function tv(e){let t=[],n=[],r=!1,i,o=new WeakMap,a=(u,f)=>{for(let d of u){if(\"selectorText\"in d){let m=d,x=o.get(m),h=m.selectorText,b=x?.applied===h?x.authored:h,g=go(b,[],n,f);g!==h&&(m.selectorText=g),g===b?o.delete(m):o.set(m,{authored:b,applied:m.selectorText})}\"cssRules\"in d&&a(d.cssRules,f)}},s=()=>{if(n.length)for(let u of e.document.styleSheets){let f;try{f=u.cssRules}catch{continue}let d=new Map;for(let m of f){if(!(\"namespaceURI\"in m))continue;let{prefix:x,namespaceURI:h}=m;x&&d.set(x,h||null)}d.size&&a(f,d)}},l={rewrite:(u,f=[])=>{if(typeof u!=\"string\"||!u.includes(\"#\")&&!u.includes(\"[\"))return u;let d=go(u,f.length?[...f,...t]:t,n);if(d!==u){if(!i){let m=e.document.createElement(\"div\");i=m.matches.bind(m)}i(u)}return d},refresh(){n=yn(e.document,ut).filter(m=>m.before!==m.after);let u=new Set(n.filter(m=>m.name===\"id\").map(m=>m.before)),f=new Set;t=[];for(let m of e.document.querySelectorAll(\"[data-hf-authored-id][id]\")){let x=m.getAttribute(\"data-hf-authored-id\");if(!x||x===m.id||f.has(x)||u.has(x))continue;f.add(x);let h=As(x);t.push({id:x,replacement:`:is(#${Mt(x)}, [data-hf-authored-id=\"${h}\"])`})}if(s(),r||!t.length&&!n.length)return;let d=e.Element.prototype;d.querySelector=new Proxy(d.querySelector,{apply(m,x,h){return Reflect.apply(m,x,[l.rewrite(h[0])])}}),d.querySelectorAll=new Proxy(d.querySelectorAll,{apply(m,x,h){return Reflect.apply(m,x,[l.rewrite(h[0])])}}),r=!0}};e.__hfSvgSelectorAliases=l,l.refresh()}function Pn(){let e=window;e.__hfSvgSelectorAliases?e.__hfSvgSelectorAliases.refresh():tv(e)}var bo=\"hyperframes-studio-preview\",Sn=\"data-hf-upcoming\",xo=\"data-hf-preview-lazy\";var Ve=\"data-hf-preview-raster\",Zd=[Sn,xo,Ve];var ef=\"http://www.w3.org/1999/xhtml\";function Re(e){return e!=null&&e.nodeType===1}function xe(e){return Re(e)&&e.namespaceURI===ef}function On(e,t){return xe(e)&&e.localName===t}function ye(e){return On(e,\"video\")}function yo(e){return On(e,\"audio\")}function pe(e){return ye(e)||yo(e)}function Fe(e){return On(e,\"img\")}function Ir(e){return On(e,\"canvas\")}function tf(e){return On(e,\"style\")}function nf(e){return On(e,\"link\")}function _s(e){return Re(e)&&(e.namespaceURI===ef||e.namespaceURI===\"http://www.w3.org/2000/svg\")}var nv=new Set([\"transform\",\"translate\",\"rotate\",\"scale\"]),So=`[${Ve}]`,rv=`${So} { will-change: auto !important; }`,Hn=null,Gn=null,rf=new WeakMap;function iv(e){return e.willChange.split(\",\").every(t=>nv.has(t.trim()))}function Cs(e,t,n=!0){for(let r of n?[null,\"::before\",\"::after\"]:[\"::before\",\"::after\"]){let i=getComputedStyle(e,r);if(!(r&&i.content===\"none\")&&(i.position===\"fixed\"||!t&&(i.zIndex!==\"auto\"||i.mixBlendMode!==\"normal\")))return!0}return!1}function ov(e,t){if(t.position===\"static\")return!1;let n=t.zIndex!==\"auto\";if(Cs(e,n,!1))return!1;for(let r of e.querySelectorAll(\"*\"))if(Cs(r,n))return!1;return!0}function of(e,t){return`${t.zIndex}|${e.style?.willChange??\"\"}`}function af(e,t){if(e===Hn)return!1;let n=e.hasAttribute(Ve);n&&t&&e.removeAttribute(Ve);let r=getComputedStyle(e),o=(n&&!t||iv(r))&&ov(e,r);return o&&rf.set(e,of(e,r)),o}function sf(e,t){let n=af(e,t);n!==e.hasAttribute(Ve)&&e.toggleAttribute(Ve,n)}function lf(e){let t=e.parentElement?.closest(So);for(;t;)Cs(e,getComputedStyle(t).zIndex!==\"auto\")&&t.removeAttribute(Ve),t=t.parentElement?.closest(So)}function uf(e){for(let t of[e,...e.querySelectorAll(\"*\")])sf(t,t===e),lf(t)}function av(e){if(e.hasAttribute(Ve)){let t=getComputedStyle(e);(t.position===\"static\"||of(e,t)!==rf.get(e))&&sf(e,!0)}lf(e)}function cf(){for(let e of document.querySelectorAll(So))e.removeAttribute(Ve)}function Rs(){cf();let e=[...document.querySelectorAll(\"*\")].filter(t=>af(t,!0));for(let t of e)t.setAttribute(Ve,\"\")}function sv(e){!Re(e.target)||e.attributeName===Ve||(e.attributeName===\"style\"?av(e.target):uf(e.target))}function lv(e){return[...e.addedNodes].filter(t=>Re(t)&&(t.localName===\"style\"||t.localName===\"link\"))}function uv(e){let t=e.flatMap(lv);for(let n of t)n.addEventListener(\"load\",()=>Gn&&Rs(),{once:!0});if(t.length)return Rs();for(let n of e)if(n.type===\"attributes\")sv(n);else for(let r of n.addedNodes)Re(r)&&uf(r)}function cv(){Gn?.disconnect(),Gn=null,Hn?.remove(),Hn=null,cf()}function df(e){if(!(!(e>0)||!Number.isFinite(e))){if(e>=1)return cv();Gn||(Hn=document.createElement(\"style\"),Hn.textContent=rv,(document.head??document.documentElement).append(Hn),Rs(),Gn=new MutationObserver(uv),Gn.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0}))}}var Dr=\"hf-runtime-filler\",dv=[\"seconds-time\",\"rational-fps\",\"seek-keep-playing\",\"composition-manifest-v1\",\"runtime-data\",\"play-range\"];function fv(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 mv(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=fv(r,n);return{numerator:r/i,denominator:n/i}}function ff(e,t,n){return Math.max(e,(Math.ceil(t*n-1e-6)-1)/n)}function Ts(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 vo(e){return{protocolVersion:1,capabilities:dv,fps:mv(e)}}function pv(e){return Array.isArray(e)&&e.every(t=>typeof t==\"string\")}function mf(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=Ts(n.fps);return r===null||!pv(n.capabilities)?{status:\"unsupported\",code:\"invalid_protocol_metadata\",receivedVersion:n.protocolVersion}:{status:\"supported\",fps:r,metadata:n}}var Bn=Object.freeze({start:\"data-start\",duration:\"data-duration\",trackIndex:\"data-track-index\",derivedEnd:\"data-end\",legacyTrack:\"data-layer\"}),dN=Object.freeze([Bn.start,Bn.duration,Bn.trackIndex]),fN=Object.freeze([Bn.derivedEnd]),mN=Object.freeze([Bn.derivedEnd,Bn.legacyTrack]);function qt(e){if(e==null||e.trim()===\"\")return null;let t=Number(e);return Number.isFinite(t)?t:null}var hf=/^[A-Za-z0-9_.:-]+$/;function gf(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function pf(e,t){let n=t;for(;n>=0&&gf(e,n);)n--;return n}function hv(e,t){let n=t;for(;n>=0&&(e[n]??\"\").trim()===\"\";)n--;return n}function gv(e){let t=e.length-1;if(!gf(e,t))return null;let n=pf(e,t);return e[n]===\".\"&&(n=pf(e,n-1)),n+1}function bv(e){let t=gv(e);if(t==null)return null;let n=hv(e,t-1),r=e[n];if(r!==\"+\"&&r!==\"-\")return null;let i=e.slice(0,n).trim();if(!hf.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function ks(e){let t=(e??\"\").trim();if(!t)return null;let n=qt(t);if(n!=null)return{kind:\"absolute\",value:n};if(hf.test(t))return{kind:\"reference\",refId:t,offset:0};let r=bv(t);return r?{kind:\"reference\",refId:r.refId,offset:r.operator===\"-\"?-r.magnitude:r.magnitude}:null}var bf=e=>{let t=qt(e);return t!==null&&t>=0?t:null};function xf(e){return bf(e(\"data-playback-start\"))??bf(e(\"data-media-start\"))??0}var Pr=.1,Or=10;function Ms(e){return Number.isFinite(e)&&e>0?Math.max(Pr,Math.min(Or,e)):1}function yf(e,t=1){let n=Number.parseFloat(e(\"data-playback-rate\")??\"\");return Ms(Number.isFinite(n)&&n>0?n:t)}function Ns(e){let t=qt(e(\"data-duration\"));return t!==null&&t>0?t:null}function Sf(e,t){let n=Ns(e);if(n!==null)return n;let r=qt(e(\"data-end\"));return r!==null?r-t:null}var xv=3;function Ls(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/Ms(n):null}function Fs(e){let{tag:t,authoredDurationSeconds:n,sourceDurationSeconds:r,mediaStartSeconds:i,playbackRate:o}=e;if(n!==null&&n>0)return{seconds:n,source:\"authored\"};if(t===\"img\")return{seconds:xv,source:\"default\"};if(r===null)return{seconds:null,source:\"pending\",reason:\"source duration not yet probed\"};let a=Ls(r,i,o);return a===null?{seconds:null,source:\"pending\",reason:\"source reported a non-finite duration\"}:{seconds:a,source:\"media\"}}var vn=\"data-fx-chain\",xN=vn.slice(5),vf=1,Hr=(e=\"frequency\",t=\"Frequency\",n=1e3,r=20,i=2e4)=>({kind:\"number\",key:e,label:t,unit:\"Hz\",min:r,max:i,step:1,default:n,scale:\"log\",automatable:!0}),Is=(e=.707,t=\"Bandwidth \\u2014 higher is narrower.\")=>({kind:\"number\",key:\"q\",label:\"Q\",unit:\"\",min:.1,max:20,step:.01,default:e,scale:\"log\",automatable:!0,hint:t}),Eo=(e=-40,t=40,n=0)=>({kind:\"number\",key:\"gain\",label:\"Gain\",unit:\"dB\",min:e,max:t,step:.1,default:n,automatable:!0}),Ef={kind:\"enum\",key:\"poles\",label:\"Slope\",options:[{value:\"1\",label:\"6 dB/oct\"},{value:\"2\",label:\"12 dB/oct\"}],default:\"2\",hint:\"Two poles is the usual biquad; one pole is gentler.\"},wf=[{id:\"gain\",label:\"Gain\",group:\"dynamics\",description:\"Raise or lower the whole signal. Automate it to duck under something else.\",params:[Eo(-60,12,0)],web:\"gain-node\"},{id:\"peaking\",label:\"Peaking EQ\",group:\"filter\",description:\"Boost or cut a band, leaving everything either side alone.\",params:[Hr(\"frequency\",\"Frequency\",1e3),Eo(-40,40,0),Is(1)],web:\"biquad-peaking\"},{id:\"lowshelf\",label:\"Low Shelf\",group:\"filter\",description:\"Lift or drop everything below the corner frequency.\",params:[Hr(\"frequency\",\"Frequency\",200,20,2e3),Eo(-40,40,0)],web:\"biquad-lowshelf\"},{id:\"highshelf\",label:\"High Shelf\",group:\"filter\",description:\"Lift or drop everything above the corner frequency.\",params:[Hr(\"frequency\",\"Frequency\",4e3,500,2e4),Eo(-40,40,0)],web:\"biquad-highshelf\"},{id:\"highpass\",label:\"High-pass\",group:\"filter\",description:\"Remove low frequencies \\u2014 the usual fix for rumble on a voice.\",params:[Hr(\"frequency\",\"Cutoff\",300,20,2e4),Is(.707),Ef],web:\"biquad-highpass\"},{id:\"lowpass\",label:\"Low-pass\",group:\"filter\",description:\"Remove high frequencies \\u2014 darkens or muffles a track.\",params:[Hr(\"frequency\",\"Cutoff\",8e3,100,2e4),Is(.707),Ef],web:\"biquad-lowpass\"},{id:\"compressor\",label:\"Compressor\",group:\"dynamics\",description:\"Pull loud parts down so the quiet ones can come up.\",params:[{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-60,max:0,step:.5,default:-24,hint:\"Level above which the compressor starts working.\"},{kind:\"number\",key:\"ratio\",label:\"Ratio\",unit:\":1\",min:1,max:20,step:.1,default:4},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.01,max:2e3,step:.1,default:20,scale:\"log\"},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:.01,max:9e3,step:1,default:250,scale:\"log\"},{kind:\"number\",key:\"knee\",label:\"Knee\",unit:\"\",min:1,max:8,step:.01,default:2.83,hint:\"1 is a hard corner; higher eases into it.\"},{kind:\"number\",key:\"makeup\",label:\"Makeup\",unit:\"dB\",min:0,max:36,step:.1,default:0},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1,hint:\"Below 1 blends the dry signal back in.\"}],web:\"worklet-compressor\"},{id:\"limiter\",label:\"Limiter\",group:\"dynamics\",description:\"Hard ceiling \\u2014 nothing gets past the limit.\",params:[{kind:\"number\",key:\"limit\",label:\"Ceiling\",unit:\"dB\",min:-24,max:0,step:.1,default:-1},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.1,max:80,step:.1,default:5},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:1,max:8e3,step:1,default:50,scale:\"log\"},{kind:\"number\",key:\"level_out\",label:\"Output\",unit:\"dB\",min:-24,max:24,step:.1,default:0}],web:\"worklet-limiter\"},{id:\"gate\",label:\"Noise Gate\",group:\"dynamics\",description:\"Silence the track when it drops below the threshold.\",params:[{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-80,max:0,step:.5,default:-35},{kind:\"number\",key:\"range\",label:\"Range\",unit:\"dB\",min:-80,max:0,step:.5,default:-24,hint:\"How far down the gate pulls when closed.\"},{kind:\"number\",key:\"ratio\",label:\"Ratio\",unit:\":1\",min:1,max:20,step:.1,default:10},{kind:\"number\",key:\"attack\",label:\"Attack\",unit:\"ms\",min:.01,max:9e3,step:.1,default:1,scale:\"log\"},{kind:\"number\",key:\"release\",label:\"Release\",unit:\"ms\",min:.01,max:9e3,step:1,default:100,scale:\"log\"},{kind:\"number\",key:\"knee\",label:\"Knee\",unit:\"\",min:1,max:8,step:.01,default:2.83}],web:\"worklet-gate\"},{id:\"saturate\",label:\"Saturation\",group:\"nonlinear\",description:\"Soft-clip the waveform for warmth or outright distortion.\",params:[{kind:\"enum\",key:\"type\",label:\"Curve\",options:[{value:\"tanh\",label:\"Tanh\"},{value:\"atan\",label:\"Arctan\"},{value:\"cubic\",label:\"Cubic\"},{value:\"exp\",label:\"Exponential\"},{value:\"alg\",label:\"Algebraic\"},{value:\"quintic\",label:\"Quintic\"},{value:\"sin\",label:\"Sine\"},{value:\"erf\",label:\"Error function\"},{value:\"hard\",label:\"Hard clip\"}],default:\"tanh\"},{kind:\"number\",key:\"threshold\",label:\"Threshold\",unit:\"dB\",min:-40,max:0,step:.1,default:-6},{kind:\"number\",key:\"output\",automatable:!0,label:\"Output\",unit:\"dB\",min:-24,max:24,step:.1,default:0},{kind:\"number\",key:\"oversample\",label:\"Oversample\",unit:\"x\",min:1,max:8,step:1,default:4,hint:\"Higher costs more but keeps aliasing down.\"}],web:\"waveshaper\"},{id:\"bitcrush\",label:\"Bitcrush\",group:\"nonlinear\",description:\"Drop bit depth and sample rate for a lo-fi, digital sound.\",params:[{kind:\"number\",key:\"bits\",label:\"Bit depth\",unit:\"bit\",min:1,max:32,step:.1,default:8},{kind:\"number\",key:\"samples\",label:\"Sample hold\",unit:\"x\",min:1,max:250,step:1,default:1,hint:\"Repeats each sample N times \\u2014 a crude downsample.\"},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1}],web:\"worklet-bitcrush\"},{id:\"pitchshift\",label:\"Pitch shift\",group:\"time\",description:\"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.\",params:[{kind:\"number\",key:\"semitones\",label:\"Semitones\",unit:\"st\",min:-12,max:12,step:1,default:0},{kind:\"number\",key:\"mix\",label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:1}],web:\"worklet-pitchshift\"},{id:\"delay\",label:\"Delay\",group:\"time\",description:\"Repeating echoes behind the dry signal.\",params:[{kind:\"number\",key:\"time\",automatable:!0,label:\"Time\",unit:\"ms\",min:1,max:5e3,step:1,default:250,scale:\"log\"},{kind:\"number\",key:\"feedback\",automatable:!0,label:\"Feedback\",unit:\"\",min:.01,max:.95,step:.01,default:.35},{kind:\"number\",key:\"mix\",automatable:!0,label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:.4}],web:\"delay-feedback\"},{id:\"chorus\",label:\"Chorus\",group:\"time\",description:\"Detuned copies of the signal for width and thickness.\",params:[{kind:\"number\",key:\"delay\",automatable:!0,label:\"Delay\",unit:\"ms\",min:1,max:100,step:.1,default:7},{kind:\"number\",key:\"depth\",automatable:!0,label:\"Depth\",unit:\"ms\",min:0,max:10,step:.01,default:2},{kind:\"number\",key:\"speed\",automatable:!0,label:\"Rate\",unit:\"Hz\",min:.01,max:10,step:.01,default:1},{kind:\"number\",key:\"mix\",automatable:!0,label:\"Mix\",unit:\"\",min:0,max:1,step:.01,default:.5}],web:\"chorus-lfo\"},{id:\"phaser\",label:\"Phaser\",group:\"time\",description:\"Sweeping notches moving through the spectrum.\",params:[{kind:\"number\",key:\"in_gain\",automatable:!0,label:\"Input\",unit:\"\",min:0,max:1,step:.01,default:.4},{kind:\"number\",key:\"out_gain\",automatable:!0,label:\"Output\",unit:\"\",min:0,max:2,step:.01,default:.74},{kind:\"number\",key:\"delay\",label:\"Delay\",unit:\"ms\",min:.1,max:5,step:.1,default:3},{kind:\"number\",key:\"decay\",label:\"Decay\",unit:\"\",min:0,max:.99,step:.01,default:.4},{kind:\"number\",key:\"speed\",automatable:!0,label:\"Rate\",unit:\"Hz\",min:.1,max:2,step:.01,default:.5},{kind:\"enum\",key:\"type\",label:\"Waveform\",options:[{value:\"0\",label:\"Triangular\"},{value:\"1\",label:\"Sinusoidal\"}],default:\"0\"}],web:\"allpass-phaser\"},{id:\"reverb\",label:\"Reverb\",group:\"time\",description:\"Room tail. Both ends convolve the same generated impulse, so preview matches render.\",params:[{kind:\"number\",key:\"size\",label:\"Room size\",unit:\"\",min:.05,max:1,step:.01,default:.7},{kind:\"number\",key:\"damping\",label:\"Damping\",unit:\"\",min:0,max:1,step:.01,default:.5,hint:\"Higher rolls the top off the tail faster.\"},{kind:\"number\",key:\"wet\",automatable:!0,label:\"Wet\",unit:\"\",min:0,max:1,step:.01,default:.35},{kind:\"number\",key:\"dry\",automatable:!0,label:\"Dry\",unit:\"\",min:0,max:1,step:.01,default:.7}],web:\"convolver\"}],Ds=new Map(wf.map(e=>[e.id,e]));function Gr(e){return Ds.get(e)}var yN=wf.map(e=>e.id);function Br(e,t){let n=Ds.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind===\"enum\"){let s=i.options.some(l=>l.value===o);r[i.key]=s?o:i.default;continue}let a=typeof o==\"number\"?o:typeof o==\"string\"&&o.trim()!==\"\"?Number(o):Number.NaN;r[i.key]=Number.isFinite(a)?Math.min(i.max,Math.max(i.min,a)):i.default}return r}var jt=class extends Error{constructor(t){super(t),this.name=\"AudioFxChainError\"}};function _f(e){let t;try{t=JSON.parse(e)}catch(i){throw new jt(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new jt(\"Chain file must be a JSON object.\");let n=t;if(n.version!==vf)throw new jt(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new jt(\"Chain file is missing a `nodes` array.\");let r=n.nodes.map(yv);return{version:vf,nodes:r}}function Ur(e){return e.nodes.filter(t=>t.enabled!==!1)}function yv(e,t){if(typeof e!=\"object\"||e===null)throw new jt(`Node ${t} is not an object.`);let n=e;if(typeof n.type!=\"string\"||!Ds.has(n.type))throw new jt(`Node ${t} has unknown effect type: ${String(n.type)}`);return vv({type:n.type,id:Ao(n.id),fromCarve:Af(n.fromCarve),fromPreset:Ao(n.fromPreset),label:Ao(n.label),fromEq:Ao(n.fromEq),fromLeveller:Af(n.fromLeveller),presetAmount:Sv(n.presetAmount),enabled:n.enabled!==!1,params:Br(n.type,n.params??void 0)})}function Ao(e){return typeof e==\"string\"&&e?e:void 0}function Af(e){return e===!0?!0:void 0}function Sv(e){if(!(typeof e!=\"number\"||!Number.isFinite(e)))return Math.min(1,Math.max(0,e))}function vv(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}function Ev(e){return 10**(e/20)}var Ps=Ev(12);function Ze(e){return Number.isFinite(e)?Math.max(0,Math.min(Ps,e)):1}function wo(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function Cf(e,t){let n=typeof HTMLMediaElement>\"u\"?void 0:Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,\"volume\"),r=n?.get,i=n?.set;if(!r||!i)return t();let o=Number(r.call(e));Object.defineProperty(e,\"volume\",{configurable:!0,get:()=>o,set:a=>{o=Number(a),i.call(e,wo(o))}});try{return t()}finally{delete e.volume,i.call(e,wo(o))}}var Lt=\"data-automation\",RN=Lt.slice(5),_o=1,Av=512,Nt=class extends Error{constructor(t){super(t),this.name=\"AudioAutomationError\"}},Un=\"volume\",Co=\"rate\";function Vr(e){if(e===Un)return{kind:\"volume\"};if(e===Co)return{kind:\"rate\"};let t=e.split(\".\");if(t.length===3&&t[0]===\"fx\"&&t[1]===wv){let i=t[2];return i?{kind:\"preset\",presetId:i}:null}if(t.length!==3||t[0]!==\"fx\")return null;let[,n,r]=t;return!n||!r?null:{kind:\"fx\",nodeId:n,param:r}}var wv=\"preset\";var _v={min:0,max:1,step:.01,unit:\"\",label:\"Amount\",scale:\"linear\",default:1},Ro={min:0,max:Ps,step:.01,unit:\"\",label:\"Volume\",scale:\"linear\",default:1},Rf={min:Pr,max:Or,step:.05,unit:\"x\",label:\"Speed\",scale:\"log\",default:1};function Os(e,t){let n=Vr(e);if(!n)return null;if(n.kind===\"volume\")return Ro;if(n.kind===\"rate\")return Rf;if(n.kind===\"preset\")return t?.nodes.some(s=>s.fromPreset===n.presetId)?{..._v,label:`${n.presetId} \\xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=Gr(r.type),o=i?.params.find(a=>a.key===n.param);return!o||o.kind!==\"number\"?null:{min:o.min,max:o.max,step:o.step,unit:o.unit,label:`${i?.label??r.type} \\xB7 ${o.label}`,scale:o.scale===\"log\"&&o.min>0?\"log\":\"linear\",default:o.default}}function Wr(e){if(typeof e==\"number\")return Number.isFinite(e)?e:null;if(typeof e==\"string\"&&e.trim()!==\"\"){let t=Number(e);return Number.isFinite(t)?t:null}return null}function Cv(e){let t=Wr(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function Tf(e,t){let n=Wr(e),r=Wr(t);if(n===null||r===null)return null;let i=s=>Math.min(.999,Math.max(.001,s)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Rv(e){let t=Cv(e?.curve),n=Tf(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Tv(e,t){let n=Wr(e?.t),r=Wr(e?.v);if(n===null||r===null)return null;let i=t?Math.min(t.max,Math.max(t.min,r)):r;return{t:Math.max(0,n),v:i,...Rv(e)}}function kf(e,t){let n=e.map(i=>Tv(i,t)).filter(i=>i!==null).sort((i,o)=>i.t-o.t),r=[];for(let i of n)r.length>0&&r[r.length-1].t===i.t?r[r.length-1]=i:r.push(i);return r.slice(0,Av)}function kv(e){let t=[];for(let n of e.lanes){if(!Vr(n.target))continue;let r=n.target===Un?Ro:n.target===Co?Rf:null,i=kf(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:_o,lanes:t}}function Mf(e,t){let n=[];for(let r of e.lanes){let i=Os(r.target,t);if(!i)continue;let o=kf(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:_o,lanes:n}}function To(e){let t;try{t=JSON.parse(e)}catch(i){throw new Nt(`Automation is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new Nt(\"Automation must be a JSON object.\");let n=t;if(n.version!==_o)throw new Nt(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new Nt(\"Automation is missing a `lanes` array.\");let r=n.lanes.map((i,o)=>{if(typeof i!=\"object\"||i===null)throw new Nt(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!=\"string\"||!Vr(a.target))throw new Nt(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new Nt(`Lane ${o} is missing a \\`points\\` array.`);return{target:a.target,points:a.points}});return kv({version:_o,lanes:r})}function Mv(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function Nv(e,t){let n=e-.5,r=t-.5,i=.999,o=1e6,a=n>0?n/(i-e):n<0?-n/(e-(1-i)):0,s=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,l=Math.min(o,Math.max(1,a,s));return{cx:e+n/l,cy:t+r/l,w:l}}function Lv(e,t,n){let{cx:r,cy:i,w:o}=Nv(t,n),a=2-2*o,s=e*a-1+2*o*r,l=-e*a-2*o*r,u=Fv(s,l,e),f=1-u,d=f*f+2*o*u*f+u*u;return d>0?(2*o*i*u*f+u*u)/d:e}function Fv(e,t,n){if(Math.abs(e)<1e-12)return Math.abs(t)<1e-12?n:-n/t;let r=Math.sqrt(Math.max(0,t*t-4*e*n)),i=(-t+r)/(2*e),o=(-t-r)/(2*e),a=s=>s>=-1e-9&&s<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function Iv(e,t){let n=Tf(t.viaX,t.viaY);return n?Lv(Math.min(1,Math.max(0,e)),n.x,n.y):Mv(e,t.curve)}function Dv(e,t,n,r){return r===\"log\"&&e>0&&t>0?Math.exp(Math.log(e)+(Math.log(t)-Math.log(e))*n):e+(t-e)*n}function Ft(e,t,n=\"linear\"){let r=e.points;if(r.length===0)return 0;let i=r[0];if(t<=i.t)return i.v;let o=r[r.length-1];if(t>=o.t)return o.v;let a=0,s=r.length-1;for(;s-a>1;){let d=a+s>>1;r[d].t<=t?a=d:s=d}let l=r[a],u=r[s],f=u.t-l.t;return f<=0?u.v:Dv(l.v,u.v,Iv((t-l.t)/f,l),n)}function Nf(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function Lf(e,t,n,r,i=\"linear\"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),s=n-t;for(let l=0;l<o;l+=1)a[l]=Ft(e,t+s*l/(o-1),i);return a}var ko=new Map,Pv=64;function Hs(e,t=Un){let n=`${t}\\0${e}`,r=ko.get(n);if(r!==void 0)return r;let i=null;try{i=To(e).lanes.find(o=>o.target===t)??null}catch{i=null}return ko.size>Pv&&ko.clear(),ko.set(n,i),i}function Ff(e,t){let n=(typeof e.getAttribute==\"function\"?e.getAttribute(Lt):null)??\"\";if(!n)return null;let r=Hs(n);return!r||r.points.length===0?null:Ft(r,t)}var If=48,Df=new WeakMap;function Ov(e){let t=e.points,n=t[0].v,r=t[t.length-1].v,i=[0],o=[0],a=l=>{let u=i[i.length-1];if(l<=u)return;let f=Ft(e,u,\"log\");i.push(l),o.push(o[o.length-1]+(f+Ft(e,l,\"log\"))/2*(l-u))},s=Math.max(0,t[0].t);a(s);for(let l=1;l<t.length;l+=1){let u=t[l-1].t,f=t[l].t;if(!(f<=0))for(let d=1;d<=If;d+=1)a(Math.max(u,0)+(f-u)*d/If)}return{ts:Float64Array.from(i),ss:Float64Array.from(o),firstRate:n,lastRate:r}}function Pf(e){let t=Df.get(e);return t||(t=Ov(e),Df.set(e,t)),t}function Gs(e){return typeof e!=\"number\"&&e.points.length>0}function Bs(e,t){return typeof e==\"number\"?e:Gs(e)?Ft(e,t,\"log\"):1}function Of(e,t,n){let r=0,i=e.length-1;for(;i-r>1;){let o=r+i>>1;e[o]<=n?r=o:i=o}return t[r]+(t[i]-t[r])*(n-e[r])/(e[i]-e[r])}function Wn(e,t){if(typeof e==\"number\")return t*e;if(!Gs(e))return t;let{ts:n,ss:r,firstRate:i,lastRate:o}=Pf(e),a=n.length-1;return t<=0?t*i:t>=n[a]?r[a]+(t-n[a])*o:Of(n,r,t)}function En(e,t){if(typeof e==\"number\")return t/e;if(!Gs(e))return t;let{ts:n,ss:r,firstRate:i,lastRate:o}=Pf(e),a=n.length-1;return t<=0?t/i:t>=r[a]?n[a]+(t-r[a])/o:Of(r,n,t)}function Hv(e){return e?Hs(e,Co):null}function Hf(e,t){return Hv(e)??t}var IN=[{id:\"montage\",label:\"Montage\",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:\"hero\",label:\"Hero\",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:\"bullet\",label:\"Bullet\",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:\"jump-cut\",label:\"Jump cut\",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:\"flash-in\",label:\"Flash in\",points:[[0,.3],[.6,.6],[1,5]]},{id:\"flash-out\",label:\"Flash out\",points:[[0,5],[.4,.6],[1,.3]]},{id:\"ramp-in\",label:\"Ramp in\",points:[[0,.5],[1,1]]},{id:\"ramp-out\",label:\"Ramp out\",points:[[0,1],[1,.5]]},{id:\"slowmo-middle\",label:\"Slow-mo middle\",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];function Ce(e){return qt(e)}function $e(e){return yf(t=>e.getAttribute(t),pe(e)?e.defaultPlaybackRate:1)}function xt(e){return Hf(e.getAttribute(\"data-automation\"),$e(e))}function Vn(e){return xf(t=>e.getAttribute(t))}function yt(e,t){return Gv(t,Vn(e),xt(e))}function $n(e){let t=Fs({tag:\"video\",authoredDurationSeconds:Ns(n=>e.getAttribute(n)),sourceDurationSeconds:Number.isFinite(e.duration)?e.duration:null,mediaStartSeconds:Vn(e),playbackRate:$e(e)});return t.source===\"media\"?yt(e,e.duration):t.seconds}function zn(e,t=0){return!Fe(e)||!e.hasAttribute(\"data-start\")&&!e.hasAttribute(\"data-track-index\")?null:Fs({tag:\"img\",authoredDurationSeconds:Sf(n=>e.getAttribute(n),t),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function Gv(e,t,n){return typeof n==\"number\"?Ls(e,t,n):Number.isFinite(e)?En(n,Math.max(0,e-t)):null}var Uf=\"data-hf-first-pass-hide\",Gf=\"[data-start]:not(video, audio, img) { visibility: hidden !important; }\",Bv='img[loading=\"lazy\"] { display: none !important; }',Wf=\"data-hf-skip-hidden-images\",$r=`[data-start]:not(video, audio, img, [${Sn}])[style*=\"visibility: hidden\"]`,Uv=`${$r} img { display: none !important; }`,Wv=`meta[name=\"${bo}\"]`;function Bf(e,t,n){let r=document.createElement(\"style\");r.setAttribute(t,\"\"),r.textContent=n,e.appendChild(r)}function zr(){return document.querySelector(`style[${Wf}]`)!==null}function Vf(){if(typeof document>\"u\")return;let e=document.head??document.documentElement;if(!e)return;let t=document.querySelector(Wv)!==null;t&&!zr()&&Bf(e,Wf,Uv);let n=window;if(n.__hfFirstPassHidden||n.__hyperframeRuntimeBootstrapped)return;let r=t?`${Gf} ${Bv}`:Gf;Bf(e,Uf,r),n.__hfFirstPassHidden=!0}function $f(){let e=window;if(!e.__hfFirstPassHidden)return!1;e.__hfFirstPassHidden=!1;for(let t of document.querySelectorAll(`style[${Uf}]`))t.remove();return!0}function Mo(e){e.preload!==\"auto\"&&(e.preload=\"auto\");let t=e.tagName===\"VIDEO\"&&e.networkState===2;e.readyState<3&&!t&&e.load()}function Us(e){for(let t of e.querySelectorAll(\"source\"))t.remove();e.removeAttribute(\"src\"),e.load()}function zf(e){if(e.querySelector(\"source\"))return;let t=e.getAttribute(\"src\");Us(e),t!==null&&e.setAttribute(\"src\",t)}function Ws(e){return Ce(e.getAttribute(\"data-duration\"))!=null}function qf(){let e=window;if(e.__hfMediaDeferral?.disconnect(),e.__hfMediaDeferral=void 0,!zr())return;let t=n=>{let r=Ce(n.getAttribute(\"data-start\"));r!=null&&r>0&&Ws(n)&&(n.preload=\"none\")};e.__hfMediaDeferral=new MutationObserver(n=>{for(let r of n)for(let i of r.addedNodes){if(i.nodeType!==1)continue;let o=i;o.matches(\"video, audio\")&&t(o);for(let a of o.querySelectorAll(\"video, audio\"))t(a)}}),e.__hfMediaDeferral.observe(document.documentElement,{childList:!0,subtree:!0})}function No(){return globalThis}function H(e,t){if(typeof window>\"u\")return;let n=No(),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 jf=30;function Kf(e){jf=Number.isFinite(e)&&e>0?e:30}function Ee(e){try{window.parent.postMessage({...e,...vo(jf)},\"*\")}catch(t){H(\"bridge.postMessage\",t)}}var Vv=new Map(Object.entries({play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),\"stop-media\":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek($v(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-idle-heartbeat\":(e,t)=>t.onSetIdleHeartbeat(!!e.slow),\"set-display-scale\":(e,t)=>t.onSetDisplayScale?.(Number(e.scale)),\"set-root-duration\":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),\"set-play-range\":(e,t)=>t.onSetPlayRange(Number(e.startSeconds??0),e.endSeconds==null?null:Number(e.endSeconds)),\"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=>qv(e),\"set-runtime-data\":(e,t)=>{typeof e.channel==\"string\"&&t.onSetRuntimeData?.(e.channel,e.payload,e.requestId)},\"clear-runtime-data\":(e,t)=>{typeof e.channel==\"string\"&&t.onClearRuntimeData?.(e.channel,e.requestId)}}));function $v(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Ts(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function zv(e){let t=mf(e);return t.status!==\"unsupported\"?!1:(Ee({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 qv(e){let t=e.selectors,n=e.duration||800;t&&jv(t,n)}function Yf(e){let t=n=>{if(n.source!==window.parent&&n.source!==window)return;let r=n.data;if(!r||r.source!==\"hf-parent\"||r.type!==\"control\"||zv(r))return;let i=r.action;if(typeof i!=\"string\")return;let o=Vv.get(i);o&&o(r,e)};return window.addEventListener(\"message\",t),Ee({source:\"hf-preview\",type:\"ready\"}),t}function jv(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){H(\"bridge.flashElements.querySelector\",r)}}var Lo=e=>4*Number.EPSILON*Math.max(1,Math.abs(e));function qr(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?e===t:Math.abs(e-t)<=Lo(Math.max(Math.abs(e),Math.abs(t)))}var Xf=(e,t)=>e>=t||qr(e,t),Kt=(e,t,n)=>Xf(e,t)&&e<n&&!qr(e,n),Kv=1e-6,qn=(e,t,n,r)=>Kt(e,t,n)||Xf(e,t)&&r>0&&n>=r-Kv;var Vs=null;function Jf(e){Vs=e}function et(e,t){if(Vs)try{Vs({source:\"hf-preview\",type:\"analytics\",event:e,properties:t??{}})}catch(n){H(\"runtime.analytics.site1\",n)}}function Yv(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 jn(e){return`--${Yv(e)}`}function Qf(e){let t=new Map;for(let n of e){let r=jn(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 em(){if(typeof document>\"u\")return{};let e=new Set;document.documentElement?.hasAttribute(\"data-composition-variables\")&&e.add(document.documentElement);for(let i of Array.from(document.querySelectorAll(\"[data-composition-variables]\")))e.add(i);let t={};for(let i of e)Object.assign(t,jr(i));let n=Io(),r={...t,...n};for(let i of e)zs(i,r);return r}var Zf=new Set;function tm(e){let t=e?.getAttribute(\"data-composition-variables\");if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}return Array.isArray(n)?n.filter(r=>!!r&&typeof r==\"object\"):[]}function Xv(e,t){return t?.trim()||e.getAttribute(\"data-composition-id\")?.trim()||e.querySelector(\"[data-composition-id]\")?.getAttribute(\"data-composition-id\")?.trim()||\"composition\"}function Jv(e){return Array.isArray(e.options)?e.options.map(t=>t&&typeof t==\"object\"?t.value:t).filter(t=>typeof t==\"string\"||typeof t==\"number\"):[]}function Qv(e,t){if(typeof e.id!=\"string\")return null;let n=t[e.id];if(n==null||\"default\"in e&&String(n)===String(e.default))return null;let r=Jv(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function zs(e,t,n){if(!e)return;let r=tm(e);if(r.length===0)return;let i=Xv(e,n);for(let o of r){let a=Qv(o,t);if(!a)continue;let s=`${i}|${a.id}|${String(a.value)}`;if(Zf.has(s))continue;Zf.add(s);let l=\"default\"in o?JSON.stringify(o.default):\"the composition default\";console.warn(`[hyperframes] runtime_unknown_enum_value: ${i} variable \"${a.id}\" got ${JSON.stringify(a.value)}, which is not a declared option (${a.allowed.join(\", \")}). Rendering ${l} instead.`)}}function jr(e){let t={};for(let n of tm(e))typeof n.id!=\"string\"||!(\"default\"in n)||(t[n.id]=n.default);return t}var $s=\"data-hf-css-vars\";function Fo(e){return\"style\"in e&&typeof e.style?.setProperty==\"function\"}function qs(e,t){if(!Fo(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i==\"string\"&&i!==\"\"||typeof i==\"number\"){let o=jn(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute($s,n.join(\" \"))}function nm(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=jn(i);((Fo(e)?e.style.getPropertyValue(a):\"\")||(n?n.getComputedStyle(e).getPropertyValue(a):\"\")).trim()===\"\"&&(r[i]=o)}return r}function rm(e){if(!Fo(e))return;let t=e.getAttribute($s);if(t){for(let n of t.split(\" \"))n.startsWith(\"--\")&&e.style.removeProperty(n);e.removeAttribute($s)}}function im(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=Io(),r=[];for(let i of t)r.push(...Zv(i,n,e.defaultView));for(let i of Qf(r))console.warn(`composition variables ${i.join(\", \")} collapse to the same CSS property ${jn(i[0]??\"\")} \\u2014 rename one to avoid cross-talk`)}function Zv(e,t,n){if(!Fo(e))return[];let r=jr(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let s=jn(o);(e.style.getPropertyValue(s)||(n?n.getComputedStyle(e).getPropertyValue(s):\"\")).trim()===\"\"&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return qs(e,i),Object.keys(r)}function om(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 Io(){if(typeof window>\"u\")return{};let e=window.__hfVariables;return!e||typeof e!=\"object\"||Array.isArray(e)?{}:e}function am(e){let t=[],n=(m,x=()=>m.getAnimations())=>{if(typeof m.getAnimations!=\"function\")return[];try{return x()}catch{return[]}},r=m=>{let x=new Map;if(t.length===0)return x;let h=typeof CSSAnimation<\"u\";for(let b of n(document,m)){if(h&&!(b instanceof CSSAnimation))continue;let g=b.effect;if(!g?.target||g.pseudoElement)continue;let v=x.get(g.target);v?v.push(b):x.set(g.target,[b])}return x},i=(m=[],x=[])=>[...x,...m.filter(h=>!x.includes(h)&&h.playState!==\"idle\")],o=m=>{let x=m.closest(\"[data-start]\")??m;return e?.resolveStartSeconds?e.resolveStartSeconds(x):Number.parseFloat(x.getAttribute(\"data-start\")??\"0\")||0},a=m=>{let x=A=>(A||\"\").split(\",\").map(E=>Number.parseFloat(E)/(E.trim().endsWith(\"ms\")?1e3:1)),h=x(m.animationDuration),b=x(m.animationDelay),g=m.animationName.split(\",\"),v=0;return g.forEach((A,E)=>{if(A.trim()===\"none\")return;let k=b[E%b.length]+h[E%h.length];k>v&&(v=k)}),{cycleSeconds:v,delays:g.map((A,E)=>b[E%b.length]||0)}},s=(m,x)=>{let h=null;try{h=m.effect?.getComputedTiming?.()??null}catch(g){H(\"runtime.adapters.css.site5\",g)}if(!h)return{};let b=Number(h.endTime);return Number.isFinite(b)?{endSeconds:x+b/1e3}:{unbounded:!0}},l=(m,x)=>{for(let h of m){try{h.currentTime=x}catch(b){H(\"runtime.adapters.css.site1\",b)}try{h.pause()}catch(b){H(\"runtime.adapters.css.site2\",b)}}},u=m=>{for(let x of m)try{x.play()}catch(h){H(\"runtime.adapters.css.site3\",h)}},f=m=>{for(let x of m)try{x.pause()}catch(h){H(\"runtime.adapters.css.site4\",h)}},d=m=>{m.baseDelay?m.el.style.animationDelay=m.baseDelay:m.el.style.removeProperty(\"animation-delay\"),m.basePlayState?m.el.style.animationPlayState=m.basePlayState:m.el.style.removeProperty(\"animation-play-state\")};return{name:\"css\",discover:()=>{for(let h of t)d(h);let m=new Map(t.map(h=>[h.el,h.handles]));t=[];let x=document.querySelectorAll(\"*\");for(let h of x){if(!xe(h))continue;let b=window.getComputedStyle(h);!b.animationName||b.animationName===\"none\"||t.push({el:h,baseDelay:h.style.animationDelay||\"\",basePlayState:h.style.animationPlayState||\"\",...a(b),handles:m.get(h)})}},getAnimationCycleEndSeconds:()=>{let m=0;for(let x of t)!x.el.isConnected||x.cycleSeconds<=0||(m=Math.max(m,o(x.el)+x.cycleSeconds));return m>0?m:null},getInferredDurationSeconds:()=>{let m=0;for(let x of t){if(!x.el.isConnected)continue;let h=o(x.el);for(let b of n(x.el)){let g=s(b,h);g.endSeconds!=null&&(m=Math.max(m,g.endSeconds))}}return m>0?m:null},seek:m=>{let x=Number(m.time)||0,h=r(m.pageAnimations);for(let b of t)b.handles=i(b.handles,h.get(b.el));for(let b of t){if(!b.el.isConnected)continue;let g=o(b.el),v=Math.max(0,x-g)*1e3;if(b.handles?.length){b.el.style.animationDelay!==b.baseDelay&&d(b),l(b.handles,v);continue}b.el.style.animationPlayState=\"paused\",b.el.style.animationDelay=b.delays.map(A=>`${Number((A-v/1e3).toFixed(3))}s`).join(\", \")}},pause:m=>{let x=r(m?.pageAnimations);for(let h of t){if(!h.el.isConnected)continue;let b=x.get(h.el);b&&(f(b),d(h))}},play:()=>{let m=r();for(let x of t)x.el.isConnected&&(d(x),u(m.get(x.el)??[]))},revert:()=>{t=[]}}}function Ks(e,t){e.totalDuration?.();let n=e.getChildren?.(!1,!0,!0)??[],r=tE(e).map(s=>[s,s.ratio,s._zTime,s._act]),i=sm(n,t).map(s=>[s,s._ts]),o=new Set;for(let[s]of i)for(let l=s.parent;l&&!o.has(l);l=l.parent)o.add(l);let a=[...o].map(s=>[s,s._dur,s._tDur,s._end,s._dirty]);for(let[s]of i)s._ts=0;try{e.totalTime(t>=.001?t-.001:t+.001,!0),lm(n,t),e.totalTime(t,!0)}finally{for(let[s,l]of i)s._ts=l;for(let[s,l,u,f,d]of a)Object.assign(s,{_dur:l,_tDur:u,_end:f,_dirty:d})}for(let[s,l,u,f]of r)s.ratio=l,s._zTime=u,s._act=f}var eE=1e-6;function sm(e,t,n=[]){for(let r of e)r.startTime()>t+eE?n.push(r):r.getChildren&&r.endTime()>=t&&sm(r.getChildren(!1,!0,!0),r.time(),n);return n}function tE(e){return(e.getChildren?.(!0,!0,!0)??[]).filter(t=>{let n=t;return typeof n.getChildren==\"function\"||n.totalDuration?.()===0})}var js=2e-8,nE=e=>{let t=e;return typeof t?.render==\"function\"&&typeof t.startTime==\"function\"&&typeof t.paused==\"function\"&&typeof t.timeScale==\"function\"&&t.timeScale()>0&&!t.paused()};function rE(e){return e.vars?.keyframes&&(e.render(js,!0),e.render(-js,!0)),e._startAt&&e._startAt.render(js,!0,!0),!!(e.vars?.keyframes||e._startAt)}function lm(e,t){for(let n of e.filter(nE)){let r=(t-n.startTime())*n.timeScale();if(Math.abs(r)<1e-9&&rE(n))continue;let i=n.getChildren?n:n.timeline;i?.getChildren&&r>0&&r<=n.totalDuration()&&lm(i.getChildren(!1,!0,!0),r)}}function um(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,i),Ks({totalTime:n.totalTime.bind(n),totalDuration:n.totalDuration?.bind(n),getChildren:n.getChildren?.bind(n)},r)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function cm(){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){H(\"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){H(\"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){H(\"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){H(\"runtime.adapters.animejs.site4\",n)}},revert:()=>{}}}function pm(e){let t=r=>{let i=fm(r),o=i&&typeof i.closest==\"function\"?i.closest(\"[data-composition-id]\"):null;return o&&e?.resolveStartSeconds?e.resolveStartSeconds(o):0},n=(r,i)=>Math.max(0,i-t(r));return{name:\"lottie\",discover:()=>{try{let r=window.lottie;if(r&&typeof r.getRegisteredAnimations==\"function\"){let i=r.getRegisteredAnimations();if(Array.isArray(i)&&i.length>0){let o=window.__hfLottie??[],a=new Set(o);for(let s of i)a.has(s)||o.push(s);window.__hfLottie=o}}}catch(r){H(\"runtime.adapters.lottie.site1\",r)}},seek:r=>{let i=Math.max(0,Number(r.time)||0),o=window.__hfLottie;if(!(!o||o.length===0))for(let a of o)try{let s=n(a,i),l=a.loop===!0;if(Do(a)){let u=s*a.frameRate;a.totalFrames>0&&l?a.goToAndStop(Ys(u,a.totalFrames),!0):a.totalFrames>0&&u>=a.totalFrames?a.goToAndStop(a.totalFrames-1,!0):a.goToAndStop(s*1e3,!1)}else if(Xs(a)){if(typeof a.setFrame==\"function\"){let u=a.totalFrames??0,f=a.duration??0;if(!Number.isFinite(u)||u<=0||!Number.isFinite(f)||f<=0)continue;let d=s*u/f;a.setFrame(Math.min(l?Ys(d,u):d,u-1))}else if(typeof a.setCurrentRawFrameValue==\"function\"){let u=a.totalFrames??0,f=a.frameRate??30,d=l&&u>0?Ys(s*f,u):s*f;u>0&&a.setCurrentRawFrameValue(Math.min(d,u-1))}else if(typeof a.seek==\"function\"){let u=a.duration??0;if(Number.isFinite(u)&&u>0){let f=Math.min(100,(l?s%u:s)/u*100);a.seek(f)}}}}catch(s){H(\"runtime.adapters.lottie.site2\",s)}},pause:()=>{let r=window.__hfLottie;if(!(!r||r.length===0))for(let i of r)try{(Do(i)||Xs(i))&&i.pause()}catch(o){H(\"runtime.adapters.lottie.site3\",o)}},revert:()=>{},getInferredDurationSeconds:()=>dm((r,i)=>i),getAnimationCycleEndSeconds:()=>dm((r,i)=>fm(r)?.isConnected===!1?null:t(r)+i)}}function dm(e){let t=window.__hfLottie;if(!t||t.length===0)return null;let n=0,r=!1;for(let i of t){let o=null;try{let a=iE(i);o=a==null?null:e(i,a)}catch(a){H(\"runtime.adapters.lottie.site4\",a)}o!=null&&(r=!0,n=Math.max(n,o))}return r?n:null}function fm(e){return Do(e)?e.wrapper:e.canvas}function Ys(e,t){let n=e%t;return t-n<1e-6?0:n}function mm(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function iE(e){return Do(e)?mm(e.totalFrames,e.frameRate):Xs(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:mm(e.totalFrames,e.frameRate):null}function Do(e){return typeof e==\"object\"&&e!==null&&typeof e.goToAndStop==\"function\"}function Xs(e){return typeof e==\"object\"&&e!==null&&typeof e.pause==\"function\"&&(\"totalFrames\"in e||\"duration\"in e)}var Js=-1,Po=new Set,Kn,Qs=0;function hm(e){let t=[],n=!0,r={time:e,waitUntil:i=>{if(!n)throw new Error(\"hf-seek waitUntil() must be called synchronously from the event listener\");t.push(i)}};try{window.dispatchEvent(new CustomEvent(\"hf-seek\",{detail:r}))}catch(i){H(\"runtime.adapters.seek-dispatch.site1\",i)}finally{n=!1}t.length!==0&&tt(Promise.all(t))}function tt(e){let t=e.then(()=>({status:\"fulfilled\"})).catch(n=>({status:\"rejected\",reason:n}));Po.add(t),t.then(n=>{Po.delete(t)&&n.status===\"rejected\"&&Kn===void 0&&(Kn={reason:n.reason})})}function Oo(e){e!==Js&&(Js=e,hm(e))}function Ho(e){Js=e,hm(e)}function gm(){return Qs>0}async function Zs(){Qs+=1;let e=Kn;try{for(await Promise.resolve();Po.size>0;){let r=(await Promise.all([...Po])).find(i=>i.status===\"rejected\");e===void 0&&r?.status===\"rejected\"&&(e={reason:r.reason})}let t=Kn;if(e===void 0&&(e=t),Kn===t&&(Kn=void 0),e)throw e.reason}finally{Qs-=1}}function bm(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>\"u\")return null;let f=window.THREE?.DefaultLoadingManager;return!f||typeof f!=\"object\"||typeof f.itemsLoaded!=\"number\"||typeof f.itemsTotal!=\"number\"?null:f},s=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(f=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,f()}}}))},l=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(f,d,m){try{r?.call(this,f,d,m)}finally{s(u)}})};return{name:\"three\",discover:()=>{let u=a();u&&(l(u),s(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Oo(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||s(u),o)}}}function St(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 xm(){return St({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 ym(){return St({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 Sm(){return St({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 vm(){return St({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 Em(){return St({name:\"d3\",getInstances:()=>{if(typeof window>\"u\")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var oE=250;function Am(){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&&(gm()||(window.__hfTypegpuTime=e,Ho(e)))},oE))};return{name:\"typegpu\",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Oo(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}var aE=[\"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 el(e){return Number.isFinite(e)&&e>0?e:30}function tl(e){return Number.isFinite(e)&&e>0?e:0}function nl(e,t){let n=el(t);return Math.floor(tl(e)*n+1e-9)/n}function _m(e,t,n){let r=Number.isInteger(n)?n:1;if(r<=1)return nl(e,t);let i=el(t)*r;return Math.round(tl(e)*i)/i}function wm(e,t){let n=el(t),r=tl(e),i=r*n,o=Math.round(i);return Math.abs(i-o)<=.001?o/n:r}function Go(e,t,n){return{start:wm(e,n),end:Number.isFinite(t)?wm(t,n):t}}function Cm(e,t,n=aE){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}var Yn=new Map,Rm=()=>Yn.size>0;function Tm(e){if(Yn.has(e.element))throw new Error(\"This element already has a frame source\");let t=e.sourceRange;if(t&&(!Number.isFinite(t.start)||t.start<0||!Number.isFinite(t.duration)||t.duration<=0||!Number.isFinite(t.fps)||t.fps<=0))throw new Error(\"Frame source ranges require a nonnegative start, positive duration and FPS\");let n=new AbortController,r=new Promise(u=>{n.signal.addEventListener(\"abort\",()=>u(),{once:!0})}),i=Promise.race([Promise.resolve(e.ready),r]);i.catch(()=>{});let o=null,a=null,s=async()=>{let u;try{for(await i;!n.signal.aborted&&o!==null;){let f=o;o=null;try{await Promise.race([e.render(f,n.signal),r])}catch(d){u??(u={reason:d})}}if(u)throw u.reason}finally{o=null,a=null}},l={element:e.element,ready:i,seek(u){return o=t?t.start+Math.min(Math.max(0,u),Math.max(0,t.duration-1/t.fps)):u,a??(a=s()),a},dispose(){n.signal.aborted||(n.abort(),o=null,Yn.delete(e.element),e.dispose?.())}};return Yn.set(e.element,l),l.dispose}function km(e){let t=new Set,n=[],r=null,i=()=>{for(let s of t)Yn.get(s.element)!==s&&t.delete(s);let a=[];for(let[s,l]of Yn){if(!s.isConnected){l.dispose();continue}t.has(l)||(t.add(l),tt(l.ready)),a.push([s,l])}return a},o=new MutationObserver(()=>{i()});return o.observe(document,{childList:!0,subtree:!0}),{name:\"frame-source\",discover:()=>{i()},pause:()=>{},seek:({time:a})=>{for(let[s,l]of i()){let u=e.start(s),f=e.duration(s),d=u+(f??1/0),m=e.exportRenderSeek()?Go(u,d,e.canonicalFps()):{start:u,end:d};if(!qn(a,m.start,m.end,e.compositionDuration()))continue;let x=Math.max(0,a-u),h=Vn(s)+Wn(xt(s),x);tt(l.seek(h))}},getReadyPromise:()=>{let a=i().map(([,s])=>s);return a.length===0?null:((a.length!==n.length||a.some((s,l)=>s!==n[l]))&&(n=a,r=Promise.all(a.map(s=>s.ready))),r)},revert:()=>{o.disconnect();for(let a of t)a.dispose();t.clear()}}}var Mm=':not([muted]):is(:not([data-has-audio]),[data-has-audio=\"true\"])',BL=`audio[data-start], video[data-start]${Mm}`;function Bo(e){if(e.tagName.toLowerCase()!==\"video\"||e.hasAttribute(\"muted\"))return!1;let t=e.getAttribute(\"data-has-audio\");return t===null||t===\"true\"}function Nm(e){return(e.volume??1)>1||!!(e.fxChain||e.automation||e.audioGroup)}var Kr=\"data-hf-render-id\",Lm=\"data-hf-group-render-id\";function sE(e){return e.getAttribute(Kr)||e.id||null}var lE=\"__render_frame_\",uE=\"__\";function cE(e){return`${lE}${e}${uE}`}function dE(e){let t=sE(e);return t?cE(t):null}function It(e){let t=dE(e),n=t?document.getElementById(t):null;if(!n)return null;let r=e.nextElementSibling;for(;r&&r.id!==t;)r=r.nextElementSibling;return r??(r=n),Fe(r)?r:null}function Fm(e){let t=e.nextElementSibling;if(Fe(t)&&t.classList.contains(\"__render_frame__\")&&t.complete&&t.naturalWidth>0)return t;let n=It(e);return n&&n.complete&&n.naturalWidth>0?n:null}function Im(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(ye(n?.source)){let o=Fm(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Dm(){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(...s){let l=s.length-1,u=s[l];if(ye(u)){let f=Fm(u);f&&(s[l]=f)}return o.apply(this,s)};a.__hfVideoPatched=!0,r[i]=a}}}function Pm(){let e=!1,t=0,n=!1,r,i,o,a=new Set,s=new WeakMap,l=(g=()=>document.getAnimations())=>{if(!document.getAnimations)return[];try{return g()}catch{return[]}},u=g=>{let v=Number(g.currentTime);return Number.isFinite(v)&&v>0?v:0},f=(g,v)=>v<=0?g:g>=v?Math.max(0,g-v):g,d=(g,v)=>{let A=s.get(g);if(A)return A;let E={compositionTimeMs:v,animationTimeMs:e?f(u(g),v):u(g)};return s.set(g,E),E},m=(g,v)=>{if(!a.has(g)){a.add(g);let A=()=>{a.delete(g)};try{g.addEventListener(\"finish\",A,{once:!0}),g.addEventListener(\"cancel\",A,{once:!0})}catch(E){H(\"runtime.adapters.waapi.site4\",E)}}d(g,v)},x=(g,v)=>{for(let A of g)m(A,v)},h=()=>{if(n||typeof Element>\"u\")return;let g=Element.prototype;if(typeof g.animate!=\"function\"||g.__hfOriginalAnimate)return;let v=g.animate;try{Object.defineProperty(g,\"__hfOriginalAnimate\",{value:v,configurable:!0});let A=function(...E){let k=v.apply(this,E);return m(k,t),k};g.animate=A,r=g,i=v,o=A,n=!0}catch{}},b=g=>{let v=null;try{v=g.effect?.getComputedTiming?.()??null}catch(k){H(\"runtime.adapters.waapi.site4\",k)}if(!v)return{};let A=Number(v.endTime);return Number.isFinite(A)?{endSeconds:(s.get(g)?.compositionTimeMs??0)/1e3+A/1e3}:{unbounded:!0}};return{name:\"waapi\",discover:()=>{e=!0,h(),x(l(),t)},seek:g=>{let v=Math.max(0,(Number(g.time)||0)*1e3);t=v,(!e||a.size>0)&&x(l(g.pageAnimations),e?v:0);for(let A of a){let E=e?d(A,v):d(A,0),k=E.animationTimeMs+Math.max(0,v-E.compositionTimeMs);try{A.currentTime=k}catch(P){H(\"runtime.adapters.waapi.site1\",P)}try{A.pause()}catch(P){H(\"runtime.adapters.waapi.site2\",P)}}},pause:g=>{e||x(l(g?.pageAnimations),t);for(let v of a)try{v.pause()}catch(A){H(\"runtime.adapters.waapi.site3\",A)}},revert:()=>{if(a.clear(),s=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(g){H(\"runtime.adapters.waapi.site5\",g)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let v of l()){let A=b(v);A.endSeconds!=null&&(g=Math.max(g,A.endSeconds))}return g>0?g:null}}}var Xn=\"data-hf-authored-duration\",Jn=\"data-hf-authored-end\";function Yr(e){if(e==null||typeof e==\"string\"&&e.trim()===\"\")return null;let t=typeof e==\"number\"?e:Number(e);return Number.isFinite(t)?t:null}function Qn(e){let t=Yr(e.start);if(t==null)return null;let n=Math.max(0,t),r=Yr(e.duration),i=Yr(e.authoredDuration),o=r!=null&&r>0?r:i!=null&&i>0?i:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=Yr(e.end),s=Yr(e.authoredEnd),l=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:l==null?null:l-n,end:l}}var Uo=\"data-hf-media-start-basis\";function Om(e){return e?.trim().toLowerCase()===\"global\"?\"global\":\"local\"}function fE(e){return Om(e.basis)===\"global\"?e.authoredStart:e.hostStart+e.authoredStart}function Hm(e){return Bm(e)?fE({authoredStart:e.authoredStart,hostStart:e.hostStart,basis:e.basis}):e.ordinaryStart()}function Gm(e){return Bm(e)&&Om(e.basis)===\"global\"}function Bm(e){return!e.hasAutoStart&&e.authoredStart!=null&&e.hostStart>0}function Ke(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,s=h=>{let b=r.getElementById(h);return b||(r.querySelector(`[data-composition-id=\"${CSS.escape(h)}\"]`)??null)},l=h=>{let b=o.get(h);if(b!==void 0)return b;let g=null,v=Qn({start:0,duration:h.getAttribute(\"data-duration\"),authoredDuration:n?h.getAttribute(\"data-hf-authored-duration\"):null});if(v?.duration!=null&&v.duration>0&&(g=v.duration),g==null||g<=0){let A=f(h,0),E=Qn({start:A,end:h.getAttribute(\"data-end\"),authoredEnd:n?h.getAttribute(\"data-hf-authored-end\"):null});E?.duration!=null&&E.duration>0&&(g=E.duration)}if((g==null||g<=0)&&pe(h)&&(g=yt(h,h.duration)),(g==null||g<=0)&&(g=zn(h)),g==null||g<=0){let A=h.getAttribute(\"data-composition-id\");if(A){let E=t[A]??null;if(E&&typeof E.duration==\"function\")try{let k=Number(E.duration());Number.isFinite(k)&&k>0&&(g=k)}catch(k){H(\"runtime.startResolver.site1\",k)}}}return g!=null&&Number.isFinite(g)&&g>0?(o.set(h,g),g):(o.set(h,null),null)},u=(h,b)=>{if(h.hasAttribute(\"data-composition-id\")){let v=h.parentElement?.closest(\"[data-composition-id]\");return v?f(v,b):0}let g=h.closest(\"[data-composition-id]\");return g?f(g,b):0},f=(h,b)=>{let g=i.get(h);if(g!==void 0)return g??b;if(a.has(h))return b;a.add(h);try{let v=ks(h.getAttribute(\"data-start\"));if(!v){if(h.hasAttribute(\"data-composition-id\")){let L=h.parentElement;if(L&&(L.hasAttribute(\"data-composition-src\")||L.hasAttribute(\"data-composition-id\")||L.hasAttribute(\"data-composition-file\"))){let D=f(L,b);return i.set(h,D),D}}return i.set(h,b),b}if(v.kind===\"absolute\"){let L=Math.max(0,v.value),D=Math.max(0,u(h,b)+L);return i.set(h,D),D}let A=s(v.refId);if(!A)return i.set(h,b),b;let E=f(A,0),k=l(A);if(k==null||k<=0){let L=Math.max(0,E+v.offset);return i.set(h,L),L}let P=Math.max(0,E+k+v.offset);return i.set(h,P),P}finally{a.delete(h)}},d=h=>{let b=h.closest(\"[data-composition-id]\");return{authoredStart:Ce(h.getAttribute(\"data-start\")),hostStart:b?f(b,0):0,hasAutoStart:h.hasAttribute(\"data-hf-auto-start\"),basis:h.getAttribute(Uo)}};return{resolveStartForElement:(h,b=0)=>f(h,Math.max(0,b)),resolveDurationForElement:h=>l(h),resolveMediaStartForElement:h=>{let b=d(h);return Hm({...b,ordinaryStart:()=>f(h,b.hostStart)})},resolveHostStartForElement:h=>u(h,0),isRootGlobalMediaStartForElement:h=>pe(h)&&Gm(d(h))}}function mE(e,t,n){let r=e.filter(o=>Number.isFinite(o.time)&&Number.isFinite(o.volume)).map(o=>({time:Math.max(0,o.time-t),volume:Ze(o.volume)})).sort((o,a)=>o.time-a.time),i=[];for(let o of r){let a=i.at(-1);a&&Math.abs(a.time-o.time)<1e-9?a.volume=o.volume:i.push(o)}return i.length===0||i[0].time>0&&i.unshift({time:0,volume:Ze(n)}),i}function Um(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 pE(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 hE(e){let t=Number.parseFloat(e??\"\");return Number.isFinite(t)?t:void 0}function gE(e,t){let n=Ke({timelineRegistry:window.__timelines,includeAuthoredTimingAttrs:!0}).resolveMediaStartForElement(e),r=Ce(e.dataset.end)??void 0,i=Ce(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=hE(e.dataset.volume)??1;return{start:n,end:o,staticVolume:Ze(a)}}function bE(e,t,n,r,{start:i,end:o,staticVolume:a}){let s=1/Math.min(60,Math.max(1,r)),l=Math.max(0,i),u=Math.min(n,o),f=Cf(e,()=>{e.volume=a;let m=[],x;for(let h=l;h<=u+1e-6;h=Math.min(u,h+s)){t(h);let b=Number(e.volume);if(Number.isFinite(b)){let g={time:Number(h.toFixed(6)),volume:Number(Ze(b).toFixed(6))};pE(m,x,g,h===u),x=g}if(h===u)break}return m});return f.some(m=>Math.abs(m.volume-a)>1e-4)?f:null}function Wo(e,t,n=0){return n>3||e===null||typeof e!=\"object\"?!1:Array.isArray(e)?e.some(r=>Wo(r,t,n+1)):Object.getPrototypeOf(e)!==Object.prototype?!1:Object.entries(e).some(([r,i])=>t(r)||Wo(i,t,n+1))}var xE=e=>typeof e?.nodeType==\"number\";function yE(e,t){for(let n=Object(e);n;n=Object.getPrototypeOf(n)){let r=Object.getOwnPropertyDescriptor(n,t);if(r)return typeof r.set==\"function\"}return!1}function SE(e,t){if(typeof e.getChildren!=\"function\")return!0;try{return e.getChildren(!0,!0,!1).some(n=>(n.targets?.()??[]).some(i=>xE(i)?i===t&&Wo(n.vars,o=>o===\"volume\"):Wo(n.vars,o=>yE(i,o))))}catch{return!0}}function Wm(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!pe(e)||n<=0||!SE(t,e))return;let o=u=>{try{typeof t.totalTime==\"function\"?t.totalTime(u,!0):typeof t.seek==\"function\"&&t.seek(u,!0)}catch{}},a=typeof t.totalTime==\"function\"?Number(t.totalTime()):typeof t.seek==\"function\"?Number(t.seek()):0,s=gE(e,n),l=bE(e,o,n,60,s);if(Number.isFinite(a)&&o(a),l){let u=mE(l,s.start,s.staticVolume);u.length>0&&r.set(e,u)}}var zm=\"data-fade-in\",qm=\"data-fade-out\",fF=zm.slice(5),mF=qm.slice(5),jm=Object.freeze({fadeIn:0,fadeOut:0});function rl(e){return Number.isFinite(e)&&e>0?e:0}function Vm(e){return e==null||e===\"\"?0:rl(Number.parseFloat(e))}function Km(e){return{fadeIn:Vm(e.getAttribute(zm)),fadeOut:Vm(e.getAttribute(qm))}}function vE(e,t){let n=rl(e.fadeIn),r=rl(e.fadeOut);if(!Number.isFinite(t)||t<=0)return{fadeIn:n,fadeOut:r};let i=n+r;if(i<=t)return{fadeIn:n,fadeOut:r};let o=t/i;return{fadeIn:n*o,fadeOut:r*o}}function Ym(e,t,n){if(!Number.isFinite(e))return 1;let{fadeIn:r,fadeOut:i}=vE(n,t),o=1;return r>0&&(o*=$m(e/r)),i>0&&Number.isFinite(t)&&(o*=$m((t-e)/i)),o}function $m(e){return!Number.isFinite(e)||e<0?0:e>1?1:e}var Zn=\"hf-audio-group\",Vo=\"data-audio-group\";function il(e){let t=e?.getAttribute(\"data-volume\"),n=t?parseFloat(t):1;return Number.isFinite(n)?n:1}function ol(e,t){let n=Array.from(e?.querySelectorAll?.(`${Zn}[${Kr}]`)??[]).find(i=>i.getAttribute(Kr)===t);if(n)return n;let r=e?.getElementById(t)??null;return r&&r.tagName?.toLowerCase()===Zn?r:null}function $o(e,t){let n=t?.getAttribute?.(Lm)??t?.getAttribute?.(Vo);return n?ol(e,n)?.hasAttribute(\"data-hidden\")??!1:!1}function zo(e){return typeof e.tagName!=\"string\"||typeof e.getAttribute!=\"function\"||!EE(e)?null:e.getAttribute(Vo)||null}function EE(e){return e.tagName.toLowerCase()===\"audio\"?!0:typeof e.hasAttribute==\"function\"&&Bo(e)}function Xm(e){let t=\"__hf-audio-group-inert\";if(!e?.head||e.getElementById(t))return;let n=e.createElement(\"style\");n.id=t,n.textContent=`${Zn}{display:none!important}`,e.head.appendChild(n)}function vt(e){return Vn(e)}var Jm=[\"seeked\",\"loadeddata\",\"error\",\"emptied\",\"abort\"],dl=5e3,qo=new WeakMap;function Qm(e){let t=e.readyState<e.HAVE_CURRENT_DATA&&e.networkState===e.NETWORK_LOADING&&!window.__HF_EXPORT_RENDER_SEEK_CONFIG;e.tagName!==\"VIDEO\"||!(e.seeking||t)||It(e)||(qo.get(e)?.(),tt(new Promise(n=>{let r=o=>{if(!(o?.type===\"loadeddata\"&&e.seeking)){clearTimeout(i);for(let a of Jm)e.removeEventListener(a,r,!0);qo.get(e)===r&&qo.delete(e),n()}},i=setTimeout(r,dl);for(let o of Jm)e.addEventListener(o,r,!0);qo.set(e,r)})))}function Zm(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 ep(e){let t=e?.elements??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 s=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??\"0\");if(!Number.isFinite(s))continue;let l=vt(a),u=$e(a),f=xt(a),d=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,x=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??\"\");(!Number.isFinite(x)||x<0)&&m!=null&&(x=Math.max(0,En(f,m-l)));let h=Number.isFinite(x)&&x>=0,b=h?s+x:Number.POSITIVE_INFINITY,g=Number.parseFloat(a.dataset.volume??\"\"),v={el:a,start:s,mediaStart:l,duration:h?x:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(g)?g:null,playbackRate:u,rate:f,loop:d,sourceDuration:m,fades:Km(a)};r.push(v),a.tagName===\"VIDEO\"&&i.push(v),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var ll=new WeakMap,jo=new WeakMap,Xr=new WeakMap,ul=new WeakSet,er=new WeakSet,al=new WeakSet;function AE(e){if(er.has(e))return;er.add(e);let t=()=>er.delete(e);e.addEventListener(\"playing\",t,{once:!0}),e.addEventListener(\"pause\",t,{once:!0}),e.addEventListener(\"error\",t,{once:!0})}var wE=3;function fl(e){return e.error!=null||e.networkState===wE}var cl=new WeakMap;function sl(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function ml(e){ll.delete(e),jo.delete(e),Xr.delete(e),ul.delete(e),cl.delete(e),Jr.delete(e)}var pl=.5,Yt=.04,_E=.03,CE=.01,Jr=new WeakMap;function RE(e,t,n){let r=Math.sign(t),i=Jr.get(e);if(Math.abs(t)>Yt)Jr.set(e,r);else if(i!==r||Math.abs(t)<=CE)return Jr.delete(e),n;return n*(1+r*_E)}function tp(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=n.rate??n.playbackRate,o=r.tagName===\"VIDEO\"&&!n.loop,a=Kt(e.timeSeconds,n.start,n.end),s=n.start-e.timeSeconds,l=r.tagName===\"AUDIO\"&&!a&&s>0&&s*Math.max(1,Bs(i,0))<=Math.max(e.cueAheadSeconds??0,al.has(r)?Yt:0);l?al.add(r):al.delete(r);let u=o&&!a&&(e.timeSeconds>=n.end||qr(e.timeSeconds,n.end))&&qn(e.timeSeconds,n.start,n.end,e.getCompositionDuration()),f=Wn(i,Math.max(0,Math.min(e.timeSeconds,n.end)-n.start))+n.mediaStart,d=u||o&&n.sourceDuration!=null&&f>=n.sourceDuration&&a;d&&n.sourceDuration!=null&&(f=Math.min(f,n.sourceDuration));let m=jo.get(r),x=r.tagName===\"AUDIO\"&&(m===void 0||f<m-.04),h=!n.loop&&n.sourceDuration!=null&&f>=n.mediaStart&&f<n.sourceDuration&&(o||x);if((a||u||l)&&f>=0&&(!r.ended||n.loop||d||h)){if(jo.set(r,f),n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let Q=n.sourceDuration-n.mediaStart;Q>0&&f>=n.sourceDuration&&(f=n.mediaStart+(f-n.mediaStart)%Q)}let v=sl(e.userVolume??1),A=Ze(n.volume??1),E=cl.get(r),k=sl(r.volume),P,L=Ff(r,e.timeSeconds-n.start);if(L!==null)P=Ze(L);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let Q=e.timeSeconds-n.start;P=Ze(Um(n.volumeKeyframes,Q))}else e.isWebAudioRouted?.(r)?P=A:E===void 0?P=A>1?A:k:Math.abs(k-E)>1e-4?P=k:P=A;let D=n.fades??jm;(D.fadeIn>0||D.fadeOut>0)&&(P*=Ym(e.timeSeconds-n.start,n.duration,D));let M=r.closest(\"[data-hidden]\")!==null||$o(r.ownerDocument,r)?0:sl(P*v);r.volume=M,cl.set(r,M),e.onElementVolume?.(r,M,P),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!==\"auto\"&&(r.preload=\"auto\");let T=Bs(i,e.timeSeconds-n.start)*e.playbackRate,B=2,W=r.currentTime||0,ne=Math.abs(W-f),N=f-W,_=ll.get(r);ll.set(r,N);let G=_===void 0,Y=!G&&Math.abs(N-_)>.5,U=ne>3,j=r.tagName===\"AUDIO\"&&G&&W-f>Yt,V=d&&ne>.001||r.ended&&h&&ne>.001||j||ne>pl&&(G||Y||U),J=r.tagName===\"VIDEO\"&&!r.paused&&e.playing,X=_!==void 0&&Math.abs(N-_)<.004,O=!1;if(!J&&!V&&!G&&X&&ne>Yt){let Q=(Xr.get(r)??0)+1;Xr.set(r,Q),Q>=B&&(O=!0,Xr.set(r,0))}else ne<=Yt&&Xr.set(r,0);let K=!J&&e.forceSync&&ne>.02;try{(!J||V)&&Jr.delete(r);let Q=J&&!V?RE(r,N,T):T;Math.abs(r.playbackRate-Q)>1e-6&&(r.playbackRate=Q)}catch(Q){H(\"runtime.media.site1\",Q)}if(V||O||K){if(!(r.tagName===\"VIDEO\"&&!!It(r))){try{r.currentTime=f}catch(le){H(\"runtime.media.site2\",le)}if(Math.abs(r.currentTime-f)>.5&&!ul.has(r)){ul.add(r),r.load();try{r.currentTime=f}catch(le){H(\"runtime.media.site3\",le)}}Qm(r)}er.delete(r)}else e.playing||Qm(r);d?r.paused||r.pause():e.playing&&r.paused&&!er.has(r)&&!fl(r)?(AE(r),r.play().catch(Q=>{er.delete(r),(Q&&typeof Q==\"object\"&&\"name\"in Q?String(Q.name??\"\"):\"\")===\"NotAllowedError\"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}let g=Kt(e.timeSeconds,n.start,n.end);ml(r),g&&jo.set(r,f),r.paused||r.pause()}}var Xt=new WeakMap;function Qr(e){return Xt.has(e)?Xt.get(e)??null:e.getAttribute(\"src\")}async function hl(e,t){let n=0;for(;t();){let r=await fetch(e,{headers:{Range:\"bytes=0-0\"},cache:\"no-store\"}).catch(()=>null);r?.body?.cancel().catch(()=>{});let i=r?.status===202||r?.status===503;if(!i&&r?.ok)return!0;if(!i&&++n>3)return!1;let o=Math.min(Number(r?.headers.get(\"Retry-After\"))||2,30);await new Promise(a=>setTimeout(a,o*1e3))}return!1}var rp=\"hf-proxy-box\",TE=[256,362,512,724,1024,1448,2048,2896,4096,5792,8192];function np(e){return e>0?TE.find(t=>t>=e)??null:null}function ip(e,t){let n=np(e),r=np(t);return n&&r?{width:n,height:r}:null}function op(e){return`${e.width}x${e.height}`}var kE=\"hf-proxy\",ap=\"runtime_media_proxy_fallback\",sp=\"runtime_media_proxy_unavailable\",lp=new WeakSet,Zr=new WeakMap;function Ko(e){return e.currentSrc||e.src}var tr=window.parent===window?1:null,up=()=>{},ME=new Promise(e=>up=e),NE=1e3,ti=new Map,ei=new WeakMap;function LE(){return tr!==null?Promise.resolve(tr):Promise.race([ME.then(()=>tr),new Promise(e=>setTimeout(()=>e(null),NE))])}function cp(e,t){if(getComputedStyle(e).objectFit===\"none\")return null;let n=e.getBoundingClientRect(),r=document.documentElement,i=t*(window.devicePixelRatio||1);return ip(Math.max(n.width,r.clientWidth)*i,Math.max(n.height,r.clientHeight)*i)}function dp(e){if(!(!(e>0)||!Number.isFinite(e))){tr=e,up();for(let t of ti.keys())fp(t,e)}}function fp(e,t){let n=ti.get(e);if(!n)return;if(!e.isConnected||e.getAttribute(\"src\")!==n.href){ti.delete(e);return}let r=cp(e,t);if(r&&r.width<=n.box.width&&r.height<=n.box.height)return;let i=r&&{width:Math.max(r.width,n.box.width),height:Math.max(r.height,n.box.height)},o=pp(n.originalSrc,n.variant,i);if(ei.get(e)===o)return;ei.set(e,o);let a=()=>ei.get(e)===o&&e.isConnected&&e.getAttribute(\"src\")===n.href;hl(o,a).then(s=>{s&&a()&&mp(e,o,n.originalSrc,n.variant,i),ei.get(e)===o&&ei.delete(e)})}function mp(e,t,n,r,i){i?ti.set(e,{originalSrc:n,variant:r,href:t,box:i}):ti.delete(e),ml(e),e.src=t,e.load()}function gl(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:ye(e)&&!!It(e)}function bl(e){let t=Ko(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 FE(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 IE(e,t){let n=e.normalize(\"NFC\").toLowerCase(),r=-1,i=null,o=!1;for(let[a,s]of Object.entries(t)){let l=a.normalize(\"NFC\").toLowerCase();n.endsWith(l)&&(l.length>r?(r=l.length,i=s,o=!1):l.length===r&&(o=!0))}return o?null:i}function xl(e,t){return t[e]??FE(e,t)??IE(e,t)}function pp(e,t,n){let r=new URL(e,document.baseURI);return r.searchParams.set(kE,t),n&&r.searchParams.set(rp,op(n)),r.href}var DE={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 Jt(e,t,n){if(lp.has(e))return;lp.add(e);let r=DE[t];Ee({source:\"hf-preview\",type:\"diagnostic\",code:sp,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${sp}: \"${n}\" (${t}): ${r}`)}function yl(e,t=null,n=\"reactive\"){if(Xt.has(e)||Zr.has(e)&&Zr.get(e)===e.getAttribute(\"src\"))return;let r=Ko(e),i=t?t.hasAlpha?\"vp8\":\"h264\":\"auto\";try{new URL(r,document.baseURI)}catch(f){H(\"runtime.mediaProxy.swap\",f),Jt(e,\"invalid_source_url\",r);return}let o=e.getAttribute(\"src\");Zr.set(e,o);let a=()=>e.isConnected&&e.getAttribute(\"src\")===o,s=LE().then(async f=>{let d=f===null?null:cp(e,f),m=pp(r,i,d),x=await hl(m,a);if(!a()){Zr.get(e)===o&&Zr.delete(e);return}if(!x){Jt(e,\"proxy_playback_failed\",r);return}return Xt.set(e,o),mp(e,m,r,i,d),tr!==null&&fp(e,tr),new Promise(h=>{e.addEventListener(\"loadeddata\",h,{once:!0}),e.addEventListener(\"error\",h,{once:!0})})});tt(Promise.race([s,new Promise(f=>setTimeout(f,dl))]));let l=t?.codecName??null;Ee({source:\"hf-preview\",type:\"diagnostic\",code:ap,details:{asset:r,codecName:l,trigger:n,note:\"render output is unaffected; only this preview element was swapped to an authoring proxy\"}}),console.info(`[hyperframes] ${ap}: \"${r}\" uses a codec (${l??\"unknown\"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function hp(e){if(gl(e)||!ye(e)||Xt.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=bl(e);if(n===null)return;let r=xl(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):\"\";i===\"probably\"||i===\"maybe\"||yl(e,r,\"proactive\")}function gp(e){if(gl(e)||!ye(e)||e.videoWidth!==0)return;let t=Ko(e);if(Xt.has(e)){Jt(e,\"proxy_playback_failed\",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=bl(e);if(r===null){Jt(e,\"cross_origin\",t);return}let i=xl(r,n);if(i&&!i.browserHostile){Jt(e,\"browser_safe_codec\",t);return}yl(e,i,\"reactive\")}function bp(e){if(gl(e)||!ye(e))return;let t=Ko(e);if(Xt.has(e)){Jt(e,\"proxy_playback_failed\",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=bl(e);if(r===null){Jt(e,\"cross_origin\",t);return}let i=xl(r,n);if(i&&!i.browserHostile){Jt(e,\"browser_safe_codec\",t);return}yl(e,i,\"tertiary\")}var Me=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);de(this,\"lineNumber\");this.name=\"CubeLutParseError\",this.lineNumber=r}},PE=[0,0,0],OE=[1,1,1],Yo=64;function HE(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 Qt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Me(`Invalid number \"${e}\"`,t);return n}function xp(e,t,n){if(e.length!==3)throw new Me(`${t} expects three numbers`,n);return[Qt(e[0],n),Qt(e[1],n),Qt(e[2],n)]}function yp(e,t,n){if(!e)throw new Me(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Me(`${t} must be an integer greater than 1`,n);return r}function GE(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Me(\"DOMAIN_MAX values must be greater than DOMAIN_MIN values\")}function BE(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 UE(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Sp(e,t={}){let n=t.maxSize??Yo,r=null,i=PE,o=OE,a=null,s=null,l=[],u=e.replace(/^\\uFEFF/,\"\").split(/\\r?\\n/);for(let d=0;d<u.length;d++){let m=d+1,x=HE(u[d]??\"\").trim();if(!x)continue;let h=x.split(/\\s+/),b=(h[0]??\"\").toUpperCase(),g=h.slice(1);if(b===\"TITLE\"){r=BE(x);continue}if(b===\"DOMAIN_MIN\"){i=xp(g,b,m);continue}if(b===\"DOMAIN_MAX\"){o=xp(g,b,m);continue}if(b===\"LUT_3D_INPUT_RANGE\"){if(g.length!==2)throw new Me(`${b} expects two numbers`,m);let v=Qt(g[0],m),A=Qt(g[1],m);if(A<=v)throw new Me(\"LUT_3D_INPUT_RANGE max must exceed min\",m);i=[v,v,v],o=[A,A,A];continue}if(b===\"LUT_1D_SIZE\"){a=yp(g[0],b,m);continue}if(b===\"LUT_3D_SIZE\"){if(s=yp(g[0],b,m),s>n)throw new Me(`LUT_3D_SIZE ${s} exceeds max ${n}`,m);continue}if(!UE(b)){if(b.startsWith(\"LUT_\"))throw new Me(`Unsupported cube keyword ${b}`,m);continue}if(!s)throw a?new Me(\"1D cube LUTs are not supported yet\",m):new Me(\"LUT data appears before LUT_3D_SIZE\",m);if(h.length!==3)throw new Me(\"LUT data rows must contain three numbers\",m);l.push(Qt(h[0],m),Qt(h[1],m),Qt(h[2],m))}if(a&&s)throw new Me(\"Mixed 1D and 3D cube LUTs are not supported yet\");if(!s)throw a?new Me(\"1D cube LUTs are not supported yet\"):new Me(\"Missing LUT_3D_SIZE\");GE(i,o);let f=s*s*s;if(l.length!==f*3)throw new Me(`Expected ${f} LUT rows for size ${s}, found ${l.length/3}`);return{title:r,size:s,domainMin:i,domainMax:o,data:new Float32Array(l)}}function WE(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function ni(e){return Math.round(WE(e)*255)}function Sl(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 s=0;s<t;s++){let l=((o*t+a)*t+s)*3,u=(a*n+o*t+s)*4;i[u]=ni(e.data[l]??0),i[u+1]=ni(e.data[l+1]??0),i[u+2]=ni(e.data[l+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var vp=\"rec709\";var Ae={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 Ep=[\"exposure\",\"contrast\",\"highlights\",\"shadows\",\"whites\",\"blacks\",\"temperature\",\"tint\",\"vibrance\",\"saturation\"],Ap=[\"shadows\",\"midtones\",\"highlights\"],wp=[\"master\",\"red\",\"green\",\"blue\"],_p=[\"hueVsHue\",\"hueVsSaturation\",\"hueVsLuma\"];var Cp=[\"vignette\",\"vignetteMidpoint\",\"vignetteRoundness\",\"vignetteFeather\",\"grain\",\"grainSize\",\"grainRoughness\"],Rp=[\"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 YF=Ae.unit,XF=Ae.signedUnit,JF=Ae.effects;var Et=1024,ri=16;function Tp(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 Ne(e,t){let n=e[t];if(n===void 0)throw new RangeError(\"Color curve points must be contiguous\");return n}function VE(e){let t=[],n=[],r=Ne(e,0);for(let a of e.slice(1)){let s=a[0]-r[0];t.push(s),n.push((a[1]-r[1])/s),r=a}let i=Ne(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=Tp(Ne(t,0),Ne(t,1),i,Ne(n,1)),o[o.length-1]=Tp(Ne(t,t.length-1),Ne(t,t.length-2),Ne(n,n.length-1),Ne(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let s=Ne(n,a-1),l=Ne(n,a);if(s===0||l===0||Math.sign(s)!==Math.sign(l)){o[a]=0;continue}let u=Ne(t,a-1),f=Ne(t,a),d=2*f+u,m=f+2*u;o[a]=(d+m)/(d/s+m/l)}return o}function kp(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 $E(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 zE(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),s=a*a,l=s*a;return(2*l-3*s+1)*t[1]+(l-2*s+a)*o*r+(-2*l+3*s)*n[1]+(l-s)*o*i}function Mp(e,t,n,r,i){$E(e,r,i);let o=VE(e),a=new Float32Array(t),s=0;for(let l=0;l<t;l+=1){let u=n(l);for(;s<e.length-2&&u>Ne(e,s+1)[0];)s+=1;let f=Ne(e,s),d=Ne(e,s+1),m=zE(u,f,d,Ne(o,s),Ne(o,s+1));a[l]=Math.min(i,Math.max(r,m))}return a}function nr(e,t=Et){if(kp(e,t),e.length>ri)throw new RangeError(`A color curve supports at most ${ri} 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 Mp(e,t,n=>n/(t-1),0,1)}function El(e,t,n,r=Et){if(e.length<3)throw new RangeError(\"A hue curve requires at least three points\");if(e.length>ri)throw new RangeError(`A hue curve supports at most ${ri} points`);let i=[...e].sort((l,u)=>l[0]-u[0]);for(let l=0;l<i.length;l+=1){let u=i[l];if(!u||u[0]<0||u[0]>=360)throw new RangeError(\"Hue curve inputs must be from 0 up to 360 degrees\");if(l>0&&u[0]===i[l-1]?.[0])throw new RangeError(\"Hue curve inputs must be unique\")}let o=i.slice(-2).map(([l,u])=>[l-360,u]),a=i.slice(0,2).map(([l,u])=>[l+360,u]),s=[...o,...i,...a];return kp(s,r),Mp(s,r,l=>l/r*360,t,n)}var ii=\"data-color-grading\",An=\"data-hf-color-grading-source-hidden\",wn=\"data-hf-authored-opacity\",Dp=\"__hf_color_grading_\",jE=vp,_l={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Cl={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Rl={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 Qo=Ep,Pp=Ap,Op=wp,Hp=_p,kl=Cp,Ml=Rp,Np={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},Lp={vignette:.18};function Le(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{..._l,...n},details:{...Cl,...r},effects:{...Rl,...i}}}var Nl=[Le(\"neutral\",\"Neutral\"),Le(\"warm-daylight\",\"Warm Daylight\",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Le(\"clean-studio\",\"Clean Studio\",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Le(\"skin-soft\",\"Skin Soft\",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Le(\"food-pop\",\"Food Pop\",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Le(\"night-lift\",\"Night Lift\",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Le(\"muted-editorial\",\"Muted Editorial\",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Le(\"vintage-wash\",\"Vintage Wash\",Np,Lp),Le(\"mono-clean\",\"Mono Clean\",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Le(\"mono-fade\",\"Mono Fade\",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Le(\"soft-boost\",\"Soft Boost\",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Le(\"bright-pop\",\"Bright Pop\",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Le(\"deep-contrast\",\"Deep Contrast\",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Le(\"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),Le(\"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}),Le(\"home-movie-8mm\",\"8mm Home Movie\",Np,{...Lp,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Le(\"editorial-halftone\",\"Editorial Halftone\",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Le(\"two-ink-print\",\"Two-Ink Print\",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],KE=new Map(Nl.map(e=>[e.id,e])),YE=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,XE={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}},rr={hue:0,amount:0,level:0},Fp={amount:Ae.unit,level:Ae.signedUnit},Zt=[[0,0],[1,1]],ir=[],JE={hueVsHue:Ae.secondaryHueShift,hueVsSaturation:Ae.signedUnit,hueVsLuma:Ae.signedUnit},Al={center:0,range:180,softness:0},wl={min:0,max:1,softness:.05},QE={vignette:Ae.unit,vignetteMidpoint:Ae.unit,vignetteRoundness:Ae.signedUnit,vignetteFeather:Ae.unit,grain:Ae.unit,grainSize:Ae.unit,grainRoughness:Ae.unit},Tl=Ae.unit,ZE=Ae.effects,Gp=[\"blur\",\"pixelate\",\"chromaBleed\",\"tapeDamage\",\"filmArtifacts\",\"halftone\",\"twoInkPrint\",\"ascii\",\"dither\",\"bloom\",\"monoScreen\",\"scanlines\",\"chromaticAberration\",\"crtCurvature\",\"digitalGlitch\",\"engraving\",\"crosshatch\",\"kuwahara\"];var eA=Nl.filter(e=>Gp.some(t=>e.effects[t]>1e-4)),oI=Nl.filter(e=>!eA.includes(e)),aI={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}},Bp=[{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 tA=/^#[0-9a-f]{6}$/i;function nA(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t==\"string\"&&tA.test(t))?null:e.map(t=>t.toLowerCase())}function De(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function Jo(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function Up(e,t){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function Ge(e,t){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?Jo(n,t.min,t.max):0}function Ll(e,t=0){let n=typeof e==\"number\"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function rA(e){let t=De(e)?e:{};return Pp.reduce((n,r)=>{let i=De(t[r])?t[r]:{};return n[r]={hue:Ll(i.hue,rr.hue),amount:Ge(i.amount??rr.amount,Fp.amount),level:Ge(i.level??rr.level,Fp.level)},n},{shadows:{...rr},midtones:{...rr},highlights:{...rr}})}function iA(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)?[Jo(t,0,1),Jo(n,0,1)]:null}function Wp(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function oA(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function aA(e){if(!Array.isArray(e)||e.length<2)return Zt;let t=[];for(let n of e){let r=iA(n);if(!r)return Zt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),Wp(t)||(oA(t),t.length>16)?Zt:t}function sA(e){let t=De(e)?e:{};return Op.reduce((n,r)=>(n[r]=aA(t[r]),n),{master:Zt,red:Zt,green:Zt,blue:Zt})}function lA(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)?[Ll(n),Jo(r,t.min,t.max)]:null}function uA(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return ir;let n=[];for(let r of e){let i=lA(r,t);if(!i)return ir;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),Wp(n)?ir:n}function cA(e){let t=De(e)?e:{};return Hp.reduce((n,r)=>(n[r]=uA(t[r],JE[r]),n),{hueVsHue:ir,hueVsSaturation:ir,hueVsLuma:ir})}function Ip(e){let t=De(e)?e:{},n=Ge(t.min??wl.min,Tl),r=Ge(t.max??wl.max,Tl);return{min:Math.min(n,r),max:Math.max(n,r),softness:Ge(t.softness??wl.softness,Ae.secondarySoftRangeSoftness)}}function dA(e){let t=De(e)?e:{},n=Ge(t.range??Al.range,Ae.secondaryHueRange);return{center:Ll(t.center,Al.center),range:n,softness:Ge(t.softness??Al.softness,{min:Ae.secondaryHueSoftness.min,max:Ae.secondaryHueCombinedMax-n})}}function fA(e){return{hueShift:Ge(e.hueShift??0,Ae.secondaryHueShift),saturation:Ge(e.saturation??0,Ae.signedUnit),luma:Ge(e.luma??0,Ae.signedUnit),temperature:Ge(e.temperature??0,Ae.signedUnit),tint:Ge(e.tint??0,Ae.signedUnit)}}function mA(e){return!De(e)||!De(e.key)||!De(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:dA(e.key.hue),saturation:Ip(e.key.saturation),luma:Ip(e.key.luma)},correction:fA(e.correction)}}function pA(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=mA(n);r&&t.push(r)}return t}function hA(e){if(e==null)return null;let t=String(e).trim();return t||null}function gA(e){if(e==null)return null;if(typeof e==\"string\"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!De(e))return null;let t=e.src;return typeof t!=\"string\"||t.trim()===\"\"?null:{src:t.trim(),intensity:Up(e.intensity,1)}}function bA(e){if(typeof e==\"string\"){let t=e.trim();if(!t)return null;if(t.startsWith(\"{\"))try{let n=JSON.parse(t);return De(n)?n:null}catch{return null}return{preset:t}}return De(e)?e:null}function xA(e,t){let n=e.trim().match(YE);if(!n)return e;let r=n[1]??n[2]??\"\";return r&&Object.hasOwn(t,r)?t[r]:e}function Xo(e,t){if(typeof e==\"string\"){let r=xA(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith(\"{\"))return e;try{return Xo(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Xo(r,t));if(!De(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Xo(i,t);return n}function yA(e){return e?KE.get(e)??null:null}function Zo(e){let t=bA(e);if(!t||t.enabled===!1)return null;let n=hA(t.preset),r=yA(n),i=r?.adjust??_l,o=r?.details??Cl,a=r?.effects??Rl,s=De(t.adjust)?t.adjust:{},l=De(t.details)?t.details:{},u=De(t.effects)?t.effects:{},f=Qo.reduce((x,h)=>(x[h]=Ge(s[h]??i[h],XE[h]),x),{..._l}),d=kl.reduce((x,h)=>(x[h]=Ge(l[h]??o[h],QE[h]),x),{...Cl}),m=Ml.reduce((x,h)=>(x[h]=Ge(u[h]??a[h],ZE[h]??Tl),x),{...Rl});return{enabled:!0,preset:n,intensity:Up(t.intensity,r?.intensity??1),adjust:f,wheels:rA(t.wheels),curves:sA(t.curves),hueCurves:cA(t.hueCurves),secondaries:pA(t.secondaries),details:d,effects:m,palette:nA(t.palette),lut:gA(t.lut),colorSpace:typeof t.colorSpace==\"string\"&&t.colorSpace.trim()?t.colorSpace.trim():jE}}function Vp(e,t){return Zo(Xo(e,t))}function SA(e){return Pp.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Fl(e){return Op.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Il(e){return Hp.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Dl(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function $p(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||Gp.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:Qo.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?SA(e.wheels):!1)||(e.curves?Fl(e.curves):!1)||(e.hueCurves?Il(e.hueCurves):!1)||(e.secondaries?Dl(e.secondaries):!1):!1}var ea=/^(|transparent|rgba\\(.*,\\s*0\\)|.*\\/\\s*0%?\\s*\\))$/,vA=new Set([\"IMG\",\"VIDEO\",\"IFRAME\",\"EMBED\",\"OBJECT\",\"CANVAS\"]),zp=\"http://www.w3.org/2000/svg\",EA=new Set([\"svg\",\"g\",\"foreignObject\"]),AA=[\"Top\",\"Right\",\"Bottom\",\"Left\"],wA={left:-1/0,right:1/0,top:-1/0,bottom:1/0},qp=e=>!!e.backgroundImage&&e.backgroundImage!==\"none\"||!ea.test(e.backgroundColor),_A=e=>{let t=e.getPropertyValue(\"-webkit-text-fill-color\")||e.color,n=Number.parseFloat(e.getPropertyValue(\"-webkit-text-stroke-width\"))||0,r=e.getPropertyValue(\"-webkit-text-stroke-color\")||e.color;return!ea.test(t)||n>0&&!ea.test(r)},jp=e=>AA.map(t=>e[`border${t}Style`]!==\"none\"&&!ea.test(e[`border${t}Color`])&&Number.parseFloat(e[`border${t}Width`])||0),ta=e=>e.bottom-e.top,Pl=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,Kp=(e,t)=>({left:Math.min(e.left,t.left),right:Math.max(e.right,t.right),top:Math.min(e.top,t.top),bottom:Math.max(e.bottom,t.bottom)}),CA=(e,t)=>t.display===\"none\"||t.position===\"absolute\"||t.position===\"fixed\"||Number.parseFloat(t.opacity)<=.01&&!e.hasAttribute(An);function RA(e,t,n){if(e.width<=0&&e.height<=0)return!1;let r=3*(Number.parseFloat(t.fontSize)||16),i=Math.max(r,Math.min(2*e.height,20*r/3));return n<e.top-i||n>e.bottom+i}function TA(e,t,n,r){let[i,o,a,s]=jp(t);if(!(i||o||a||s))return!1;let l=e.getBoundingClientRect(),{offsetWidth:u,offsetHeight:f}=e,d=u>0?l.width/u:1,m=f>0?l.height/f:1,x={left:l.left+s*d,right:l.right-o*d,top:l.top+i*m,bottom:l.bottom-a*m};return!Pl(x,n,r)}function kA(e){let t=[];for(let n of[...e].sort((r,i)=>r.left-i.left)){let r=t.findIndex(i=>n.top<i.bottom&&n.bottom>i.top&&n.left-i.right<=2*Math.max(ta(i),ta(n)));r<0?t.push(n):t[r]=Kp(t[r],n)}return t}function MA(e){let t=[...e].sort((n,r)=>n.top-r.top);return t.flatMap((n,r)=>t.slice(r+1).flatMap(i=>{let o=i.left<n.right&&i.right>n.left,a=i.top-n.bottom<=2*Math.min(ta(n),ta(i));return o&&a&&i.top>n.bottom?[Kp(n,i)]:[]}))}function Yp(e,t,n){let r=e.defaultView,i=typeof e.createRange().getClientRects==\"function\",o=e.createRange(),a=new Map,s=new Map,l=new Map,u=g=>{let v=s.get(g);if(v===void 0){let A=r.getComputedStyle(g);v=CA(g,A)||i&&RA(g.getBoundingClientRect(),A,n),s.set(g,v)}return v},f=g=>{let v=l.get(g);if(v===void 0){let A=g.parentElement,E=A&&g.nodeValue?.trim()?r.getComputedStyle(A):null;v=!!E&&E.visibility!==\"hidden\"&&_A(E),l.set(g,v)}return v},d=g=>{if(!i)return[wA];let v=[];o.selectNodeContents(g);for(let A of o.getClientRects()){let E=A.bottom-A.top;A.width>0&&E>0&&n>=A.top-2*E&&n<=A.bottom+2*E&&v.push(A)}return v},m=g=>{let v=a.get(g);if(v)return v;v=[];for(let A of g.childNodes)A.nodeType===3?f(A)&&v.push(...d(A)):A.nodeType===1&&A.hasChildNodes()&&!u(A)&&v.push(...m(A));return a.set(g,v),v};function x(g){let v=kA(m(g));return v.some(A=>Pl(A,t,n))||MA(v).some(A=>Pl(A,t,n))}function h(g,v){let A=r.getComputedStyle(g,v);return!A.content||A.content===\"none\"||A.content===\"normal\"||A.display===\"none\"?!1:A.content!=='\"\"'||qp(A)||jp(A).some(E=>E>0)}let b=(g,v)=>/inset/.test(v.boxShadow)||TA(g,v,t,n)||h(g,\"::before\")||h(g,\"::after\");return g=>{if(vA.has(g.tagName)||!(g.namespaceURI!==zp||EA.has(g.localName))||!r)return!0;let A=r.getComputedStyle(g);return qp(A)||b(g,A)||g.namespaceURI!==zp&&x(g)}}var NA=[\"[data-hyperframes-ignore]\",\"[data-hyperframes-picker-ignore]\",\"[data-hf-ignore]\",\"[data-no-inspect]\",\"[data-no-pick]\",\"[data-hyper-shader-loading]\"].join(\",\"),LA=[\"[data-hyperframes-picker-block]\",\"[data-hyper-shader-loading]\"].join(\",\"),Xp=\"[data-hf-inner-root],[data-composition-id]:not([data-composition-id] *)\",Jp=`${Xp}{pointer-events:auto!important}`,FA=`@layer hf-picker{${Jp}}`;function Qp(e){let t=!1,n=null,r=null,i=null,o=null,a,s=new Set;function l(N,_){try{window.dispatchEvent(new CustomEvent(N,{detail:_}))}catch(G){H(\"runtime.picker.site1\",G)}}function u(N){i=N,l(\"hyperframe:picker:hovered\",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function f(N){o=N,l(\"hyperframe:picker:selected\",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function d(N){if(s=new Set(Array.from(document.querySelectorAll(Xp)).filter(Y=>getComputedStyle(Y).pointerEvents===\"none\")),s.size===0)return N();let _=m(),G=_?x(_):h();try{return N()}finally{G(),s=new Set}}function m(){if(a!==void 0)return a;if(a=null,!Array.isArray(document.adoptedStyleSheets)||typeof CSSStyleSheet>\"u\")return null;try{let N=new CSSStyleSheet;N.replaceSync(FA),a=N}catch(N){H(\"runtime.picker.site2\",N)}return a}function x(N){return document.adoptedStyleSheets=[...document.adoptedStyleSheets,N],()=>{document.adoptedStyleSheets=document.adoptedStyleSheets.filter(_=>_!==N)}}function h(){let N=document.createElement(\"style\");return N.textContent=Jp,(document.head??document.documentElement).appendChild(N),()=>N.remove()}function b(N){let _=N.ownerDocument.defaultView;if(!_)return!1;let G=N;if(_.getComputedStyle(N).visibility===\"hidden\")return!0;for(;G&&G!==document.body&&G!==document.documentElement;){let Y=_.getComputedStyle(G);if(Y.display===\"none\"||Y.pointerEvents===\"none\")return!0;let U=Number.parseFloat(Y.opacity);if(Number.isFinite(U)&&U<=.01&&!G.hasAttribute(An))return!0;G=G.parentElement}return!1}function g(N){if(!N||N===document.body||N===document.documentElement)return!1;let _=N.tagName.toLowerCase();return!(_===\"script\"||_===\"style\"||_===\"link\"||_===\"meta\"||s.has(N)||N.closest(NA)||b(N))}function v(N){return!!N?.closest(LA)}function A(N){let _=N.parentElement?.getAttribute(\"data-composition-id\");return!N.hasAttribute(\"data-hf-inner-root\")||!_?null:`[data-composition-id=\"${CSS.escape(_)}\"] > [data-hf-inner-root]`}function E(N){let _=A(N);if(_)return _;let G=N;if(G.id)return`#${CSS.escape(G.id)}`;let Y=N.getAttribute(\"data-composition-id\");if(Y)return`[data-composition-id=\"${CSS.escape(Y)}\"]`;let U=N.getAttribute(\"data-composition-src\");if(U)return`[data-composition-src=\"${CSS.escape(U)}\"]`;let j=N.getAttribute(\"data-track-index\");if(j)return`[data-track-index=\"${CSS.escape(j)}\"]`;let V=N.tagName.toLowerCase(),J=N.parentElement;if(!J)return V;let X=J.querySelectorAll(`:scope > ${V}`);if(X.length===1)return V;for(let O=0;O<X.length;O+=1)if(X[O]===N)return`${V}:nth-of-type(${O+1})`;return V}function k(N){let _=N.tagName.toLowerCase(),G=(N.textContent??\"\").trim().replace(/\\s+/g,\" \"),Y=(j,V)=>{let J=Array.from(j);return J.length>V?`${J.slice(0,V-1).join(\"\")}\\u2026`:j},U=/^h[1-6]$/.test(_);return U||_===\"p\"||_===\"span\"||_===\"div\"?G.length>0?Y(G,56):U?\"Heading\":\"Text\":_===\"img\"?\"Image\":_===\"video\"?\"Video\":_===\"audio\"?\"Audio\":_===\"svg\"?\"Shape\":N.getAttribute(\"data-composition-src\")?\"Composition\":_===\"section\"?\"Section\":`${_.charAt(0).toUpperCase()}${_.slice(1)}`}function P(N,_,G){let Y=typeof G==\"number\"&&G>0?G:8,U=[];if(document.elementsFromPoint)U=document.elementsFromPoint(N,_);else if(document.elementFromPoint){let O=document.elementFromPoint(N,_);U=O?[O]:[]}if(v(U[0]??null))return[];let j={},V=[],J=[],X=Yp(document,N,_);for(let[O,K]of U.entries()){if(!g(K))continue;let Q=`${K.tagName}::${K.id||\"\"}::${O}`;if(!j[Q]&&(j[Q]=!0,V.push(K),(J.some(le=>K.contains(le))||X(K))&&(J.push(K),J.length>=Y)))break}return J.length>0?J:V.slice(0,Y)}function L(N){let _=N.getBoundingClientRect(),G={};for(let U of Array.from(N.attributes))U.name.startsWith(\"data-\")&&(G[U.name]=U.value);return{id:N.id||null,tagName:N.tagName.toLowerCase(),selector:E(N),label:k(N),boundingBox:{x:_.left,y:_.top,width:_.width,height:_.height},textContent:N.textContent?N.textContent.trim().slice(0,200):null,src:N.getAttribute(\"src\")||N.getAttribute(\"data-composition-src\")||null,dataAttributes:G}}function D(N,_,G){return d(()=>P(N,_,G)).map(L)}function R(N){if(!t)return;let _=d(()=>{let Y=P(N.clientX,N.clientY,1)[0]??(Re(N.target)?N.target:null);return g(Y)?Y:null});if(!_||n===_)return;n&&n.classList.remove(\"__hf-pick-highlight\"),n=_,_.classList.add(\"__hf-pick-highlight\");let G=L(_);u(G),e.postMessage({source:\"hf-preview\",type:\"element-hovered\",elementInfo:G})}function M(N){if(!t)return;N.preventDefault(),N.stopPropagation(),N.stopImmediatePropagation();let _=D(N.clientX,N.clientY,8);_.length!==0&&(u(_[0]??null),e.postMessage({source:\"hf-preview\",type:\"element-pick-candidates\",candidates:_,selectedIndex:0,point:{x:N.clientX,y:N.clientY}}))}function T(N){N.key===\"Escape\"&&(W(),e.postMessage({source:\"hf-preview\",type:\"pick-mode-cancelled\"}))}function B(){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\",R,!0),document.addEventListener(\"click\",M,!0),document.addEventListener(\"keydown\",T,!0),l(\"hyperframe:picker:mode\",{isPickMode:!0,timestamp:Date.now()}))}function W(){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\",R,!0),document.removeEventListener(\"click\",M,!0),document.removeEventListener(\"keydown\",T,!0),l(\"hyperframe:picker:mode\",{isPickMode:!1,timestamp:Date.now()}))}function ne(){window.__HF_PICKER_API={enable:B,disable:W,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(N,_,G)=>Number.isFinite(N)&&Number.isFinite(_)?D(N,_,G):[],pickAtPoint:(N,_,G)=>{if(!Number.isFinite(N)||!Number.isFinite(_))return null;let Y=D(N,_,8);if(!Y.length)return null;let U=Math.max(0,Math.min(Y.length-1,Number(G??0))),j=Y[U]??null;return j?(f(j),e.postMessage({source:\"hf-preview\",type:\"element-picked\",elementInfo:j}),W(),j):null},describe:N=>Re(N)?L(N):null,pickManyAtPoint:(N,_,G)=>{if(!Number.isFinite(N)||!Number.isFinite(_))return[];let Y=D(N,_,8);if(!Y.length)return[];let U=[],j=Array.isArray(G)?G:[0];for(let V of j){let J=Math.max(0,Math.min(Y.length-1,Math.floor(Number(V)))),X=Y[J];if(!X)continue;U.some(K=>K.selector===X.selector&&K.tagName===X.tagName)||U.push(X)}return U.length?(f(U[0]??null),e.postMessage({source:\"hf-preview\",type:\"element-picked-many\",elementInfos:U}),W(),U):[]}},l(\"hyperframe:picker:api-ready\",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:B,disablePickMode:W,installPickerApi:ne}}function oi(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&&H(\"runtime.player.nonConformantNum\",{prop:t,actual:typeof r}),n)}function ct(e,t){let n=e?.[t];if(typeof n==\"function\"){n.call(e);return}n!==void 0&&H(\"runtime.player.nonConformantVoid\",{method:t,actual:typeof n})}function ai(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){H(\"runtime.player.site1\",i)}}}function na(e,t,n){return n?.exact===!0?Number.isFinite(e)&&e>0?e:0:_m(e,t,n?.subFrameDivisions)}function Zp(e,t,n,r){let i=na(t,n,r),o=r?.suppressEvents===!0;return ct(e,\"pause\"),typeof e.totalTime==\"function\"?e.totalTime(i,o):typeof e.seek==\"function\"&&e.seek(i,o),i}function IA(e,t,n,r,i){let o=[];ai(e,t,a=>{ct(a,\"play\"),o.push(a)});try{return Zp(t,n,r,i)}finally{for(let a of o)try{ct(a,\"pause\")}catch(s){H(\"runtime.player.site2\",s)}}}function DA(e,t){ai(e,t,n=>{ct(n,\"play\")})}function eh(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?.()??oi(n,\"duration\",0))||0);r>0&&Math.max(0,oi(n,\"time\",0))>=r&&(ct(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()),ct(n,\"play\"),ai(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale==\"function\"&&i.timeScale(e.getPlaybackRate()),ct(i,\"play\")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;ct(n,\"pause\"),ai(e.getTimelineRegistry?.(),n,i=>{ct(i,\"pause\")});let r=Math.max(0,oi(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(),s=IA(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(s),r?.keepPlaying&&a?(typeof i.timeScale==\"function\"&&i.timeScale(e.getPlaybackRate()),ct(i,\"play\"),ai(e.getTimelineRegistry?.(),i,l=>{typeof l.timeScale==\"function\"&&l.timeScale(e.getPlaybackRate()),ct(l,\"play\")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(s,!0)):(e.setIsPlaying(!1),e.onSyncMedia(s,!1)),e.onRenderFrameSeek(s),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(DA(e.getTimelineRegistry?.(),i),Zp(i,n,o,r)):na(Math.max(0,Number(n)||0),o,r);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>oi(e.getTimeline(),\"time\",0),getDuration:()=>oi(e.getTimeline(),\"duration\",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Ol(){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}}function _n(e){if(e==null||e.trim()===\"\")return null;let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:null}function or(e){if(e==null||e.trim()===\"\")return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}function At(e=document){let t=e.querySelector('[data-composition-id][data-root=\"true\"]');return xe(t)?t:e.querySelector(\"[data-composition-id]\")}var PA=new Set([\"SCRIPT\",\"STYLE\",\"LINK\",\"META\",\"TEMPLATE\",\"NOSCRIPT\"]);function Hl(e){return e.id||e.getAttribute(\"data-hf-id\")||null}function OA(e){return Ce(e)}function HA(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 GA(e){return pe(e)?Number.isFinite(e.duration)?yt(e,e.duration):null:zn(e)}function BA(e,t,n,r){let i=OA(e.getAttribute(\"data-duration\"));return i!=null&&i>0?i:HA(e,t)??GA(e)??Math.max(0,n-r)}function UA(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 th(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=At(),a=0;for(let s of document.querySelectorAll(\"[data-start]\")){if(s===o||PA.has(s.tagName))continue;let l=t.resolveStartForElement(s,0);if(BA(s,n,r,l)<=0)continue;let u={id:Hl(s)??`__clip-${a++}`,element:s,parentId:null,children:[]};i.set(s,u)}return UA(i),{roots:Array.from(i.values()).filter(s=>s.parentId===null)}}var Gl=\"css:root\",nh=[\"backdrop-filter\",\"clip-path\",\"filter\",\"mask\",\"mask-border-source\",\"mask-image\",\"perspective\",\"rotate\",\"scale\",\"transform\",\"translate\",\"-webkit-mask-image\"],WA=new Set([...nh,\"contain\",\"isolation\",\"mask-border\",\"mix-blend-mode\",\"opacity\"]),VA=new Set([\"absolute\",\"relative\"]),$A=new Set([\"flex\",\"inline-flex\",\"grid\",\"inline-grid\"]),zA=new Set([\"layout\",\"paint\",\"strict\",\"content\"]),qA=new Set([\"size\",\"inline-size\"]);function jA(e){return e.position===\"fixed\"||e.position===\"sticky\"}function KA(e,t){if(t.zIndex===\"auto\"||t.zIndex===\"\")return!1;if(VA.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&$A.has(n)}function YA(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:nh.some(r=>{let i=e.getPropertyValue(r);return i!==\"\"&&i!==\"none\"})}function XA(e){return e.getPropertyValue(\"contain\").split(/\\s+/).some(n=>zA.has(n))?!0:qA.has(e.getPropertyValue(\"container-type\"))}function JA(e){return e.getPropertyValue(\"will-change\").split(\",\").map(t=>t.trim()).some(t=>WA.has(t))}function QA(e,t){return e.hasAttribute(Ve)||jA(t)||KA(e,t)||YA(t)||XA(t)?!0:JA(t)}function ZA(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 ra(e){let t=e.ownerDocument.defaultView;if(!t)return Gl;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(QA(n,t.getComputedStyle(n)))return ZA(n)}catch{return Gl}n=n.parentElement}return Gl}function Bl(e){let t=e.trim().toLowerCase();return!(!t||t===\"main\"||t.includes(\"caption\")||t.includes(\"ambient\"))}var rh=e=>e!==null&&Number.isFinite(e)&&e>0;function ar(e){let t=e.clipEndsSeconds.filter(r=>r===null).length;if(rh(e.authoredDurationSeconds))return{seconds:e.authoredDurationSeconds,source:\"authored\",pendingClips:t};let n=e.clipEndsSeconds.filter(rh);return n.length>0?{seconds:Math.max(...n),source:\"derived\",pendingClips:t}:{seconds:null,source:\"unresolved\",pendingClips:t,reason:t>0?\"every clip's length is still pending\":\"no authored duration and no clip with a length\"}}var sr=7200,Dt=1/60,si=e=>e!==null&&e>Dt?e:null;function ih(e){return{width:or(e.getAttribute(\"data-width\")),height:or(e.getAttribute(\"data-height\"))}}function oh(e,t){let n=[];for(let r of e.querySelectorAll(\"video[data-start], audio[data-start]\")){let i=t.mediaStart(r);if(!Number.isFinite(i))continue;let o=t.mediaDuration(r);o==null||o<=Dt||n.push(Math.max(0,i)+o)}return si(ar({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function ah(e,t){let n=[];for(let i of e.querySelectorAll(\"[data-composition-id][data-start]\")){if(i.parentElement?.closest(\"[data-composition-id]\")!==e)continue;let o=t.resolveStartForElement(i,0),a=t.resolveDurationForElement(i);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let r=Ce(e.getAttribute(\"data-duration\"));return si(ar({authoredDurationSeconds:null,clipEndsSeconds:[r,...n]}).seconds)}var ew=e=>e.hasAttribute(\"data-composition-id\")||e.hasAttribute(\"data-composition-src\");function sh(e,t,{unregisteredLottie:n}){let r=[];for(let o of e.querySelectorAll(\"[data-start]\")){let a=t.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=t.resolveDurationForElement(o);s!=null?r.push(Math.max(0,a)+s):(pe(o)||ew(o))&&r.push(null)}(n||e.querySelector(\"[data-lottie-src]\"))&&r.push(null);let i=ar({authoredDurationSeconds:null,clipEndsSeconds:r});return i.pendingClips>0?{...i,seconds:null,source:\"unresolved\",reason:\"a clip's length is pending\"}:i}function lh(e){if(e.declared!==null&&Number.isFinite(e.declared)&&e.declared>0)return e.declared;let t=si(e.timeline()),n=Math.max(0,...e.floors().map(l=>l??0)),r=Number.isFinite(e.fallback)&&e.fallback>Dt?e.fallback:0,i=Math.max(n,r),a=t!==null&&t>=sr&&si(i)!==null?null:t,s;return a!==null?s=Math.max(a,i):si(n)!==null?s=i:r>0?s=r:s=e.derived(),s>0?s:0}function ia(e,t){let n=e.tagName.toLowerCase();if(n===\"script\"||n===\"style\"||n===\"link\"||n===\"meta\")return!1;let i=n===\"video\"||n===\"audio\"?t.resolver.resolveMediaStartForElement(e):t.resolver.resolveStartForElement(e,0),o=t.resolver.resolveDurationForElement(e),a=e.getAttribute(\"data-composition-id\");if(a){let u=t.timelineRegistry[a],f=u&&typeof u.duration==\"function\"?Number(u.duration()):null;!(e.hasAttribute(\"data-duration\")||e.hasAttribute(\"data-end\")||e.hasAttribute(Xn)||e.hasAttribute(Jn))&&(o==null||o<=0)&&f!=null&&Number.isFinite(f)&&f>0&&(o=f)}let s=o!=null&&o>0?i+o:Number.POSITIVE_INFINITY,l=t.exportRenderSeek?Go(i,s,t.canonicalFps):{start:i,end:s};return qn(t.currentTime,l.start,l.end,t.compositionDuration)}function ui(e){return Ce(e)}function Ul(e){let t=e.getAttribute(\"data-duration\"),n=e.getAttribute(Xn),r=Qn({start:0,duration:t,authoredDuration:n})?.duration;return r??([t,n].map(ui).some(o=>o!=null&&o<=0)?0:null)}function uh(e){return Qn({start:0,end:e.getAttribute(\"data-end\"),authoredEnd:e.getAttribute(Jn)})?.end??null}function Wl(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 Vl(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function lr(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 ci(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 ch(e){let t=e.getAttribute(\"src\")??e.getAttribute(\"data-src\");if(t)return ci(t);let n=e.getAttribute(\"data-composition-src\");if(n)return ci(n);let r=e.querySelector(\"img[src], video[src], audio[src], source[src]\");return r?ci(r.getAttribute(\"src\")):null}function nw(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 rw(e){if(!e)return null;let t;try{t=new URL(e,document.baseURI).pathname.split(\"/\").filter(Boolean).at(-1)}catch{t=e.replace(/[?#].*$/,\"\").split(/[\\\\/]/).filter(Boolean).at(-1)}if(!t)return null;try{return decodeURIComponent(t)}catch{return t}}function iw(e){let t=e.textContent?.replace(/\\s+/g,\" \").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function li(e){let t=e.replace(/\\.[^.]+$/i,\"\").replace(/[-_]+/g,\" \").replace(/\\s+/g,\" \").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function dh(e){return e.getAttribute(\"data-hf-original-composition-id\")??e.getAttribute(\"data-composition-id\")}function ow(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=dh(e);if(i)return li(i);let o=e.id;if(o)return li(o);let a=nw(e);if(a)return li(a);let s=rw(ch(e));if(s)return li(s);let l=iw(e);return l||`${li(t)} ${n+1}`}function $l(e){let n=window.__timelines??{},r=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=X=>{if(!X)return null;let O=n[X]??null;if(!O||typeof O.duration!=\"function\")return null;try{let K=Number(O.duration());return Number.isFinite(K)&&K>0?K:null}catch{return null}},o=()=>{let X=Array.from(document.querySelectorAll(\"video[data-start], audio[data-start]\"));if(X.length===0)return null;let O=0;for(let K of X){let Q=r.resolveMediaStartForElement(K);if(!Number.isFinite(Q))continue;let le=$n(K);le==null||le<=0||(O=Math.max(O,Math.max(0,Q)+le))}return O>0?O:null},a=(X,O)=>{let K=[],Q=null,le=null,Z=null,z=X.parentElement;for(;z;){let se=z.getAttribute(\"data-composition-id\");se&&(K.push(se),!Z&&z!==O&&(Z=se),Q==null&&(Q=r.resolveStartForElement(z,0)),le==null&&(le=ui(z.getAttribute(\"data-duration\"))??i(se)??null)),z=z.parentElement}return{parentCompositionId:Z,compositionAncestors:K.reverse(),inheritedStart:Q,inheritedDuration:le}},s=At(),l=Array.from(document.querySelectorAll(\"[data-composition-id]\")),u=s?.getAttribute(\"data-composition-id\")??null,f=s?r.resolveStartForElement(s,0):0,d=o(),m=d!=null?Math.max(0,d-Math.max(0,f)):null,x=i(u),h=Ul(s??document.body),b=Vl(...l.filter(X=>X!==s).map(X=>{let O=r.resolveStartForElement(X,0),K=r.resolveDurationForElement(X)??i(X.getAttribute(\"data-composition-id\"))??null;return!Number.isFinite(O)||K==null||K<=0?null:Math.max(0,O)+K})),g=b!=null?Math.max(0,b-Math.max(0,f)):null,v=typeof x==\"number\"&&Number.isFinite(x)&&x>0?x:null,A=typeof h==\"number\"&&Number.isFinite(h)&&h>0?h:null,E=typeof m==\"number\"&&Number.isFinite(m)&&m>0?m:null,k=typeof g==\"number\"&&Number.isFinite(g)&&g>0?g:null,P=Vl(E,k),L=v!=null&&P!=null&&v>=sr,R=A??(L?P:Vl(v,E,k))??null,T=(R!=null?f+R:null)??(typeof d==\"number\"&&Number.isFinite(d)&&d>0?d:null),B=(X,O)=>!Number.isFinite(O)||O<=0?0:T==null||!Number.isFinite(T)?O:!Number.isFinite(X)||X>=T?0:Math.max(0,Math.min(O,T-X)),W=[],ne=[],N=Array.from(document.querySelectorAll(\"[data-start], [data-track-index], [data-composition-id], video, audio, img\")),_=0;for(let[X,O]of N.entries()){if(O===s||[\"SCRIPT\",\"STYLE\",\"LINK\",\"META\",\"TEMPLATE\",\"NOSCRIPT\"].includes(O.tagName))continue;let K=a(O,s),Q=O.tagName.toLowerCase(),le=Q===\"video\"||Q===\"audio\"?r.resolveMediaStartForElement(O):r.resolveStartForElement(O,K.inheritedStart??0),Z=O.getAttribute(\"data-composition-id\"),z=Ul(O);if(z==null&&Z&&Z!==u&&(z=i(Z)),z==null&&pe(O)&&Number.isFinite(O.duration)&&(z=yt(O,O.duration)),z==null&&(z=zn(O,le)),z==null){let Xe=K.inheritedDuration;if(Xe!=null&&Xe>0){let ot=(K.inheritedStart??0)+Xe;z=Math.max(0,ot-le)}}if(z==null||z<=0||(z=B(le,z),z<=0))continue;let se=le+z;_=Math.max(_,se);let ht=Z&&Z!==u?\"composition\":Q===\"video\"?\"video\":Q===\"audio\"?\"audio\":Q===\"img\"?\"image\":\"element\";W.push({id:Hl(O)??Z??null,label:ow(O,ht,W.length),start:le,duration:z,track:lr(O,X),zIndex:Wl(O),stackingContextId:ra(O),kind:ht,tagName:Q,compositionId:O.getAttribute(\"data-composition-id\"),compositionAncestors:K.compositionAncestors,parentCompositionId:K.parentCompositionId,nodePath:null,compositionSrc:ci(O.getAttribute(\"data-composition-src\")),playbackStart:vt(O),playbackRate:$e(O),assetUrl:ch(O),timelineRole:O.getAttribute(\"data-timeline-role\"),timelineLabel:O.getAttribute(\"data-timeline-label\"),timelineGroup:O.getAttribute(\"data-timeline-group\"),timelinePriority:ui(O.getAttribute(\"data-timeline-priority\"))})}let G=new Set(W.map(X=>X.id)),Y=s?.getAttribute(\"data-composition-id\")??null,U=Y?n[Y]??null:null;if(U&&s){let X=U;if(typeof X.getChildren==\"function\")try{let O=X.getChildren(!0,!0,!1)??[],K=new Map;for(let Z of s.children){let z=Z;if(!z.id)continue;let se=z.tagName.toLowerCase();se===\"script\"||se===\"style\"||se===\"link\"||K.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=Z=>{let z=Z;for(;z;){if(K.has(z))return z;if(z===s)return null;z=z.parentElement}return null};for(let Z of O){if(typeof Z.targets!=\"function\"||typeof Z.startTime!=\"function\"||typeof Z.duration!=\"function\")continue;let z=Z.startTime(),se=Z.parent;for(;se&&se!==U&&typeof se.startTime==\"function\";)z+=se.startTime(),se=se.parent;let ht=z+Z.duration();if(!(!Number.isFinite(z)||!Number.isFinite(ht)))for(let Xe of Z.targets()){if(!Re(Xe))continue;let Nn=Q(Xe);if(!Nn)continue;let ot=K.get(Nn);ot&&(ot.start=Math.min(ot.start,z),ot.end=Math.max(ot.end,ht))}}let le=W.length>0?Math.max(...W.map(Z=>Z.track))+1:0;for(let[Z,z]of K){if(z.start===1/0||z.end===-1/0)continue;let se=Z;if(G.has(se.id))continue;let ht=Math.max(0,z.end-z.start);if(ht<=0)continue;let Xe=B(z.start,ht);Xe<=0||(_=Math.max(_,z.start+Xe),W.push({id:se.id,label:se.getAttribute(\"data-timeline-label\")??se.getAttribute(\"data-label\")??se.getAttribute(\"aria-label\")??se.id,start:z.start,duration:Xe,track:lr(se,le),zIndex:Wl(se),stackingContextId:ra(se),kind:\"element\",tagName:se.tagName.toLowerCase(),compositionId:se.getAttribute(\"data-composition-id\"),compositionAncestors:Y?[Y]:[],parentCompositionId:Y,nodePath:null,compositionSrc:null,playbackStart:vt(se),playbackRate:$e(se),assetUrl:null,timelineRole:se.getAttribute(\"data-timeline-role\"),timelineLabel:se.getAttribute(\"data-timeline-label\"),timelineGroup:se.getAttribute(\"data-timeline-group\"),timelinePriority:ui(se.getAttribute(\"data-timeline-priority\"))}),G.add(se.id))}}catch(O){H(\"runtime.timeline.site1\",O)}}if(s&&R!=null&&R>0){let X=W.length>0?Math.max(...W.map(O=>O.track))+1:0;for(let O of s.children){let K=O;if(!K.id||G.has(K.id))continue;let Q=K.getAttribute(\"data-timeline-role\");if(Q!==\"overlay\"&&Q!==\"persistent-overlay\")continue;let le=K.tagName.toLowerCase();if(le===\"script\"||le===\"style\"||le===\"link\"||le===\"meta\"||window.getComputedStyle(K).display===\"none\")continue;let z=B(0,R);z<=0||(_=Math.max(_,z),W.push({id:K.id,label:K.getAttribute(\"data-timeline-label\")??K.getAttribute(\"data-label\")??K.getAttribute(\"aria-label\")??K.id,start:0,duration:z,track:lr(K,X),zIndex:Wl(K),stackingContextId:ra(K),kind:\"element\",tagName:le,compositionId:K.getAttribute(\"data-composition-id\"),compositionAncestors:Y?[Y]:[],parentCompositionId:Y,nodePath:null,compositionSrc:null,playbackStart:vt(K),playbackRate:$e(K),assetUrl:null,timelineRole:Q,timelineLabel:K.getAttribute(\"data-timeline-label\"),timelineGroup:K.getAttribute(\"data-timeline-group\"),timelinePriority:ui(K.getAttribute(\"data-timeline-priority\"))}),G.add(K.id))}}for(let X of l){if(X===s)continue;let O=X.getAttribute(\"data-composition-id\");if(!O||!Bl(O))continue;let K=r.resolveStartForElement(X,0),Q=Ul(X);if((Q==null||Q<=0)&&uh(X)!=null){let se=uh(X);Q=Math.max(0,se-K)}let le=i(O),Z=Q&&Q>0?Q:le;if(Z==null||Z<=0)continue;let z=B(K,Z);z<=0||ne.push({id:O,label:X.getAttribute(\"data-label\")??dh(X)??O,start:K,duration:z,thumbnailUrl:ci(X.getAttribute(\"data-thumbnail-url\")),avatarName:null})}let j=Math.max(_||0,R??0),V=j>0?j:1,J=Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...vo(e.canonicalFps),source:\"hf-preview\",type:\"timeline\",compositionContractVersion:1,durationSeconds:V,durationInFrames:J,clips:W,scenes:ne,compositionWidth:or(s?.getAttribute(\"data-width\"))??1920,compositionHeight:or(s?.getAttribute(\"data-height\"))??1080}}var ql=\"data-composition-id\",aw=\"data-composition-src\",sw=`[${ql}]`,sD=`[${aw}]`,jl=\"style\",fh=\"script\",Kl='link[rel=\"stylesheet\"], link[rel=\"preconnect\"]',lw=new Set([\"\",\"application/ecmascript\",\"application/javascript\",\"application/x-ecmascript\",\"application/x-javascript\",\"text/ecmascript\",\"text/javascript\",\"text/javascript1.0\",\"text/javascript1.1\",\"text/javascript1.2\",\"text/javascript1.3\",\"text/javascript1.4\",\"text/javascript1.5\",\"text/jscript\",\"text/livescript\",\"text/x-ecmascript\",\"text/x-javascript\"]),uw=e=>(e.getAttribute(\"type\")||\"\").trim().toLowerCase();function mh(e){let t=uw(e);return t===\"module\"||t===\"importmap\"?!0:lw.has(t)&&e.getAttribute(\"nomodule\")===null}function zl(e){return en(e?.querySelectorAll(fh)).filter(t=>!mh(t))}function Yl(e){return en(e?.querySelectorAll(fh)).filter(mh)}function ph(e){return[...en(e.querySelectorAll(`${jl}, ${Kl}`)),...Yl(e)]}function en(e){return e?Array.from(e):[]}function hh(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=en(t.querySelectorAll(sw)),s=o?a.find(d=>d.getAttribute(ql)===o)??null:a[0]??null,l=(s??a[0])?.getAttribute(ql)?.trim()||\"\",u=i?null:n??null,f=s?zl(s):[];return{innerRoot:s,authoredCompositionId:o||l||null,scriptCompositionId:l||o||null,authoredRootId:s?.getAttribute(\"id\")?.trim()||null,styleSources:[...en(u?.querySelectorAll(jl)),...en(t.querySelectorAll(jl))],scriptSources:[...Yl(u),...Yl(t)],linkSources:[...en(n?.querySelectorAll(Kl)),...en(t.querySelectorAll(Kl))],inertScriptsOutsideRoot:[...zl(u),...s?zl(t).filter(d=>!f.includes(d)):[]],variableDefaultCarriers:[r,s].filter(d=>d!=null)}}var cw='\"use strict\";(()=>{function I(e){return e?/[\\\\w-]/.test(e)||e.charCodeAt(0)>=128:!1}function _(e){return e===\" \"||e===\"\t\"||e===`\\n`||e===\"\\\\r\"||e===\"\\\\f\"}var j=/^[0-9a-fA-F]{1,6}/;function G(e){let n=e>=55296&&e<=57343;return e===0||e>1114111||n?65533:e}function $(e,n){return e[n]===\"\\\\r\"&&e[n+1]===`\\n`?n+2:_(e[n])?n+1:n}function R(e,n){let t=e[n+1];if(t===void 0||/[\\\\n\\\\r\\\\f]/.test(t))return null;let i=j.exec(e.slice(n+1,n+7));if(!i)return{value:t,end:n+2};let o=G(Number.parseInt(i[0],16));return{value:String.fromCodePoint(o),end:$(e,n+1+i[0].length)}}function H(e,n){let t=o=>I(o)&&!/[0-9-]/.test(o),i=o=>e[o]===\"\\\\\\\\\"&&R(e,o)!==null;return e[n]===\"-\"?e[n+1]===\"-\"||t(e[n+1])||i(n+1):t(e[n])||i(n)}function y(e,n){let t=n;for(;e.startsWith(\"/*\",t);){let i=e.indexOf(\"*/\",t+2);t=i<0?e.length:i+2}return t}function A(e,n){let t=y(e,n);for(;_(e[t]);)t=y(e,t+1);return t}function h(e,n){if(!H(e,n))return null;let t=n,i=\"\";for(;t<e.length;){let o=e[t];if(o===\"\\\\\\\\\"){let a=R(e,t);if(!a)break;i+=a.value,t=a.end;continue}if(!I(o))break;i+=o,t+=1}return t===n?null:{value:i,end:t}}var C=45;function T(e){return e>=48&&e<=57}function z(e){return e>=128||e===C||e===95||T(e)||e>=65&&e<=90||e>=97&&e<=122}function J(e,n){let t=e.charCodeAt(n);return t>=1&&t<=31||t===127?!0:T(t)?n===0||n===1&&e.charCodeAt(0)===C:!1}function k(e){let n=\"\";for(let t=0;t<e.length;t+=1){let i=e.charCodeAt(t),o=e[t];i===0?n+=\"\\\\uFFFD\":J(e,t)?n+=`\\\\\\\\${i.toString(16)} `:t===0&&e.length===1&&i===C?n+=`\\\\\\\\${o}`:z(i)?n+=o:n+=`\\\\\\\\${o}`}return n}var W=/\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*\\\\*\\\\/|\\\\\\\\(?:[0-9a-fA-F]{1,6}(?:\\\\r\\\\n|[ \\\\t\\\\r\\\\n\\\\f])?|[\\\\s\\\\S])|\"(?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\"|\\'(?:[^\\'\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\\'|\\\\[(?:\\\\/\\\\*(?:[^*]|\\\\*(?!\\\\/))*\\\\*\\\\/|\\\\\\\\[\\\\s\\\\S]|\"(?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\"|\\'(?:[^\\'\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*\\'|[^\\\\]\"\\'\\\\\\\\/]|\\\\/(?!\\\\*))*\\\\]/g;function Q(e){let n=new Array(e.length).fill(!0);for(let t of e.matchAll(W)){let i=t.index;n.fill(!1,i,i+t[0].length)}return n}function q(e,n,t){if(n.length===0||!e.includes(\"#\"))return e;let i=new Set(n),o=Q(e),a=\"\",u=0;for(;u<e.length;){let d=o[u]&&e[u]===\"#\"?h(e,u+1):null;d&&i.has(d.value)?(a+=t(d.value),u=d.end):(a+=e[u],u+=1)}return a}function X(e){let n=\"\";for(let t=0;t<e.length;t+=1){if(e[t]===\"\\\\\\\\\"){let i=e[t+1];if(i!==void 0&&/[\\\\n\\\\r\\\\f]/.test(i)){t=$(e,t+1)-1;continue}let o=R(e,t);if(o){n+=o.value,t=o.end-1;continue}}n+=e[t]}return n}function N(e){return Array.from(e,n=>{let t=n.charCodeAt(0);return t===0?\"\\\\uFFFD\":t<32||t===127?`\\\\\\\\${t.toString(16)} `:n===\\'\"\\'||n===\"\\\\\\\\\"?`\\\\\\\\${n}`:n}).join(\"\")}function Y(e,n){return e?{kind:\"any\"}:n===void 0?{kind:\"none\"}:{kind:\"named\",prefix:n}}function Z(e,n){return e[n]===\"|\"&&e[n+1]!==\"=\"}function B(e,n){let t=e[n]===\"*\",i=t?{value:\"*\",end:n+1}:h(e,n),o=y(e,i?.end??n);if(!Z(e,o))return t?null:i?{token:i,namespace:{kind:\"none\"}}:null;let a=h(e,y(e,o+1));return a?{token:a,namespace:Y(t,i?.value)}:null}function K(e){if(e[0]!==\"[\")return null;let n=A(e,1),t=B(e,n);if(!t)return null;let{token:i,namespace:o}=t;return{name:i.value,rawName:e.slice(n,i.end),namespace:o,end:i.end}}function ee(e,n){let t=/^(?:\"((?:\\\\\\\\[\\\\s\\\\S]|[^\"\\\\\\\\])*)\"|\\'((?:\\\\\\\\[\\\\s\\\\S]|[^\\'\\\\\\\\])*)\\')/.exec(e.slice(n));return t?{value:X(t[1]??t[2]),end:n+t[0].length}:h(e,n)}function ne(e,n){let t=A(e,n),i=h(e,t);if(i){if(!/^[is]$/i.test(i.value))return null;t=A(e,i.end)}return e[t]!==\"]\"||t!==e.length-1?null:{flag:i?.value}}function F(e){let n=K(e);if(!n)return null;let t=A(e,n.end),o=[\"=\",\"~=\",\"|=\",\"^=\",\"$=\",\"*=\"].find(d=>e.startsWith(d,t));if(!o)return null;let a=ee(e,A(e,t+o.length));if(!a)return null;let u=ne(e,a.end);return u?{name:n.name,rawName:n.rawName,namespace:n.namespace,operator:o,value:a.value,flag:u.flag}:null}function E(e,n){return e.replace(W,t=>t.startsWith(\"[\")?n(t):t)}var re=\"data-hf-svg-reference-aliases\";function O(e,n,t,i){let o={\"=\":(s,r)=>s===r,\"~=\":(s,r)=>s.split(/[ \\\\t\\\\r\\\\n\\\\f]+/).includes(r),\"|=\":(s,r)=>s===r||s.startsWith(r+\"-\"),\"^=\":(s,r)=>s.startsWith(r),\"$=\":(s,r)=>s.endsWith(r),\"*=\":(s,r)=>s.includes(r)},a=(s,r,l)=>!r&&l!==\"=\"&&l!==\"|=\"?!1:o[l](s,r),u=s=>s.replace(/[A-Z]/g,r=>r.toLowerCase()),d=s=>{let r=F(s);if(!r)return s;let{name:l,rawName:g,namespace:m,operator:b,value:D,flag:w}=r;if(m.kind===\"named\"!=(i!==void 0))return s;let x=w?.toLowerCase()===\"i\"?u:S=>S,L=u(l),P=t.filter(S=>{let V=m.kind===\"none\"?S.name:S.localName,U=m.kind===\"named\"?i.get(m.prefix):null;return(m.kind===\"any\"||S.namespaceURI===U)&&u(V)===L}),v=new Set([s]);for(let S of P)a(x(S.before),x(D),b)&&v.add(`[${g}=\"${N(S.after)}\"${w?` ${w}`:\"\"}]`);return v.size===1?s:`:is(${[...v].join(\", \")})`};if(i)return E(e,d);let p=new Map(n.map(({id:s,replacement:r})=>[s,r])),f=new Map;for(let s of t){if(s.name!==\"id\"||s.before===s.after||p.has(s.before))continue;let r=f.get(s.before);r||(r=new Set([`#${k(s.before)}`]),f.set(s.before,r)),r.add(`#${k(s.after)}`)}for(let[s,r]of f)p.set(s,`:is(${[...r].join(\", \")})`);let c=q(e,[...p.keys()],s=>p.get(s));return E(c,d)}function se(e,n,t=!0){let i=[],a=(t?[...e.querySelectorAll(`[${n}]`)]:[]).map(d=>d.getAttribute(n)),u=e.getAttribute?.(n);u&&a.unshift(u);for(let d of a){let p;try{p=JSON.parse(d)}catch{continue}if(!Array.isArray(p))continue;let f=p;for(let c of f){if(!ie(c))continue;let{name:s,localName:r,namespaceURI:l,before:g,after:m}=c;i.push({name:s,localName:r,namespaceURI:l,before:g,after:m})}}return i}function ie(e){if(!e||typeof e!=\"object\")return!1;let{name:n,localName:t,namespaceURI:i,before:o,after:a}=e;return typeof n==\"string\"&&typeof t==\"string\"&&(i===null||typeof i==\"string\")&&typeof o==\"string\"&&typeof a==\"string\"}function oe(e){let n=[],t=[],i=!1,o,a=new WeakMap,u=(f,c)=>{for(let s of f){if(\"selectorText\"in s){let r=s,l=a.get(r),g=r.selectorText,m=l?.applied===g?l.authored:g,b=O(m,[],t,c);b!==g&&(r.selectorText=b),b===m?a.delete(r):a.set(r,{authored:m,applied:r.selectorText})}\"cssRules\"in s&&u(s.cssRules,c)}},d=()=>{if(t.length)for(let f of e.document.styleSheets){let c;try{c=f.cssRules}catch{continue}let s=new Map;for(let r of c){if(!(\"namespaceURI\"in r))continue;let{prefix:l,namespaceURI:g}=r;l&&s.set(l,g||null)}s.size&&u(c,s)}},p={rewrite:(f,c=[])=>{if(typeof f!=\"string\"||!f.includes(\"#\")&&!f.includes(\"[\"))return f;let s=O(f,c.length?[...c,...n]:n,t);if(s!==f){if(!o){let r=e.document.createElement(\"div\");o=r.matches.bind(r)}o(f)}return s},refresh(){t=se(e.document,re).filter(r=>r.before!==r.after);let f=new Set(t.filter(r=>r.name===\"id\").map(r=>r.before)),c=new Set;n=[];for(let r of e.document.querySelectorAll(\"[data-hf-authored-id][id]\")){let l=r.getAttribute(\"data-hf-authored-id\");if(!l||l===r.id||c.has(l)||f.has(l))continue;c.add(l);let g=N(l);n.push({id:l,replacement:`:is(#${k(l)}, [data-hf-authored-id=\"${g}\"])`})}if(d(),i||!n.length&&!t.length)return;let s=e.Element.prototype;s.querySelector=new Proxy(s.querySelector,{apply(r,l,g){return Reflect.apply(r,l,[p.rewrite(g[0])])}}),s.querySelectorAll=new Proxy(s.querySelectorAll,{apply(r,l,g){return Reflect.apply(r,l,[p.rewrite(g[0])])}}),i=!0}};e.__hfSvgSelectorAliases=p,p.refresh()}function M(){let e=window;e.__hfSvgSelectorAliases||oe(e)}M();})();\\n';function gh(){return cw}var _e=GS(zg(),1),va=_e.default,JD=_e.default.stringify,QD=_e.default.fromJSON,ZD=_e.default.plugin,eP=_e.default.parse,tP=_e.default.list,nP=_e.default.document,rP=_e.default.comment,iP=_e.default.atRule,oP=_e.default.rule,aP=_e.default.decl,sP=_e.default.root,lP=_e.default.CssSyntaxError,uP=_e.default.Declaration,cP=_e.default.Container,dP=_e.default.Processor,fP=_e.default.Document,mP=_e.default.Comment,pP=_e.default.Warning,hP=_e.default.AtRule,gP=_e.default.Result,bP=_e.default.Input,xP=_e.default.Rule,yP=_e.default.Root,SP=_e.default.Node;var Su=\"data-hf-scene\",ki=\"hf-scene-parts\",vu=\"data-hf-scene-no-swap\";var Eu=\"data-hf-authored-id\",qg=\"data-hf-inner-root\";function Au(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function wu(e){return e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function V_(e){let t=e.trim();return t?Array.from(new Set([t,Mt(t)])).filter(Boolean):[]}function $_(e,t,n){let r=V_(t);return ho(e,r,()=>n)}function z_(e,t){let n=t?.trim();return n?$_(e,n,`[${Eu}=\"${wu(n)}\"]`):e}function jg(e){return`${e}:not(:has([${qg}])), ${e} > [${qg}]`}function q_(e,t,n,r,i,o){let a=z_(e,r),s=j_(a,t,n),l=s.trim();if(!l||l===\"*\")return e;if(/^(html|body|:root)$/i.test(l))return o?jg(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*[\\\\^\\\\*\\\\$]?=\\\\s*([\"'])${Au(n)}\\\\1\\\\s*\\\\]`,\"g\");if(u.test(l))return l.replace(u,\"\").trim()===\"\"?jg(t):s.replace(u,t);let f=s.match(/^\\s*/)?.[0]??\"\",d=s.match(/\\s*$/)?.[0]??\"\";if(i){let m=r?`[${Eu}=\"${wu(r)}\"]`:null;if(m&&l.startsWith(m)){let x=l.slice(m.length);return`${f}${t}${m}${x}${d}`}}return`${f}${t} ${l}${d}`}function j_(e,t,n){let r=Au(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 K_=new Set([\"keyframes\",\"-webkit-keyframes\",\"font-face\"]);function Y_(e){return e?.type===\"atrule\"}function X_(e){let t=e.parent;for(;t;){if(Y_(t)&&K_.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function J_(e){let t=e.parent;for(;t;){if(t.type===\"rule\")return!0;t=t.parent}return!1}function Kg(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id=\"${wu(o)}\"]`,s;try{s=va.parse(e)}catch{return\"\"}return s.walkRules(l=>{X_(l)||J_(l)||(l.selectors=l.selectors.map(u=>q_(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),s.toResult({map:!1}).css}function nt(e){return JSON.stringify(e).replace(/</g,\"\\\\u003c\")}var Yg=`!__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n assetUrl: function(path) {\n var page = window.document.baseURI;\n return new URL(path, __hfCompositionSrc ? new URL(__hfCompositionSrc, page) : page).href;\n },\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n })`;function Xg(e,t){return`const __hyperframes = (function(__hfBaseHyperframes, __hfTimelineCompId, __hfCompositionSrc) {\n return ${Yg};\n})(window.__hyperframes, ${nt(e)}, ${nt(t?.trim()||null)});\n${_u(\"\",e)}\n`}function _u(e,t,n=\"[HyperFrames] composition script error:\",r,i=t,o,a){let s=nt(t),l=nt(i),u=nt(n),f=Au(t),d=nt(o?.trim()||null),m=nt(r??null),x=nt(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:\"${f}\"|'${f}')\\s*\\]`),h=nt(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:\"[^\"]*\"|'[^']*')\\s*\\]`);return`(function(){\n ${`(function(){ ${gh()} })();`}\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${u};\n var __hfAuthoredRootId = ${d};\n var __hfCompositionSrc = ${nt(a?.trim()||null)};\n var __hfAuthoredRootAttr = ${nt(Eu)};\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 = ${x};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? \"[\" + __hfAuthoredRootAttr + '=\"' + __hfEscapeAttr(__hfAuthoredRootId) + '\"]'\n : \"\";\n var __hfAuthoredRootEntries = __hfAuthoredRootSelector\n ? [{ id: __hfAuthoredRootId, replacement: __hfAuthoredRootSelector }]\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 return window.__hfSvgSelectorAliases.rewrite(normalized, __hfAuthoredRootEntries);\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 // Native window methods must stay bound to the real window. Handed\n // back unbound, \"this\" at call time is this Proxy and Chrome rejects\n // it with \"Illegal invocation\", which broke window.addEventListener,\n // setTimeout, matchMedia and getComputedStyle inside every\n // sub-composition -- including the window.addEventListener(\"hf-seek\",\n // ...) form the Three.js and TypeGPU adapters document. The sibling\n // document and gsap proxies here already bind.\n //\n // Only bind non-constructors. Function.prototype.bind drops static\n // members, so binding a class exposed on window (window.Texts and\n // friends) would silently strip its statics. Built-in methods have\n // no .prototype; classes and constructor functions do.\n var value = Reflect.get(target, prop, target);\n return typeof value === \"function\" && value.prototype === undefined\n ? value.bind(target)\n : value;\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 __hfQueryAll(target);\n if (!Array.isArray(target)) return target;\n return target.reduce(function(resolved, item) {\n if (typeof item === \"string\") {\n return resolved.concat(Array.prototype.slice.call(__hfQueryAll(item)));\n }\n resolved.push(item);\n return resolved;\n }, []);\n\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 = ${Yg};\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 // What the script started on the global gsap timeline, by any route, for a scene swap to revert.\n // Only a page with a scene manifest can swap; elsewhere the first script stores null and none records.\n var __hfRecordAnimations = function(run) {\n if (window.__hfSceneAnimations === undefined) {\n window.__hfSceneAnimations = window.document.querySelector(${nt(`meta[name=\"${ki}\"]`)})\n ? {}\n : null;\n }\n var byComp = window.__hfSceneAnimations;\n var globalTimeline = __hfBaseGsap && __hfBaseGsap.globalTimeline;\n if (!byComp || !globalTimeline || !__hfTimelineCompId) return run();\n var before = globalTimeline.getChildren(false);\n // A set completes as it is made and would leave the timeline before the diff below.\n var autoRemove = globalTimeline.autoRemoveChildren;\n globalTimeline.autoRemoveChildren = false;\n run();\n globalTimeline.autoRemoveChildren = autoRemove;\n var recorded = (byComp[__hfTimelineCompId] = byComp[__hfTimelineCompId] || []);\n globalTimeline.getChildren(false).forEach(function(animation) {\n if (before.indexOf(animation) >= 0) return;\n recorded.push(animation);\n // Dropped as the timeline drops a finished tween (it keeps a paused one); moved back, a tween re-adds itself.\n if (autoRemove && !animation.getChildren && animation.totalProgress() === 1) globalTimeline.remove(animation);\n });\n };\n __hfFindRoot();\n __hfRecordAnimations(__hfRun);\n})();`}var Jg=(e,t)=>e&&Object.fromEntries(Object.entries(e).map(([n,r])=>[n,t(r)]));function Qg(e,t){let n;try{n=JSON.parse(e)}catch{return null}if(!n||typeof n!=\"object\")return null;let{imports:r,scopes:i}=n;return{imports:Jg(r,t),scopes:i&&Object.fromEntries(Object.entries(i).map(([o,a])=>[t(o),Jg(a,t)??{}]))}}var Cu=\"text/hf-after-fonts\",e0=`${Cu}+module`,t0=`script[type=\"${Cu}\"], script[type=\"${e0}\"]`,n0=\"__hfAfterFontsClaimed\",Q_=\"data-hf-inlined-src\";var r0=`[defer][src], [defer][${Q_}]`;function Ea(e){let t=e.getAttribute(\"type\");return t===Cu?null:t===e0?\"module\":t}function Z_(e){let t=e.getAttribute(\"type\")??\"\",n=e.tagName.toLowerCase()===\"link\"?t.split(\";\")[0].trim():t;if(n!==\"\"&&n.toLowerCase()!==\"text/css\")return;let r=(e.getAttribute(\"media\")??\"\").trim().toLowerCase();return JSON.stringify([r===\"all\"?\"\":r,e.getAttribute(\"title\")??\"\"])}var NP=JSON.stringify([\"\",\"\"]);function Zg(e){return JSON.stringify([e.getAttribute(\"href\"),(e.getAttribute(\"rel\")??\"\").trim().toLowerCase(),Z_(e)??e.getAttribute(\"type\"),e.hasAttribute(\"disabled\")])}function i0(e,t){let n=Zg(t);return[...e.querySelectorAll(\"link[href]\")].some(r=>!r.closest(\"noscript\")&&Zg(r)===n)}var Pe=\"id\",Ru=\"data-hf-authored-id\",pr=/(url\\(\\s*)([\"']?)#([^\"')\\s]+)\\2(\\s*\\))/gi;function a0(e){return e===\"href\"||e.endsWith(\":href\")}function e1(e){return e.replace(/[^a-zA-Z0-9_-]/g,\"-\")}function Tu(e,t){return!e||!e.toLowerCase().includes(\"url(\")?e:e.replace(pr,(n,r,i,o,a)=>{let s=t.get(o);return s?`${r}${i}#${s}${i}${a}`:n})}function t1(e,t,n){if(a0(e)&&t.startsWith(\"#\")){let i=n.get(t.slice(1));return i?`#${i}`:t}pr.lastIndex=0;let r=pr.test(t);return pr.lastIndex=0,r?Tu(t,n):null}function n1(e,t,n){if(e.name===ut||e.name===Pe)return{kind:\"skip\"};let r=t&&e.value===t.after?t.before:e.value,i=t1(e.name,r,n);return i!==null?{kind:\"managed\",before:r,after:i}:t?{kind:\"retain\",alias:t}:{kind:\"skip\"}}function r1(e,t,n,r){let i=e.namespaceURI===void 0&&e.name===\"xlink:href\"&&r;return{name:e.name,localName:i?\"href\":e.localName,namespaceURI:i?\"http://www.w3.org/1999/xlink\":e.namespaceURI??null,before:t,after:n}}function i1(e,t){let n=new Map(yn(e,ut,!1).map(o=>[o.name,o])),r=[...n.values()].filter(o=>o.name===Pe),i=!!e.closest(\"svg\");for(let o of e.attributes?Array.from(e.attributes):[]){let a=n1(o,n.get(o.name),t);if(a.kind!==\"skip\"){if(a.kind===\"retain\"){r.push(a.alias);continue}a.after!==o.value&&(o.namespaceURI?e.setAttributeNS(o.namespaceURI,o.name,a.after):e.setAttribute(o.name,a.after)),r.push(r1(o,a.before,a.after,i))}}r.length&&e.setAttribute(ut,JSON.stringify(r))}function o0(e,t,n){let r;for(pr.lastIndex=0;r=pr.exec(e);){let i=r[3];t.has(i)&&n.add(i)}}function o1(e,t,n){if(a0(e.name)&&e.value.startsWith(\"#\")){let r=e.value.slice(1);t.has(r)&&n.add(r)}}function a1(e,t,n){let r=new Set;for(let i of e)for(let o of i.attributes?Array.from(i.attributes):[])!o.value||o.name===ut||(o1(o,n,r),o.value.toLowerCase().includes(\"url(\")&&o0(o.value,n,r));for(let i of t)i.toLowerCase().includes(\"url(\")&&o0(i,n,r);return r}function s0(e,t){return t.some(n=>n===e||n.contains(e))}function s1(e){let t=e.exclude??[],n=[...e.root.querySelectorAll(\"*\")],r=t.length?n.filter(i=>!s0(i,t)):n;return[e.root,...r]}function l1(e){let t=e.exclude??[],n=[...e.root.querySelectorAll(\"svg [id], svg[id]\")];return t.length?n.filter(r=>!s0(r,t)):n}function u1(e){let t=s1(e),n=new Set;if(!e.namespace)return{elements:t,renamable:n};let r=l1(e),i=new Set;for(let a of r){let s=a.getAttribute(Pe);s&&i.add(s)}if(i.size===0)return{elements:t,renamable:n};let o=a1(t,e.cssTexts??[],i);for(let a of r){let s=a.getAttribute(Pe);s&&o.has(s)&&n.add(a)}return{elements:t,renamable:n}}function l0(e){if(!e.closest(\"svg\"))return null;let t=yn(e,ut,!1).find(n=>n.name===Pe);return t?e.getAttribute(Pe)===t.after?t.before:null:e.getAttribute(Ru)}function c1(e){let t=new Map,n=new Set;for(let r of e.querySelectorAll(\"[id]\")){let i=r.getAttribute(Pe);if(!i)continue;n.add(i);let o=t.get(i);o?o.push(r):t.set(i,[r]);let a=l0(r);if(a&&a!==i){let s=t.get(a);s?s.push(r):t.set(a,[r])}}return{elementsById:t,usedIds:n}}function d1(e,t,n){let r=`${e1(e)}--${t}`,i=r;for(let o=2;n.has(i);o+=1)i=`${r}-${o}`;return n.add(i),i}function f1(e,t,n){let r=t.find(a=>!n.has(a))??t[0],o=t.filter(a=>a!==r&&a.getAttribute(Pe)===e).map(a=>n.get(a));return new Set(o.filter(a=>a!==void 0))}function m1(e,t,n){let r=t.map(()=>new Map);for(let[i,o]of e.elementsById)if(!(o.length<2))for(let a of f1(i,o,n))r[a].set(i,d1(t[a].namespace,i,e.usedIds));return r}function p1(e,t,n){let r=new Map;for(let[i,o]of e.elementsById){let a=o[0],s=a.getAttribute(Pe);if(s!==i){r.set(i,s);continue}let l=n.get(a),u=l===void 0?void 0:t[l].get(i);u&&r.set(i,u)}return r}function h1(e){let t=new Set(e.map(r=>r.getAttribute(Pe))),n=new Map;for(let r of e){let i=l0(r),o=r.getAttribute(Pe);!i||!o||(t.add(i),n.set(i,o))}return{ids:t,renamed:n}}function g1(e,t){for(let n of e.elements){let r=n.getAttribute(Pe);if(r&&e.renamable.has(n)&&t.has(r)){n.hasAttribute(Ru)||n.setAttribute(Ru,r);let i=t.get(r),o=yn(n,ut,!1);o.push({name:Pe,localName:Pe,namespaceURI:null,before:r,after:i}),n.setAttribute(ut,JSON.stringify(o)),n.setAttribute(Pe,i)}i1(n,t)}}function u0(e,t,n){if(t.length===0)return[];let r=c1(e),i=t.map(u1),o=i.flatMap(({renamable:f})=>[...f]);if(n)for(let f of i)for(let d of f.renamable)n.has(d)&&f.renamable.delete(d);let a=new Map;i.forEach(({renamable:f},d)=>{for(let m of f)a.set(m,d)});let s=m1(r,t,a),l=p1(r,s,a),u=i.map((f,d)=>{let m=h1(t[d].referenceTarget===\"document\"?[]:f.elements),x=[...l].filter(([h])=>!m.ids.has(h));return new Map([...x,...m.renamed,...s[d]])});u.forEach((f,d)=>{g1(i[d],f)});for(let f of o)n?.add(f);return u}function c0(e,t,n=[]){if(!e||t.size===0&&n.length===0||!e.includes(\"#\")&&!e.includes(\"[\")&&!e.toLowerCase().includes(\"url(\"))return e;let r;try{r=va.parse(e)}catch{return e}let i=!1,o=new Set(n.filter(s=>s.name===Pe).map(s=>s.before)),a=[...t].filter(([s])=>!o.has(s)).map(([s,l])=>({id:s,replacement:`:is(#${Mt(s)}, #${Mt(l)})`}));return r.walkRules(s=>{let l=s.selectors.map(u=>go(u,a,n));l.some((u,f)=>u!==s.selectors[f])&&(s.selectors=l,i=!0)}),r.walkDecls(s=>{let l=Tu(s.value,t);l!==s.value&&(s.value=l,i=!0)}),r.walkAtRules(s=>{if(!s.params)return;let l=Tu(s.params,t);l!==s.params&&(s.params=l,i=!0)}),i?r.toResult({map:!1}).css:e}var ku=5e3;window[n0]=!0;async function Mu(){let e=document.fonts;if(!e)return;document.body?.offsetHeight;let t,n=await Promise.race([e.ready.then(()=>!1),new Promise(i=>t=setTimeout(i,ku,!0))]);if(clearTimeout(t),!n)return;let r=[...new Set(Array.from(e).filter(i=>i.status===\"loading\").map(i=>i.family))];console.warn(`[hyperframes] fonts still loading after ${ku} ms, composition scripts run without them: ${r.join(\", \")}`),Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"runtime_font_wait_timeout\",details:{loadingFamilies:r,timeoutMs:ku}})}function b1(e,t){let n=Object.getOwnPropertyDescriptor(e,\"addEventListener\"),r=e.addEventListener,i=(o,a,s)=>{if(!a)return;o===\"DOMContentLoaded\"||o===\"load\"&&e===window&&document.readyState===\"complete\"?t.push({target:e,type:o,listener:a}):r.call(e,o,a,s)};return e.addEventListener=i,()=>{e.addEventListener===i&&(n?Object.defineProperty(e,\"addEventListener\",n):delete e.addEventListener)}}function x1(e){if(!e.isConnected)return;let t=document.createElement(\"script\");for(let{name:r,value:i}of Array.from(e.attributes))t.setAttribute(r,i);let n=Ea(e);return n===null?t.removeAttribute(\"type\"):t.setAttribute(\"type\",n),t.async=e.hasAttribute(\"async\"),t.text=e.textContent??\"\",e.replaceWith(t),t}var y1=e=>new Promise(t=>{e.addEventListener(\"load\",t),e.addEventListener(\"error\",t)});function S1(){let e=document.createElement(\"script\");e.type=\"module\",e.async=!1,e.text='document.dispatchEvent(new Event(\"hf-after-fonts-modules\"))';let t=new Promise(n=>document.addEventListener(\"hf-after-fonts-modules\",n,{once:!0}));return document.body.appendChild(e),t.then(()=>e.remove())}async function Aa(e,t){await Mu();let n=o=>Ea(o)===\"module\"||o.matches(r0),r=[],i=[document,window].map(o=>b1(o,r));for(let o of[...e.filter(a=>!n(a)),...e.filter(n)]){let a=x1(o);a?.hasAttribute(\"src\")&&!a.async&&!a.noModule?await y1(a):Ea(o)===\"module\"&&await S1()}for(let o of i)o();t?.();for(let{target:o,type:a,listener:s}of r){let l=new Event(a);try{typeof s==\"function\"?s.call(o,l):s.handleEvent(l)}catch(u){reportError(u)}}}var v1=[\"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 d0(e){let t=e.getAttribute(\"id\")?.trim();for(let n of v1)e.removeAttribute(n);t&&(e.removeAttribute(\"id\"),e.setAttribute(\"data-hf-authored-id\",t)),e.setAttribute(\"data-hf-inner-root\",\"true\")}var E1=8e3,A1=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,w1=/\\burl\\(\\s*([\"']?)([^)\"']+)\\1\\s*\\)/g,_1=[\"src\",\"href\"];function C1(e){return!e||e.startsWith(\"http://\")||e.startsWith(\"https://\")||e.startsWith(\"//\")||e.startsWith(\"data:\")||e.startsWith(\"#\")||e.startsWith(\"/\")}function b0(e,t){if(!t)return e;let n=e.trim();if(C1(n)||!n.startsWith(\"../\")&&n!==\"..\")return e;try{return new URL(n,t).href}catch{return e}}function x0(e,t){return!t||!e?e:e.replace(w1,(n,r,i)=>{let o=b0(i||\"\",t);return o===i?n:`url(${r||\"\"}${o}${r||\"\"})`})}function R1(e,t){for(let n of Array.from(e.querySelectorAll(\"[src], [href]\")))for(let r of _1){let i=n.getAttribute(r);if(i==null)continue;let o=b0(i,t);o!==i&&n.setAttribute(r,o)}}function T1(e,t){for(let n of Array.from(e.querySelectorAll(\"[style]\"))){let r=n.getAttribute(\"style\");if(r==null)continue;let i=x0(r,t);i!==r&&n.setAttribute(\"style\",i)}}function k1(e,t){for(let n of Array.from(e.querySelectorAll(\"style\"))){let r=n.textContent||\"\",i=x0(r,t);i!==r&&(n.textContent=i)}}function y0(e,t){if(t){R1(e,t),T1(e,t),k1(e,t);for(let n of Array.from(e.querySelectorAll(\"template\")))y0(n.content,t)}}function f0(e,t){return`${e}__hf${t}`}var M1=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\"),E1)});function Fu(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=\"\"}function Nu(e){for(let t of ph(e))t.remove()}function N1(e){let t=document.importNode(e,!0);d0(t);let n=_n(t.getAttribute(\"data-width\")),r=_n(t.getAttribute(\"data-height\"));return t.style.width=n===null?\"100%\":`${n}px`,t.style.height=r===null?\"100%\":`${r}px`,t}function m0(e,t){let n=e.trim();if(!n)return e;try{return A1.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 p0(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 Mi(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 L1(e){let t=new Map;for(let n of e){let r=Mi(n).authoredCompositionId||\"\";r&&t.set(r,(t.get(r)||0)+1)}return t}function S0(e){let t=Mi(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function F1(e){return!!e.querySelector('[data-hf-inner-root=\"true\"]')}function h0(e){return e.hasAttribute(\"data-composition-src\")?!0:S0(e)?e.children.length===0||e.hasAttribute(\"data-hf-original-composition-id\")?!0:F1(e):!1}function wa(){return Array.from(document.querySelectorAll(\"[data-composition-src], [data-composition-id]\")).filter(t=>t.hasAttribute(\"data-composition-src\")?!0:S0(t))}function Iu(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(wa().map(n=>Mi(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function v0(e,t){let n=L1(e),r=new Set(e.flatMap(a=>{let s=Mi(a),l=s.authoredCompositionId?[s.authoredCompositionId]:[];return(t.has(a)||!h0(a))&&s.runtimeCompositionId&&l.push(s.runtimeCompositionId),l})),i=new Map,o=new Map;for(let a of e){let{authoredCompositionId:s,runtimeCompositionId:l}=Mi(a),u=!t.has(a)&&h0(a);if(!s){o.set(a,{authoredCompositionId:null,runtimeCompositionId:l});continue}let f=(n.get(s)||0)>1,d=l||s;if(u){let m=f?(i.get(s)||0)+1:0;if(f){for(;r.has(f0(s,m));)m+=1;i.set(s,m)}d=f?f0(s,m):s,r.add(d),f?a.setAttribute(\"data-hf-original-composition-id\",s):a.removeAttribute(\"data-hf-original-composition-id\"),a.setAttribute(\"data-composition-id\",d)}o.set(a,{authoredCompositionId:s,runtimeCompositionId:d})}return Iu(),o}async function E0(e){let t=hh({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=xe(t.innerRoot)?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,s=t.authoredRootId,l=a?`[data-composition-id=\"${CSS.escape(a)}\"]`:void 0;for(let b of t.linkSources){let g=(b.getAttribute(\"href\")||\"\").trim();if(!g)continue;let v=e.compositionUrl?new URL(g,e.compositionUrl).href:g;if(e.compositionUrl&&p0(v,e.compositionUrl))continue;let A=b.cloneNode(!0);nf(A)&&(A.href=v,!i0(document.head,A)&&(document.head.appendChild(A),e.injectedLinks.push(A)))}let u=[];(b=>{for(let g of b){let v=g.cloneNode(!0);if(!tf(v))continue;i&&(v.textContent=Kg(v.textContent||\"\",i,l,s,{scopeRootSelectors:!0})),document.head.appendChild(v),e.injectedStyles.push(v);let A=v.textContent||\"\";u.push({element:v,authored:A,applied:A})}})(t.styleSources);let d=b=>{let g=b.getAttribute(\"type\")?.trim()??\"\",v=b.getAttribute(\"src\")?.trim()??\"\";if(v){let E=m0(v,e.compositionUrl);return e.compositionUrl&&p0(E,e.compositionUrl)?null:{kind:\"external\",src:E,type:g}}let A=b.textContent?.trim()??\"\";return A?{kind:\"inline\",content:A,type:g,scopeCompositionId:o}:null},m=t.scriptSources.map(d).filter(b=>b!==null);if(n){let b=n.getAttribute(\"data-width\"),g=n.getAttribute(\"data-height\"),v=e.parseDimensionPx(b),A=e.parseDimensionPx(g);b&&e.host.setAttribute(\"data-width\",b),g&&e.host.setAttribute(\"data-height\",g),v&&xe(e.host)&&(e.host.style.width=v),A&&xe(e.host)&&(e.host.style.height=A),n.hasAttribute(\"data-timeline-locked\")&&e.host.setAttribute(\"data-timeline-locked\",\"\");let E=N1(n);!e.authoredCompositionId&&i&&E.setAttribute(\"data-composition-id\",i),Nu(E),e.host.appendChild(E)}else if(e.hasTemplate){let b=document.importNode(r,!0);Nu(b),e.host.appendChild(b)}else e.host.innerHTML=e.fallbackBodyInnerHtml,Nu(e.host);for(let b of t.inertScriptsOutsideRoot)e.host.appendChild(document.importNode(b,!0));a&&D1(e,r,a);let x=Array.from(e.host.childNodes),h=()=>e.host.isConnected&&(x.length>0||e.host.childNodes.length===0)&&x.every(b=>b.parentNode===e.host);return{host:e.host,namespace:a||i||\"\",styles:u,isCurrent:h,runScripts:async()=>{if(m.length>0&&await Mu(),!!h())for(let b of m){let g=document.createElement(\"script\");if(b.type&&(g.type=b.type),g.async=!1,b.kind===\"external\")g.src=b.src;else if(b.type.toLowerCase()===\"importmap\"){let v=Qg(b.content,A=>m0(A,e.compositionUrl));g.textContent=v?JSON.stringify(v):b.content}else if(b.type.toLowerCase()===\"module\"){let v=b.scopeCompositionId?Xg(a||b.scopeCompositionId,e.compositionUrl?.href):\"\";g.textContent=v+b.content}else b.scopeCompositionId?g.textContent=_u(b.content,b.scopeCompositionId,\"[HyperFrames] composition script error:\",l,a||b.scopeCompositionId,s,e.compositionUrl?.href):g.textContent=`(function(){${b.content}})();`;if(document.body.appendChild(g),e.injectedScripts.push(g),b.kind===\"external\"){let v=await M1(g);v.status!==\"load\"&&e.onDiagnostic?.({code:\"external_composition_script_load_issue\",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:b.src,loadStatus:v.status,elapsedMs:v.elapsedMs}})}}}}}async function g0(e,t){let n=wa();if(Iu(),n.length===0)return[];let r=v0(n,t),i=n.filter(a=>{if(t.has(a)||a.hasAttribute(\"data-composition-src\")||a.children.length>0)return!1;let s=r.get(a)?.authoredCompositionId;return s?!!document.querySelector(`template#${CSS.escape(s)}-template`):!1}),o=[];for(let a of i){let s=r.get(a),l=s?.authoredCompositionId;if(!l)continue;let u=document.querySelector(`template#${CSS.escape(l)}-template`);Fu(a);let f=await E0({host:a,authoredCompositionId:l,runtimeCompositionId:s?.runtimeCompositionId||l,hostCompositionSrc:`template#${l}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:\"\",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});o.push(f)}return o}async function I1(e){let t=wa();if(Iu(),t.length===0)return[];let n=v0(t,new Set),r=t.filter(o=>o.hasAttribute(\"data-composition-src\"));return(await Promise.all(r.map(async o=>{let a=o.getAttribute(\"data-composition-src\");if(!a)return null;let s=n.get(o),l=s?.authoredCompositionId||null,u=s?.runtimeCompositionId||l||null,f=null;try{f=new URL(a,document.baseURI)}catch{f=null}Fu(o);let d=x=>{e.onDiagnostic?.({code:\"external_composition_load_failed\",details:{hostCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,errorMessage:x instanceof Error?x.message:\"unknown_error\"}}),Fu(o)},m=async x=>{let h=await E0(x),b=h.runScripts;return h.runScripts=async()=>{try{await b()}catch(g){d(g)}},h};try{let x=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(x)return await m({host:o,authoredCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,sourceNode:x.content,hasTemplate:!0,fallbackBodyInnerHtml:\"\",compositionUrl:f,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});let h=await fetch(a);if(!h.ok)throw new Error(`HTTP ${h.status}`);let b=await h.text(),v=new DOMParser().parseFromString(b,\"text/html\");y0(v,f);let A=(l?v.querySelector(`template#${CSS.escape(l)}-template`):null)??v.querySelector(\"template\"),E=A?A.content:v.body;return await m({host:o,authoredCompositionId:l,runtimeCompositionId:u,hostCompositionSrc:a,sourceNode:E,hasTemplate:!!A,fallbackBodyInnerHtml:v.body.innerHTML,compositionUrl:f,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:v.head,declaredVariableDefaults:jr(v.documentElement),variableDeclarer:v.documentElement,onDiagnostic:e.onDiagnostic})}catch(x){return d(x),null}}))).filter(o=>o!==null)}async function A0(e){let t=new Set,n={host:document.documentElement,namespace:\"\",referenceTarget:\"document\",styles:[...document.querySelectorAll(\"style\")].map(d=>({element:d,authored:d.textContent??\"\",applied:d.textContent??\"\"}))},r=await I1(e),i=await g0(e,new Set(r.map(({host:d})=>d))),o=[...r,...i];Lu([...o,n],t),await Promise.all(r.map(d=>d.runScripts()));let a=i.filter(d=>{if(d.isCurrent())return!0;for(let m of d.styles)m.element.remove();return window.__hfVariablesByComp&&delete window.__hfVariablesByComp[d.namespace],!1}),s=[...r.filter(d=>d.host.isConnected),...a],l=await g0(e,new Set(s.map(({host:d})=>d)));l.length&&Lu([...s,...l,n],t);let u=new Map([...a,...l].map(d=>[d.host,d]));for(let d of wa()){let m=u.get(d);m&&await m.runScripts()}let f=[...s,...l].filter(d=>d.host.isConnected);Lu([...f,n],t)}function Lu(e,t){for(let{styles:r}of e)for(let i of r){let o=i.element.textContent??\"\";o!==i.applied&&(i.authored=o,i.applied=o)}u0(document,e.map(({host:r,namespace:i,styles:o,referenceTarget:a})=>({root:r,namespace:i,referenceTarget:a,exclude:e.filter(s=>s.host!==r&&r.contains(s.host)).map(s=>s.host),cssTexts:o.map(s=>s.authored)})),t).forEach((r,i)=>{let o=yn(e[i].host,ut);if(!(r.size===0&&o.length===0))for(let a of e[i].styles){let s=c0(a.authored,r,o);s!==a.applied&&(a.element.textContent=s),a.applied=s}}),Pn()}function D1(e,t,n){let i={...e.declaredVariableDefaults??(Re(t)?jr(t):{}),...om(e.host)};zs(e.variableDeclarer??(Re(t)?t:null),i,n),rm(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,qs(e.host,{...nm(e.host,i,window),...Io()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function P1(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function O1(e){if(!Array.isArray(e))throw new Error(\"expected a JSON array\");if(!e.every(P1))throw new Error(\"every array entry must be an object\");return e}function H1(e){let n=e.vars.data?.captionState;return n===\"dim\"||n===\"active\"?n:void 0}function G1(e){return xe(e)?e.dataset.captionWrapper!==\"true\"?e:e.querySelector(\":scope > span\")??null:null}function B1(){let e=[],t=document.querySelectorAll(\".caption-group\");for(let n of t)for(let r of n.children){if(!xe(r))continue;let i=r.dataset.captionWrapper===\"true\"?r.querySelector(\":scope > span\"):r.tagName===\"SPAN\"?r:null;i&&e.push(i)}return e}function U1(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}var Pu=()=>window.gsap,_0=()=>fetch(\"caption-overrides.json\").then(e=>e.ok?e.json():null),C0=e=>e===null?[]:O1(e);function R0(e){let t=e instanceof Error?e.message:String(e);console.error(`[HyperFrames] Invalid caption-overrides.json: ${t}`)}function T0(){return Pu()?_0().then(C0).catch(e=>(R0(e),[])):Promise.resolve([])}function Ou(e,t){return!Pu()||document.querySelectorAll(\".caption-group\").length===0?Promise.resolve():_0().then(n=>Hu(C0(n),e,t)).catch(R0)}function W1(e,t){return(e.wordId?G1(document.getElementById(e.wordId)):null)??(e.wordIndex!==void 0?t[e.wordIndex]??null:null)}function w0(e,t){return Object.fromEntries(t.filter(n=>e[n]!==void 0).map(n=>[n,e[n]]))}function Du(e,t){let n=e.style.color;e.style.color=t;let r=getComputedStyle(e).color;return e.style.color=n,r}function V1(e,t){let n=t[0]?.vars.startAt;return Du(e,n?.color===void 0?\"\":String(n.color))}function $1(e,t,n,r){let i=H1(e);if(i)return i;let o=String(e.vars.color);return/var\\(|currentcolor/i.test(o)?Du(t,o)===n?\"dim\":\"active\":(r.has(o)||r.set(o,Du(t,o)),r.get(o)===n?\"dim\":\"active\")}function z1(e,t,n){if(e.dimColor)return e.dimColor;if(!(t.length===0||t.some(r=>r.vars.runBackwards)))return n}function q1(e,t,n,r){let i=e.getTweensOf(t).filter(s=>s.vars.color!==void 0).sort((s,l)=>s.startTime()-l.startTime()),o=V1(t,i);for(let s of i){let u=$1(s,t,o,r)===\"dim\"?n.dimColor:n.activeColor;u&&(s.vars.color=u),s.vars.runBackwards||s.invalidate?.()}let a=z1(n,i,o);a&&e.set(t,{color:a})}function j1(e,t,n,r){let i=w0(n,[\"x\",\"y\",\"scale\",\"rotation\"]),o=w0(n,[\"opacity\",\"fontWeight\",\"fontFamily\"]);if(n.fontSize!==void 0&&(o.fontSize=`${n.fontSize}px`),(n.activeColor||n.dimColor)&&q1(e,t,n,r),Object.keys(o).length>0&&e.set(t,o),Object.keys(i).length>0){let a=U1(t);e.set(a,i)}}function Hu(e,t,n=()=>{}){let r=Pu();if(!r||e.length===0)return;n();let i=B1(),o=new Map;for(let a of e){let s=W1(a,i);!s||t&&!t.some(l=>l.contains(s))||j1(r,s,a,o)}}var Bu=\"data-hf-edit-base-x\",Uu=\"data-hf-edit-base-y\",rn=\"data-hf-edit-original-translate\",_a=e=>{let t=parseFloat(e??\"\");return Number.isFinite(t)?t:0},K1=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},k0=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Gu=(e,t)=>k0.test(e)&&k0.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,Y1=(e,t,n)=>{if(!e||e===\"none\")return`${t} ${n}`;let[r,i,o]=K1(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Gu(r,t)} ${n}`;let a=o===void 0?\"\":` ${o}`;return`${Gu(r,t)} ${Gu(i,n)}${a}`},X1=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,\"x\")}catch{}},J1=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\"\"}},Ca=new WeakMap;function I0(e){Ca.delete(e)}function Q1(e,t){let n=Ca.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue(\"translate\")!==n){et(\"position_edit_fold_skipped\",{hfId:e.getAttribute(\"data-hf-id\")});return}let r=_a(e.getAttribute(\"data-x\"))-_a(e.getAttribute(Bu)),i=_a(e.getAttribute(\"data-y\"))-_a(e.getAttribute(Uu));e.hasAttribute(rn)||e.setAttribute(rn,J1(e)),n===void 0&&X1(e);let o=e.getAttribute(rn)??\"\",a=Y1(o,`${r}px`,`${i}px`);e.style.setProperty(\"translate\",a),Ca.set(e,e.style.getPropertyValue(\"translate\"))}function Ni(e,t){let n=e.querySelectorAll(`[${rn}]:not([${Bu}]):not([${Uu}])`);for(let o=0;o<n.length;o++){let a=n[o];if(a===void 0||!_s(a))continue;let s=a.getAttribute(rn)??\"\";s===\"\"?a.style.removeProperty(\"translate\"):a.style.setProperty(\"translate\",s),a.removeAttribute(rn),Ca.delete(a)}let r=e.querySelectorAll(`[${Bu}], [${Uu}]`),i=0;for(let o=0;o<r.length;o++){let a=r[o];a===void 0||!_s(a)||(Q1(a,t),i+=1)}return i}var M0=\"__hfPositionEditsSeekReapplyWrapped\",N0=new WeakSet,L0=new WeakMap,F0=new WeakMap;function D0(e){let t=e,n=()=>{try{Ni(t.document)}catch{}},r=d=>typeof d==\"function\"&&(N0.has(d)||!!d[M0]),i=d=>{N0.add(d);try{Object.defineProperty(d,M0,{value:!0})}catch{}},o=d=>{if(typeof d!=\"function\"||r(d))return d;let m=function(...x){let h=d.apply(this,x);return n(),h};return i(m),m},a=(d,m)=>{let x=L0.get(d);if(x?.has(m))return!0;let h=Object.getOwnPropertyDescriptor(d,m);if(h?.configurable===!1){let v=d[m];return typeof v==\"function\"&&(d[m]=o(v),n()),!1}let b=d[m],g=h?.set;return Object.defineProperty(d,m,{configurable:!0,enumerable:h?.enumerable??!0,get:()=>b,set:v=>{b=o(v),g?.call(d,v)}}),b=o(b),x??(x=new Set),x.add(m),L0.set(d,x),n(),!0},s=(d,m)=>{let x=F0.get(t),h=Object.getOwnPropertyDescriptor(t,d);if(!x?.has(d)){if(h?.configurable===!1){let v=t[d];return v?a(v,m):!1}let g=t[d];Object.defineProperty(t,d,{configurable:!0,enumerable:h?.enumerable??!0,get:()=>g,set:v=>{g=v,g&&a(g,m)}}),x??(x=new Set),x.add(d),F0.set(t,x)}let b=t[d];return b?a(b,m):!1},l=()=>{let d=s(\"__hf\",\"seek\"),m=s(\"__player\",\"renderSeek\");return d&&m};if(l())return;let u=120,f=t.setInterval(()=>{if(l()){t.clearInterval(f);return}u-=1,u<=0&&t.clearInterval(f)},50)}function Ra(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 Ta(e){return typeof e==\"string\"||typeof e==\"number\"||typeof e==\"boolean\"}function Wu(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}var P0=new Set([\"img\",\"video\",\"audio\",\"source\"]);function Z1(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 eC(e){return e.replace(/[;{}<>\\r\\n]/g,\"\")}function tC(e){if(Ta(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 Vu(e,t){let n=e.closest(\"[data-composition-id]\"),r=t.get(n);if(r)return r;let i=Ra(e);return t.set(n,i),i}function nC(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 rC(e){return e.querySelector(\"[data-hf-root]\")??e.getElementById(\"stage\")??e.body?.firstElementChild??e.body}function iC(e,t){for(let n of new Set(e)){let r=Vu(n,t);for(let[i,o]of Object.entries(r)){let a=tC(o);a!==null&&xe(n)&&n.style.setProperty(`--${i}`,eC(a))}}}function O0(e,t,n=!0){let r=e.getAttribute(\"data-var-src\")?.trim();if(!r)return null;if(!P0.has(e.tagName.toLowerCase()))return n&&console.warn(`[hyperframes] Ignoring data-var-src on <${e.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(P0).join(\"/\")}.`),null;let i=Z1(Vu(e,t)[r]);return i===null?null:Wu(i)?i:(n&&console.warn(`[hyperframes] Ignoring data-var-src=\"${r}\": unsafe URL protocol.`),null)}function H0(e){return O0(e,new Map,!1)??Qr(e)}function ka(e,t){let n=new Map,r=o=>t?[...t.matches(o)?[t]:[],...t.querySelectorAll(o)]:Array.from(e.querySelectorAll(o)),i=t?null:rC(e);iC([...i?[i]:[],...r(\"[data-composition-id]\")],n);for(let o of r(\"[data-var-src]\")){let a=O0(o,n);a!==null&&Qr(o)!==a&&o.setAttribute(\"src\",a)}for(let o of r(\"[data-var-text]\")){let a=o.getAttribute(\"data-var-text\")?.trim();if(!a)continue;let s=Vu(o,n)[a];Ta(s)&&nC(o,String(s))}}var Ot=new Map,oC=\"data-hf-color-grading-canvas\",aC=\"__hf_color_grading_canvas__\";function X0(){if(typeof MutationObserver>\"u\"||typeof document>\"u\")return;let e=document.documentElement;if(!e)return;let t=r=>{xe(r)&&(r.hasAttribute(wn)||r.setAttribute(wn,r.style.opacity))},n=r=>{if(Re(r)){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 sC=16,lC=4,gr={enabled:!1,position:.5,softness:0,lineWidth:2},$u=[\"#000000\",\"#ffffff\"],uC=[\"#1a1a1a\",\"#f5f5dc\"],Oi=3,cC=Oi-1,dC=5,zu=`${Et}.0`,G0=`${Et-1}.0`,fC=`${Oi}.0`,mC=`${(cC+.5)/Oi}`;function Ma(e){let t=e.getAttribute(ii);return t==null?null:Vp(t,Ra(e))}var pC=[\"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`),hC=[\"#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) * ${G0};`,\" float lower = floor(position);\",` float upper = min(lower + 1.0, ${G0});`,` float y = (row + 0.5) / ${fC};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${zu}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${zu}, y));`,\" return mix(before, after, position - lower);\",\"}\",\"vec4 advancedConfig(float index){\",` return texture2D(u_advanced, vec2((index + 0.5) / ${zu}, ${mC}));`,\"}\",\"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`),gC=[\"#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`),bC=[\"#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`),xC=[\"#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 on(e){return ye(e)||Fe(e)}function B0(e){let t=window.getComputedStyle(e);return t.display!==\"none\"&&t.visibility!==\"hidden\"}function U0(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(H(\"runtime.colorGrading.compileShader\",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Da(e,t=hC){let n=U0(e,pC,e.VERTEX_SHADER),r=U0(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:(H(\"runtime.colorGrading.linkProgram\",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Na(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 yC(e,t){let n=Da(e,gC);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 SC(e,t){let n=Da(e,bC);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 vC(e,t){let n=Da(e,xC);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 Ii(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Na(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 Fa(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 qu(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 W0(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Xu(e){let t=e.getContext(\"webgl\",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Da(t),r=Na(t),i=Na(t,t.NEAREST),o=Na(t,t.NEAREST);if(!n||!r||!i||!o)return W0(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:qu(t,n,Qo),detailUniforms:qu(t,n,kl),effectUniforms:qu(t,n,Ml),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\")}}):(W0(t,n,[r,i,o]),null)}function EC(e){return typeof e==\"object\"&&e!==null&&!Array.isArray(e)}function AC(e){if(!EC(e))return{...gr};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,gr.position,0,1),softness:t(e.softness,gr.softness,0,.25),lineWidth:t(e.lineWidth,gr.lineWidth,0,12)}}function J0(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 Pa(e){return e instanceof Error?e.message:\"LUT failed to load\"}function wC(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 Q0(e){let t=e.id||e.currentSrc||e.getAttribute(\"src\")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return wC(t)}function Ju(e){let t=J0(e);if(\"error\"in t)return{state:\"error\",message:t.error};let n=Ot.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=>Sp(o,{maxSize:Yo})),i={state:\"pending\",promise:r};for(;Ot.size>=sC;){let o=Ot.keys().next().value;if(!o)break;Ot.delete(o)}return Ot.set(t.href,i),r.then(o=>{Ot.get(t.href)===i&&Ot.set(t.href,{state:\"ready\",lut:o})},o=>{Ot.get(t.href)===i&&Ot.set(t.href,{state:\"error\",message:Pa(o)})}),i}function V0(e,t,n){if(e.lut?.src===t)return e.lut;let r=Sl(n),{gl:i,program:o}=e;try{return Z0(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=Pa(a),e.lutLoadingSrc=null,H(\"runtime.colorGrading.uploadLut\",a),null}}async function _C(e){let t=Ju(e);if(t.state===\"ready\")return t.lut;if(t.state===\"pending\")return t.promise;throw new Error(t.message)}function Z0(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 CC(e,t,n){let r=Sl(n),{gl:i,program:o}=e;return Z0(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Rt(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Qu(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Rt(e.gl,t.scratch),Rt(e.gl,t.blur),t.bloom&&Rt(e.gl,t.bloom),e.effectTargets=null)}function Zu(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Rt(e.gl,t.moments),Rt(e.gl,t.output),e.kuwaharaTargets=null)}function La(e,t=!1){Qu(e),Zu(e),RC(e.gl,e.program),t&&e.gl.getExtension(\"WEBGL_lose_context\")?.loseContext()}function RC(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function TC(e){let t=Xu(e.canvas);return t?(La(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function Yu(e){if(!e.sourceHidden)return;e.element.removeAttribute(An);let t=e.element.style.getPropertyValue(\"opacity\"),n=e.element.style.getPropertyPriority(\"opacity\");t===\"0\"&&n===\"important\"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty(\"opacity\"):e.element.style.setProperty(\"opacity\",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function kC(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=yC(t,e.program.quad),r=Ii(t),i=Ii(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Rt(t,r),i&&Rt(t,i),e.effectError=\"Framebuffer effects unavailable\",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function MC(e,t){return t.bloom||(t.bloom=Ii(e.gl),e.effectError=t.bloom?null:\"Framebuffer effects unavailable\"),t.bloom}function $0(e){let t=e.effectTargets;t?.bloom&&(Rt(e.gl,t.bloom),t.bloom=null)}function NC(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=SC(t,e.program.quad),o=vC(t,e.program.quad),a=Ii(t,n.HALF_FLOAT_OES,t.NEAREST),s=Ii(t);return!i||!o||!a||!s?(LC(t,i,o,a,s),e.effectError=\"Kuwahara framebuffer effects unavailable\",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:s},e.kuwaharaTargets)}function LC(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Rt(e,r),i&&Rt(e,i)}function eb(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Fa(e,t,o,a),Fa(e,n,o,a),{width:o,height:a}}function Ia(e,t,n,r,i,o,a,s=!1,l=-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,s?1:0),e.uniform1f(t.threshold,l),Di(e,t)}function FC(e,t,n,r,i,o,a){let s=eb(e,t.scratch,r,i/2,o/2),l=a/2;Ia(e,t.blurProgram,n,t.scratch,s,{x:1,y:0},l,!0,.5),Ia(e,t.blurProgram,t.scratch.texture,r,s,{x:0,y:1},l,!0)}function IC(e,t,n,r,i,o,a){let s=n;for(let l=0;l<Math.max(1,Math.floor(a));l++)Ia(e,t.blurProgram,s,t.scratch,i,{x:1,y:0},o),Ia(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),s=r.texture}function Di(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 DC(e,t,n,r,i,o,a,s){Fa(e,t.moments,i.width,i.height),Fa(e,t.output,i.width,i.height);let l=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(l.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(l.source,0),e.uniform1i(l.blurSource,1),e.uniform2f(l.texel,1/i.width,1/i.height),e.uniform2f(l.uvScale,o.scaleX,o.scaleY),e.uniform2f(l.uvOffset,o.offsetX,o.offsetY),e.uniform1f(l.blurReady,a?1:0),e.uniform1f(l.blur,s.blur),e.uniform1f(l.radius,s.kuwaharaRadius),Di(e,l);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,s.kuwaharaRadius),e.uniform1f(u.sharpness,s.kuwaharaSharpness),e.uniform1f(u.saturation,s.kuwaharaSaturation),Di(e,u)}function PC(e,t,n,r){if(n<=0)return!1;let i=eb(e.gl,t.scratch,t.blur,r.width,r.height);return IC(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function OC(e,t,n,r,i,o){if(n<=0)return $0(e),null;o||$0(e);let a=o?MC(e,t):t.blur;return a?(FC(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function HC(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&&Qu(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=kC(e);if(!s)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=PC(e,s,o,n),u=OC(e,s,a,t.effects.bloomRadius,n,l);return{blurReady:l,bloomReady:u!==null,blurTexture:s.blur.texture,bloomTexture:u??i.texture}}function GC(e,t,n,r,i,o,a){let s=t.effects.kuwahara;if(s<=0&&!o)return e.kuwaharaTargets&&a&&Zu(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let l=NC(e);return!l||s<=0?{kuwaharaReady:!1,kuwaharaTexture:l?.output.texture??e.program.texture}:(DC(e.gl,l,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:l.output.texture})}function tb(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=HC(e,t,n,o),s=GC(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...s}}function BC(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=J0(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=Ju(t);return i.state===\"ready\"?V0(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||(V0(e,r.href,o),Ye(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Pa(o),e.lutLoadingSrc=null,Ye(e))})),null)}function Li(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&&on(n))return n;try{let r=document.querySelector(t);return r&&on(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id=\"${CSS.escape(e.hfId)}\"]`);if(t&&on(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&on(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&&on(r)?r:null}catch{return null}}function nb(e){return ye(e)?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:Fe(e)&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function rb(e){return ye(e)?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:Fe(e)?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function ib(e){let t=It(e);return t&&rb(t)?t:null}function z0(e){if(!ye(e))return!1;let t=ib(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!==\"none\"&&n.visibility!==\"hidden\"}function UC(e){return Fe(e)&&e.classList.contains(\"__render_frame__\")}function WC(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}var q0=new WeakMap;function ob(e,t){if(!Fe(e)||window.origin!==\"null\"||e.crossOrigin!==null||!/^https?:/i.test(e.currentSrc))return e;let n=q0.get(e);if(n?.image.src!==e.currentSrc){let r={image:e.ownerDocument.createElement(\"img\"),waiting:new Set},i=()=>{let o=[...r.waiting];r.waiting.clear(),o.forEach(Ye)};r.image.crossOrigin=\"anonymous\",r.image.addEventListener(\"load\",i,{once:!0}),r.image.addEventListener(\"error\",i,{once:!0}),r.image.src=e.currentSrc,q0.set(e,n=r)}return n.image.complete?n.image.naturalWidth>0?n.image:e:(t&&n.waiting.add(t),null)}function ab(e){if(ye(e)){let t=ib(e);if(t)return t}return rb(e)?e:null}function j0(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 VC(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=j0(o,\"x\"),s=j0(o,\"y\");if(a!==null&&(o===\"left\"||o===\"right\"||o.endsWith(\"%\")&&i===0)){n=a;continue}if(s!==null&&(o===\"top\"||o===\"bottom\"||o.endsWith(\"%\")&&i>0)){r=s;continue}}return{x:n,y:r}}function sb(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\",s=e,l=t;if(a===\"contain\"||a===\"cover\"||a===\"scale-down\"){let m=a===\"cover\"?Math.max(e/n,t/r):Math.min(e/n,t/r);s=n*m,l=r*m,a===\"scale-down\"&&s>n&&l>r&&(s=n,l=r)}else a===\"none\"&&(s=n,l=r);let u=VC(o||\"center\"),f=(e-s)*u.x/e,d=(t-l)*u.y/t;return{scaleX:s/e,scaleY:l/t,offsetX:f,offsetY:d}}function $C(e,t){window.getComputedStyle(t).position===\"static\"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position=\"relative\")}function K0(e,t){return Math.max(0,Math.round(e>0?e:t))}function zC(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&$C(e,i);let o=window.getComputedStyle(t);Cm(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(),s=K0(n.offsetWidth,a.width),l=K0(n.offsetHeight,a.height);if(s<=0||l<=0)return r.style.display=\"none\",null;let u=Math.max(1,window.devicePixelRatio||1),f=Math.round(s*u),d=Math.round(l*u);return r.width!==f&&(r.width=f),r.height!==d&&(r.height=d),{width:f,height:d}}function hr(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 kn(e,t,n,r){e.set(r,(t*Et+n)*4)}function an(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function ju(e,t,n){return e.length>=3?El(e,t,n):new Float32Array(Et)}function Tn(e,t){return e[t]??0}function qC(e,t,n){let r=nr(t.red),i=nr(t.green),o=nr(t.blue),a=nr(t.master),s=ju(n.hueVsHue,-180,180),l=ju(n.hueVsSaturation,-1,1),u=ju(n.hueVsLuma,-1,1);for(let f=0;f<Et;f+=1)kn(e,0,f,[Tn(r,f),Tn(i,f),Tn(o,f),Tn(a,f)]),kn(e,1,f,[an(Tn(s,f),180),an(Tn(l,f),1),an(Tn(u,f),1),1])}function jC(e,t,n){let r=n*dC;kn(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),kn(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),kn(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),kn(e,2,r+3,[an(t.correction.hueShift,180),an(t.correction.saturation,1),an(t.correction.luma,1),an(t.correction.temperature,1)]),kn(e,2,r+4,[an(t.correction.tint,1),.5,.5,1])}function KC(e,t,n){let r=new Float32Array(Et*Oi*4);qC(r,e,t);let i=0;for(let o of n)o.enabled&&(jC(r,o,i),i+=1);return r}var Y0=new WeakMap;function YC(e,t,n){let r=Y0.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Y0.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function XC(e,t,n,r){let{curves:i,hueCurves:o}=n,a=YC(i,o,r);if(t.advancedSignature===a)return;let s=Uint8Array.from(KC(i,o,r),ni);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,Et,Oi,0,e.RGBA,e.UNSIGNED_BYTE,s),t.advancedSignature=a}function Ku(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function lb(e,t,n,r,i,o,a,s,l,u,f,d){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,l.width,l.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:m,hueCurves:x,secondaries:h}=n,b=Fl(m),g=Il(x),v=Dl(h)?h.reduce((k,P)=>k+Number(P.enabled),0):0;(b||g||v>0)&&XC(e,t,n,h),Ku(e,t.shadowWheel,n.wheels.shadows),Ku(e,t.midtoneWheel,n.wheels.midtones),Ku(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,b?1:0),e.uniform1f(t.hueCurvesEnabled,g?1:0),e.uniform1f(t.secondaryCount,v);for(let[k,P]of t.adjustUniforms)e.uniform1f(P,n.adjust[k]);for(let[k,P]of t.detailUniforms)e.uniform1f(P,n.details[k]);e.uniform1f(t.grainSeed,f),e.uniform1f(t.effectTime,d);for(let[k,P]of t.effectUniforms)e.uniform1f(P,n.effects[k]);let A=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?uC:$u),E=A[A.length-1]??$u[1];e.uniform1f(t.paletteSize,A.length),hr(e,t.palette0,A[0]??$u[0]),hr(e,t.palette1,A[1]??E),hr(e,t.palette2,A[2]??E),hr(e,t.palette3,A[3]??E),hr(e,t.palette4,A[4]??E),hr(e,t.palette5,A[5]??E),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,s.enabled?1:0),e.uniform1f(t.comparePosition,s.position),e.uniform1f(t.compareSoftness,s.softness),e.uniform1f(t.compareLineWidth,s.lineWidth)}function JC(e){if(!e.sourceHidden){let t=e.element.getAttribute(wn);t!==null?(e.sourceInlineOpacity=t===\"\"?null:t,e.sourceInlineOpacityPriority=\"\"):(e.sourceInlineOpacity=e.element.style.getPropertyValue(\"opacity\")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority(\"opacity\"))}e.element.setAttribute(An,\"true\"),e.element.style.setProperty(\"opacity\",\"0\",\"important\"),e.sourceHidden=!0}function Ht(e){let t=Bp.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var ub=Ht(\"intensity\"),cb=Ht(\"lut.intensity\"),db=Ht(\"adjust.exposure\"),fb=Ht(\"effects.kuwahara\"),mb=[[\"blur\",Ht(\"effects.blur\")],[\"bloom\",Ht(\"effects.bloom\")],[\"kuwahara\",fb],[\"pixelate\",Ht(\"effects.pixelate\")],[\"ascii\",Ht(\"effects.ascii\")],[\"dither\",Ht(\"effects.dither\")]],pb=[ub,cb,db,...mb.map(([,e])=>e)];function Mn(e,t){let n=getComputedStyle(e).getPropertyValue(t.name).trim();if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Fi(e,t){return t!==null&&($p(t)||pb.some(n=>Mn(e,n)!==null))}function QC(e,t){let n=null;for(let[r,i]of mb){let o=Mn(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function ZC(e){let{element:t,grading:n}=e,r=Mn(t,ub),i=Mn(t,cb),o=Mn(t,db),a=QC(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let l={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(l.intensity=r),n.lut&&i!==null&&(l.lut={...n.lut,intensity:i}),l}function hb(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 gb(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 Ye(e){if(e.destroyed||e.contextLost)return!1;let t=ab(e.element),n=t&&ob(t,e);if(!t||!n)return e.hasDrawn||(e.canvas.style.display=\"none\"),!1;let r=nb(t);if(!r)return!1;let i=xe(t)?t:e.element,o=e.element.style.getPropertyValue(\"opacity\"),a=e.element.style.getPropertyPriority(\"opacity\"),s=e.sourceHidden&&o===\"0\"&&a===\"important\",l=e.element.style.getPropertyValue(\"visibility\"),u=UC(t);u&&WC(e,t),s&&!u&&(e.sourceInlineOpacity!==null?e.element.style.setProperty(\"opacity\",e.sourceInlineOpacity,e.sourceInlineOpacityPriority||\"\"):e.element.style.removeProperty(\"opacity\"));let f=window.getComputedStyle(u?t:e.element);e.sourceOpacityForCanvas=f.opacity||\"1\",s&&!u&&e.element.style.setProperty(\"opacity\",\"0\",\"important\"),e.sourceVisibleForCanvas=(u||l!==\"hidden\")&&f.visibility!==\"hidden\";let d=zC(e,i);if(!d)return!1;let m=window.getComputedStyle(i),x=sb(d.width,d.height,r.width,r.height,m.objectFit,m.objectPosition),{gl:h,program:b}=e;try{let g=ZC(e),v=BC(e);hb(h,b.texture,n);let A=Mn(e.element,fb)!==null,E=tb(e,g,d,x,{preserveKuwahara:A});h.bindFramebuffer(h.FRAMEBUFFER,null),h.viewport(0,0,d.width,d.height),h.useProgram(b.program),gb(h,b,E);let k=window.__player?.getTime?.(),P=typeof k==\"number\"&&Number.isFinite(k)?Math.max(0,k):ye(e.element)?Math.max(0,e.element.currentTime):0,L=e.grainSeed+Math.floor(P*60);return lb(h,b,g,v,E.blurReady,E.bloomReady,E.kuwaharaReady,e.compare,d,x,L,P),Di(h,b),JC(e),e.hasDrawn=!0,e.drawError=null,!0}catch(g){return e.drawError=g instanceof Error?g.message:\"Shader draw failed\",H(\"runtime.colorGrading.drawEntry\",g),!1}}function eR(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))),s=i>0&&o>0?i/o:t.width/t.height;return s>=1?{width:a,height:Math.max(1,Math.round(a/s))}:{width:Math.max(1,Math.round(a*s)),height:a}}function tR(){let e=document.createElement(\"canvas\"),t=Xu(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function nR(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n==\"number\"&&Number.isFinite(n)?Math.max(0,n):ye(e)?Math.max(0,e.currentTime):0}function rR(e,t,n,r){let i=ab(t),o=i&&ob(i,null);if(!i||!o)return null;let a=nb(i);if(!a)return null;let s=eR(t,a,n);e.canvas.width=s.width,e.canvas.height=s.height;let l=xe(i)?i:t,u=window.getComputedStyle(l),f=sb(s.width,s.height,a.width,a.height,u.objectFit,u.objectPosition);return hb(e.gl,e.program.texture,o),{dimensions:s,uv:f,effectTime:nR(t,r),grainSeed:Q0(t)+(ye(t)?Math.floor(t.currentTime*60):0)}}async function iR(e,t,n,r,i=!1){let o=rR(e,t,r,i);if(!o)return null;let{dimensions:a,uv:s,grainSeed:l,effectTime:u}=o,f=[];for(let d of n.slice(0,32)){let m=Zo(d.grading);if(!m){f.push({id:d.id,dataUrl:null,error:\"Invalid grading\"});continue}let x=null;try{m.lut&&(e.lut?.src!==m.lut.src&&(e.lut=CC(e,m.lut.src,await _C(m.lut.src))),x=e.lut),f.push({id:d.id,dataUrl:oR(e,m,x,a,s,l,u)})}catch(h){f.push({id:d.id,dataUrl:null,error:Pa(h)})}}return{...a,images:f}}function oR(e,t,n,r,i,o,a){let{canvas:s,gl:l,program:u}=e,f=tb(e,t,r,i,{releaseIdleTargets:!1});return l.bindFramebuffer(l.FRAMEBUFFER,null),l.viewport(0,0,r.width,r.height),l.useProgram(u.program),gb(l,u,f),n||(e.lut=null),lb(l,u,t,n,f.blurReady,f.bloomReady,f.kuwaharaReady,gr,r,i,o,a),Di(l,u),s.toDataURL(\"image/png\")}function Ct(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function aR(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&ye(e.element)&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Pi(e){if(e.destroyed||!ye(e.element)||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,Ye(e),!e.destroyed&&!t.paused&&!t.ended&&Pi(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Ye(e),!e.destroyed&&!t.paused&&!t.ended&&Pi(e)})}function sR(e){let t=()=>{Ye(e)};if(Ct(e,e.element,\"load\",t),Ct(e,e.element,\"loadedmetadata\",t),Ct(e,e.element,\"loadeddata\",t),Ct(e,e.element,\"seeked\",t),Ct(e,e.element,\"timeupdate\",t),Ct(e,window,\"resize\",t),ye(e.element)&&(Ct(e,e.element,\"play\",()=>Pi(e)),Ct(e,e.element,\"pause\",t)),Ct(e,e.canvas,\"webglcontextlost\",n=>{n.preventDefault(),e.contextLost=!0,e.drawError=\"WebGL context lost\",e.canvas.style.display=\"none\",Yu(e)}),Ct(e,e.canvas,\"webglcontextrestored\",()=>{if(e.contextLost=!1,!TC(e)){e.contextLost=!0,e.drawError=\"WebGL context restore failed\",Yu(e);return}e.drawError=null,Ye(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(),Ye(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:[\"style\"]}),e.cleanup.push(()=>o.disconnect())}}function lR(e){if(e.destroyed)return null;e.destroyed=!0,aR(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Qu(e),Zu(e),Yu(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 bb(e,t){return e.removeAttribute(\"style\"),t.id?e.id=`${Dp}${t.id}`:e.removeAttribute(\"id\"),e.className=aC,e.setAttribute(oC,\"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 uR(e){return bb(document.createElement(\"canvas\"),e)}function xb(e){let t=new WeakMap,n=new Set,r=[],i=null,o=null,a=Promise.resolve(),s=!1,l=(R,M,T)=>{let B=t.get(R);if(B)return B.grading=M,B.source=T,Ye(B),ye(R)&&!R.paused&&Pi(B),!0;let W=r.pop();if(W)bb(W.canvas,R);else{let N=uR(R),_=Xu(N);if(!_)return N.remove(),!1;W={canvas:N,gl:_.gl,program:_.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let ne={element:R,...W,grading:M,compare:{...gr},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:T,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:\"\",sourceOpacityForCanvas:window.getComputedStyle(R).opacity||\"1\",sourceVisibleForCanvas:window.getComputedStyle(R).visibility!==\"hidden\",hasDrawn:!1,contextLost:!1,grainSeed:Q0(R),destroyed:!1};return t.set(R,ne),n.add(R),sR(ne),Ye(ne),ye(R)&&!R.paused&&Pi(ne),!0},u=(R,M)=>{if(s)return!1;let T=Li(R);if(!T)return!1;let B=t.get(T);if(!B){let W=Ma(T);if(!Fi(T,W)||!l(T,W,\"attribute\"))return!1;B=t.get(T)}return B?(B.compare=AC(M),Ye(B),!0):!1},f=R=>{let M=t.get(R);if(!M)return;let T=lR(M);T&&(M.contextLost||r.length>=lC?La(T,!0):r.push(T)),t.delete(R),n.delete(R)},d=()=>{if(s)return 0;let R=new Set;document.querySelectorAll(`video[${ii}], img[${ii}]`).forEach(T=>{if(!on(T))return;R.add(T);let B=Ma(T);Fi(T,B)&&(B0(T)||z0(T))?l(T,B,\"attribute\"):f(T)});for(let T of n){let B=t.get(T);B&&(!T.isConnected||B.source===\"attribute\"&&!R.has(T))&&f(T)}return n.size},m=()=>{if(s)return 0;let R=0;for(let M of n){let T=t.get(M);T&&Ye(T)&&(R+=1)}return R},x=async()=>{let R=new Set;for(let M of n){let T=t.get(M)?.grading.lut;if(!T?.src.trim()||(T.intensity??1)<=0)continue;let B=Ju(T.src);B.state===\"pending\"&&R.add(B.promise)}return R.size>0&&await Promise.allSettled(R),m(),R.size},h=()=>{if(s)return 0;let R=0;for(let M of n){let T=t.get(M);!T||!pb.some(W=>Mn(M,W)!==null)||ye(M)&&!M.paused&&!M.ended||Ye(T)&&(R+=1)}return R},b=(R,M)=>{if(s)return!1;let T=Li(R);if(!T)return!1;let B=Zo(M);return Fi(T,B)?l(T,B,\"live\"):(f(T),!0)},g=(R,M)=>{if(!on(R))return!1;let T=t.get(R);if(!T){if(!M)return!1;let B=Ma(R);return Fi(R,B)&&l(R,B,\"attribute\")}return T.sourceVisibleForCanvas=M,!M&&T.source===\"attribute\"&&f(R),!0},v=R=>on(R)&&t.has(R),A=R=>{let M=Li(R);if(!M)return{state:\"missing\",message:\"Media not found\"};let T=t.get(M);if(T)return T.effectError?{state:\"unavailable\",message:T.effectError}:T.drawError?{state:\"unavailable\",message:T.drawError}:T.lutError?{state:\"unavailable\",message:`LUT error: ${T.lutError}`}:T.grading.lut&&T.lutLoadingSrc?{state:\"pending\",message:\"Loading LUT\"}:T.canvas.style.display===\"none\"?{state:\"pending\",message:\"Waiting for media frame\"}:{state:\"active\",message:T.lut?\"Shader + LUT active\":\"Shader active\"};let B=Ma(M);return Fi(M,B)?!B0(M)&&!z0(M)?{state:\"pending\",message:\"Waiting for visible media\"}:{state:\"unavailable\",message:\"WebGL unavailable\"}:{state:\"inactive\",message:\"No grading applied\"}},E=async(R,M,T)=>{let B=async()=>{if(s||M.length===0)return null;let ne=Li(R);return!ne||(o??(o=tR()),!o)?null:iR(o,ne,M,T?.maxDimension,T?.useMediaTime)},W=a.then(B,B);return a=W.then(()=>{},()=>{}),W},k=R=>{let M=Li(R);if(!ye(M))return null;if(!M.paused)return()=>{};let T=M.currentTime,B=M.loop,W=M.muted;return M.loop=!0,M.muted=!0,(M.ended||Number.isFinite(M.duration)&&T>=M.duration)&&(M.currentTime=0),e?.lease(M),M.play().catch(()=>{}),()=>{e?.release(M),M.pause(),M.loop=B,M.muted=W,M.currentTime=T}},P=()=>{if(!s){s=!0,i?.disconnect(),i=null;for(let R of n)f(R);for(let R of r)La(R,!0);r.length=0,o&&(La(o,!0),o=null)}};document.body&&(i=new MutationObserver(()=>d()),i.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[ii]}));let L={refresh:d,redraw:m,redrawAnimated:h,waitForActiveLuts:x,setGrading:b,setCompare:u,setSourceVisibility:g,isGraded:v,getStatus:A,renderPreviews:E,startPreviewPlayback:k,destroy:P},D=window;return D.__hf=D.__hf||{},D.__hf.colorGrading=L,d(),L}var cR={mulX:374761393,mulY:668265263,mulMix:1274126177,offset:2654435769,shift1:13,shift2:16,divisor:4294967296},{mulX:dR,mulY:fR,mulMix:yb,offset:mR,shift1:pR,shift2:hR,divisor:gR}=cR,bR=20,Sb=`#version 300 es\nprecision highp float;\nprecision highp int;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform float u_fractalType;\nuniform float u_noiseType;\nuniform float u_invert;\nuniform float u_contrast;\nuniform float u_brightness;\nuniform float u_scale;\nuniform float u_complexity;\nuniform float u_subInfluence;\nuniform float u_subScaling;\nuniform float u_evolution;\nuniform float u_randomSeed;\nuniform float u_opacity;\n\nfloat hfHashUnit(int ix, int iy, int seed) {\n uint h = ((uint(ix) * ${dR}u) ^ (uint(iy) * ${fR}u) ^ (uint(seed) * ${yb}u)) + ${mR}u;\n h = h ^ (h >> ${pR}u);\n h = h * ${yb}u;\n h = h ^ (h >> ${hR}u);\n return float(h) / ${gR}.0;\n}\n\nfloat hfFade(float f, float noiseType) {\n if (noiseType < 1.5) return 0.0;\n if (noiseType < 2.5) return f;\n if (noiseType < 3.5) return f * f * (3.0 - 2.0 * f);\n return f * f * f * (f * (f * 6.0 - 15.0) + 10.0);\n}\n\nfloat hfValueNoise(vec2 p, int seed) {\n vec2 cell = floor(p);\n vec2 f = p - cell;\n int ix = int(cell.x);\n int iy = int(cell.y);\n float sx = hfFade(f.x, u_noiseType);\n float sy = hfFade(f.y, u_noiseType);\n float bottom = mix(hfHashUnit(ix, iy, seed), hfHashUnit(ix + 1, iy, seed), sx);\n float top = mix(hfHashUnit(ix, iy + 1, seed), hfHashUnit(ix + 1, iy + 1, seed), sx);\n return mix(bottom, top, sy);\n}\n\nfloat hfFbm(vec2 p) {\n float lacunarity = 100.0 / max(u_subScaling, 1.0);\n float gain = u_subInfluence / 100.0;\n int seed = int(u_randomSeed);\n float amp = 1.0;\n float freq = 1.0;\n float sum = 0.0;\n float norm = 0.0;\n for (int i = 0; i < ${bR}; i++) {\n if (float(i) >= u_complexity) break;\n sum += amp * hfValueNoise(p * freq, seed + i);\n norm += amp;\n amp *= gain;\n freq *= lacunarity;\n }\n return norm > 0.0 ? sum / norm : 0.0;\n}\n\nvoid main() {\n vec2 px = v_uv * u_size;\n vec2 p = px / max(u_scale, 1.0) + vec2(u_evolution, u_evolution * 0.5);\n float v = hfFbm(p);\n v = (v - 0.5) * (u_contrast / 100.0) + 0.5 + u_brightness / 100.0;\n if (u_invert > 0.5) v = 1.0 - v;\n v = clamp(v, 0.0, 1.0);\n float a = clamp(u_opacity / 100.0, 0.0, 1.0);\n fragColor = vec4(v * a, v * a, v * a, a);\n}\n`;var ec={lumaR:.299,lumaG:.587,lumaB:.114},{lumaR:xR,lumaG:yR,lumaB:SR}=ec,vb=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform sampler2D u_src2;\n// 1 when the map ref named another element, 0 when the map is the layer\n// itself. Set by the runtime for every pass, from whether a ref resolved.\nuniform float u_hasSrc2;\nuniform float u_useH;\nuniform float u_maxH;\nuniform float u_useV;\nuniform float u_maxV;\nuniform float u_behavior;\nuniform float u_edge;\nuniform float u_expand;\n\nvec4 hfSampleSrc(vec2 uv) {\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return vec4(0.0);\n return texture(u_src, uv);\n}\n\n// The selector's value, in [0, 1]. Half and Off both land on 0.5, which is the\n// \"no displacement\" midpoint the caller subtracts.\nfloat hfMapChannel(vec4 premultiplied, float selector) {\n vec3 rgb = premultiplied.a > 0.0 ? premultiplied.rgb / premultiplied.a : vec3(0.0);\n if (selector < 1.5) return rgb.r;\n if (selector < 2.5) return rgb.g;\n if (selector < 3.5) return rgb.b;\n if (selector < 4.5) return premultiplied.a;\n if (selector < 8.5) return dot(rgb, vec3(${xR}, ${yR}, ${SR}));\n if (selector < 9.5) return 1.0;\n return 0.5;\n}\n\nvoid main() {\n vec4 mapTexel = u_hasSrc2 > 0.5 ? texture(u_src2, v_uv) : texture(u_src, v_uv);\n float h = hfMapChannel(mapTexel, u_useH);\n float v = hfMapChannel(mapTexel, u_useV);\n vec2 d = vec2((h - 0.5) * 2.0 * u_maxH, (v - 0.5) * 2.0 * u_maxV);\n fragColor = hfSampleSrc(v_uv + d / u_size);\n}\n`;var{lumaR:vR,lumaG:ER,lumaB:AR}=ec;var Eb=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform sampler2D u_src2;\nuniform float u_mode;\n\n// The matte texel is premultiplied, so its rgb is already \"over black\" \\u2014 the\n// composite After Effects reads a luma matte through.\nfloat hfCoverage(vec4 matte, float mode) {\n if (mode < 1.5) return matte.a;\n if (mode < 2.5) return 1.0 - matte.a;\n float luma = dot(matte.rgb, vec3(${vR}, ${ER}, ${AR}));\n if (mode < 3.5) return luma;\n return 1.0 - luma;\n}\n\nvoid main() {\n vec4 src = texture(u_src, v_uv);\n vec4 matte = texture(u_src2, v_uv);\n fragColor = src * clamp(hfCoverage(matte, u_mode), 0.0, 1.0);\n}\n`;var wR={lcgMulA:1103515245,lcgMulB:12996205,lcgAdd:12345,highMask:32640,lowMask:255,byteScale:32704},{lcgMulA:_R,lcgMulB:CR,lcgAdd:Ab,highMask:RR,lowMask:TR,byteScale:kR}=wR,wb=`#version 300 es\nprecision highp float;\n// NOT decoration: a fragment shader's default integer precision is mediump,\n// and a mediump uint is only guaranteed 16 bits (ESSL 3.00 \\xA74.5.2). Every step\n// below \\u2014 the Jenkins mix, both LCG rounds \\u2014 is defined by 32-bit wraparound,\n// so without this the hash is a different function on any implementation that\n// honours the minimum. ANGLE and SwiftShader both use 32-bit ints, which is\n// exactly why no test on this machine would catch it.\nprecision highp int;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform float u_amount;\nuniform float u_useColorNoise;\nuniform float u_clipping;\n\n// Bob Jenkins' 1997 integer mix, the six-round shift/xor/subtract sequence the\n// metallib runs verbatim. uint arithmetic wraps in GLSL ES 3.00, which is what\n// makes this bit-identical to the C original.\nuint hfJenkinsMix(uint a, uint b, uint c) {\n a -= b; a -= c; a ^= (c >> 13u);\n b -= c; b -= a; b ^= (a << 8u);\n c -= a; c -= b; c ^= (b >> 13u);\n a -= b; a -= c; a ^= (c >> 12u);\n b -= c; b -= a; b ^= (a << 16u);\n c -= a; c -= b; c ^= (b >> 5u);\n a -= b; a -= c; a ^= (c >> 3u);\n b -= c; b -= a; b ^= (a << 10u);\n c -= a; c -= b; c ^= (b >> 15u);\n return c;\n}\n\n// The hash's 15-bit output byte for one channel.\nfloat hfNoiseByte(uint a, uint y, uint seed) {\n uint h = hfJenkinsMix(a, y, seed);\n uint t2 = h * ${_R}u + ${Ab}u;\n uint t4 = t2 * ${CR}u + ${Ab}u;\n return float(((t4 >> 16u) & ${TR}u) ^ ((t2 >> 9u) & ${RR}u));\n}\n\nvoid main() {\n vec4 src = texture(u_src, v_uv);\n vec2 px = floor(v_uv * u_size);\n uint x = uint(max(px.x, 0.0));\n // After Effects indexes rows from the top; v_uv is y-up.\n uint y = uint(max(u_size.y - 1.0 - px.y, 0.0));\n float frame = floor(u_t * u_fps + 0.5);\n uint seed = uint(max(frame, 0.0)) & 0xFFFFu;\n\n float amount = u_amount * 0.01;\n vec3 nz;\n if (u_useColorNoise > 0.5) {\n uint a = x * 3u;\n nz = vec3(hfNoiseByte(a, y, seed), hfNoiseByte(a + 1u, y, seed), hfNoiseByte(a + 2u, y, seed));\n } else {\n nz = vec3(hfNoiseByte(x, y, seed));\n }\n nz = amount * (nz / ${kR}.0 - 0.5);\n\n vec4 out4 = vec4(src.rgb + nz, src.a);\n // A valid premultiplied colour needs rgb <= a component-wise; noise on a\n // near-transparent texel can push rgb above it, which our fixed 8-bit RGBA\n // storage cannot carry safely the way AE's float pipeline can (see the doc\n // comment above). This runs before, and independently of, u_clipping.\n out4.rgb = min(out4.rgb, out4.a);\n fragColor = u_clipping > 0.5 ? clamp(out4, 0.0, 1.0) : out4;\n}\n`;var MR={tau:6.283185307179586,degreesPerTurn:360},{tau:NR,degreesPerTurn:LR}=MR,_b=`#version 300 es\nprecision highp float;\n\nin vec2 v_uv;\nout vec4 fragColor;\n\nuniform vec2 u_size;\nuniform float u_t;\nuniform float u_fps;\nuniform sampler2D u_src;\nuniform float u_waveType;\nuniform float u_height;\nuniform float u_width;\nuniform float u_direction;\nuniform float u_speed;\nuniform float u_pinning;\nuniform float u_phase;\n\n// Outside the layer's own box there is nothing to warp in from, so the wave\n// carries transparency rather than a smeared edge pixel.\nvec4 hfSampleSrc(vec2 uv) {\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return vec4(0.0);\n return texture(u_src, uv);\n}\n\nvoid main() {\n vec2 px = v_uv * u_size;\n float dir = radians(u_direction);\n vec2 travel = vec2(sin(dir), -cos(dir));\n vec2 swing = vec2(-travel.y, travel.x);\n float proj = (px.x + 1.0) * travel.x + px.y * travel.y;\n float turns = proj / max(u_width, 1.0) + u_phase / ${LR}.0 + u_speed * u_t;\n float disp = u_height * sin(${NR} * turns);\n fragColor = hfSampleSrc((px + swing * disp) / u_size);\n}\n`;var tc=\"data-vfx-chain\",Cb=1,Rb=[{value:1,label:\"Red\"},{value:2,label:\"Green\"},{value:3,label:\"Blue\"},{value:4,label:\"Alpha\"},{value:5,label:\"Luminance\"},{value:6,label:\"Hue\"},{value:7,label:\"Lightness\"},{value:8,label:\"Saturation\"},{value:9,label:\"Full\"},{value:10,label:\"Half\"},{value:11,label:\"Off\"}],FR=[{id:\"fractal-noise\",label:\"Fractal Noise\",ae:\"ADBE Fractal Noise\",capture:\"none\",frag:Sb,params:[{kind:\"enum\",key:\"fractalType\",label:\"Fractal Type\",options:[{value:1,label:\"Basic\"}],default:1,hint:\"Only Basic is implemented in v1.\"},{kind:\"enum\",key:\"noiseType\",label:\"Noise Type\",options:[{value:1,label:\"Block\"},{value:2,label:\"Linear\"},{value:3,label:\"Soft Linear\"},{value:4,label:\"Spline\"}],default:3},{kind:\"bool\",key:\"invert\",label:\"Invert\",default:!1},{kind:\"number\",key:\"contrast\",label:\"Contrast\",unit:\"%\",min:0,max:1e3,step:1,default:100},{kind:\"number\",key:\"brightness\",label:\"Brightness\",unit:\"\",min:-1e3,max:1e3,step:1,default:0},{kind:\"number\",key:\"scale\",label:\"Scale\",unit:\"%\",min:6,max:1e4,step:1,default:100},{kind:\"number\",key:\"complexity\",label:\"Complexity\",unit:\"\",min:1,max:20,step:1,default:6},{kind:\"number\",key:\"subInfluence\",label:\"Sub Influence\",unit:\"%\",min:0,max:100,step:1,default:70},{kind:\"number\",key:\"subScaling\",label:\"Sub Scaling\",unit:\"%\",min:0,max:100,step:1,default:56},{kind:\"number\",key:\"evolution\",label:\"Evolution\",unit:\"revolutions\",min:-1e4,max:1e4,step:.01,default:0,animatable:!0},{kind:\"number\",key:\"randomSeed\",label:\"Random Seed\",unit:\"\",min:0,max:99999,step:1,default:0},{kind:\"number\",key:\"opacity\",label:\"Opacity\",unit:\"%\",min:0,max:100,step:1,default:100,animatable:!0}]},{id:\"wave-warp\",label:\"Wave Warp\",ae:\"ADBE Wave Warp\",capture:\"self\",frag:_b,params:[{kind:\"enum\",key:\"waveType\",label:\"Wave Type\",options:[{value:1,label:\"Sine\"}],default:1,hint:\"Only Sine is implemented in v1; the exporter marks the others cosmetic.\"},{kind:\"number\",key:\"height\",label:\"Wave Height\",unit:\"px\",min:-1e3,max:1e3,step:1,default:10,animatable:!0},{kind:\"number\",key:\"width\",label:\"Wave Width\",unit:\"px\",min:1,max:1e4,step:1,default:40,animatable:!0},{kind:\"number\",key:\"direction\",label:\"Direction\",unit:\"deg\",min:-360,max:360,step:1,default:90},{kind:\"number\",key:\"speed\",label:\"Wave Speed\",unit:\"waves/s\",min:-100,max:100,step:.1,default:1},{kind:\"enum\",key:\"pinning\",label:\"Pinning\",options:[{value:1,label:\"None\"}],default:1,hint:\"Only None is implemented in v1; the exporter marks the others cosmetic.\"},{kind:\"number\",key:\"phase\",label:\"Phase\",unit:\"deg\",min:-360,max:360,step:1,default:0,animatable:!0}]},{id:\"displacement-map\",label:\"Displacement Map\",ae:\"ADBE Displacement Map\",capture:\"self\",frag:vb,params:[{kind:\"ref\",key:\"map\",label:\"Displacement Map Layer\",optional:!0},{kind:\"enum\",key:\"useH\",label:\"Use For Horizontal Displacement\",options:Rb,default:1,hint:\"Hue, Lightness and Saturation are read as Luminance in v1.\"},{kind:\"number\",key:\"maxH\",label:\"Max Horizontal Displacement\",unit:\"px\",min:-32e3,max:32e3,step:1,default:5,animatable:!0},{kind:\"enum\",key:\"useV\",label:\"Use For Vertical Displacement\",options:Rb,default:2,hint:\"Hue, Lightness and Saturation are read as Luminance in v1.\"},{kind:\"number\",key:\"maxV\",label:\"Max Vertical Displacement\",unit:\"px\",min:-32e3,max:32e3,step:1,default:5,animatable:!0},{kind:\"enum\",key:\"behavior\",label:\"Displacement Map Behavior\",options:[{value:1,label:\"Center Map\"}],default:1,hint:\"Only Center Map is implemented in v1.\"},{kind:\"enum\",key:\"edge\",label:\"Edge Behavior\",options:[{value:0,label:\"Off\"}],default:0,hint:\"Only Off (transparent outside the layer) is implemented in v1.\"},{kind:\"bool\",key:\"expand\",label:\"Expand Output\",default:!0}]},{id:\"luma-matte\",label:\"Matte\",capture:\"self\",frag:Eb,params:[{kind:\"ref\",key:\"matte\",label:\"Matte Layer\"},{kind:\"enum\",key:\"mode\",label:\"Matte Mode\",options:[{value:1,label:\"Alpha\"},{value:2,label:\"Alpha Inverted\"},{value:3,label:\"Luma\"},{value:4,label:\"Luma Inverted\"}],default:1}]},{id:\"noise\",label:\"Noise\",ae:\"ADBE Noise\",capture:\"self\",frag:wb,params:[{kind:\"number\",key:\"amount\",label:\"Amount of Noise\",unit:\"%\",min:0,max:400,step:.1,default:0,animatable:!0},{kind:\"bool\",key:\"useColorNoise\",label:\"Use Color Noise\",default:!1},{kind:\"bool\",key:\"clipping\",label:\"Clip Result Values\",default:!0}]}],Oa=new Map(FR.map(e=>[e.id,e]));function Mb(e){return Oa.get(e)}function Nb(e,t){let n=Oa.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];r[i.key]=i.kind===\"enum\"?IR(i,o):i.kind===\"bool\"?DR(i,o):i.kind===\"ref\"?PR(o):OR(i,o)}return r}function Lb(e){let t=typeof e==\"number\"?e:typeof e==\"string\"&&e.trim()!==\"\"?Number(e):Number.NaN;return Number.isFinite(t)?t:void 0}function IR(e,t){let n=Lb(t);return n!==void 0&&e.options.some(r=>r.value===n)?n:e.default}function DR(e,t){return typeof t==\"boolean\"?t:e.default}function PR(e){return typeof e==\"string\"?e:\"\"}function OR(e,t){let n=Lb(t);return n!==void 0?Math.min(e.max,Math.max(e.min,n)):e.default}var mt=class extends Error{constructor(t){super(t),this.name=\"VfxChainError\"}};function nc(e){return e.nodes.filter(t=>t.enabled!==!1)}var Tb={none:0,self:1,backdrop:2};function Fb(e){let t=\"none\";for(let n of nc(e)){let r=Oa.get(n.type);r&&Tb[r.capture]>Tb[t]&&(t=r.capture)}return t}function Ib(e){let t;try{t=JSON.parse(e)}catch(i){throw new mt(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!=\"object\"||t===null)throw new mt(\"Chain file must be a JSON object.\");let n=t;if(n.version!==Cb)throw new mt(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new mt(\"Chain file is missing a `nodes` array.\");let r=n.nodes.map(BR);return{version:Cb,nodes:r}}function kb(e){return typeof e==\"object\"&&e!==null}function HR(e,t){if(typeof e.type!=\"string\"||!Oa.has(e.type))throw new mt(`Node ${t} has unknown effect type: ${String(e.type)}`);return e.type}function GR(e,t){if(typeof e.id!=\"string\"||e.id===\"\")throw new mt(`Node ${t} is missing an id.`);return e.id}function BR(e,t){if(!kb(e))throw new mt(`Node ${t} is not an object.`);let n=e,r=HR(n,t),i=GR(n,t),o=kb(n.params)?n.params:{};return UR({type:r,id:i,enabled:n.enabled===!1?!1:void 0,params:o})}function UR(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}var WR=\"data-vfx-ref-visible\",Bb=\"[HyperFrames] composition script error:\",VR={preserveDrawingBuffer:!0,antialias:!1,premultipliedAlpha:!0,alpha:!0},$R=`#version 300 es\nout vec2 v_uv;\nvoid main() {\n vec2 p = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2));\n v_uv = p;\n gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0);\n}\n`,Gt=[],Ub=30,Wb=0,ac=0,Vb=-1,rc=null,ic=null;function rt(e){console.error(Bb,`vfx: ${e}`)}function $b(e){console.error(Bb,`vfx-frame: ${e}`)}function Db(e,t,n){let r=e.createShader(t);return r?(e.shaderSource(r,n),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(rt(`shader failed to compile: ${e.getShaderInfoLog(r)??\"(no log)\"}`),e.deleteShader(r),null)):null}function zR(e,t){let n=Db(e,e.VERTEX_SHADER,$R),r=n?Db(e,e.FRAGMENT_SHADER,t):null;if(!n||!r)return 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:(rt(`program failed to link: ${e.getProgramInfoLog(i)??\"(no log)\"}`),e.deleteProgram(i),null)):null}var Pb=\"position:absolute;inset:0;width:100%;height:100%;pointer-events:none;\";function qR(e){let t=e.querySelector(\"canvas.hf-vfx-out\");if(Ir(t))return t.style.cssText=Pb+t.style.cssText,t;let n=document.createElement(\"canvas\");return n.className=\"hf-vfx-out\",n.style.cssText=Pb,e.appendChild(n),n}function jR(e,t,n){let r={};for(let i of n.params)i.kind!==\"ref\"&&(r[i.key]=e.getUniformLocation(t,`u_${i.key}`));return{size:e.getUniformLocation(t,\"u_size\"),t:e.getUniformLocation(t,\"u_t\"),fps:e.getUniformLocation(t,\"u_fps\"),src:e.getUniformLocation(t,\"u_src\"),src2:e.getUniformLocation(t,\"u_src2\"),hasSrc2:e.getUniformLocation(t,\"u_hasSrc2\"),params:r}}function KR(e,t,n,r){return r.optional?{kind:\"none\"}:(rt(`${Tt(e)}: node \"${t.id}\" (${n.id}) needs a \"${r.key}\" param naming the id of the element to read as its second source.`),{kind:\"error\"})}function YR(e,t,n,r,i,o){let a=n.params.find(d=>d.kind===\"ref\");if(!a)return{kind:\"none\"};let s=r[a.key];if(typeof s!=\"string\"||s===\"\")return KR(e,t,n,a);let l=e.ownerDocument.getElementById(s);if(!xe(l))return rt(`${Tt(e)}: node \"${t.id}\" (${n.id}) names \"${a.key}\" element #${s}, which is not in the composition.`),{kind:\"error\"};if(l===e)return a.optional?{kind:\"none\"}:{kind:\"self\"};let u=o.get(l);if(u)return{kind:\"source\",source:u};let f=zb(l,i,`${Tt(e)}: \"${a.key}\" source`);return f?(f.visible=f.canvas.hasAttribute(WR),o.set(l,f),{kind:\"source\",source:f}):{kind:\"error\"}}function XR(e,t,n){let r=[],i=new Map;for(let o of nc(t)){let a=Mb(o.type);if(!a)return rt(`node \"${o.id}\" has unknown effect type \"${o.type}\"`),null;let s=zR(e,a.frag);if(!s)return rt(`node \"${o.id}\" (${a.id}) has no usable program`),null;let l=Nb(a.id,o.params),u=YR(n,o,a,l,e,i);if(u.kind===\"error\")return null;r.push({node:o,def:a,program:s,params:l,locations:jR(e,s,a),...u.kind===\"source\"?{ref:u.source}:{},selfRef:u.kind===\"self\"})}return r}function JR(e){let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),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),t}function QR(e){let t=e.parentElement;if(!t||e.id===\"\")return null;let n=t.children;for(let r=0;r<n.length;r++){let i=n.item(r);if(Ir(i)&&i.classList.contains(\"hf-vfx-src\")&&i.getAttribute(\"data-vfx-for\")===e.id)return i}return null}function zb(e,t,n){let r=QR(e),i=r??e.querySelector(\"canvas.hf-vfx-src\"),o=Ir(i)?i.querySelector(\":scope > .hf-vfx-in\"):null;if(!Ir(i)||!xe(o)){rt(`${n}: a capturing chain needs <canvas layoutsubtree class=\"hf-vfx-src\"><div class=\"hf-vfx-in\">\\u2026</div></canvas> in source \\u2014 inside the element for its own pixels, or beside it with data-vfx-for=\"${e.id}\" for the layers below it.`);return}let a=i.getContext(\"2d\");if(!a||typeof a.drawElementImage!=\"function\"){rt(`${n}: drawElementImage is unavailable, so the layer cannot be captured. In Studio, enable chrome://flags/#canvas-draw-element.`);return}return{canvas:i,inner:o,ctx:a,texture:JR(t),backdrop:r!==null,visible:!1,emptyBoxReported:!1,laidOutEmpty:sn(o)===null}}function ZR(e){e.out.addEventListener(\"webglcontextlost\",t=>{t.preventDefault(),!(!Gt.includes(e)||e.contextLost)&&(e.contextLost=!0,rt(`${Tt(e.host)}: WebGL context lost.`))})}function eT(e){try{return Ib(e.getAttribute(tc)??\"\")}catch(t){let n=t instanceof mt?t.message:String(t);return rt(`${Tt(e)}: ${n}`),null}}function tT(e){let t=eT(e);if(!t)return null;let n=qR(e),r=n.getContext(\"webgl2\",VR);if(!r)return rt(`${Tt(e)}: WebGL2 is unavailable, so the chain cannot paint.`),n.remove(),null;let i=XR(r,t,e);if(!i)return n.remove(),null;let o=Fb(t),a=o===\"none\"?void 0:zb(e,r,Tt(e));if(o!==\"none\"&&!a)return n.remove(),null;let s=a?.backdrop?\"backdrop\":o,l={host:e,chain:t,capture:s,out:n,gl:r,passes:i,src:a,contextLost:!1};return ZR(l),l}function sc(e){let t=getComputedStyle(e);return t.display!==\"none\"&&t.visibility!==\"hidden\"}function qb(e){if(getComputedStyle(e.inner).visibility===\"hidden\")return!1;for(let t=e.inner;t;t=t.parentElement)if(getComputedStyle(t).display===\"none\")return!1;return!0}function Tt(e){return e.id?`#${e.id}`:`<${e.tagName.toLowerCase()}>`}function br(e){let t=e.src?[e.src]:[];for(let n of e.passes)n.ref&&!t.includes(n.ref)&&t.push(n.ref);return t}function lc(e){return e.src?.backdrop===!0}function Hi(e){let t=[];for(let n of e.passes)n.ref?.visible&&!t.includes(n.ref)&&t.push(n.ref);return t}function nT(){for(let e of Gt){let{gl:t}=e;for(let n of e.passes)t.deleteProgram(n.program);for(let n of br(e))t.deleteTexture(n.texture);if(e.ping){for(let n of e.ping.textures)t.deleteTexture(n);for(let n of e.ping.framebuffers)t.deleteFramebuffer(n)}}}function Ha(e,t){nT(),Gt=[],Ub=Number.isFinite(t)&&t>0?t:30;let n=e.querySelectorAll(`[${tc}]`);for(let r of n){if(!xe(r))continue;let i=tT(r);i&&Gt.push(i)}return Gt}function sn(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1,n=Math.round(e.offsetWidth*t),r=Math.round(e.offsetHeight*t);return n>0&&r>0?{width:n,height:r}:null}function Ob(e,t,n){let r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,n,0,e.RGBA,e.UNSIGNED_BYTE,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),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);let i=e.createFramebuffer();return e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0),[r,i]}function rT(e,t,n){let r=e.ping;if(r&&r.width===t&&r.height===n)return r;let{gl:i}=e;if(r){for(let l of r.textures)i.deleteTexture(l);for(let l of r.framebuffers)i.deleteFramebuffer(l)}let o=Ob(i,t,n),a=Ob(i,t,n),s={textures:[o[0],a[0]],framebuffers:[o[1],a[1]],width:t,height:n};return e.ping=s,s}function iT(e,t,n){if(e.kind===\"ref\")return null;if(e.kind===\"number\"&&e.animatable){let i=n.getPropertyValue(`--vfx-${t.node.id}-${e.key}`).trim(),o=i===\"\"?Number.NaN:Number.parseFloat(i);if(Number.isFinite(o))return Math.min(e.max,Math.max(e.min,o))}let r=t.params[e.key];return typeof r==\"boolean\"?r?1:0:typeof r==\"number\"?r:0}function oT(e,t,n,r,i,o){let{gl:a}=e,{locations:s}=t;a.uniform2f(s.size,i,o),a.uniform1f(s.t,r),a.uniform1f(s.fps,Ub),a.uniform1f(s.hasSrc2,t.ref||t.selfRef?1:0);for(let l of t.def.params){let u=iT(l,t,n);u!==null&&a.uniform1f(s.params[l.key]??null,u)}}function aT(e,t,n){return e===t||!n?null:n.framebuffers[e%2]??null}function sT(e,t,n){return t===0?e.src?.texture??null:n?.textures[(t-1)%2]??null}function lT(e,t,n,r){let{gl:i}=e,o=e.passes[t];i.bindFramebuffer(i.FRAMEBUFFER,aT(t,n,r));let a=sT(e,t,r);a&&Hb(i,o.locations.src,a,0),o.ref?(Hb(i,o.locations.src2,o.ref.texture,1),i.activeTexture(i.TEXTURE0)):o.selfRef&&a&&i.uniform1i(o.locations.src2,0)}function Hb(e,t,n,r){e.activeTexture(r===0?e.TEXTURE0:e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t,r)}function uc(e,t){let n=sn(e.host);if(!n)return;let{gl:r,out:i,passes:o}=e;i.width!==n.width&&(i.width=n.width),i.height!==n.height&&(i.height=n.height);let a=o.length>1?rT(e,n.width,n.height):null,s=getComputedStyle(e.host),l=o.length-1;for(let u=0;u<=l;u++){let f=o[u];r.useProgram(f.program),lT(e,u,l,a),r.viewport(0,0,n.width,n.height),oT(e,f,s,t,n.width,n.height),r.drawArrays(r.TRIANGLES,0,3)}}function jb(e,t){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.canvas),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0)}var uT={upload:!0,keepBitmap:!1},cT={upload:!1,keepBitmap:!0},dT={upload:!0,keepBitmap:!0},fT={upload:!1,keepBitmap:!0};function Kb(e,t){e.canvas.width!==t.width&&(e.canvas.width=t.width),e.canvas.height!==t.height&&(e.canvas.height=t.height)}function Gb(e,t,n,r){return Kb(t,n),t.ctx.clearRect(0,0,n.width,n.height),r.upload&&jb(e.gl,t),!0}function cc(e,t,n,r,i){if(!qb(t))return Gb(e,t,n,i);if(sn(t.inner)===null)return t.emptyBoxReported||(t.emptyBoxReported=!0,$b(`${Tt(e.host)}: the .hf-vfx-in wrapper measures 0\\xD70, so its capture would be empty. Inside a layoutsubtree canvas an inset or percentage box has no size \\u2014 the wrapper must state an explicit width and height in px.`)),Gb(e,t,n,i);Kb(t,n),t.ctx.clearRect(0,0,n.width,n.height);try{t.ctx.drawElementImage(t.inner,0,0,n.width,n.height)}catch(o){return r||rt(`${Tt(e.host)}: drawElementImage failed: ${o.message} In Studio, enable chrome://flags/#canvas-draw-element.`),!1}return i.upload&&jb(e.gl,t),i.keepBitmap||t.ctx.clearRect(0,0,n.width,n.height),!0}function Yb(e,t){return e.visible?sn(e.inner)??t:t}function Xb(e,t=!1){let n=sn(e.host),r=br(e);if(!n||r.length===0)return!1;let i=!0;for(let o of r){let a=o.visible?dT:uT;cc(e,o,Yb(o,n),t,a)||(i=!1)}return i}function Jb(e,t=!1){let n=e.src;if(!n)return!1;let r=sn(e.host)??sn(n.inner);return r?cc(e,n,r,t,cT):!1}function oc(e,t=!1){let n=!0;for(let r of Hi(e)){let i=Yb(r,{width:0,height:0});cc(e,r,i,t,fT)||(n=!1)}return n}function mT(e){let t=!1;return lc(e)&&Jb(e)&&(t=!0),Hi(e).length>0&&oc(e)&&(t=!0),t}function pT(){let e=!1;for(let t of Gt)if(!t.contextLost&&br(t).length!==0){if(!sc(t.host)){mT(t)&&(e=!0);continue}Xb(t)&&(uc(t,Wb),e=!0)}return Vb=ac,window.__hf_page_composite_pending=!1,e}function hT(){let e=window,t=e.__hf_page_composite_resolve;t!==rc&&(ic=typeof t==\"function\"?t:null,rc=()=>{let n=ic?ic():!1;return pT()||n},e.__hf_page_composite_resolve=rc),e.__hf_page_composite_pending=!0}var Qb=2e3;function gT(e){return new Promise(t=>{let n=!1,r=a=>{n||(n=!0,clearTimeout(o),e.removeEventListener(\"paint\",i),t(a))},i=()=>r(\"painted\"),o=setTimeout(()=>r(\"timeout\"),Qb);e.addEventListener(\"paint\",i,{once:!0});try{e.requestPaint?.()}catch{}if(typeof requestAnimationFrame!=\"function\"){r(\"painted\");return}requestAnimationFrame(()=>requestAnimationFrame(()=>r(\"painted\")))})}async function bT(e,t){return(await Promise.all(t.map(r=>gT(r.canvas)))).includes(\"timeout\")?($b(`${Tt(e.host)}: no paint arrived within ${Qb}ms, so this frame's capture was skipped (a BeginFrame-controlled compositor without a tick for this frame is a known cause).`),!1):!0}function xT(e){return sc(e.host)?\"paint\":lc(e)?\"passThrough\":\"refOnly\"}function yT(e,t){return(t===\"passThrough\"?[...e.src?[e.src]:[],...Hi(e)]:t===\"refOnly\"?Hi(e):br(e)).filter(qb)}function ST(e,t){return t!==ac||Vb===t?!1:Gt.includes(e)&&!e.contextLost}async function vT(e,t,n,r){let i=xT(e);if(await bT(e,yT(e,i))&&ST(e,n)){if(i===\"passThrough\"){Jb(e,r),oc(e,r);return}if(i===\"refOnly\"){oc(e,r);return}Xb(e,r)&&uc(e,t)}}async function ET(e,t,n,r){await Promise.all(e.map(i=>vT(i,t,n,r)))}function AT(){for(let e of Gt.flatMap(br)){let t=sn(e.inner)===null;e.laidOutEmpty&&!t&&e.canvas.insertBefore(e.inner,e.inner.nextSibling),e.laidOutEmpty=t}}function dc(e,t){Wb=e;let n=++ac;AT();let r=[];for(let i of Gt)if(!i.contextLost){if(!sc(i.host)){(lc(i)||Hi(i).length>0)&&r.push(i);continue}br(i).length>0?r.push(i):uc(i,e)}r.length!==0&&(t?.engineMode&&hT(),tt(ET(r,e,n,t?.engineMode===!0)))}var wT=500,_T=33,CT=3,Ga=class{constructor(t){de(this,\"_baseTime\",0);de(this,\"_playStartMs\",null);de(this,\"_rate\",1);de(this,\"_duration\",1/0);de(this,\"_playStart\",0);de(this,\"_playEnd\",1/0);de(this,\"_playHold\",1/0);de(this,\"_nowMs\");de(this,\"_audioSource\",null);de(this,\"_lastReadMs\",null);de(this,\"_lastNow\",0);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:r=this._elementTimeNeverBehind(this._audioSource),r!==null){let i=Math.min(r,this.getEnd());return this._baseTime=Math.max(0,i),this._playStartMs=this._nowMs(),this._lastReadMs=null,this._lastNow=this._baseTime,this._baseTime}}this._applyStallCorrection();let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return this._lastNow=Math.max(0,Math.min(n,this.getEnd())),this._lastNow}_elementTimeNeverBehind(t){let{el:n,compositionStart:r,mediaStart:i,rate:o}=t;if(n.paused||!Number.isFinite(n.currentTime))return null;if(n.seeking)return this._lastNow;let a=o??1,s=En(a,n.currentTime-i)+r;return s>=this._lastNow?s:this._heldTimeWhenBehind(n,this._lastNow-s,a)}_heldTimeWhenBehind(t,n,r){return t.loop&&n>En(r,t.duration)/2?null:t.readyState<CT||n<=pl?this._lastNow:null}_applyStallCorrection(){if(this._playStartMs===null)return;let t=this._nowMs();if(this._lastReadMs!==null){let n=t-this._lastReadMs;n>wT&&(this._playStartMs+=n-_T)}this._lastReadMs=t}play(){return this._playStartMs!==null||this._baseTime>=this.getEnd()?!1:(this._playStartMs=this._nowMs(),this._lastNow=this._baseTime,this._lastReadMs=null,!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._lastNow=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs(),this._lastReadMs=null)}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._lastReadMs=null),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}setPlayRange(t,n,r){this._playStart=Number.isFinite(t)&&t>0?t:0,this._playEnd=n!==null&&Number.isFinite(n)&&n>this._playStart?n:1/0,this._playHold=ff(this._playStart,this._playEnd,r)}getPlayStart(){return this._playStart}getEnd(){return Math.min(this._duration,this._playEnd)}getStopTime(){return this._playEnd<this._duration?this._playHold:this.getEnd()}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs(),this._lastReadMs=null),this._audioSource=null}audioElement(){return this._audioSource&&\"el\"in this._audioSource?this._audioSource.el: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(){let t=this.now();return t>=this.getEnd()||this._playStartMs===null&&t>=this.getStopTime()}};var RT=100,TT=8,kT=4096,fc=e=>e;function MT(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t===\"linear\"&&!n}function NT(e){let t=Math.ceil(e*RT);return Math.min(kT,Math.max(TT,t))}function LT(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:s}=r,l=i??fc,u=A=>o+(A-a)/s,f=e.points[t],d=e.points[t+1],m=u(d.t);if(m<=o)return null;let x=Math.max(o,u(f.t)),h=m-x;if(h<=0)return null;if(MT(f,n,i))return{kind:\"ramp\",time:m,value:l(d.v)};let b=NT(h),g=Lf(e,Math.max(f.t,a),d.t,b,n),v=new Float32Array(b);for(let A=0;A<b;A+=1)v[A]=l(g[A]??0);return{kind:\"curve\",time:x,duration:h,values:v}}function FT(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let s=LT(e,a,t,n,r);s&&i.push(s)}let o=i[0];return o?.kind===\"curve\"&&o.time<=n.scheduledAt||i.unshift({kind:\"set\",time:n.scheduledAt,value:(r??fc)(Ft(e,n.elapsed,t))}),i}function IT(e,t){for(let n of t)if(n.kind===\"set\")e.setValueAtTime(n.value,n.time);else if(n.kind===\"ramp\")e.linearRampToValueAtTime(n.value,n.time);else try{e.setValueCurveAtTime(n.values,n.time,n.duration)}catch{let r=n.values[n.values.length-1]??0;e.linearRampToValueAtTime(r,n.time+n.duration)}}function Gi(e){for(let t of e)t.param.cancelScheduledValues(0)}function xr(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime==\"function\"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function mc(e,t,n,r){if(t.points.length!==0)for(let i of e){if(Gi([i]),Nf(t)){let o=(i.map??fc)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}IT(i.param,FT(t,n,r,i.map))}}function Zb(e,t,n,r,i){let o=new Map(n.filter(s=>s.id).map(s=>[s.id,s.handle])),a=[];for(let s of e.lanes){let l=Vr(s.target);if(!l)continue;let u=l.kind===\"preset\"?i?.[l.presetId]:l.kind===\"fx\"?o.get(l.nodeId)?.automation?.[l.param]:void 0;if(!u||u.length===0)continue;let f=Os(s.target,t);f&&(mc(u,s,f.scale,r),a.push(...u))}return a}function ex(e){return e.lanes.find(t=>t.target===Un)??null}var DT=`\nconst dbToLin = (db) => Math.pow(10, db / 20);\n\n/**\n * One-pole envelope followers, one per channel.\n *\n * Per channel matters: the followers advance once per sample, so a single shared\n * follower stepped once per channel per sample. On stereo that ran a 20 ms attack\n * as 10 ms, and gave the right channel a gain computed from an envelope that had\n * already traversed the left \\u2014 so the two channels ducked by different amounts\n * from the same input and the image pumped.\n */\nclass EnvBank {\n constructor(attackMs, releaseMs) { this.set(attackMs, releaseMs); this.values = []; }\n set(attackMs, releaseMs) {\n this.a = Math.exp(-1 / (sampleRate * Math.max(1e-5, attackMs / 1000)));\n this.r = Math.exp(-1 / (sampleRate * Math.max(1e-5, releaseMs / 1000)));\n }\n push(ch, x) {\n const prev = this.values[ch] ?? 0;\n const m = Math.abs(x);\n const c = m > prev ? this.a : this.r;\n const next = m + c * (prev - m);\n this.values[ch] = next;\n return next;\n }\n}\n\n/** Soft-knee gain computer in dB, matching acompressor's shape. */\nfunction kneeGain(envDb, thresholdDb, ratio, kneeDb) {\n const over = envDb - thresholdDb;\n if (kneeDb > 0 && over > -kneeDb && over < kneeDb) {\n const t = (over + kneeDb) / (2 * kneeDb);\n return -((1 - 1 / ratio) * kneeDb * t * t);\n }\n return over > 0 ? -(over * (1 - 1 / ratio)) : 0;\n}\n\n// log10/exp per sample is the single most expensive thing a dynamics processor\n// can do on the audio thread, and every sample below the knee needs neither:\n// its gain is exactly unity. Comparing envelopes in the linear domain lets the\n// quiet majority of samples skip the transcendentals entirely.\nconst LN10_OVER_20 = Math.LN10 / 20;\nconst dbToLinFast = (db) => Math.exp(db * LN10_OVER_20);\n\nclass HfCompressor extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 20, this.p.release ?? 250);\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 20, this.p.release ?? 250);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const makeup = dbToLin(p.makeup ?? 0);\n const mix = p.mix ?? 1;\n // Knee is expressed as a ratio in FFmpeg; convert to dB width.\n const kneeDb = 20 * Math.log10(Math.max(1.0001, p.knee ?? 2.83));\n const thresholdDb = p.threshold ?? -24;\n const ratio = p.ratio ?? 4;\n // Below this the gain computer returns unity, so the sample needs no\n // logarithm at all.\n const kneeStartLin = dbToLin(thresholdDb - kneeDb);\n const dry = 1 - mix;\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n // Per-channel follower, and the sub-knee shortcut: below the knee the\n // gain is exactly unity, so the sample needs no logarithm at all.\n const env = this.env.push(ch, x);\n if (env <= kneeStartLin) {\n out[n] = x * makeup * mix + x * dry;\n continue;\n }\n const envDb = 20 * Math.log10(env);\n const g = dbToLinFast(kneeGain(envDb, thresholdDb, ratio, kneeDb));\n out[n] = x * g * makeup * mix + x * dry;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-compressor\", HfCompressor);\n\nclass HfLimiter extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 5, this.p.release ?? 50);\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 5, this.p.release ?? 50);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const ceiling = dbToLin(this.p.limit ?? -1);\n const outGain = dbToLin(this.p.level_out ?? 0);\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n const env = this.env.push(ch, x);\n // Only ever attenuate: a limiter that can raise level is a compressor.\n const g = env > ceiling ? ceiling / env : 1;\n out[n] = x * g * outGain;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-limiter\", HfLimiter);\n\nclass HfGate extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.env = new EnvBank(this.p.attack ?? 1, this.p.release ?? 100);\n this.gains = [];\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n this.env.set(this.p.attack ?? 1, this.p.release ?? 100);\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const threshold = dbToLin(p.threshold ?? -35);\n const floor = dbToLin(p.range ?? -24);\n const ratio = p.ratio ?? 10;\n // Knee is declared in the registry as a ratio, like the compressor's; a\n // hard threshold ignored it and chattered on material sitting right at the\n // gate point.\n const kneeDb = 20 * Math.log10(Math.max(1.0001, p.knee ?? 2.83));\n const kneeLin = dbToLin((p.threshold ?? -35) + kneeDb);\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n for (let n = 0; n < inp.length; n++) {\n const x = inp[n];\n const env = this.env.push(ch, x);\n let target = 1;\n // Above the threshold the gate is fully open; skip the pow entirely.\n if (env < threshold) {\n const under = env > 1e-9 ? threshold / env : 1e9;\n target = Math.max(floor, 1 / Math.pow(under, ratio - 1));\n if (!isFinite(target)) target = floor;\n }\n // Smooth toward the target so the gate does not click on every sample.\n const held = this.gains[ch] ?? 1;\n const c = target < held ? this.env.r : this.env.a;\n const smoothed = target + c * (held - target);\n this.gains[ch] = smoothed;\n out[n] = x * smoothed;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-gate\", HfGate);\n\nclass HfBitcrush extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.holds = [];\n this.held = [];\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const levels = Math.pow(2, (p.bits ?? 8) - 1);\n const step = Math.max(1, Math.round(p.samples ?? 1));\n const mix = p.mix ?? 1;\n for (let ch = 0; ch < i.length; ch++) {\n const inp = i[ch], out = o[ch];\n if (this.held[ch] === undefined) this.held[ch] = 0;\n if (this.holds[ch] === undefined) this.holds[ch] = 0;\n for (let n = 0; n < inp.length; n++) {\n // Per channel: advancing one shared counter only on the last channel\n // left every earlier channel either unheld or frozen for a whole\n // 128-sample quantum, clicking once a block.\n if (this.holds[ch] === 0) this.held[ch] = Math.round(inp[n] * levels) / levels;\n out[n] = this.held[ch] * mix + inp[n] * (1 - mix);\n this.holds[ch] = (this.holds[ch] + 1) % step;\n }\n }\n return true;\n }\n}\nregisterProcessor(\"hf-bitcrush\", HfBitcrush);\n\n/** Linear-interpolated read, \\`delaySamples\\` behind the write head. */\nfunction readTap(ring, write, delaySamples) {\n const len = ring.length;\n const pos = (write - 1 - delaySamples + len) % len;\n const i0 = Math.floor(pos);\n const frac = pos - i0;\n const i1 = (i0 + 1) % len;\n return ring[i0] * (1 - frac) + ring[i1] * frac;\n}\n\n/** Equal-power-ish crossfade, zero at a tap's reset point \\u2014 hides the splice. */\nfunction xfade(phase) {\n return Math.sin(Math.PI * phase);\n}\n\n/**\n * Dual-tap granular delay line: two read taps 180\\xB0 apart in a 100 ms grain,\n * each sweeping at a speed relative to the write head that shifts pitch\n * without changing duration. One tap is always fading in as the other fades\n * out, which hides the splice each tap makes when it wraps.\n *\n * write/phase are block-level state, advanced once per SAMPLE across all\n * channels together (not once per channel) \\u2014 advancing them inside the\n * per-channel loop would move the tap 2x/4x too fast on a stereo/quad input.\n */\nclass HfPitchshift extends AudioWorkletProcessor {\n constructor(o) {\n super();\n this.p = o.processorOptions || {};\n this.grain = Math.round(sampleRate * 0.1);\n this.buf = [];\n this.write = 0;\n this.phase = 0;\n // Samples written so far, capped at one grain. The taps read up to a grain\n // behind the write head, so until this fills they would read the ring's\n // zeros \\u2014 the head of every clip came out attenuated or silent.\n this.filled = 0;\n // How much of the wet (pitch-shifted) path is currently in the output, and\n // where it is heading. Crossing between dry and wet is a ~50 ms jump in the\n // signal, so it is RAMPED rather than switched: a hard swap either way is a\n // click. Ramping in both directions is also what lets a node return to true\n // bypass at semitones 0 \\u2014 a one-way latch left preview stuck with the delay\n // that the render, building a fresh node from the attribute, does not have.\n this.wet = 0;\n this.wetTarget = 0;\n // ~15 ms one-pole, short enough to feel immediate on a slider drag and long\n // enough that the splice is inaudible.\n this.wetCoef = Math.exp(-1 / (sampleRate * 0.015));\n this.port.onmessage = (e) => {\n if (e.data && e.data.__hfDispose) { this.dead = true; return; }\n this.p = { ...this.p, ...e.data };\n };\n }\n process(inputs, outputs) {\n if (this.dead) return false;\n const i = inputs[0], o = outputs[0];\n if (!i || !i.length) return true;\n const p = this.p;\n const semitones = Math.max(-12, Math.min(12, p.semitones ?? 0));\n const mix = Math.max(0, Math.min(1, p.mix ?? 1));\n const grain = this.grain;\n const ringLen = grain * 2;\n const n = i[0] ? i[0].length : 0;\n for (let ch = 0; ch < i.length; ch++) {\n if (!this.buf[ch]) this.buf[ch] = new Float32Array(ringLen);\n }\n\n // Nothing to shift, or mixed fully out. The grain delay is ~grain/2\n // whatever the ratio, so at semitones=0 this degenerated into a pure 50 ms\n // delay of the signal \\u2014 while the copy for that exact setting reads\n // \"Unchanged pitch\".\n this.wetTarget = semitones === 0 ? 0 : mix;\n\n // Fully dry AND settled: take the cheap transparent path. The ring keeps\n // filling, so a later shift does not start cold.\n if (this.wetTarget === 0 && this.wet < 1e-4) {\n this.wet = 0;\n let w = this.write;\n for (let s = 0; s < n; s++) {\n for (let ch = 0; ch < i.length; ch++) {\n const x = i[ch][s];\n this.buf[ch][w] = x;\n o[ch][s] = x;\n }\n w = (w + 1) % ringLen;\n }\n this.write = w;\n this.filled = Math.min(grain, this.filled + n);\n return true;\n }\n\n const ratio = Math.pow(2, semitones / 12);\n const inc = (1 - ratio) / grain;\n let write = this.write, phase = this.phase, filled = this.filled, wetNow = this.wet;\n const target = this.wetTarget, coef = this.wetCoef;\n for (let s = 0; s < n; s++) {\n phase += inc;\n phase -= Math.floor(phase);\n const phaseB = (phase + 0.5) % 1;\n const gA = xfade(phase), gB = xfade(phaseB);\n // Ramp the wet path in as the ring fills rather than reading zeros:\n // 100 ms of unshifted audio at the head of a clip beats 50 ms of silence.\n const warm = filled >= grain ? 1 : filled / grain;\n wetNow = target + coef * (wetNow - target);\n const wetMix = wetNow * warm;\n for (let ch = 0; ch < i.length; ch++) {\n const ring = this.buf[ch];\n const inp = i[ch], out = o[ch];\n const x = inp[s];\n ring[write] = x;\n const wet =\n readTap(ring, write, phase * grain) * gA + readTap(ring, write, phaseB * grain) * gB;\n out[s] = x * (1 - wetMix) + wet * wetMix;\n }\n write = (write + 1) % ringLen;\n if (filled < grain) filled++;\n }\n this.write = write;\n this.phase = phase;\n this.filled = filled;\n this.wet = wetNow;\n return true;\n }\n}\nregisterProcessor(\"hf-pitchshift\", HfPitchshift);\n`,pc=new WeakMap;function hc(e){return tx.has(e)}var tx=new WeakSet;function gc(e){let t=pc.get(e);return t||(t=(async()=>{if(!e.audioWorklet)throw new Error(\"AudioWorklet is unavailable \\u2014 the page needs a secure context (https, localhost or file://)\");let n=`data:text/javascript;base64,${btoa(String.fromCharCode(...new TextEncoder().encode(DT)))}`;await e.audioWorklet.addModule(n),tx.add(e)})().catch(n=>{throw pc.delete(e),n}),pc.set(e,t)),t}function PT(e,t,n){let r=.6+Math.max(0,Math.min(1,t))*2.6,i=Math.max(1,Math.floor(e*r)),o=new Float32Array(i),a=Math.round(t*1e3)*2654435761+Math.round(n*1e3)*40503>>>0,s=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),l=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,f=0;for(let m=0;m<i;m++){u+=l*(s()-u);let x=u*Math.pow(1-m/i,2.5);o[m]=x,f+=x*x}let d=Math.sqrt(f);if(d>0)for(let m=0;m<i;m++)o[m]=(o[m]??0)/d;return o}var ve=e=>typeof e==\"number\"?e:Number(e??0),bc=e=>e/1e3;function ox(e,t,n,r){let i=Math.max(1,Math.round(e.sampleRate)),o=e.createBuffer(1,i,e.sampleRate),a=o.getChannelData(0);for(let u=0;u<i;u++){let f=u/i;a[u]=t===\"sine\"?Math.sin(2*Math.PI*f):4*Math.abs((f+.75)%1-.5)-1}let s=e.createBufferSource();s.buffer=o,s.loop=!0,s.playbackRate.value=n;let l=(r*n%1+1)%1*(i/e.sampleRate);return s.start(typeof e.currentTime==\"number\"?e.currentTime:0,l),s}function ax(e){try{e.stop()}catch{}e.disconnect()}function xc(e,t){return[{param:e},{param:t,map:n=>1-n}]}function sx(e,t,n){e.gain.value=n,t.gain.value=1-n}function yc(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var OT=new Set([\"peaking\",\"highpass\",\"lowpass\"]),nx=e=>Math.pow(10,e/20),HT=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=nx(ve(i.gain))};return r(t),yc(n,r,{gain:[{param:n.gain,map:nx}]})};function Bi(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=ve(a.frequency),a.q!==void 0&&(i.Q.value=ve(a.q)),t&&(i.gain.value=ve(a.gain))};return o(r),yc(i,o,{frequency:[{param:i.frequency}],...OT.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function GT(e){return(t,n)=>{let r=Math.tan(Math.PI*ve(n.frequency)/t.sampleRate),i=e===\"highpass\"?t.createIIRFilter([1/(1+r),-1/(1+r)],[1,(r-1)/(r+1)]):t.createIIRFilter([r/(1+r),r/(1+r)],[1,(r-1)/(r+1)]);return yc(i,()=>{})}}function Ui(e){return(t,n)=>{let r=new AudioWorkletNode(t,e,{processorOptions:{...n}});return{input:r,output:r,update:i=>r.port.postMessage({...i}),dispose:()=>{r.port.postMessage({__hfDispose:!0}),r.disconnect()}}}}var BT={tanh:Math.tanh,atan:e=>2/Math.PI*Math.atan(Math.PI/2*e),cubic:e=>Math.abs(e)>=1?Math.sign(e):e-e**3/3,exp:e=>Math.sign(e)*(1-Math.exp(-Math.abs(e))),alg:e=>e/Math.sqrt(1+e*e),quintic:e=>Math.abs(e)>=1?Math.sign(e):e-e**5/5,sin:e=>Math.abs(e)>=1?Math.sign(e):Math.sin(Math.PI/2*e),erf:e=>Math.tanh(1.20211*e),hard:e=>Math.max(-1,Math.min(1,e))},UT=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let s=BT[String(a.type)]??Math.tanh,l=Math.pow(10,ve(a.threshold)/20),u=8192,f=new Float32Array(u);for(let d=0;d<u;d++){let m=d/(u-1)*2-1;f[d]=s(m/Math.max(1e-6,l))*l}n.curve=f,n.oversample=ve(a.oversample)>=4?\"4x\":ve(a.oversample)>=2?\"2x\":\"none\",i.gain.value=Math.pow(10,ve(a.output)/20)};return o(t),{input:r,output:i,update:o,automation:{output:[{param:i.gain,map:a=>Math.pow(10,a/20)}]},dispose:()=>{r.disconnect(),n.disconnect(),i.disconnect()}}},WT=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),s=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(s).connect(r);let l=u=>{i.delayTime.value=Math.min(5,ve(u.time)/1e3),o.gain.value=ve(u.feedback),sx(a,s,ve(u.mix))};return l(t),{input:n,output:r,update:l,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,bc(u))}],feedback:[{param:o.gain}],mix:xc(a.gain,s.gain)},dispose:()=>[n,r,i,o,a,s].forEach(u=>u.disconnect())}},VT=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=ox(e,\"sine\",ve(t.speed),n),s=e.createGain(),l=e.createGain(),u=e.createGain();a.connect(s).connect(o.delayTime),r.connect(o).connect(l).connect(i),r.connect(u).connect(i);let f=d=>{o.delayTime.value=ve(d.delay)/1e3,s.gain.value=ve(d.depth)/1e3,a.playbackRate.value=ve(d.speed),sx(l,u,ve(d.mix))};return f(t),{input:r,output:i,update:f,automation:{delay:[{param:o.delayTime,map:bc}],depth:[{param:s.gain,map:bc}],speed:[{param:a.playbackRate}],mix:xc(l.gain,u.gain)},dispose:()=>{ax(a),[r,i,o,s,l,u].forEach(d=>d.disconnect())}}},$T=6,zT=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),s=ox(e,String(t.type)===\"1\"?\"sine\":\"triangle\",ve(t.speed),n),l=e.createGain(),u=e.createGain(),f=e.createGain(),d=[];r.connect(o);let m=o;for(let h=0;h<$T;h++){let b=e.createBiquadFilter();b.type=\"allpass\",b.Q.value=.7071,l.connect(b.frequency),m.connect(b),m=b,d.push(b)}s.connect(l),m.connect(u).connect(a),o.connect(f).connect(a),a.connect(i);let x=h=>{let b=1e3/Math.max(.1,ve(h.delay));for(let g of d)g.frequency.value=b;l.gain.value=b*ve(h.decay),s.playbackRate.value=ve(h.speed),o.gain.value=ve(h.in_gain),a.gain.value=ve(h.out_gain),u.gain.value=1,f.gain.value=1};return x(t),{input:r,output:i,update:x,automation:{speed:[{param:s.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{ax(s),[r,i,o,a,l,u,f,...d].forEach(h=>h.disconnect())}}},qT=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createConvolver(),o=e.createGain(),a=e.createGain();i.normalize=!1,n.connect(i).connect(o).connect(r),n.connect(a).connect(r);let s=\"\",l=u=>{let f=`${ve(u.size)}:${ve(u.damping)}`;if(f!==s){let d=PT(e.sampleRate,ve(u.size),ve(u.damping)),m=e.createBuffer(1,d.length,e.sampleRate);m.getChannelData(0).set(d),i.buffer=m,s=f}o.gain.value=ve(u.wet),a.gain.value=ve(u.dry)};return l(t),{input:n,output:r,update:l,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},jT={\"gain-node\":HT,\"biquad-peaking\":Bi(\"peaking\",!0),\"biquad-lowshelf\":Bi(\"lowshelf\",!0),\"biquad-highshelf\":Bi(\"highshelf\",!0),\"biquad-highpass\":Bi(\"highpass\",!1),\"biquad-lowpass\":Bi(\"lowpass\",!1),\"worklet-compressor\":Ui(\"hf-compressor\"),\"worklet-limiter\":Ui(\"hf-limiter\"),\"worklet-gate\":Ui(\"hf-gate\"),\"worklet-bitcrush\":Ui(\"hf-bitcrush\"),\"worklet-pitchshift\":Ui(\"hf-pitchshift\"),waveshaper:UT,\"delay-feedback\":WT,\"chorus-lfo\":VT,\"allpass-phaser\":zT,convolver:qT};function lx(e){return e.nodes.some(t=>Gr(t.type)?.web.startsWith(\"worklet-\")??!1)}function KT(e,t,n,r=0){let i=Gr(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=Br(t,n);if((t===\"highpass\"||t===\"lowpass\")&&String(o.poles)===\"1\")return GT(t)(e,o,r);let a=jT[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function rx(e){let t=[];for(let n of e){let r=n.fromPreset,i=t.at(-1);if(i&&i.preset===r)i.nodes.push(n);else{let o=typeof n.presetAmount==\"number\"?n.presetAmount:1;t.push({...r?{preset:r}:{},amount:Math.min(1,Math.max(0,o)),nodes:[n]})}}return t}function ix(e){return Ur(e).map(t=>{let n=Br(t.type,t.params),r=n.poles!==void 0?`:${n.poles}`:\"\",i=String(n.poles)===\"1\"?`@${n.frequency}`:\"\",o=t.type===\"phaser\"?`~${n.type}`:\"\",a=t.fromPreset?`%${t.fromPreset}`:\"\";return`${t.type}${r}${i}${o}${a}`}).join(\"|\")}function ux(e,t,n=0){var d;let r=e.createGain(),i=e.createGain(),o=[],a=[],s=rx(Ur(t)),l=r;for(let m of s){let x=null;if(m.preset){let h=e.createGain(),b=e.createGain(),g=e.createGain(),v=e.createGain();g.gain.value=m.amount,b.gain.value=1-m.amount,l.connect(h),h.connect(b).connect(v),x={entry:h,wet:g,dry:b,join:v},l=h}for(let h of m.nodes){let b=KT(e,h.type,h.params??{},n);l.connect(b.input),l=b.output,o.push({...h.id?{id:h.id}:{},type:h.type,handle:b})}x&&m.preset&&(l.connect(x.wet).connect(x.join),a.push({id:m.preset,...x}),l=x.join)}l.connect(i);let u=ix(t),f={};for(let m of a)(f[d=m.id]??(f[d]=[])).push(...xc(m.wet.gain,m.dry.gain));return{input:r,output:i,presets:f,nodes:o,update(m){if(ix(m)!==u)return!1;Ur(m).forEach((h,b)=>{let g=o[b];g&&(g.handle.update(Br(h.type,h.params)),h.id===void 0?delete g.id:g.id=h.id)});let x=0;for(let h of rx(Ur(m))){if(!h.preset)continue;let b=a[x++];!b||b.id!==h.preset||(b.wet.gain.value=h.amount,b.dry.gain.value=1-h.amount)}return!0},dispose(){for(let{handle:m}of o)m.dispose();for(let{entry:m,wet:x,dry:h,join:b}of a)m.disconnect(),x.disconnect(),h.disconnect(),b.disconnect();r.disconnect(),i.disconnect()}}}var cx={version:1,nodes:[]},dx={version:1,lanes:[]};function fx(e,t){let n=(typeof e.getAttribute==\"function\"?e.getAttribute(Lt):null)??\"\";if(!n)return dx;try{return Mf(To(n),t)}catch{return dx}}function yr(e){let t=(typeof e.getAttribute==\"function\"?e.getAttribute(vn):null)??\"\";if(!t)return{chain:cx,raw:\"\"};try{return{chain:_f(t),raw:t}}catch{return{chain:cx,raw:\"\"}}}function mx(e){return fx(e,yr(e).chain)}function Ba(e,t,n,r,i){let{chain:o}=yr(t),a=null,s=[],l=!1,u=0,f=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},d=(E,k)=>{if(E.nodes.length===0){n.connect(r);return}if(lx(E)&&!hc(e)){n.connect(r);let P=++u;gc(e).then(()=>{l||P!==u||g(yr(t).chain)}).catch(()=>{});return}try{let P=ux(e,E,k);n.connect(P.input),P.output.connect(r),a=P}catch{n.connect(r)}},m=(E,k)=>{s=k&&a?Zb(fx(t,E),E,a.nodes,k,a.presets):[]},x=i?{...i}:null;d(o,x?.elapsed??0),m(o,x);let h=()=>{if(!x)return null;let E=typeof e.currentTime==\"number\"?e.currentTime:x.scheduledAt;return{scheduledAt:E,elapsed:x.elapsed+(E-x.scheduledAt)*x.rate,rate:x.rate}},b=E=>{let k=h();k&&(xr(s,k.scheduledAt),m(E,k))},g=E=>{let k=h();xr(s,k?.scheduledAt??0),f(),d(E,k?.elapsed??0),m(E,k)},v=null,A=t;return typeof MutationObserver<\"u\"&&typeof A?.nodeType==\"number\"&&(v=new MutationObserver(()=>{let E=yr(t);s.length>0&&Gi(s),!a||!a.update(E.chain)?g(E.chain):b(E.chain)}),v.observe(A,{attributes:!0,attributeFilter:[vn,Lt]})),{reanchor:E=>{if(l)return;let k=h();k&&xr(s,k.scheduledAt),x={...E},m(yr(t).chain,x)},setRate:E=>{let k=h();l||!k||!Number.isFinite(E)||E<=0||E===k.rate||(x={...k,rate:E},xr(s,k.scheduledAt),m(yr(t).chain,x))},dispose:()=>{l=!0,v?.disconnect(),s.length>0&&xr(s,typeof e.currentTime==\"number\"?e.currentTime:0),a?.dispose()}}}function px(e,t){e.getFloatTimeDomainData(t);let n=0;for(let r=0;r<t.length;r++)n=Math.max(n,Math.abs(t[r]??0));return n}function Sc(e,t){let n=e.createGain();n.channelCount=2,n.channelCountMode=\"explicit\";let r=e.createChannelSplitter(2),i=e.createAnalyser(),o=e.createAnalyser();i.fftSize=o.fftSize=2048,t.connect(n),n.connect(r),r.connect(i,0),r.connect(o,1);let a=new Float32Array(new ArrayBuffer(2048*4)),s=new Float32Array(new ArrayBuffer(2048*4));return{read:()=>({l:px(i,a),r:px(o,s)}),dispose:()=>{try{t.disconnect(n),n.disconnect(),r.disconnect()}catch{}}}}var hx=\"runtime_web_audio_bypass\";function vc(e,t){return typeof e.getAttribute==\"function\"?e.getAttribute(t):null}function Wi(e,t){return vc(e,t)!==null}function YT(e){return Wi(e,\"crossorigin\")?!0:e.crossOrigin!=null}function XT(e){return typeof e.baseURI==\"string\"&&e.baseURI?e.baseURI:typeof document<\"u\"?document.baseURI:\"\"}function JT(e){let t=typeof e.currentSrc==\"string\"?e.currentSrc:\"\";if(t)return[t];let n=vc(e,\"src\");if(n)return[n];if(typeof e.querySelectorAll!=\"function\")return[];let r=[];for(let i of Array.from(e.querySelectorAll(\"source\"))){let o=i.getAttribute(\"src\");o&&r.push(o)}return r}function QT(e,t){let n;try{n=new URL(e,XT(t))}catch{return null}return n.protocol!==\"http:\"&&n.protocol!==\"https:\"?null:n}function ZT(){return typeof window.origin==\"string\"?window.origin:window.location.origin}function ek(e,t){if(typeof window>\"u\")return null;let n=QT(e,t);if(!n)return null;let r=ZT(),i=r===\"null\";return!i&&n.origin===r||YT(t)?null:i?\"opaque_document_origin\":\"cross_origin_no_cors\"}function bx(e){return(typeof e.currentSrc==\"string\"?e.currentSrc:\"\")?!0:Wi(e,\"src\")}function Sr(e){for(let t of JT(e)){let n=ek(t,e);if(n)return{kind:\"decode-only\",reason:n,asset:t}}return{kind:\"web-audio\"}}function tk(e){let t=[];Wi(e,vn)&&t.push(\"fx-chain\"),Wi(e,Lt)&&t.push(\"automation\"),Wi(e,Vo)&&t.push(\"audio-group\");let n=Number.parseFloat(vc(e,\"data-volume\")??\"\");return Number.isFinite(n)&&n>1&&t.push(\"above-unity-gain\"),t}function nk(){return typeof window<\"u\"&&!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}var gx=new WeakSet,rk={cross_origin_no_cors:\"cross-origin media without a `crossorigin` opt-in is silent through createMediaElementSource (Web Audio spec); using native playback instead\",opaque_document_origin:\"this document's security origin is opaque (a sandbox without `allow-same-origin`), so no media is same-origin with it and createMediaElementSource would be silent (Web Audio spec); using native playback instead\"},ik={cross_origin_no_cors:\"proxy or download the asset to a same-origin URL to keep it.\",opaque_document_origin:\"add `allow-same-origin` to the sandbox, or serve the asset with a `crossorigin` attribute and an `Access-Control-Allow-Origin` of `null` or `*`, to keep it.\"};function vr(e,t){if(t.kind===\"web-audio\"||nk()||gx.has(e))return;let n=tk(e);gx.add(e);let r={asset:t.asset,reason:t.reason,lostProcessing:n,note:rk[t.reason]};Ee({source:\"hf-preview\",type:\"diagnostic\",code:hx,details:r});let i=n.length>0?` Native playback cannot reproduce: ${n.join(\", \")} \\u2014 ${ik[t.reason]}`:\"\";console.info(`[hyperframes] ${hx}: \"${t.asset}\" (${t.reason}): Web Audio capture withheld; the track plays through native HTMLMediaElement output.${i}`)}function Ec(e){return!Number.isFinite(e)||e<=0?1:e}function xx(e){return Ze(e)}function ok(e,t){t||e.paused||!No().__hfDebug||console.debug(\"[hyperframes] webAudioTransport claimed fallback-playing element:\",e.currentSrc||e.getAttribute(\"src\")||\"\")}function ak(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:s}=t,l=Number.isFinite(s)&&s>0,u=s*a;if(n>=0){let d=n*a,m=u-d;return l&&m<=0?!1:(l?e.start(0,d+r,m):e.start(0,d+r),!0)}let f=-n/o;return l?e.start(i+f,r,u):e.start(i+f,r),!0}function Ua(e,t,n){let r=ex(mx(e));r&&mc([{param:t.gain}],r,Ro.scale,n)}function Er(e){return e.sourceKind===\"buffer\"}var sk=1e4,Wa=class{constructor(){de(this,\"_ctx\",null);de(this,\"_bufferCache\",new Map);de(this,\"_failedSrcs\",new Set);de(this,\"_mediaElementSources\",new WeakMap);de(this,\"_activeSources\",[]);de(this,\"_masterGain\",null);de(this,\"_monitorGain\",null);de(this,\"_masterVolume\",1);de(this,\"_masterMuted\",!1);de(this,\"_groups\",new Map);de(this,\"_metering\",!1);de(this,\"_masterTap\",null);de(this,\"_groupTaps\",new Map);de(this,\"_rateAnchorCtx\",0);de(this,\"_rateAnchorComp\",0);de(this,\"_rate\",1);de(this,\"_paused\",!0);de(this,\"_playGeneration\",0);de(this,\"_playingCaptured\",new Set);de(this,\"_suspendPending\",!1);de(this,\"_restTimer\",null)}async init(){try{return this._ctx=new AudioContext,this._ctx.onstatechange=()=>this.rest(),this._masterGain=this._ctx.createGain(),this._monitorGain=this._ctx.createGain(),this._masterGain.connect(this._monitorGain),this._monitorGain.connect(this._ctx.destination),this.applyMasterGain(),this._metering&&this.attachMasterTap(),!0}catch{return!1}}async wake(){!this._ctx||this._ctx.state===\"running\"&&!this._suspendPending||(this._suspendPending=!1,await this._ctx.resume())}rest(){this._restTimer!==null&&clearTimeout(this._restTimer),this._restTimer=null,!(!this._ctx||this._ctx.state!==\"running\"||this._suspendPending)&&(this._restTimer=setTimeout(()=>{this._restTimer=null,this.suspendIfIdle()},sk))}suspendIfIdle(){for(let t of this._playingCaptured)t.paused&&this._playingCaptured.delete(t);!this._ctx||!this._paused||this._suspendPending||this._playingCaptured.size>0||(this._suspendPending=!0,this._ctx.suspend().catch(t=>{this._suspendPending=!1,H(\"webAudioTransport.suspend\",t)}))}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 H(\"webAudioTransport.fetch\",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return H(\"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),H(\"webAudioTransport.decode\",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}acquireMediaElementSource(t){let n=this._mediaElementSources.get(t);if(n){let a=Sr(t);if(a.kind!==\"web-audio\"){try{n.disconnect()}catch{}return this._mediaElementSources.delete(t),vr(t,a),null}return n}if(!this._ctx)return null;let r=Sr(t);if(r.kind!==\"web-audio\")return vr(t,r),null;let i=this._ctx.createMediaElementSource(t);this._mediaElementSources.set(t,i),t.paused||this._playingCaptured.add(t),t.addEventListener(\"play\",()=>{this._playingCaptured.add(t),this.wake()});let o=()=>{this._playingCaptured.delete(t),this.rest()};return t.addEventListener(\"pause\",o),t.addEventListener(\"emptied\",o),i}async scheduleMediaElementPlayback(t,n,r,i,o,a,s=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(await this.wake(),a!==this._playGeneration)return null;let l=this.acquireMediaElementSource(t);if(!l)return null;l.disconnect();let u=Ec(s),f=this._ctx.createGain();f.gain.value=o;let d=this._ctx.currentTime,m=i-n,x={scheduledAt:d,elapsed:m,rate:u},h=Ba(this._ctx,t,l,f,x);f.connect(this.resolveDestination(t,d,i,u)??this._masterGain),Ua(t,f,x),this._rate=u,this._rateAnchorCtx=d,this._rateAnchorComp=i;let b={fx:h,el:t,sourceNode:l,sourceKind:\"media-element\",gainNode:f,compositionStart:n,mediaStart:r,scheduledAt:d,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:$e(t),bounded:!1};return t.volume=1,this._activeSources.push(b),this._paused=!1,b}catch(l){return H(\"webAudioTransport.mediaElementSource\",l),null}}groupInput(t,n,r){let i=this._groups.get(t);if(i){if(i.generation!==this._playGeneration)try{i.reanchor(r),i.generation=this._playGeneration}catch(m){H(\"webAudioTransport.groupReanchor\",m)}return i.input}if(!this._ctx||!this._masterGain)return null;let o=this._ctx.createGain(),a=this._ctx.createGain();a.connect(this._masterGain);let s=()=>ol(n,t),l=s(),u=this._ctx.createGain();u.gain.value=l?.hasAttribute(\"data-hidden\")?0:1,u.connect(a);let f=this._ctx.createGain();f.gain.value=xx(il(l)),f.connect(u);let d=Ba(this._ctx,l??{getAttribute:()=>null},o,f,r);return l&&Ua(l,f,r),this._groups.set(t,{input:o,output:a,isPresent:()=>s()!==null,fader:f,muteGain:u,fx:d,generation:this._playGeneration,reanchor:m=>{Gi([{param:f.gain}]);let x=s();f.gain.value=xx(il(x)),u.gain.value=x?.hasAttribute(\"data-hidden\")?0:1,d?.reanchor(m),x&&Ua(x,f,m)},dispose:()=>{try{d?.dispose(),o.disconnect(),f.disconnect(),u.disconnect(),a.disconnect()}catch{}}}),this.attachGroupTap(t,a),o}startMetering(){this._metering=!0,this.attachMasterTap();for(let[t,n]of this._groups)this.attachGroupTap(t,n.output)}stopMetering(){this._metering=!1,this._masterTap?.dispose(),this._masterTap=null;for(let t of this._groupTaps.values())t.dispose();this._groupTaps.clear()}readLevels(){let t={};for(let[n,r]of this._groupTaps)this._groups.get(n)?.isPresent()&&(t[n]=r.read());return{master:this._masterTap?.read()??{l:0,r:0},groups:t}}attachMasterTap(){this._ctx&&this._masterGain&&!this._masterTap&&(this._masterTap=Sc(this._ctx,this._masterGain))}attachGroupTap(t,n){this._metering&&this._ctx&&!this._groupTaps.has(t)&&this._groupTaps.set(t,Sc(this._ctx,n))}setGroupMuted(t,n){let r=this._groups.get(t);if(r)try{r.muteGain.gain.value=n?0:1}catch(i){H(\"webAudioTransport.setGroupMuted\",i)}}resolveDestination(t,n,r,i){if(!this._masterGain)return null;let o=zo(t);if(!o)return this._masterGain;let a={scheduledAt:n,elapsed:r,rate:i};return this.groupInput(o,t.ownerDocument,a)??this._masterGain}handleSourceEnded(t,n,r,i){let o=this._activeSources.indexOf(n);if(o!==-1){this._activeSources.splice(o,1),r.muted=i;try{t.disconnect(),n.fx?.dispose(),n.gainNode.disconnect()}catch{}this._activeSources.length===0&&(this._paused=!0)}}async schedulePlayback(t,n,r,i,o,a,s,l=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||s!==this._playGeneration)return null;try{if(await this.wake(),s!==this._playGeneration)return null;let f=o(),d=Ec(l),m=$e(t),x=d*m,h=this._ctx.createBufferSource();h.buffer=n,h.playbackRate.value=x;let b=this._ctx.createGain();b.gain.value=a;let g=f-r,v=this._ctx.currentTime,A={scheduledAt:v,elapsed:g,rate:d},E=Ba(this._ctx,t,h,b,A);if(b.connect(this.resolveDestination(t,v,f,d)??this._masterGain),Ua(t,b,A),this._rate=d,this._rateAnchorCtx=v,this._rateAnchorComp=f,!ak(h,{elapsed:g,mediaStart:i,scheduledAt:v,globalRate:d,mediaRate:m,clipDuration:u}))return h.disconnect(),E?.dispose(),b.disconnect(),null;let k=t.muted;t.muted=!0,ok(t,k);let P={fx:E,el:t,sourceNode:h,sourceKind:\"buffer\",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:v,priorMuted:k,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(P),this._paused=!1,h.addEventListener(\"ended\",()=>this.handleSourceEnded(h,P,t,k)),P}catch(f){return H(\"webAudioTransport.schedule\",f),null}}setRate(t){let n=Ec(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{Er(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){H(\"webAudioTransport.setRate\",i)}for(let r of this._groups.values())try{r.fx?.setRate(n)}catch(i){H(\"webAudioTransport.setRate.group\",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>Er(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{Er(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}Er(t)?t.el.muted=t.priorMuted:(t.el.volume=t.priorVolume,this._ctx&&t.sourceNode.connect(this._ctx.destination))}this._activeSources=[],this._paused=!0,this._playGeneration+=1,this.rest()}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=Ze(n);for(let i of this._activeSources)if(i.el===t)try{i.sourceKind===\"media-element\"&&(i.el.volume=1),i.gainNode.gain.value=r}catch(o){H(\"webAudioTransport.setElementVolume\",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._monitorGain&&(this._monitorGain.gain.value=this._masterMuted?0:this._masterVolume)}ownsClock(){return!this._paused&&this._activeSources.some(Er)}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&Er(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){this.stopAll(),this.stopMetering();for(let t of this._groups.values())t.dispose();if(this._groups.clear(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._playingCaptured.clear(),this._suspendPending=!1,this._restTimer!==null&&clearTimeout(this._restTimer),this._restTimer=null,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._monitorGain=null,this._masterVolume=1,this._masterMuted=!1}};var Vi=\"data-hf-studio-manual-edit-gesture\";var yx=`[${Vi}]`;function Sx(e,t){let n=e.defaultView?.MutationObserver??globalThis.MutationObserver;if(!n||!e.documentElement)return{isActive:()=>e.querySelector(yx)!=null,observing:!1,disconnect:()=>{}};let r=new Set(e.querySelectorAll(yx)),i=s=>{for(let l of s){let u=l.target;Re(u)&&(u.hasAttribute(Vi)?r.add(u):r.delete(u))}},o=s=>{s.length!==0&&(i(s),t())},a=new n(o);return a.observe(e.documentElement,{subtree:!0,attributes:!0,attributeFilter:[Vi]}),{observing:!0,isActive:()=>{o(a.takeRecords());for(let s of r){if(s.isConnected&&s.hasAttribute(Vi))return!0;r.delete(s)}return!1},disconnect:()=>{a.disconnect(),r.clear()}}}var vx=333.3333333333333,Ex=1e3*60/60;function Ax(e){return e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2?!1:e.compositionChanged===!0?!0:e.isPlaying?e.playingPollDue===!0:Number.isInteger(e.tick)&&e.tick>0&&e.tick%60===0}var lk=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function wx(e){return Math.max(0,Math.min(1,e))}function _x(e){let t=lk.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?wx(n):null}function Cx(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=wx(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 uk=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,ck=Math.PI*2;function dk(e){let t=uk.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 fk(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(ck*t*e)}function Rx(e,t){let n=dk(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=>fk(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var mk=24,Tx=e=>e>=1?1:0,pk=e=>e,Va=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,hk=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Va}\\s*,\\s*${Va}\\s+${Va}\\s*,\\s*${Va}\\s+1\\s*,\\s*1\\s*$`,\"i\");function kx(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function gk(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 s=0;s<mk;s+=1){let l=(o+a)/2;kx(l,t,r)<e?o=l:a=l}return kx((o+a)/2,n,i)}function bk(e){let t=hk.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=>gk(a,n,r,i,o)}function xk(e,t){if(!e.startsWith(\"spring(\"))return null;let n=_x(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>Cx(o,n);return t.set(n,i),i}function yk(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=bk(n);return i&&t.set(n,i),i}function Mx(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=l=>typeof l!=\"string\"?null:l===\"hold\"?Tx:Rx(l,i)??xk(l,r)??yk(l,n),a=(l,u,f=[])=>{let d=o(l);return d||(typeof l==\"string\"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(l.trim())&&et(\"custom_ease_parse_failed\",{ease:l}),t.call(u,l,...f)??pk)};e.parseEase=function(u,...f){return a(u,this,f)};let s=e.registerEase;if(typeof s==\"function\"){s(\"hold\",Tx);let l=u=>{let f=d=>d;f.config=(...d)=>a(`${u}(${d.join(\",\")})`,e),s(u,f)};l(\"spring\"),l(\"wiggle\"),l(\"custom\")}return e.__hfCustomEaseInstalled=!0,!0}var wc=\"first-frame\",Sk=3;function vk(e){let t=e.ownerDocument?.defaultView;return t&&e instanceof t.Element?!0:e instanceof Element}function Ek(e){if(!vk(e)||e.tagName!==\"AUDIO\"&&e.tagName!==\"VIDEO\")return!1;let t=e.ownerDocument?.defaultView;return t&&e instanceof t.HTMLMediaElement?!0:e instanceof HTMLMediaElement}function Ak(e){return e.hasAttribute(\"data-start\")||e.hasAttribute(\"data-track-index\")}function wk(e,t,n){let r=e;for(;r;){if(Ak(r)&&!ia(r,{currentTime:0,compositionDuration:Number.POSITIVE_INFINITY,canonicalFps:30,exportRenderSeek:!1,timelineRegistry:n,resolver:t}))return!1;r=r.parentElement}return!0}function Nx(e,t,n,r){return t===\"all\"?!0:wk(e,n,r)}function _k(e,{scope:t=\"all\"}={}){let n=e.defaultView,r=Ke({documentRef:e,timelineRegistry:n?.__timelines,includeAuthoredTimingAttrs:!0}),i=e.querySelector(`meta[name=\"${bo}\"]`)!==null,o=Array.from(e.querySelectorAll(\"video, audio\")).filter(Ek).filter(l=>Nx(l,i&&l.preload!==\"auto\"?wc:t,r,n?.__timelines??{})).filter(l=>l.readyState<Sk),a=Array.from(e.querySelectorAll(\"img\")).filter(l=>Nx(l,l.getAttribute(\"loading\")?.toLowerCase()===\"lazy\"?wc:t,r,n?.__timelines??{})).filter(l=>!l.complete),s=e.fonts?.status===\"loading\";return{pendingMedia:o,pendingImages:a,fontsLoading:s}}function Ck(e,{pendingMedia:t,pendingImages:n,fontsLoading:r},i){let o=t.map(l=>new Promise(u=>{if(l.error){u();return}let f=()=>{l.removeEventListener(\"canplay\",f),l.removeEventListener(\"error\",f),i.removeEventListener(\"abort\",f),u()};l.addEventListener(\"canplay\",f),l.addEventListener(\"error\",f),i.addEventListener(\"abort\",f,{once:!0})})),a=n.map(l=>l.decode?l.decode().catch(()=>{}):Promise.resolve()),s=r&&e.fonts?e.fonts.ready.then(()=>{}):Promise.resolve();return Promise.all([...o,...a,s]).then(()=>{})}function Rk(e,t,{scope:n=\"all\"}={}){let r=_k(e,{scope:n});return r.pendingMedia.length===0&&r.pendingImages.length===0&&!r.fontsLoading?null:Ck(e,r,t)}var Tk=50;function kk(e,t){let n=e.defaultView;return!n||n.__renderReady||!n.__hf?null:new Promise(r=>{let i,o=()=>{i!==void 0&&clearTimeout(i),t.removeEventListener(\"abort\",o),r()};if(t.aborted){o();return}t.addEventListener(\"abort\",o,{once:!0});let a=()=>{if(n.__renderReady){o();return}i=setTimeout(a,Tk)};a()})}var Mk=50,Nk=1.5,Lk=2,Fk=1500;function Ac(e,t){return new Promise(n=>{if(t.aborted){n(-1);return}let r=0,i=()=>{e.cancelAnimationFrame?.(r),n(-1)};t.addEventListener(\"abort\",i,{once:!0}),r=e.requestAnimationFrame(o=>{t.removeEventListener(\"abort\",i),n(o)})})}function Ik(e,t){let n=e.defaultView;return n?(async()=>{let r=await Ac(n,t);if(t.aborted)return;let i=await Ac(n,t),o=i-r,a=0;for(;!t.aborted&&a<Lk;){if(i-r>=Fk)return;let s=await Ac(n,t);if(t.aborted)return;let l=s-i;o=Math.min(o,l),a=l<Mk||l<=o*Nk?a+1:0,i=s}})():null}var Dk=8e3;function Pk(e,t,n={}){let r=n.inputs??[(u,f)=>Rk(u,f,{scope:n.scope}),kk,Ik],i=new AbortController,o=r.map(u=>u(e,i.signal)).filter(u=>u!==null);if(o.length===0){t({timedOut:!1});return}let a=n.timeoutMs??Dk,s,l=new Promise(u=>{s=setTimeout(()=>u(\"timed-out\"),a)});Promise.race([Promise.all(o).then(()=>\"done\"),l]).then(u=>{clearTimeout(s),i.abort(),t({timedOut:u===\"timed-out\"})})}function Lx(e,t,n={}){Pk(e,t,{...n,scope:wc})}var Rc=new Map,$i=new Map,_c=new Map,Cc=()=>{},Ix=()=>{},Fx=0;function Tc(e){return/^[a-z][a-z0-9-]{0,63}$/.test(e)}function Dx(e){let t=(_c.get(e)??0)+1;return _c.set(e,t),t}function Px(e){return typeof e==\"number\"&&Number.isSafeInteger(e)&&e>0?e:(Fx-=1,Fx)}function kc(e,t){let n=$i.get(e);if(!n)return;let r=()=>_c.get(e)===t.generation&&$i.get(e)===n;try{Promise.resolve(n(t.payload)).then(()=>{r()&&Ix(e,t.requestId)},i=>{r()&&Cc(e,t.requestId,i)})}catch(i){r()&&Cc(e,t.requestId,i)}}function Ox(e){Cc=e}function Hx(e){Ix=e}function $a(e,t,n){if(!Tc(e))return;let r={payload:t,requestId:Px(n),generation:Dx(e)};Rc.set(e,r),kc(e,r)}function za(e,t){Tc(e)&&(Rc.delete(e),kc(e,{payload:void 0,requestId:Px(t),generation:Dx(e)}))}function Gx(e,t){if(!Tc(e))throw new Error(`Invalid HyperFrames runtime-data channel: ${e}`);$i.set(e,t);let n=Rc.get(e);return n&&kc(e,n),()=>{$i.get(e)===t&&$i.delete(e)}}var Bx=!1;function kt(e){if(e){if(typeof e.pause!=\"function\"){Bx||(Bx=!0,et(\"timeline_missing_pause\",{}));return}try{e.pause()}catch(t){H(\"runtime.timeline.pause\",t)}}}function Gk(e){let t=e;if(typeof t.remove==\"function\")for(let n of e.getChildren?.(!1,!0,!1)??[])n.data===Dr&&t.remove(n)}function Bk(){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 Uk(e,t){return t!==null&&e.length===t.length&&e.every((n,r)=>n===t[r])}function Ux(e,t,n){let r=null,i=!0;return()=>{let o=e();if(o.length===0)return r=null,i=!0,!0;if(Uk(o,r))return i;r=o,i=!1;let a=o.length===1?o[0]:Promise.all(o);return Promise.resolve(a).then(()=>{r===o&&(i=!0,t())},s=>{r===o&&(i=!0,n(s),t())}),i}}function zi(e){let t=e.querySelector(`meta[name=\"${ki}\"]`)?.getAttribute(\"content\");if(!t)return null;try{return JSON.parse(t)}catch{return null}}var Fc=e=>JSON.stringify([Array.from(e.attributes,t=>[t.name,t.value]).filter(([t])=>t!==wn),e.innerHTML]),Wk=new Set([\"style\",\"preload\",\"src\",wn,rn,...Zd]),Vk=e=>e.split(/\\s+/).filter(t=>t&&!t.startsWith(\"__hf-\")).join(\" \"),Wx=e=>JSON.stringify([Array.from(e.attributes,({name:t,value:n})=>[t,t===\"class\"?Vk(n):n]).filter(([t,n])=>!Wk.has(t)&&!(t===\"class\"&&!n)).sort(([t],[n])=>t<n?-1:1),e.hasAttribute(\"data-var-src\")?null:Qr(e),e.innerHTML]),qi=new WeakMap,$x=e=>e.localName===\"video\"||e.localName===\"audio\",Nc=e=>{if(!Re(e))return;let t=$x(e)?[e]:e.firstElementChild?e.querySelectorAll(\"video, audio\"):[];for(let n of t)qi.has(n)||qi.set(n,Fc(n))},qa=null;function zx(){typeof MutationObserver>\"u\"||!zi(document)||(Nc(document.documentElement),qa=new MutationObserver(e=>{for(let t of e){t.addedNodes.forEach(Nc);let{target:n}=t;Re(n)&&$x(n)&&qi.set(n,Fc(n))}}),qa.observe(document.documentElement,{childList:!0,subtree:!0}))}function qx(){let e=i=>i?.config?.({force3D:!1}),t=Object.getOwnPropertyDescriptor(window,\"gsap\"),n=window.gsap;if(e(n),t?.configurable===!1||t?.get?.hfFlat)return;let r=Object.assign(()=>t?.get?t.get.call(window):n,{hfFlat:!0});Object.defineProperty(window,\"gsap\",{configurable:!0,enumerable:!0,get:r,set:i=>{t?.set?t.set.call(window,i):n=i,e(i)}})}var $k=new Map([[\"image\",[\"href\",\"xlink:href\"]],[\"object\",[\"data\"]]]),zk=1e3;function qk(){let e;return()=>e??(e=document.getAnimations())}var Lc=e=>yo(e)||ye(e)&&Bo(e)&&Nm({volume:Number.parseFloat(e.dataset.volume??\"\"),fxChain:e.getAttribute(\"data-fx-chain\"),automation:e.getAttribute(\"data-automation\"),audioGroup:e.getAttribute(\"data-audio-group\")}),jx=\"audio[data-start], video[data-start]\",Mc=e=>Array.from(e.querySelectorAll(jx)).filter(Lc);function Vx(e){let t=e.matches(`[${xo}]`)?[e]:Array.from(e.querySelectorAll(`img[${xo}]`)).filter(n=>n.closest(\"[data-start]\")===e);for(let n of t)n.setAttribute(\"loading\",\"eager\")}function Kx(){let e=Ol();qa?.disconnect(),qa=null,zi(document)&&Nc(document.documentElement);let t=()=>{};Jf(Ee),Ox((c,p,y)=>{Ee({source:\"hf-preview\",type:\"runtime-data-error\",channel:c,requestId:p,message:y instanceof Error?y.message:String(y)})}),Hx((c,p)=>{try{t()}catch(y){Ee({source:\"hf-preview\",type:\"runtime-data-error\",channel:c,requestId:p,message:y instanceof Error?y.message:String(y)});return}Ee({source:\"hf-preview\",type:\"runtime-data-applied\",channel:c,requestId:p})}),Ni(document),ka(document),Xm(document);let n=Bk();if(e.canonicalFps=n.fps??e.canonicalFps,Kf(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG){let c=JSON.stringify({canonicalFps:e.canonicalFps,source:n.source,rawFpsSource:n.rawFpsSource,rawFps:n.rawFps,fallbackReason:n.fallbackReason});console.info(`[hyperframes] render runtime fps ${c}`)}let r=null,i=null,o=null,a=[],s=new Set,l=null,u=new Set,f=(c,p,y)=>{u.has(c)||(u.add(c),et(p,y))};if(typeof window.__hfRuntimeTeardown==\"function\")try{window.__hfRuntimeTeardown()}catch(c){H(\"runtime.init.site1\",c)}let d=new Ga;e.transportClock=d;let m=new Wa,x=!1;m.init().then(c=>{x=c}),window.__hf=window.__hf||{};let h=c=>c.closest(\"[data-hidden]\")!==null||$o(c.ownerDocument,c),b=()=>{let c=window.gsap,p=window;if(!(!c?.registerPlugin||p.__hfAutoNoopRegistered))try{c.registerPlugin({name:\"_auto\",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch(y){f(\"auto_marker_install_failed\",\"auto_marker_install_failed\",{reason:\"threw\"}),H(\"runtime.autoMarker.install\",y)}},g=()=>{let c=window.gsap;if(!c){f(\"custom_ease_missing_gsap\",\"custom_ease_install_failed\",{reason:\"missing_gsap\"});return}try{Mx(c)||f(\"custom_ease_no_parse_ease\",\"custom_ease_install_failed\",{reason:\"no_parseEase\"})}catch(p){f(\"custom_ease_install_threw\",\"custom_ease_install_failed\",{reason:\"threw\"}),H(\"runtime.customEase.install\",p)}};b(),g(),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{im(document)}catch(c){H(\"runtime.init.cssVariables\",c)}if(window.__timelines=window.__timelines||{},Array.isArray(window.__timelines)){let c=window.__timelines,p=At()?.getAttribute(\"data-composition-id\")??\"root\",y={};if(c.length===1)y[p]=c[0];else for(let S=0;S<c.length;S++)y[`tl-${S}`]=c[S];window.__timelines=y}let v=At();v&&!v.hasAttribute(\"data-start\")&&v.setAttribute(\"data-start\",\"0\");let A=c=>{a.push(c)},E=(c,p,y)=>{let S=y??`${c}:${JSON.stringify(p)}`;s.has(S)||(s.add(S),Ee({source:\"hf-preview\",type:\"diagnostic\",code:c,details:p}))},k=c=>{let p={scale:1,focusX:960,focusY:540},y=[],S=[],w={time:c.getTime(),duration:c.getDuration(),isPlaying:c.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:c.play,pause:c.pause,seek:c.seek,getTime:c.getTime,getDuration:c.getDuration,isPlaying:c.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>y,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:c.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...w,time:c.getTime(),duration:c.getDuration(),isPlaying:c.isPlaying()})}},P=.75,L=.05,D=100,R=240,M=c=>{if(c instanceof Error)return c.message||String(c);if(typeof c==\"string\")return c;try{return JSON.stringify(c)}catch{return String(c??\"\")}},T=c=>{let p=c.toLowerCase();return p.includes(\"cannot read properties of null\")||p.includes(\"cannot set properties of null\")?{code:\"runtime_null_dom_access\",category:\"dom-null-access\"}:p.includes(\"failed to execute 'queryselector'\")?{code:\"runtime_invalid_selector\",category:\"selector-invalid\"}:p.includes(\"is not defined\")?{code:\"runtime_reference_missing\",category:\"reference-missing\"}:{code:\"runtime_script_error\",category:\"script-error\"}},B=c=>{let p=_n(c);return p===null?null:`${p}px`},W=()=>At(),ne=()=>{let c=W();if(!c)return;let p=B(c.getAttribute(\"data-width\")),y=B(c.getAttribute(\"data-height\"));p&&(c.style.width=p),y&&(c.style.height=y),p&&c.style.setProperty(\"--comp-width\",p),y&&c.style.setProperty(\"--comp-height\",y),p&&(document.documentElement.style.width=p),y&&(document.documentElement.style.height=y),p&&(document.body.style.width=p),y&&(document.body.style.height=y)},N=()=>{let c=W(),p=Array.from(document.querySelectorAll(\"[data-composition-id]\")).filter(y=>y.hasAttribute(\"data-duration\")||y.hasAttribute(\"data-end\"));for(let y of p){if(c&&y===c)continue;let S=y.getAttribute(\"data-duration\"),w=y.getAttribute(\"data-end\");S!=null&&!y.hasAttribute(Xn)&&y.setAttribute(Xn,S),w!=null&&!y.hasAttribute(Jn)&&y.setAttribute(Jn,w),y.removeAttribute(\"data-duration\"),y.removeAttribute(\"data-end\")}},_=()=>{let c=W();if(!c)return;c.style.position||(c.style.position=\"relative\"),c.style.overflow=\"hidden\";let p=B(c.getAttribute(\"data-width\")),y=B(c.getAttribute(\"data-height\"));p&&(c.style.width=p),y&&(c.style.height=y);let S=Array.from(c.children).filter(C=>{let F=C.tagName.toLowerCase();return F===\"script\"||F===\"style\"||F===\"link\"||F===\"meta\"||!C.hasAttribute(\"data-start\")?!1:!C.hasAttribute(\"data-hf-autostamped\")}),w=S.filter(C=>C.style.getPropertyValue(\"display\")===\"none\").map(C=>({el:C,priority:C.style.getPropertyPriority(\"display\")}));for(let{el:C}of w)C.style.removeProperty(\"display\");for(let C of S){let F=C.tagName.toLowerCase(),I=(C.style.top===\"0px\"||C.style.top===\"0\")&&(C.style.left===\"0px\"||C.style.left===\"0\")&&C.style.width===\"100%\"&&C.style.height===\"100%\",q=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(C.style.transform);if(I&&q&&!C.hasAttribute(\"data-width\")&&!C.hasAttribute(\"data-height\")){let ce=C.style.top,ge=C.style.left,ze=C.style.width,lt=C.style.height;C.style.top=\"\",C.style.left=\"\",C.style.width=\"\",C.style.height=\"\";let qe=window.getComputedStyle(C);qe.top!==\"auto\"||qe.bottom!==\"auto\"||qe.left!==\"auto\"||qe.right!==\"auto\"||qe.width!==\"0px\"||qe.height!==\"0px\"||(C.style.top=ce,C.style.left=ge,C.style.width=ze,C.style.height=lt)}let ee=window.getComputedStyle(C),me=ee.position;if(me!==\"absolute\"&&me!==\"fixed\"&&(C.style.position=\"absolute\"),F!==\"audio\"){let ce=B(C.getAttribute(\"data-width\")),ge=B(C.getAttribute(\"data-height\")),ze=ee.width!==\"0px\"&&ee.width!==\"auto\",lt=ee.height!==\"0px\"&&ee.height!==\"auto\";ce?!C.style.width&&!ze&&(C.style.width=ce):!C.style.width&&ee.width===\"0px\"&&(C.style.width=\"100%\"),ge?!C.style.height&&!lt&&(C.style.height=ge):!C.style.height&&ee.height===\"0px\"&&(C.style.height=\"100%\")}}for(let{el:C,priority:F}of w)C.style.setProperty(\"display\",\"none\",F)},G=c=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:c}),Y=null,U=c=>{let p=Y;Y=G(!0);try{return c()}finally{Y=p}},j=c=>c&&Y?Y:G(c),V=(c,p=0,y)=>j(y?.includeAuthoredTimingAttrs??!0).resolveStartForElement(c,p),J=(c,p)=>j(p?.includeAuthoredTimingAttrs??!0).resolveDurationForElement(c),X=c=>{let p=c.closest(\"[data-composition-id]\"),y=p?V(p,0):null,S=p?J(p,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:p,inheritedStart:y,inheritedDuration:S}},O=c=>j(!0).resolveMediaStartForElement(c);window.__hfResolveMediaStartSeconds=O,a.push(()=>{window.__hfResolveMediaStartSeconds===O&&delete window.__hfResolveMediaStartSeconds});let K=!!document.querySelector(\"[data-composition-src]\"),Q=!1;{let c=document.querySelectorAll(\"[data-composition-id]:not([data-composition-src])\");for(let p of c){let y=p.getAttribute(\"data-composition-id\");if(y&&p.children.length===0&&document.querySelector(`template#${CSS.escape(y)}-template`)){Q=!0;break}}}let le=!K&&!Q,Z=c=>{if(!c||typeof c.duration!=\"function\")return null;try{let p=Number(c.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},z=c=>typeof c==\"number\"&&Number.isFinite(c)&&c>Dt,se=()=>Array.from(document.querySelectorAll(\"video[data-start], audio[data-start]\")).length===0?null:U(()=>oh(document,{mediaStart:O,mediaDuration:$n})),ht=()=>{let c=W();if(!c)return null;let p=window.__timelines??{},y=Ke({timelineRegistry:p,includeAuthoredTimingAttrs:!0});return ah(c,y)},Xe=()=>{let c=window;return!!(c.lottie||c.DotLottie)},Nn=()=>{let c=W();if(!c)return ar({authoredDurationSeconds:null,clipEndsSeconds:[]});let p=Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:!0});return sh(c,p,{unregisteredLottie:Xe()})},ot=null,Ly=()=>{if(_r)return Nn();let c=Cr();return ot?.revision!==c&&(ot={revision:c,result:Nn()}),ot.result},Fy=c=>{window.__hf=window.__hf||{},window.__hf.durationSource={source:c.source,seconds:c.seconds,pendingClips:c.pendingClips},c.source===\"derived\"&&E(\"composition_duration_derived\",{source:c.source,seconds:c.seconds,pendingClips:c.pendingClips},`composition_duration_derived:${c.seconds}`)},Iy=()=>{let c=se();return typeof c!=\"number\"||!Number.isFinite(c)||c<=Dt?null:c},Dy=c=>z(c)?Math.max(Dt,c*P):Dt,es=(c=!1)=>{let p=0;for(let y of e.deterministicAdapters){let S=c?y.getAnimationCycleEndSeconds:y.getInferredDurationSeconds;if(typeof S!=\"function\")continue;let w=null;try{w=S()}catch(C){H(\"runtime.init.adapterDuration\",C)}typeof w==\"number\"&&Number.isFinite(w)&&w>0&&(p=Math.max(p,w))}return p>Dt?p:null},_r=!1,Vc=()=>_r&&window.__HF_EXPORT_RENDER_SEEK_CONFIG!=null,Py=[\"data-start\",\"data-duration\",\"data-end\",\"data-composition-id\",\"data-composition-src\",\"data-composition-file\",\"data-root\",\"data-hf-authored-duration\",\"data-hf-authored-end\",\"data-hf-auto-start\",Uo,\"data-playback-rate\",\"data-automation\",\"data-playback-start\",\"data-media-start\",\"id\",\"src\"],$c=[\"loadedmetadata\",\"durationchange\",\"emptied\"],Yi=null,zc=-1,qc=null,fn=null,jc=0,Ut=()=>{},Ln=()=>{jc+=1,Ut()},Kc=()=>({media:Iy(),authoredComposition:ht()}),Oy=()=>{let c=window.__timelines??{},p=\"\";for(let y of Object.keys(c)){let S=c[y];S&&(p+=`${y}=${Z(S)??\"?\"};`)}return p},Hy=()=>{if(!(fn||typeof MutationObserver>\"u\")){fn=new MutationObserver(Ln),fn.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...Py,\"data-width\",\"data-height\"]});for(let c of $c)document.addEventListener(c,Ln,!0);a.push(()=>{fn?.disconnect(),fn=null,Ln();for(let c of $c)document.removeEventListener(c,Ln,!0)})}},Cr=()=>{Hy(),fn&&fn.takeRecords().length>0&&Ln();let c=Oy();return c!==qc&&(qc=c,Ln()),jc},Yc=c=>_r?Kc():(c??(c=Cr()),Yi&&zc===c||(zc=c,Yi=Kc()),Yi),Be=(c,p=0,y)=>{let S=null,w=lh({declared:Ce(W()?.getAttribute(\"data-duration\")),timeline:()=>Z(c),floors:()=>{let{media:C,authoredComposition:F}=Yc(y);return[C,F,es()]},fallback:p,derived:()=>(S=Ly(),S.seconds??0)});return S?Fy(S):window.__hf?.durationSource&&delete window.__hf.durationSource,w},ts=new WeakMap,Xc=null,ns=()=>{let c=window.__timelines??{},p=oe=>{let te=Object.entries(c).filter($=>!!$[1]&&typeof $[1].play==\"function\"&&typeof $[1].pause==\"function\");if(te.length!==1)return{timeline:null};let re=te[0];if(!re)return{timeline:null};let[ue,we]=re;return{timeline:we,selectedTimelineIds:[ue],selectedDurationSeconds:Z(we),diagnostics:{code:\"root_timeline_sole_registered_fallback\",details:{reason:oe,soleTimelineId:ue}}}},y=Ke({timelineRegistry:c,includeAuthoredTimingAttrs:!0}),{media:S,authoredComposition:w}=Yc(),C=Math.max(S??0,w??0)||null,F=Dy(C),I=oe=>{let te=document.querySelector(`[data-composition-id=\"${CSS.escape(oe)}\"]`);return te?y.resolveStartForElement(te,0):0},q=(oe,te)=>{let re=I(te.compositionId);oe.add(te.timeline,re),ts.set(te.timeline,{hostId:te.compositionId,parent:oe,at:re})},ee=(oe,te)=>{let re=te.timeline,ue=ts.get(re);return ue&&ue.parent===oe&&re.parent===oe?ue:null},me=(oe,te)=>Math.abs(oe.at-I(te.compositionId))<1e-6,Ue=(oe,te)=>{let re=ee(oe,te);!re||me(re,te)||q(oe,te)},ce=oe=>{let te=window.gsap;if(!te||typeof te.timeline!=\"function\")return null;let re=te.timeline({paused:!0});for(let ue of oe)q(re,ue);return Nr(ze(re,oe)),re},ge=(oe,te)=>{if(!z(oe))return null;let re=window.gsap;if(!re||typeof re.timeline!=\"function\")return null;let ue=re.timeline({paused:!0});if(te){try{ue.add(te,0)}catch($){H(\"runtime.init.site2\",$)}Nr(ze(ue,[{timeline:te}]))}let we=ue;if(typeof we.to==\"function\")try{we.to({},{duration:oe,data:Dr})}catch($){H(\"runtime.init.site3\",$)}return ue},ze=(oe,te)=>{if(!oe||typeof oe.getChildren!=\"function\")return[];try{let re=oe.getChildren(!0,!0,!0);return Array.isArray(re)?te.filter(ue=>re.includes(ue.timeline)):[]}catch{return[]}},lt=(oe,te)=>{let re=oe,ue={addedIds:[],nested:[]};if(typeof re.getChildren!=\"function\")return ue;try{let we=re.getChildren(!0,!0,!0)??[];if(!Array.isArray(we))return ue;let $=[];for(let ie of te){if(we.includes(ie.timeline)){Ue(oe,ie);continue}try{q(oe,ie),$.push(ie.compositionId)}catch(he){H(\"runtime.init.site4\",he)}}return{addedIds:$,nested:ze(oe,te)}}catch{return ue}},qe=W(),Te=qe?.getAttribute(\"data-composition-id\")??null;if(!Te)return p(\"root_missing_composition_id\");let Ie=c[Te]??null,ke=(()=>{if(!qe)return[];let oe=new Set,te=Array.from(qe.querySelectorAll(\"[data-composition-id]\")),re=[];for(let ue of te){let we=ue.getAttribute(\"data-composition-id\");if(!we||we===Te||oe.has(we))continue;oe.add(we);let $=c[we]??null;if(!$||typeof $.play!=\"function\"||typeof $.pause!=\"function\")continue;let ie=Z($);re.push({compositionId:we,timeline:$,durationSeconds:ie??0})}return re})(),Nr=oe=>{for(let te of oe){let re=te.timeline;if(typeof re.paused==\"function\")try{re.paused(!1)}catch(ue){H(\"runtime.init.site5\",ue)}}};if(Ie){let oe=ke.length>0?lt(Ie,ke):{addedIds:[],nested:[]},te=oe.addedIds;if(Nr(oe.nested),(ke.length>0||!document.querySelector(\"[data-composition-id]:not([data-composition-id='\"+Te+\"'])\"))&&(Fn=!0),te.length>0)try{let $=Ie.time();Ie.seek($,!1)}catch{}Gk(Ie);let re=Z(Ie);if(!z(re)&&ke.length>0){let $=ke.map(je=>je.compositionId),ie=ce(ke),he=Z(ie);if(ie&&z(he))return{timeline:ie,selectedTimelineIds:$,selectedDurationSeconds:he,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_fallback\",details:{rootCompositionId:Te,rootDurationSeconds:re,fallbackKind:\"composite_by_root_children\",minCandidateDurationSeconds:F,selectedDurationSeconds:he,mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:$,autoNestedChildren:te}}};let be=ge(C??0,Ie),We=Z(be);if(be&&z(We))return{timeline:be,selectedTimelineIds:[Te],selectedDurationSeconds:We,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_media_floor_fallback\",details:{rootCompositionId:Te,rootDurationSeconds:re,fallbackKind:\"media_duration_floor\",mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:We,selectedTimelineIds:[Te],autoNestedChildren:te}}}}if(!z(re)&&ke.length===0){let $=ge(C??0,Ie),ie=Z($);if($&&z(ie))return{timeline:$,selectedTimelineIds:[Te],selectedDurationSeconds:ie,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_unusable_media_floor_fallback\",details:{rootCompositionId:Te,rootDurationSeconds:re,fallbackKind:\"media_duration_floor\",mediaDurationFloorSeconds:S,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:ie,selectedTimelineIds:[Te]}}}}let ue=Ce(qe?.getAttribute(\"data-duration\")),we=Math.max(z(ue)?ue:0,w??0);if(we>0&&z(we)&&z(re)&&we>=re+.5){let $=Ie;if(typeof $.to==\"function\")try{$.to({},{duration:0,data:Dr},we)}catch(he){H(\"runtime.init.site6\",he)}let ie=Z(Ie);if(z(ie))return{timeline:Ie,selectedTimelineIds:[Te],selectedDurationSeconds:ie,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_padded_to_declared_duration\",details:{rootCompositionId:Te,rootDurationSeconds:re,rootDeclaredDur:ue,authoredCompositionDurationFloorSeconds:w,newDur:ie}}}}return{timeline:Ie,selectedTimelineIds:[Te],selectedDurationSeconds:re,mediaDurationFloorSeconds:S,diagnostics:te.length>0?{code:\"root_timeline_auto_nested_children\",details:{rootCompositionId:Te,selectedDurationSeconds:re,autoNestedChildren:te}}:void 0}}if(ke.length>0){let oe=ke.map($=>$.compositionId),te=Xc,re=te?.size===ke.length&&z(Z(te.timeline))&&ke.every($=>{let ie=ee(te.timeline,$);return ie!==null&&me(ie,$)})?te.timeline:null,ue=re??ce(ke),we=Z(ue);if(ue)return re||(Xc={timeline:ue,size:ke.length}),{timeline:ue,selectedTimelineIds:oe,selectedDurationSeconds:we,mediaDurationFloorSeconds:S,diagnostics:{code:\"root_timeline_missing_fallback\",details:{rootCompositionId:Te,fallbackKind:\"composite_by_root_children\",minCandidateDurationSeconds:F,selectedDurationSeconds:we,mediaDurationFloorSeconds:S,selectedTimelineIds:oe}}}}return p(\"root_composition_id_unmatched_in_registry\")},Fn=!1,Gy=c=>{let p=window.gsap,y=c;if(!(!y||typeof y.getChildren!=\"function\"||!p||typeof p.parseEase!=\"function\"))for(let S of y.getChildren(!0,!0,!0)){let w=S,C=w.timeline;if(!C||!(\"_ease\"in C)||typeof C._ease==\"function\")continue;let F=w.vars?.keyframes,q=(F&&!Array.isArray(F)?F.ease:void 0)??w.vars?.ease??\"none\";try{let ee=p.parseEase(q);typeof ee==\"function\"&&(C._ease=ee)}catch(ee){et(\"keyframe_ease_repair_failed\",{ease:typeof q==\"string\"?q:String(q)}),H(\"runtime.keyframeEase.repair\",ee)}}},In=()=>{if(g(),!le)return!1;let c=e.capturedTimeline,p=Z(c),y=z(p);if(c&&y&&Fn)return!1;let S=ns();if(!S.timeline)return!1;if(c&&c===S.timeline)return typeof c.timeScale==\"function\"&&c.timeScale(e.playbackRate),!1;e.capturedTimeline=S.timeline,typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate),Gy(e.capturedTimeline);let w=Be(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress==\"function\"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),kt(e.capturedTimeline)),w>0){try{d.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime==\"function\"){typeof e.capturedTimeline.progress==\"function\"&&e.capturedTimeline.progress(1e-4,!0);let F=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(F,!1),kt(e.capturedTimeline)}let C=window.__hfStudioManualEditsApply;typeof C==\"function\"&&C(),Ni(document)}if(S.diagnostics&&Ee({source:\"hf-preview\",type:\"diagnostic\",code:S.diagnostics.code,details:S.diagnostics.details}),Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_bound\",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let C=W(),F=w>0?w:0,I=String(F>0?F:1),q=new Set,ee=ce=>ce.tagName.toLowerCase()===Zn,me=new Set(document.querySelectorAll(\"[data-start]\")),Ue=ce=>{let ge=ce.parentElement;for(;ge&&ge!==C;){if(me.has(ge))return!0;ge=ge.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ce of e.capturedTimeline.getChildren(!0))if(typeof ce.targets==\"function\")for(let ge of ce.targets())xe(ge)&&ge!==C&&(ee(ge)||ge.hasAttribute(\"data-start\")||Ue(ge)||q.has(ge)||(q.add(ge),ge.setAttribute(\"data-start\",\"0\"),ge.setAttribute(\"data-duration\",I),ge.setAttribute(\"data-hf-autostamped\",\"1\")))}catch{}if(xe(C))for(let ce of C.querySelectorAll(\"[id]\"))xe(ce)&&ce!==C&&(ce.hasAttribute(\"data-start\")||Ue(ce)||q.has(ce)||ce.tagName===\"SCRIPT\"||ce.tagName===\"STYLE\"||ce.tagName===\"LINK\"||ee(ce)||(q.add(ce),ce.setAttribute(\"data-start\",\"0\"),ce.setAttribute(\"data-duration\",I),ce.setAttribute(\"data-hf-autostamped\",\"1\")))}for(let C of Wt)Rr.delete(C),rs(C);return!0},Jc=()=>{if(e.tornDown)return;let c=ns();if(!c.timeline){e.capturedTimeline=null,Fn=!1,d.setDuration(0),pn(e.currentTime);return}if(e.capturedTimeline!==c.timeline)Fn=!1,In();else{let p=Be(e.capturedTimeline,0);p>0&&p!==d.getDuration()&&(d.setDuration(p),at())}pn(e.currentTime)};t=()=>{Jc(),at()},window.__hfForceTimelineRebind=Jc;let By=()=>{let c=W();if(!xe(c))return;let p=c.getBoundingClientRect(),y=_n(c.getAttribute(\"data-width\")),S=_n(c.getAttribute(\"data-height\")),w=window.getComputedStyle(c),C=y!==null&&S!==null,F=p.width<=0||p.height<=0||c.clientWidth<=0||c.clientHeight<=0;!C||!F||E(\"root_stage_layout_zero\",{compositionId:c.getAttribute(\"data-composition-id\")??null,declaredWidth:y,declaredHeight:S,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:c.clientWidth,clientHeight:c.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${c.getAttribute(\"data-composition-id\")??\"unknown\"}`)},Uy=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,By()}))},Wy=()=>{i=c=>{let p=M(c.error??c.message).slice(0,R);if(!p)return;let y=T(p);Ee({source:\"hf-preview\",type:\"diagnostic\",code:y.code,details:{category:y.category,message:p,filename:c.filename||null,line:Number.isFinite(c.lineno)?c.lineno:null,column:Number.isFinite(c.colno)?c.colno:null}})},o=c=>{let p=M(c.reason).slice(0,R);if(!p)return;let y=T(p);Ee({source:\"hf-preview\",type:\"diagnostic\",code:`${y.code}_unhandled_rejection`,details:{category:`${y.category}-unhandled-rejection`,message:p}})},window.addEventListener(\"error\",i),window.addEventListener(\"unhandledrejection\",o)},Qc=new WeakSet,Vy=()=>{let c=Array.from(document.querySelectorAll(\"img, video, audio, source, link[rel='stylesheet']\"));for(let y of c){if(Qc.has(y))continue;Qc.add(y);let S=()=>{if(!Re(y))return;let w=y.tagName.toLowerCase(),C=y.getAttribute(\"src\")??y.getAttribute(\"href\")??y.getAttribute(\"poster\")??null,F=w===\"link\"?\"runtime_stylesheet_load_failed\":\"runtime_asset_load_failed\";E(F,{tagName:w,assetUrl:C,currentSrc:(Fe(y)||pe(y))&&y.currentSrc||null,readyState:pe(y)?y.readyState:null,networkState:pe(y)?y.networkState:null},`${F}:${w}:${C??\"unknown\"}`)};y.addEventListener(\"error\",S),A(()=>{y.removeEventListener(\"error\",S)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let y=Array.from(p).filter(S=>S.status===\"error\").map(S=>S.family).filter(S=>!!S).slice(0,10);y.length!==0&&E(\"runtime_font_load_issue\",{failedFamilies:y,totalFaces:Array.from(p).length},`runtime-font-load-issue:${y.join(\"|\")}`)}).catch(()=>{})},$y=(c,p)=>{if(!c.timeline)return!1;let y=e.capturedTimeline;if(y&&y===c.timeline)return!1;let S=Math.max(0,e.currentTime||0);e.capturedTimeline=c.timeline,typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate);try{kt(e.capturedTimeline),typeof e.capturedTimeline.seek==\"function\"&&e.capturedTimeline.seek(S,!1)}catch(w){H(\"runtime.init.site7\",w)}return Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_loop_guard_rebind\",details:{reason:p,previousTime:S,selectedTimelineIds:c.selectedTimelineIds??[],selectedDurationSeconds:c.selectedDurationSeconds??null,mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),!0},mn=null,Zc=!1,Wt=new Set,Rr=new WeakMap,Xi=()=>{e.tornDown||(mn!=null&&window.clearTimeout(mn),mn=window.setTimeout(()=>{if(e.tornDown||(mn=null,Vc()))return;let c=ns();if(!c.timeline||!z(c.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){In()&&(at(),Oe(!0));return}if(Zc)return;let y=Z(e.capturedTimeline),S=c.selectedDurationSeconds??Z(c.timeline);z(S)&&(!z(y)||S>=y+L)&&$y(c,\"manual\")&&(Zc=!0,Ee({source:\"hf-preview\",type:\"diagnostic\",code:\"timeline_rebind_after_media_metadata\",details:{previousDurationSeconds:y??null,selectedDurationSeconds:S??null,selectedTimelineIds:c.selectedTimelineIds??[],mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),at(),Oe(!0))},D))},ed=c=>{pe(c.currentTarget)&&gp(c.currentTarget)},td=c=>{pe(c.currentTarget)&&bp(c.currentTarget)},nd=c=>{Lc(c)&&bx(c)&&vr(c,Sr(c))},rd=c=>{let p=c.currentTarget;pe(p)&&nd(p)},id=c=>{c.removeEventListener(\"loadedmetadata\",Xi),c.removeEventListener(\"durationchange\",Xi),c.removeEventListener(\"loadedmetadata\",ed),c.removeEventListener(\"loadedmetadata\",rd),c.removeEventListener(\"error\",td),Wt.delete(c)},zy=()=>{for(let c of Wt)id(c)},qy=()=>{for(let c of Wt)c.isConnected||(id(c),c.pause(),Us(c))},od=c=>{let p=Number.parseFloat(c.dataset.volume??\"\");return Number.isFinite(p)?Math.max(0,Math.min(1,p)):null},Ji=()=>{if(e.tornDown)return;let c=Array.from(document.querySelectorAll(\"video, audio\")),p=[];for(let y of c){if(Wt.has(y))continue;Wt.add(y);let S=od(y);S!==null&&(y.volume=S),y.addEventListener(\"loadedmetadata\",Xi),y.addEventListener(\"durationchange\",Xi),y.addEventListener(\"loadedmetadata\",rd),nd(y),y.addEventListener(\"loadedmetadata\",ed),y.addEventListener(\"error\",td),hp(y),ls(y)?p.push(y):Mo(y),rs(y)}p.length>0&&pn(e.currentTime,p)},rs=c=>{Rr.has(c)||Wm(c,e.capturedTimeline,Be(e.capturedTimeline,0),Rr,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},is=new WeakMap,jy=c=>{let p=is.get(c);if(p!==void 0)return p;let y=window.getComputedStyle(c).position,S=y===\"static\"||y===\"relative\"||y===\"sticky\";return is.set(c,S),S},os=new WeakMap,Ky=c=>{let p=os.get(c);if(p!==void 0)return p;let y=c.querySelector(\"[data-start]\")===null;return os.set(c,y),y},Yy=()=>{is=new WeakMap,os=new WeakMap},Qi=new WeakMap,ad=(c,p)=>{if(!Qi.has(c)){let y=c.style.getPropertyValue(\"display\"),S=c.style.getPropertyPriority(\"display\"),w=p&&y===\"none\"&&!S;Qi.set(c,w?{value:\"\",priority:\"\"}:{value:y,priority:S})}c.style.display=\"none\"},sd=c=>{let p=Qi.get(c);p&&(Qi.delete(c),p.value?c.style.setProperty(\"display\",p.value,p.priority):c.style.removeProperty(\"display\"))},Zi=new WeakSet,eo=!1,ld=c=>pe(c)&&c.hasAttribute(\"data-start\")&&(Lc(c)||m.routesElement(c)),ud=c=>ld(c)||Array.from(c.querySelectorAll(jx)).some(ld),cd=new WeakMap,Xy=(c,p)=>{for(let y of Mc(document)){if(zo(y)!==c||m.routesElement(y)||h(y))continue;let S=O(y),w=Ce(y.dataset.duration),C=w!=null&&w>0?S+w:1/0;if(Number.isFinite(S)&&p<C)return!0}return!1},Jy=c=>{let p=!1;for(let y of document.querySelectorAll(Zn)){let S=y.hasAttribute(\"data-hidden\"),w=cd.get(y);w!==S&&(cd.set(y,S),y.id&&(m.setGroupMuted(y.id,S),w&&!S&&Xy(y.id,c)&&(p=!0)))}return p},dd=c=>{let p=Be(e.capturedTimeline,0,c);return(y,S)=>ia(y,{currentTime:S,compositionDuration:p,canonicalFps:e.canonicalFps,exportRenderSeek:!!window.__HF_EXPORT_RENDER_SEEK_CONFIG,timelineRegistry:window.__timelines??{},resolver:j(!0)})},fd=(c,p,y,S)=>{for(let w=c;w&&w!==S;w=w.parentElement)if(xe(w)&&w.hasAttribute(\"data-start\")&&!y(w,p))return!1;return!0},as=zr(),Qy=2,md=4,ss=(c,p,y,S=Qy)=>{let w=pe(c)?O(c):V(c,Number.NaN),C=w+(J(c)??Number.NaN);return w>y&&w<=y+S||C<=y&&C>=y-S||p(c,y+S)},to=null,ls=c=>as&&c.hasAttribute(\"data-start\")&&Ws(c),Tr=new WeakMap,pd=new WeakMap,no=new WeakSet,hd=c=>c.parentElement?.closest(\"[data-composition-id]\"),Zy=c=>{let p=lr(c,Number.NaN),y=io(Array.from(Wt).filter(C=>C.isConnected&&lr(C,Number.NaN)===p&&hd(C)===hd(c))).mediaClips,S=y.find(C=>C.el===c)?.end??Number.NaN,w;for(let C of y)C.el!==c&&C.start>=S-Lo(S)&&!(w&&w.start<=C.start)&&(w=C);!w||!ls(w.el)||(pd.set(w.el,c),Tr.get(w.el)!==!0&&(Tr.set(w.el,!0),Mo(w.el)))},eS=(c,p,y)=>{let S=d.isPlaying();p&&S?no.has(c)||(no.add(c),Zy(c)):no.delete(c);let w=pd.get(c),C=p||y||w!==void 0&&no.has(w),F=Tr.get(c);F!==C&&(Tr.set(c,C),C?(!p||F===void 0)&&Mo(c):c.preload!==\"none\"&&(c.preload=\"none\",F&&zf(c)))},tS=(c,p,y)=>Tr.get(c)===!0&&ss(c,p,y,md)||to!==null&&d.isPlaying()&&(p(c,to)||ss(c,p,to,md)),nS=(c,p,y)=>{let S=W(),w=!1,C=dd(y);for(let I of p){if(!xe(I))continue;if(I.hasAttribute(\"data-hidden\")){Zi.has(I)||(Zi.add(I),ud(I)&&(eo=!0)),ad(I,!1),(ye(I)||Fe(I))&&r?.setSourceVisibility(I,!1);continue}Zi.has(I)&&(sd(I),Zi.delete(I),ud(I)&&(eo=!0));let q=C(I,c)&&fd(I.parentElement,c,C,S);I.style.visibility=q?\"visible\":\"hidden\";let ee=as&&!q&&ss(I,C,c);ee&&!I.hasAttribute(Sn)&&Vx(I),I.toggleAttribute(Sn,ee),pe(I)&&Wt.has(I)&&ls(I)&&eS(I,q,ee||tS(I,C,c)),!pe(I)&&!Fe(I)&&(w=!0),(ye(I)||Fe(I))&&r?.setSourceVisibility(I,q),q?sd(I):jy(I)&&Ky(I)&&ad(I,!0)}w&&$f()&&r?.refresh();let F=Jy(c);if((eo||F)&&d.isPlaying()){m.stopAll();for(let I of Mc(document))h(I)&&(I.volume=0);bs()}eo=!1},pn=(c,p=Array.from(document.querySelectorAll(\"[data-start]\")),y)=>U(()=>nS(c,p,y)),rS=c=>U(()=>{if(!as)return[];let p=W(),y=dd();return Array.from(document.images).filter(S=>S.closest('[data-start][style*=\"visibility: hidden\"]')!==null&&(S.closest($r)!==null||!S.complete)&&fd(S,c,y,p))}),kr=null,hn=null,ro=[],gd=c=>c.hasAttribute(\"data-start\")||!!X(c).compositionRoot,io=c=>ep({elements:c,shouldIncludeElement:gd,resolveStartSeconds:p=>O(p),resolveDurationSeconds:p=>{let y=X(p),S=O(p),w=y.inheritedStart!=null&&y.inheritedDuration!=null&&y.inheritedDuration>0?Math.max(0,y.inheritedStart+y.inheritedDuration-S):null,C=Number.isFinite(p.duration)?yt(p,p.duration):null,F=Ce(p.dataset.duration),I=F!=null&&F>0?F:null;return Zm({isVideo:p.tagName===\"VIDEO\",sourceDuration:C,hostRemaining:w,explicitDuration:I})}}),iS=()=>{let c=Cr();if(kr&&kr.revision===c)return kr;let p=io().mediaClips;return kr={revision:c,clips:p,byStart:[...p].sort((y,S)=>y.start-S.start),byEnd:[...p].sort((y,S)=>y.end-S.end)},hn=null,ro=[],kr},bd=(c,p,y,S)=>{let w=0,C=c.length;for(;w<C;){let I=w+C>>1;p(c[I])<y?w=I+1:C=I}let F=[];for(let I=w;I<c.length&&p(c[I])<=S;I+=1)F.push(c[I]);return F},oS=(c,p,y)=>{let S=hn;if(S===null)return c.clips.map(q=>q.el);let w=2*Lo(Math.max(Math.abs(S),Math.abs(p))),C=Math.min(S,p)-w,F=Math.max(S,p)+w,I=new Set;for(let q of ro)I.add(q.el);for(let q of bd(c.byStart,ee=>ee.start,C,F+y))I.add(q.el);for(let q of bd(c.byEnd,ee=>ee.end,C,F))I.add(q.el);return[...I]},oo=new WeakSet,xd=c=>{oo.add(c)},yd=c=>{oo.delete(c),Ut()};window.__hf.leasePausedMedia=xd,window.__hf.releasePausedMedia=yd,window.__hf.setLoopStart=c=>{to=c!=null&&Number.isFinite(c)&&c>=0?c:null};let aS=c=>{let p=ts.get(c)?.hostId,y=p?document.querySelector(`[data-composition-id=\"${CSS.escape(p)}\"]`):null,S=y?J(y):null;return y&&S?V(y,0)+S:1/0},Sd=c=>{let p=0;for(let y of c){if(y.data===Dr)continue;let S=y.getChildren?y:y.timeline,w=Number(y.duration?.())/Number(S?.duration?.()),C=S?.getChildren?Sd(S.getChildren(!1,!0,!0))*(Number.isFinite(w)&&w>0?w:1):Number(y.duration?.())||0,F=Math.abs(Number(y.timeScale?.())||1),I=(Number(y.startTime?.())||0)+C/F;I>=sr||(p=Math.max(p,Math.min(I,aS(y))))}return p};window.__hf.animationEnd=()=>{let c=e.capturedTimeline,p=c?.getChildren?Sd(c.getChildren(!1,!0,!0)):Z(c)??0,y=Math.max(p,es(!0)??0);return y>0&&y<sr?y:null},window.__hf.audioMeter={start:()=>m.startMetering(),stop:()=>m.stopMetering(),read:()=>m.readLevels()};let sS=()=>{for(let c of document.querySelectorAll(\"video, audio\"))if(pe(c)&&!c.paused&&gd(c)&&!oo.has(c))return!0;return!1},vd=()=>Ut();document.addEventListener(\"play\",vd,!0),a.push(()=>{document.removeEventListener(\"play\",vd,!0)});let Je=c=>{let p=!_r,y=e.isPlaying&&!e.mediaForceSyncNextTick&&hn!==null?Math.min(Math.max(0,e.currentTime-hn),Yt*Math.min(1,e.playbackRate)):0,S=U(()=>{if(!p)return io().mediaClips;let F=iS();return io(oS(F,e.currentTime,y)).mediaClips});for(let F of S){let I=Rr.get(F.el);I&&(F.volumeKeyframes=I)}let w=e.isPlaying?S:S.filter(F=>!oo.has(F.el)),C=e.mediaForceSyncNextTick;C&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||(tp({clips:w,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:C,cueAheadSeconds:y,getCompositionDuration:()=>Be(e.capturedTimeline,0,c),onElementVolume:(F,I,q)=>m.setElementVolume(F,q),isWebAudioOwned:F=>m.ownsElement(F),isWebAudioRouted:F=>m.routesElement(F),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,Ee({source:\"hf-preview\",type:\"media-autoplay-blocked\"}))}}),p?(hn=e.currentTime,ro=S.filter(F=>Kt(e.currentTime,F.start-Yt,F.end))):(hn=null,ro=[])),pn(e.currentTime,void 0,c)},Oe=c=>{c&&Ut();let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),y=Date.now();(c||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||y-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=y,Ee({source:\"hf-preview\",type:\"state\",frame:p,currentTime:e.currentTime||0,ended:d.reachedEnd(),isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},us=\"\",Ed=!1,Ad=!1,wd=0,_d=\"\",lS=()=>{let c=\"\";for(let p of document.querySelectorAll(\"[data-start]\"))c+=`${p.id}:${p.tagName}|`;return c},at=()=>{N(),ne(),_();let c=W();if(c){let{width:S,height:w}=ih(c);S!==null&&w!==null&&Ee({source:\"hf-preview\",type:\"stage-size\",width:S,height:w})}In();let p=$l({canonicalFps:e.canonicalFps});window.__clipManifest=p,_d=JSON.stringify(p);let y=lS();if(us!==y&&Yy(),!window.__clipTree||us!==y){let S=window;window.__clipTree=th({startResolver:Ke({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),us=y}Ee({...p,assetsReady:Ad}),Ed||(Ed=!0,Lx(document,({timedOut:S})=>{e.tornDown||(Ad=!0,Ee({source:\"hf-preview\",type:\"assets-ready\",timedOut:S}))})),Uy()},uS=()=>{JSON.stringify($l({canonicalFps:e.canonicalFps}))!==_d&&at()},cs=c=>typeof c==\"number\"&&Number.isFinite(c)&&c>0?c:0,cS=c=>{let p=cs(Number(c));if(p<=0)return;let y=W(),S=cs(Ce(y?.getAttribute(\"data-duration\"))),w=Math.max(wd,cs(d.getDuration()),S);p<=w||(wd=p,y?.setAttribute(\"data-duration\",String(p)),d.setDuration(p),at(),Oe(!0))},Qe=(c,p=0,y)=>{for(let S of e.deterministicAdapters){try{c===\"discover\"&&S.discover(),c===\"pause\"&&S.pause({pageAnimations:y}),c===\"play\"&&S.play&&S.play()}catch(w){H(\"runtime.init.site8\",w)}if(c===\"discover\")try{S.seek({time:p,suppressEvents:!0})}catch(w){H(\"runtime.init.site9\",w)}}},gn=()=>{window.__renderReady=!1},dS=Ux(()=>{let c=[];for(let p of e.deterministicAdapters){let y=p.getReadyPromise;if(typeof y==\"function\")try{let S=y();S&&c.push(S)}catch(S){H(\"runtime.init.adapterReady\",S)}}return c},()=>gn(),c=>H(\"runtime.init.adapterReady\",c)),fS=Ux(()=>{let c=window.__hf?.buildReady;return c?Object.values(c).filter(p=>p!=null&&typeof p.then==\"function\"):[]},()=>gn(),c=>H(\"runtime.init.buildReady\",c)),mS=()=>{Ji(),Vy();let c=Ou();return ka(document),Ha(document.body,e.canonicalFps),c};if(le)Ou();else{let c={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:B,onDiagnostic:({code:p,details:y})=>{Ee({source:\"hf-preview\",type:\"diagnostic\",code:p,details:y})}};A0(c).finally(()=>{le=!0,mS(),gn()})}let Cd=c=>{let p=new Set,y=S=>{for(let w of(S??\"\").matchAll(/url\\(\\s*(['\"]?)(.*?)\\1\\s*\\)|@import\\s+(['\"])(.*?)\\3/gi))p.add(w[2]??w[4]);for(let w of(S??\"\").matchAll(/image-set\\((?:[^()]|\\([^()]*\\))*\\)/gi))for(let C of w[0].matchAll(/(['\"])(.*?)\\1/g))p.add(C[2])};for(let S of c)if(S.tagName===\"STYLE\"&&y(S.textContent),!(S.tagName===\"STYLE\"||S.tagName===\"SCRIPT\"))for(let w of[S,...S.querySelectorAll(\"*\")]){let C=$k.get(w.localName)??[],F=[H0(w),...[...C,\"poster\",\"srcset\"].map(I=>w.getAttribute(I))];for(let I of F)I&&p.add(I);y(w.getAttribute(\"style\"))}return p},ds=0,pS=(c,p,y)=>{let S=new Map;for(let w of y?c.querySelectorAll(\"video, audio\"):[]){let C=qi.get(w);if(!C||r?.isGraded(w))continue;let{srcObject:F,sinkId:I,mediaKeys:q}=w;F||I||q||S.set(C,[...S.get(C)??[],w])}for(let w of p.querySelectorAll(\"video, audio\")){let C=Fc(w),F=S.get(C)?.shift();if(!F||Wx(F)!==Wx(w)){qi.set(w,C);continue}w.replaceWith(F),window.gsap?.set?.(F,{clearProps:\"all\"});let I=w.getAttribute(\"style\");I===null?F.removeAttribute(\"style\"):F.setAttribute(\"style\",I),I0(F);let q=F;q.volume=od(q)??1,q.muted=e.bridgeMuted||e.mediaOutputMuted||q.defaultMuted,q.defaultPlaybackRate=1,q.playbackRate=e.playbackRate,q.preservesPitch=!0}},Rd=c=>[c,...c.querySelectorAll(\"[data-composition-id]\")].flatMap(p=>p.getAttribute(\"data-composition-id\")||[]),hS=(c,p,y,S)=>{let w=new Set(Rd(p).flatMap(I=>[y[I],...S[I]??[]])),C=new Set([p,...p.querySelectorAll(\"*\")]);for(let I of window.gsap?.globalTimeline?.getChildren?.(!0,!0,!1)??[]){if(!I.targets?.().some(ee=>C.has(ee)))continue;let q=I;for(;q&&!w.has(q);)q=q.parent;if(!q)throw new Error(`scene ${c} cannot be swapped: an animation outside it moves its elements`)}let F=I=>typeof I?.nodeType==\"number\"&&!C.has(I);for(let I of w)for(let q of I?[I,...I.getChildren?.(!0,!0,!1)??[]]:[])if(q.targets?.().some(F))throw new Error(`scene ${c} cannot be swapped: its animations write outside the scene`)},gS=async(c,p)=>{let y=ds,S=new DOMParser().parseFromString(c,\"text/html\"),w=zi(document),C=zi(S);if(!w||!C)throw new Error(\"no scene manifest\");if(w.shared!==C.shared)throw new Error(\"the film changed outside its scenes\");let F=Object.keys(C.scenes);if(F.length!==Object.keys(w.scenes).length||F.some($=>!($ in w.scenes)))throw new Error(\"scenes were added or removed\");let I=F.filter($=>C.scenes[$]!==w.scenes[$]);if(I.length===0)throw new Error(\"no scene changed\");let q=I.map($=>{let ie=bt=>Array.from(bt.querySelectorAll(`[${Su}=\"${CSS.escape($)}\"]`)),he=bt=>bt.tagName!==\"STYLE\"&&bt.tagName!==\"SCRIPT\",be=ie(document),We=ie(S),je=be.filter(he),xn=We.filter(he),He=je[0],zt=xn[0];if(!He||!zt||je.length>1||xn.length>1)throw new Error(`scene ${$} cannot be swapped: it has no single host`);if(He.hasAttribute(\"data-hf-original-composition-id\"))throw new Error(`scene ${$} cannot be swapped: it is a duplicated instance`);let zd=He.getAttribute(vu)??zt.getAttribute(vu);if(zd!==null)throw new Error(`scene ${$} cannot be swapped: ${zd}`);let MS=Cd(be);if([...Cd(We)].some(bt=>!MS.has(bt)))throw new Error(`scene ${$} cannot be swapped: it loads media this scene has not loaded`);let qd=bt=>bt.filter(NS=>NS.tagName===\"STYLE\").length;if(qd(be)!==qd(We))throw new Error(`scene ${$} cannot be swapped: its styles moved`);return{name:$,oldParts:be,homes:be.map(bt=>bt.parentNode),newParts:We,oldHost:He,newHost:zt}}),ee=()=>{let $=W(),ie=new Set;for(let he of document.querySelectorAll(`[${Su}]`)){if(he.tagName===\"STYLE\"||he.tagName===\"SCRIPT\")continue;let be=he.parentElement;for(;be;be=be===$?null:be.parentElement)ie.add(be)}return[...ie].flatMap(he=>[he,...Array.from(he.children).filter(be=>!be.hasAttribute(\"data-hf-ignore\")),null])},me=ee(),Ue=q.some(({newHost:$})=>$.querySelector(\".caption-group\"))?await T0():[];if(e.tornDown)throw new Error(\"the preview was torn down during the swap\");if(p?.aborted)throw new Error(\"the swap was cancelled\");if(y!==ds)throw new Error(\"the preview changed while this swap waited\");let ce=()=>{let $=({oldParts:be,homes:We})=>be.some((je,xn)=>!je.isConnected||je.parentNode!==We[xn]),ie=ee();if(ie.length!==me.length||ie.some((be,We)=>be!==me[We])||q.some($))throw new Error(\"a scene changed while this swap waited\")};ce();let ge=()=>window.__timelines??(window.__timelines={}),ze=()=>window.__hfSceneAnimations??(window.__hfSceneAnimations={}),lt=()=>{for(let{name:$,oldHost:ie}of q)hS($,ie,ge(),ze())};lt(),ds+=1;let qe=e.capturedTimeline,Te=[],Ie=[],ys=q.flatMap(({oldHost:$})=>Rd($)),ke=new Set,Nr=()=>{let $=ke.size;for(let ie of ys)for(let he of[...(ze()[ie]??[]).slice().reverse(),ge()[ie]]){if(!he||ke.has(he))continue;ke.add(he);let be=he;be.revert?be.revert():be.totalTime?.(0,!0),qe?.remove?.(he),be.revert||be.kill?.()}return ke.size>$},oe=0;for(;Nr();)if(++oe>8)throw new Error(\"the old scene keeps starting animations as they stop\");ce(),lt();for(let $ of ys)delete ge()[$],delete ze()[$];m.stopAll(),d.detachAudioSource();for(let{oldParts:$,newParts:ie,oldHost:he,newHost:be}of q){let We=ie.filter(He=>He.tagName===\"STYLE\");$.filter(He=>He.tagName===\"STYLE\").forEach((He,zt)=>He.replaceWith(document.importNode(We[zt],!0)));for(let He of $)He!==he&&He.remove();let je=document.importNode(be,!0),xn=He=>JSON.stringify(He.flatMap(zt=>zt.tagName===\"SCRIPT\"?zt.textContent:[]));pS(he,je,xn($)===xn(ie)),he.replaceWith(je),Ie.push(je),je.querySelector(\".caption-group\")&&Te.push(je)}Pn();let te=q.flatMap(({newParts:$})=>$.filter(ie=>ie.tagName===\"SCRIPT\").map(ie=>document.body.appendChild(document.importNode(ie,!0))));if(await Aa(te),e.tornDown)throw new Error(\"the preview was torn down during the swap\");document.querySelector(`meta[name=\"${ki}\"]`)?.setAttribute(\"content\",JSON.stringify(C));for(let $ of Ie)ka(document,$);Ji();let re=()=>{for(let $ of Te)for(let ie of[$,...$.querySelectorAll(\"[data-composition-id]\")]){let he=ie.getAttribute(\"data-composition-id\");he&&window.__timelines?.[he]?.totalTime?.(0,!0)}};Ha(document.body,e.canonicalFps),Hu(Ue,Te,re),qy(),Fn=!1,In();for(let $ of Ie)for(let ie of $.querySelectorAll(\"video, audio\"))Rr.delete(ie),rs(ie);let ue=Be(e.capturedTimeline,0);ue>0&&d.setDuration(ue),Qe(\"discover\",e.currentTime),Ni(document);let we=d.isPlaying()&&ue>0&&e.currentTime>=ue;so.seek(we?ue:e.currentTime,{keepPlaying:!we}),pn(e.currentTime),at()};zi(document)&&(window.__hfSwapScenes=gS,A(()=>{delete window.__hfSwapScenes}));let ao=Qp({postMessage:c=>Ee(c)});ao.installPickerApi(),pn(e.currentTime,Array.from(document.querySelectorAll(\"video[data-start], img[data-start]\")));let gt=xb({lease:xd,release:yd});r=gt,A(()=>{gt.destroy(),r=null}),Ha(document.body,e.canonicalFps);let fs=c=>{let p=Number(c);!Number.isFinite(p)||p<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,p)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale==\"function\"&&e.capturedTimeline.timeScale(e.playbackRate);let y=document.querySelectorAll(\"video, audio\");for(let S of y)if(pe(S))try{S.playbackRate=e.playbackRate}catch(w){H(\"runtime.init.site10\",w)}},bS=1e3,Vt=null,Td=()=>{let c=Vt;Vt=null,c?.apply()},kd=(c,p)=>{m.stopAll(),d.detachAudioSource();let y=d.isPlaying();y&&d.pause(),d.seek(c),e.currentTime=d.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let S=e.capturedTimeline;kt(S);let w=bn(e.currentTime);if(Qe(\"pause\",0,w),p?.keepPlaying&&y){so.play();return}Je(),gt.redraw(),dc(e.currentTime),Oe(!0)},so={play:()=>{Td();let c=e.capturedTimeline;if(d.isPlaying())return;let p=Be(c,0);if(p>0){if(d.setDuration(p),d.reachedEnd()){let y=d.getPlayStart();d.seek(y),e.currentTime=y,bn(y)}}else{let y=W(),S=Number(y?.getAttribute(\"data-duration\")??0);S>0&&d.setDuration(S)}kt(c),d.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Vd(d.now()),x&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&bs(),Qe(\"play\"),Je(),gt.redraw(),Oe(!0))},pause:()=>{if(!d.isPlaying())return;m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1,e.currentTime=d.now(),e.mediaForceSyncNextTick=!0,Vd(e.currentTime);let c=e.capturedTimeline;kt(c),Qe(\"pause\"),Je(),gt.redraw(),Oe(!0)},seek:(c,p)=>{let y=nl(Math.max(0,Number(c)||0),e.canonicalFps);Vt=null;let S=d.isPlaying()?[]:rS(y);if(S.length===0){kd(y,p);return}let w={time:y,apply:()=>kd(y,p)};Vt=w;for(let ee of S){Vx(ee);for(let me=ee.closest($r);me;me=ee.closest($r))me.setAttribute(Sn,\"\")}let C=0,F=new Promise(ee=>{C=window.setTimeout(()=>{Vt===w&&H(\"runtime.init.seekHoldCap\",S),ee()},bS)}),I=Promise.all(S.map(ee=>ee.decode?ee.decode().catch(()=>{}):void 0)),q=Promise.race([I,F]).then(()=>{window.clearTimeout(C),Vt===w&&Td()});return tt(q),q},renderSeek:(c,p)=>{Vt=null,_r=!0;let y=na(Math.max(0,Number(c)||0),e.canonicalFps,p);m.stopAll(),d.detachAudioSource(),d.isPlaying()&&d.pause(),d.seek(y),e.currentTime=d.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let S=bn(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents});Qe(\"pause\",0,S),Je(),gt.redraw(),dc(e.currentTime,{engineMode:!0}),Oe(!0)},getTime:()=>Vt?.time??d.now(),getDuration:()=>{let c=d.getDuration();return Number.isFinite(c)?c:0},isPlaying:()=>d.isPlaying(),setPlaybackRate:c=>{fs(c),d.setRate(e.playbackRate),$d()},getPlaybackRate:()=>e.playbackRate},Md=Be(e.capturedTimeline,0);Md>0&&d.setDuration(Md);let st=eh({getTimeline:()=>e.capturedTimeline,setTimeline:c=>{e.capturedTimeline=c},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:c=>{e.isPlaying!==c&&(e.mediaForceSyncNextTick=!0),e.isPlaying=c},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:fs,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(c,p)=>{e.currentTime=Math.max(0,Number(c)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Je()},onStatePost:Oe,onDeterministicSeek:(c,p)=>{for(let y of e.deterministicAdapters)if(!(y.name===\"gsap\"&&e.capturedTimeline))try{y.seek({time:Number(c)||0,suppressEvents:p?.suppressEvents})}catch(S){H(\"runtime.init.site11\",S)}},onDeterministicPause:()=>Qe(\"pause\"),onDeterministicPlay:()=>Qe(\"play\"),onRenderFrameSeek:()=>{gt.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Be(e.capturedTimeline,0),transport:so});window.__player=k(st),window.__playerReady=!0,et(\"composition_loaded\",{duration:st.getDuration(),compositionId:At()?.getAttribute(\"data-composition-id\")??null}),e.deterministicAdapters=[km({start:c=>V(c,0),duration:c=>J(c),compositionDuration:()=>Be(e.capturedTimeline,0),canonicalFps:()=>e.canonicalFps,exportRenderSeek:()=>!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}),Pm(),am({resolveStartSeconds:c=>V(c,0)}),cm(),pm({resolveStartSeconds:c=>V(c,0)}),bm(),xm(),ym(),Sm(),vm(),Em(),Am(),um({getTimeline:()=>e.capturedTimeline})],Im(),Dm(),window.__hfReseekGpu=c=>{let p=Math.max(0,Number(c)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Ho(p)},window.__hfWaitForSeekCompletion=Zs,a.push(()=>{window.__hfWaitForSeekCompletion===Zs&&delete window.__hfWaitForSeekCompletion}),Wy(),Ji(),Qe(\"discover\");let xS=()=>{let c=e.capturedTimeline,p=In();e.capturedTimeline&&(p||e.capturedTimeline!==c||!st._timeline)&&(st._timeline=e.capturedTimeline);let y=Be(e.capturedTimeline,0);if(y>0&&d.setDuration(y),Qe(\"discover\",e.currentTime),!e.capturedTimeline){let S=window.__timelines??{},w=Object.keys(S).filter(C=>S[C]);if(w.length>0){let F=W()?.getAttribute(\"data-composition-id\")??null;E(\"root_timeline_unbound_registry_present\",{reason:F?\"root data-composition-id has no matching key in window.__timelines\":\"root composition element has no data-composition-id attribute\",rootCompositionId:F,registeredTimelineKeys:w},\"root_timeline_unbound_registry_present\"),console.warn(\"[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. \"+(F?`Root data-composition-id is \"${F}\" but window.__timelines has no such key. `:\"Root composition element has no data-composition-id. \")+`Registered timeline keys: [${w.join(\", \")}]. Register the root timeline under its data-composition-id (window.__timelines[\"${F??\"<root-id>\"}\"] = tl).`)}}pn(e.currentTime,Array.from(document.querySelectorAll(\"[data-start]:not(video, audio, img)\"))),window.__renderReady=!0,at(),Oe(!0)},Dn=null,yS=()=>{if(Dn)return;let c=()=>{window.removeEventListener(\"hf-timelines-built\",c),Dn=null,gn()};Dn=c,window.addEventListener(\"hf-timelines-built\",c)};A(()=>{Dn&&(window.removeEventListener(\"hf-timelines-built\",Dn),Dn=null)}),gn=()=>{if(!e.tornDown){if(!le){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,yS();return}if(Qe(\"discover\",e.currentTime),!dS()){window.__renderReady=!1;return}if(!fS()){window.__renderReady=!1;return}xS()}},gn(),le&&setTimeout(()=>{gn()},0);let ms=0,lo=!1,uo=Number.NaN,co=null,fo=!1,$t=null,Nd=!1,mo=!1,Ld=\"\",Fd=-1,Mr=!1,Id=Number.NEGATIVE_INFINITY,Dd=Number.NEGATIVE_INFINITY,Pd=\"\",Od=!1,SS=(c,p,y,S)=>{try{let w=S?.suppressEvents===!0;kt(c),typeof c.totalTime==\"function\"?c.totalTime(p,w):c.seek(p,w)}catch(w){H(y,w)}},vS=(c,p)=>{let y=window.__timelines??{},S=W()?.getAttribute(\"data-composition-id\")??null;for(let[w,C]of Object.entries(y)){if(!C||w===S)continue;let F=document.querySelector(`[data-composition-id=\"${CSS.escape(w)}\"]`);if(!F)continue;let I=V(F,0);if(!Number.isFinite(I))continue;let q=Z(C),ee=vt(F)+Wn(xt(F),Math.max(0,c-I)),me=Math.max(0,q!=null&&q>0?Math.min(q,ee):ee);SS(C,me,\"runtime.init.transport.childTimeline\",p)}},ES=c=>{let p=window.__timelines??{},y=[];for(let S of Object.values(p))if(!(!S||S===c)){y.push(S);try{S.play()}catch(w){H(\"runtime.init.activateSiblings\",w)}}return y},Hd=c=>typeof c==\"object\"&&c!==null,AS=[\"onStart\",\"onUpdate\",\"onComplete\",\"onReverseComplete\",\"onRepeat\"],Gd=(c,p)=>{let y=c[p];if(typeof y!=\"function\")return null;try{let S=Number(y.call(c));return Number.isFinite(S)?S:null}catch(S){return H(\"runtime.init.gsapCallbackDuration\",S),null}},wS=c=>{if(!(\"getChildren\"in c)||typeof c.getChildren!=\"function\")return!1;let p;try{p=c.getChildren(!0,!0,!0)}catch(y){return H(\"runtime.init.gsapCallbackChildren\",y),!1}if(!Array.isArray(p))return!1;for(let y of p){if(!Hd(y))continue;let S=y.vars;if(!Hd(S)||!AS.some(I=>typeof S[I]==\"function\"))continue;let F=Gd(y,\"totalDuration\")??Gd(y,\"duration\");if(F!=null&&F<=1e-6)return!0}return!1};function bn(c,p){let y=e.capturedTimeline,S=y&&p?.activateChildren?ES(y):[];try{let w=_S(y,c,p);return uo=c,co=y,w}finally{for(let w of S)kt(w)}}function _S(c,p,y){let S=y?.suppressEvents===!0;if(c){let C=p;if(typeof c.totalDuration==\"function\")try{let F=Number(c.totalDuration());Number.isFinite(F)&&F>0&&p>F&&(C=F)}catch(F){H(\"runtime.init.transport.clampDuration\",F)}try{typeof c.totalTime==\"function\"?(c.totalTime(C,S),!S&&!wS(c)&&Ks({totalTime:c.totalTime.bind(c),totalDuration:c.totalDuration?.bind(c),getChildren:c.getChildren?.bind(c)},C)):c.seek(C,S)}catch(F){H(\"runtime.init.transport.seek\",F)}}vS(p,y);let w=qk();for(let C of e.deterministicAdapters)if(!(C.name===\"gsap\"&&c))try{C.seek({time:p,suppressEvents:S,pageAnimations:w})}catch(F){H(\"runtime.init.transport.adapter\",F)}return w}let ps=Sx(document,()=>{Ut()});a.push(()=>ps.disconnect());let Bd=()=>{try{return ps.isActive()}catch{return!1}},CS=()=>!d.isPlaying()&&!Vc()&&ps.observing&&(!fo||Bd())&&!Mr&&e.currentTime===uo&&e.capturedTimeline===co,hs=()=>`${Cr()}|${es()??\"\"}`,Ud=()=>{$t=window.setTimeout(RS,Nd&&e.capturedTimeline&&Fn?zk:e.bridgeMaxPostIntervalMs)},RS=()=>{if($t=null,!e.tornDown&&!(typeof window>\"u\"||typeof document>\"u\")){if(hs()!==Ld){Ut();return}Oe(!1),Ud()}},TS=()=>{if(e.transportRafId=null,e.tornDown)return;let c=mo;if(mo=!1,c||!CS()){e.transportRafId=window.requestAnimationFrame(gs);return}Ld=hs(),Ud()};Ut=()=>{e.tornDown||(mo=!0,!(lo||e.transportRafId!=null)&&($t!=null&&(window.clearTimeout($t),$t=null),mo=!1,e.transportRafId=window.requestAnimationFrame(gs)))};let kS=c=>{let p=document.querySelectorAll(\"audio[data-start]\"),y=null;for(let S of c?[c,...p]:p){if(!pe(S)||!S.isConnected||h(S)||fl(S)||S.ended&&!S.loop||!S.hasAttribute(\"src\")&&!S.querySelector(\"source[src]\"))continue;let w=O(S),C=Ce(S.dataset.duration),F=C!=null&&C>0?w+C:1/0;if(!Number.isFinite(w)||!Kt(e.currentTime,w,F))continue;if(S===c)return{el:S,start:w};let I=w+($n(S)??1/0);(!y||I>y.runsUntil)&&(y={el:S,start:w,runsUntil:I})}return y};function Wd(){if(d.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.ownsClock()&&m.context){let c=m.getTime();c>=0&&d.attachAudioSource({currentTimeSeconds:c})}else{let c=kS(d.audioElement());c&&!c.el.paused?d.attachAudioSource({el:c.el,compositionStart:c.start,mediaStart:vt(c.el),rate:xt(c.el)}):c&&c.el.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?d.attachAudioSource({currentTimeSeconds:e.currentTime}):d.hasAudioSource()&&d.detachAudioSource()}else d.hasAudioSource()&&d.detachAudioSource()}let gs=()=>{if(!(e.tornDown||lo)){lo=!0;try{ms+=1;let c=Cr();c!==Fd&&(Fd=c,Mr=!0);let p=Date.now(),y=d.isPlaying(),S=y&&p-Dd>=Ex,w=Od&&!y;if(Od=y,S){Dd=p;let me=hs();me!==Pd&&(Pd=me,Mr=!0)}let C=Mr&&p-Id>=vx;C&&(Id=p);let F=me=>!y&&ms%me===0;if(Ax({tick:ms,isPlaying:y,hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:d.now(),compositionChanged:C,playingPollDue:S})){let me=e.capturedTimeline;if(In()){e.capturedTimeline&&!st._timeline&&(st._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==me&&kt(e.capturedTimeline);let Ue=Be(e.capturedTimeline,0,c);Ue>0&&d.setDuration(Ue),at()}}if(C||F(20)?(at(),Mr=!1):(S||w)&&uS(),(C||F(30))&&Ji(),e.capturedTimeline){let me=Be(e.capturedTimeline,0,c);me>0&&(!d.isPlaying()||me>=d.getDuration())&&d.setDuration(me)}Wd();let I=d.now();e.currentTime=I;let q=d.isPlaying();if(!q&&Bd()?fo=!0:(q||fo||I!==uo||e.capturedTimeline!==co)&&(bn(I),q||(fo=!1)),q&&gt.redrawAnimated(),d.isPlaying()&&d.reachedEnd()){m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1;let me=d.getStopTime();Number.isFinite(me)&&(d.seek(me),e.currentTime=me,bn(me)),Qe(\"pause\"),Je(c),Oe(!0);return}d.isPlaying()?Je(c):sS()&&(hn=null,Je(c)),Oe(!1)}finally{lo=!1,TS()}}},Vd=c=>{let p=document.querySelectorAll(\"video, audio\");for(let y of p){if(!pe(y)||!y.isConnected||!y.hasAttribute(\"data-start\"))continue;let S=O(y);if(!Number.isFinite(S))continue;let w=Ce(y.dataset.duration),C=w!=null&&w>0?S+w:1/0;if(!Kt(c,S,C))continue;let F=vt(y),I=c-S+F;if(I>=0)try{y.currentTime=I}catch{}}},bs=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let c=m.startGeneration();for(let p of Mc(document)){if(h(p))continue;let y=O(p);if(!Number.isFinite(y))continue;let S=vt(p),w=Number.parseFloat(p.dataset.volume??\"\"),C=Number.isFinite(w)?w:1,F=Ce(p.dataset.duration),I=F!=null&&F>0?F:Number.POSITIVE_INFINITY,q=p.closest(\"[data-composition-id]\");if(q){let Ue=V(q,0),ce=J(q,{includeAuthoredTimingAttrs:!0});ce!=null&&ce>0&&(I=Math.min(I,Math.max(0,Ue+ce-y)))}let ee=Sr(p);vr(p,ee),(ee.kind===\"web-audio\"?m.scheduleMediaElementPlayback(p,y,S,d.now(),C,c,e.playbackRate):Promise.resolve(null)).then(Ue=>{let ce=c!==m.currentGeneration();if(Ue||!yo(p)||!d.isPlaying()||ce||typeof xt(p)!=\"number\")return;let ge=e.playbackRate*$e(p),ze=p.hasAttribute(\"data-fx-chain\")||p.hasAttribute(\"data-automation\");if(Math.abs(ge-1)>1e-9){ee.kind===\"web-audio\"&&ze&&(p.muted=!0);return}m.decodeAudioElement(p).then(lt=>{!lt||!d.isPlaying()||m.schedulePlayback(p,lt,y,S,()=>d.now(),C,c,e.playbackRate,I)})})}};function $d(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&x&&d.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),bs())}if(e.capturedTimeline){let c=Be(e.capturedTimeline,0);c>0&&d.setDuration(c),kt(e.capturedTimeline)}D0(window),e.transportRafId=window.requestAnimationFrame(gs),at(),Oe(!0),e.controlBridgeHandler=Yf({onPlay:()=>{st.play(),et(\"composition_played\",{time:st.getTime()})},onPause:()=>{st.pause(),et(\"composition_paused\",{time:st.getTime()})},onStopMedia:()=>{m.stopAll();let c=document.querySelectorAll(\"video, audio\");for(let p of c)pe(p)&&!p.paused&&p.pause()},onSeek:(c,p)=>{st.seek(c),et(\"composition_seeked\",{time:c})},onSetMuted:c=>{e.bridgeMuted=c;let p=c||e.mediaOutputMuted;m.setMuted(p);let y=document.querySelectorAll(\"video, audio\");for(let S of y)pe(S)&&(S.muted=p||S.defaultMuted)},onSetVolume:c=>{e.bridgeVolume=c,m.setVolume(c);let p=document.querySelectorAll(\"video, audio\");for(let y of p){if(!pe(y))continue;let S=parseFloat(y.dataset.volume??\"\"),w=Number.isFinite(S)?S:1;y.volume=wo(w*c)}},onSetMediaOutputMuted:c=>{e.mediaOutputMuted=c;let p=c||e.bridgeMuted;m.setMuted(p);let y=document.querySelectorAll(\"video, audio\");for(let S of y)pe(S)&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:c=>{e.nativeMediaSyncDisabled!==c&&(e.nativeMediaSyncDisabled=c,e.mediaForceSyncNextTick=!0,c?(m.stopAll(),d.detachAudioSource()):Je())},onSetWebAudioMediaDisabled:c=>{e.webAudioMediaDisabled!==c&&(e.webAudioMediaDisabled=c,e.mediaForceSyncNextTick=!0,c&&(m.stopAll(),d.detachAudioSource()),Je())},onSetPlaybackRate:c=>{fs(c),e.transportClock&&e.transportClock.setRate(e.playbackRate),$d()},onSetDisplayScale:c=>{dp(c),df(c)},onSetIdleHeartbeat:c=>{Nd=c,Ut()},onSetRootDuration:cS,onSetPlayRange:(c,p)=>{d.setPlayRange(c,p,e.canonicalFps);let y=d.getPlayStart();if(d.isPlaying()&&(d.now()<y||d.reachedEnd())){so.seek(y,{keepPlaying:!0});return}Oe(!0)},onSetColorGrading:(c,p)=>{gt.setGrading(c,p)},onSetColorGradingCompare:(c,p)=>{gt.setCompare(c,p)},onTick:()=>{if(e.tornDown||!d.isPlaying())return;Wd();let c=d.now();if(e.currentTime=c,(c!==uo||e.capturedTimeline!==co)&&bn(c),d.reachedEnd()){m.stopAll(),d.detachAudioSource(),d.pause(),e.isPlaying=!1;let p=d.getStopTime();Number.isFinite(p)&&(d.seek(p),e.currentTime=p,bn(p)),Qe(\"pause\"),Je(),Oe(!0)}},onEnablePickMode:()=>ao.enablePickMode(),onDisablePickMode:()=>ao.disablePickMode(),onSetRuntimeData:$a,onClearRuntimeData:za,getCanonicalFps:()=>e.canonicalFps});let xs=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),$t!=null&&(window.clearTimeout($t),$t=null),e.transportClock=null,m.destroy(),mn!=null&&(window.clearTimeout(mn),mn=null),l!=null&&(window.cancelAnimationFrame(l),l=null),zy(),e.controlBridgeHandler&&(window.removeEventListener(\"message\",e.controlBridgeHandler),e.controlBridgeHandler=null),i&&(window.removeEventListener(\"error\",i),i=null),o&&(window.removeEventListener(\"unhandledrejection\",o),o=null),e.beforeUnloadHandler&&(window.removeEventListener(\"beforeunload\",e.beforeUnloadHandler),e.beforeUnloadHandler=null),ao.disablePickMode();for(let c of e.deterministicAdapters)if(!(!c||typeof c.revert!=\"function\"))try{c.revert()}catch(p){H(\"runtime.init.site12\",p)}e.deterministicAdapters=[],window.__hf?.buildReady&&(window.__hf.buildReady={});for(let c of a.splice(0))try{c()}catch(p){H(\"runtime.init.site13\",p)}for(let c of e.injectedCompStyles)try{c.remove()}catch(p){H(\"runtime.init.site14\",p)}e.injectedCompStyles=[];for(let c of e.injectedCompLinks)try{c.remove()}catch(p){H(\"runtime.init.site15\",p)}e.injectedCompLinks=[];for(let c of e.injectedCompScripts)try{c.remove()}catch(p){H(\"runtime.init.site16\",p)}e.injectedCompScripts=[],e.capturedTimeline=null,t=()=>{},window.__hfRuntimeTeardown===xs&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=xs,e.beforeUnloadHandler=xs,window.addEventListener(\"beforeunload\",e.beforeUnloadHandler)}var Yx=[\"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\"],Ic=[[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 jk(e){if(e<=255)return Yx[e];let t=0,n=Ic.length-1;for(;t<=n;){let r=t+n>>1,i=Ic[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return\"L\"}function Kk(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let f=e.charCodeAt(u),d=f,m=1;if(f>=55296&&f<=56319&&u+1<t){let h=e.charCodeAt(u+1);h>=56320&&h<=57343&&(d=(f-55296<<10)+(h-56320)+65536,m=2)}let x=jk(d);(x===\"R\"||x===\"AL\"||x===\"AN\")&&(r=!0);for(let h=0;h<m;h++)n[u+h]=x;u+=m}if(!r)return null;let i=0;for(let u=0;u<t;u++){let f=n[u];if(f===\"L\"){i=0;break}if(f===\"R\"||f===\"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\",s=a,l=s;for(let u=0;u<t;u++)n[u]===\"NSM\"?n[u]=l:l=n[u];l=s;for(let u=0;u<t;u++){let f=n[u];f===\"EN\"?n[u]=l===\"AL\"?\"AN\":\"EN\":(f===\"R\"||f===\"L\"||f===\"AL\")&&(l=f)}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 f;for(f=u-1;f>=0&&n[f]===\"ET\";f--)n[f]=\"EN\";for(f=u+1;f<t&&n[f]===\"ET\";f++)n[f]=\"EN\"}for(let u=0;u<t;u++){let f=n[u];(f===\"WS\"||f===\"ES\"||f===\"ET\"||f===\"CS\")&&(n[u]=\"ON\")}l=s;for(let u=0;u<t;u++){let f=n[u];f===\"EN\"?n[u]=l===\"L\"?\"L\":\"EN\":(f===\"R\"||f===\"L\")&&(l=f)}for(let u=0;u<t;u++){if(n[u]!==\"ON\")continue;let f=u+1;for(;f<t&&n[f]===\"ON\";)f++;let d=u>0?n[u-1]:s,m=f<t?n[f]:s,x=d!==\"L\"?\"R\":\"L\";if(x===(m!==\"L\"?\"R\":\"L\"))for(let b=u;b<f;b++)n[b]=x;u=f-1}for(let u=0;u<t;u++)n[u]===\"ON\"&&(n[u]=a);for(let u=0;u<t;u++){let f=n[u];(o[u]&1)===0?f===\"R\"?o[u]++:(f===\"AN\"||f===\"EN\")&&(o[u]+=2):(f===\"L\"||f===\"AN\"||f===\"EN\")&&o[u]++}return o}function Xx(e,t){let n=Kk(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 Yk=/[ \\t\\n\\r\\f]+/g,Xk=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Jk(e){let t=e??\"normal\";return t===\"pre-wrap\"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Qk(e){if(!Xk.test(e))return e;let t=e.replace(Yk,\" \");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 Zk(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Dc=null,eM;function tM(){return Dc===null&&(Dc=new Intl.Segmenter(eM,{granularity:\"word\"})),Dc}var nM=/\\p{Script=Arabic}/u,ja=/\\p{M}/u,iy=/\\p{Nd}/u;function Jx(e){return nM.test(e)}function Qx(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 pt(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(Qx(i))return!0;t++;continue}}if(Qx(n))return!0}}return!1}function rM(e){let t=Xa(e);return t!==null&&(Ya.has(t)||ln.has(t))}var iM=new Set([\"\\xA0\",\"\\u202F\",\"\\u2060\",\"\\uFEFF\"]);function oM(e){return pt(e)}function aM(e){let t=Xa(e);return t!==null&&iM.has(t)}function Ka(e){return!rM(e)&&!aM(e)}var Ya=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\"]),Ki=new Set(['\"',\"(\",\"[\",\"{\",\"\\u201C\",\"\\u2018\",\"\\xAB\",\"\\u2039\",\"\\uFF08\",\"\\u3014\",\"\\u3008\",\"\\u300A\",\"\\u300C\",\"\\u300E\",\"\\u3010\",\"\\u3016\",\"\\u3018\",\"\\u301A\"]),Oc=new Set([\"'\",\"\\u2019\"]),ln=new Set([\".\",\",\",\"!\",\"?\",\":\",\";\",\"\\u060C\",\"\\u061B\",\"\\u061F\",\"\\u0964\",\"\\u0965\",\"\\u104A\",\"\\u104B\",\"\\u104C\",\"\\u104D\",\"\\u104F\",\")\",\"]\",\"}\",\"%\",'\"',\"\\u201D\",\"\\u2019\",\"\\xBB\",\"\\u203A\",\"\\u2026\"]),sM=new Set([\":\",\".\",\"\\u060C\",\"\\u061B\"]),lM=new Set([\"\\u104F\"]),uM=new Set([\"\\u201D\",\"\\u2019\",\"\\xBB\",\"\\u203A\",\"\\u300D\",\"\\u300F\",\"\\u3011\",\"\\u300B\",\"\\u3009\",\"\\u3015\",\"\\uFF09\"]);function cM(e){if(Hc(e))return!0;let t=!1;for(let n of e){if(ln.has(n)){t=!0;continue}if(!(t&&ja.test(n)))return!1}return t}function dM(e){for(let t of e)if(!Ya.has(t)&&!ln.has(t))return!1;return e.length>0}function fM(e){if(Hc(e))return!0;for(let t of e)if(!Ki.has(t)&&!Oc.has(t)&&!ja.test(t))return!1;return e.length>0}function Hc(e){let t=!1;for(let n of e)if(!(n===\"\\\\\"||ja.test(n))){if(Ki.has(n)||ln.has(n)||Oc.has(n)){t=!0;continue}return!1}return t}function oy(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 Xa(e){if(e.length===0)return null;let t=oy(e,e.length);return e.slice(t)}function mM(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(ja.test(r)){n--;continue}if(Ki.has(r)||Oc.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(\"\"),tail:t.slice(n).join(\"\")}}function pM(e,t,n){return n===\"text\"&&!t&&e.length===1&&e!==\"-\"&&e!==\"\\u2014\"?e:null}function Zx(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 s=i.repeat(a);return e[r]=s,s}function ey(e,t){return e&&t!==null&&sM.has(t)}function hM(e){let t=Xa(e);return t!==null&&lM.has(t)}function gM(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 Ja(e){let t=e.length;for(;t>0;){let n=oy(e,t),r=e.slice(n,t);if(uM.has(r))return!0;if(!ln.has(r))return!1;t=n}return!1}function bM(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===\" \")return\"preserved-space\";if(e===\"\t\")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 xM=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function it(e){return e.length===1?e[0]:e.join(\"\")}function yM(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),it(n)}function SM(e,t,n,r){if(!xM.test(e))return[{text:e,isWordLike:t,kind:\"text\",start:n}];let i=[],o=null,a=[],s=n,l=!1,u=0;for(let f of e){let d=bM(f,r),m=d===\"text\"&&t;if(o!==null&&d===o&&m===l){a.push(f),u+=f.length;continue}o!==null&&i.push({text:it(a),isWordLike:l,kind:o,start:s}),o=d,a=[f],s=n+u,l=m,u+=f.length}return o!==null&&i.push({text:it(a),isWordLike:l,kind:o,start:s}),i}function Pc(e){return e===\"space\"||e===\"preserved-space\"||e===\"zero-width-break\"||e===\"hard-break\"}var vM=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function EM(e,t){let n=e.texts[t];return n.startsWith(\"www.\")?!0:vM.test(n)&&t+1<e.len&&e.kinds[t+1]===\"text\"&&e.texts[t+1]===\"//\"}function AM(e){return e.includes(\"?\")&&(e.includes(\"://\")||e.startsWith(\"www.\"))}function wM(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\"||!EM(e,a))continue;let s=[t[a]],l=a+1;for(;l<e.len&&!Pc(r[l]);){s.push(t[l]),n[a]=!0;let u=t[l].includes(\"?\");if(r[l]=\"text\",t[l]=\"\",l++,u)break}t[a]=it(s)}let o=0;for(let a=0;a<t.length;a++){let s=t[a];s.length!==0&&(o!==a&&(t[o]=s,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 _M(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]),!AM(a))continue;let s=o+1;if(s>=e.len||Pc(e.kinds[s]))continue;let l=[],u=e.starts[s],f=s;for(;f<e.len&&!Pc(e.kinds[f]);)l.push(e.texts[f]),f++;l.length>0&&(t.push(it(l)),n.push(!0),r.push(\"text\"),i.push(u),o=f-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var CM=new Set([\":\",\"-\",\"/\",\"\\xD7\",\",\",\".\",\"+\",\"\\u2013\",\"\\u2014\"]),ty=/^[A-Za-z0-9_]+[,:;]*$/,ny=/[,:;]+$/;function ay(e){for(let t of e)if(iy.test(t))return!0;return!1}function ji(e){if(e.length===0)return!1;for(let t of e)if(!(iy.test(t)||CM.has(t)))return!1;return!0}function RM(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],s=e.kinds[o];if(s===\"text\"&&ji(a)&&ay(a)){let l=[a],u=o+1;for(;u<e.len&&e.kinds[u]===\"text\"&&ji(e.texts[u]);)l.push(e.texts[u]),u++;t.push(it(l)),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(s),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function TM(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],s=e.kinds[o],l=e.isWordLike[o];if(s===\"text\"&&l&&ty.test(a)){let u=[a],f=ny.test(a),d=o+1;for(;f&&d<e.len&&e.kinds[d]===\"text\"&&e.isWordLike[d]&&ty.test(e.texts[d]);){let m=e.texts[d];u.push(m),f=ny.test(m),d++}t.push(it(u)),n.push(!0),r.push(\"text\"),i.push(e.starts[o]),o=d-1;continue}t.push(a),n.push(l),r.push(s),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function kM(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 s=a.split(\"-\"),l=s.length>1;for(let u=0;u<s.length;u++){let f=s[u];if(!l)break;(f.length===0||!ay(f)||!ji(f))&&(l=!1)}if(l){let u=0;for(let f=0;f<s.length;f++){let d=s[f],m=f<s.length-1?`${d}-`:d;t.push(m),n.push(!0),r.push(\"text\"),i.push(e.starts[o]+u),u+=m.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 MM(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],s=e.isWordLike[o],l=e.kinds[o],u=e.starts[o];if(l===\"glue\"){let f=[a[0]],d=u;for(o++;o<e.len&&e.kinds[o]===\"glue\";)f.push(e.texts[o]),o++;let m=it(f);if(o<e.len&&e.kinds[o]===\"text\")a[0]=m,a.push(e.texts[o]),s=e.isWordLike[o],l=\"text\",u=d,o++;else{t.push(m),n.push(!1),r.push(\"glue\"),i.push(d);continue}}else o++;if(l===\"text\")for(;o<e.len&&e.kinds[o]===\"glue\";){let f=[];for(;o<e.len&&e.kinds[o]===\"glue\";)f.push(e.texts[o]),o++;let d=it(f);if(o<e.len&&e.kinds[o]===\"text\"){a.push(d,e.texts[o]),s=s||e.isWordLike[o],o++;continue}a.push(d)}t.push(it(a)),n.push(s),r.push(l),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function NM(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\"||!pt(t[o])||!pt(t[o+1]))continue;let a=mM(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 ry(e,t,n){let r=tM(),i=0,o=[],a=[],s=[],l=[],u=[],f=[],d=[],m=[],x=[],h=[],b=[],g=[];for(let L of r.segment(e))for(let D of SM(L.segment,L.isWordLike??!1,L.index,n)){let G=function(){f[_]!==null&&(a[_]=[Zx(o,f,d,_)],f[_]=null),a[_].push(D.text),s[_]=s[_]||D.isWordLike,m[_]=m[_]||T,x[_]=x[_]||B,h[_]=ne,b[_]=N,g[_]=ey(x[_],W)},R=D.kind===\"text\",M=pM(D.text,D.isWordLike,D.kind),T=pt(D.text),B=Jx(D.text),W=Xa(D.text),ne=Ja(D.text),N=hM(D.text),_=i-1;t.carryCJKAfterClosingQuote&&R&&i>0&&l[_]===\"text\"&&T&&m[_]&&h[_]||R&&i>0&&l[_]===\"text\"&&dM(D.text)&&m[_]||R&&i>0&&l[_]===\"text\"&&b[_]?G():R&&i>0&&l[_]===\"text\"&&D.isWordLike&&B&&g[_]?(G(),s[_]=!0):M!==null&&i>0&&l[_]===\"text\"&&f[_]===M?d[_]=(d[_]??1)+1:R&&!D.isWordLike&&i>0&&l[_]===\"text\"&&(cM(D.text)||D.text===\"-\"&&s[_])?G():(o[i]=D.text,a[i]=[D.text],s[i]=D.isWordLike,l[i]=D.kind,u[i]=D.start,f[i]=M,d[i]=M===null?0:1,m[i]=T,x[i]=B,h[i]=ne,b[i]=N,g[i]=ey(B,W),i++)}for(let L=0;L<i;L++){if(f[L]!==null){o[L]=Zx(o,f,d,L);continue}o[L]=it(a[L])}for(let L=1;L<i;L++)l[L]===\"text\"&&!s[L]&&Hc(o[L])&&l[L-1]===\"text\"&&(o[L-1]+=o[L],s[L-1]=s[L-1]||s[L],o[L]=\"\");let v=Array.from({length:i},()=>null),A=-1;for(let L=i-1;L>=0;L--){let D=o[L];if(D.length!==0){if(l[L]===\"text\"&&!s[L]&&fM(D)&&A>=0&&l[A]===\"text\"){let R=v[A]??[];R.push(D),v[A]=R,u[A]=u[L],o[L]=\"\";continue}A=L}}for(let L=0;L<i;L++){let D=v[L];D!=null&&(o[L]=yM(D,o[L]))}let E=0;for(let L=0;L<i;L++){let D=o[L];D.length!==0&&(E!==L&&(o[E]=D,s[E]=s[L],l[E]=l[L],u[E]=u[L]),E++)}o.length=E,s.length=E,l.length=E,u.length=E;let k=MM({len:E,texts:o,isWordLike:s,kinds:l,starts:u}),P=NM(TM(kM(RM(_M(wM(k))))));for(let L=0;L<P.len-1;L++){let D=gM(P.texts[L]);D!==null&&(P.kinds[L]!==\"space\"&&P.kinds[L]!==\"preserved-space\"||P.kinds[L+1]!==\"text\"||!Jx(P.texts[L+1])||(P.texts[L]=D.space,P.isWordLike[L]=!1,P.kinds[L]=P.kinds[L]===\"preserved-space\"?\"preserved-space\":\"space\",P.texts[L+1]=D.marks+P.texts[L+1],P.starts[L+1]=P.starts[L]+D.space.length))}return P}function LM(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 FM(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,s=0,l=!1,u=!1;function f(){o!==null&&(t.push(it(o)),n.push(a),r.push(\"text\"),i.push(s),o=null)}for(let d=0;d<e.len;d++){let m=e.texts[d],x=e.kinds[d],h=e.isWordLike[d],b=e.starts[d];if(x===\"text\"){let g=oM(m),v=Ka(m);if(o!==null&&l&&u){o.push(m),a=a||h,l=l||g,u=v;continue}f(),o=[m],a=h,s=b,l=g,u=v;continue}f(),t.push(m),n.push(h),r.push(x),i.push(b)}return f(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function sy(e,t,n=\"normal\",r=\"normal\"){let i=Jk(n),o=i.mode===\"pre-wrap\"?Zk(e):Qk(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r===\"keep-all\"?FM(ry(o,t,i)):ry(o,t,i);return{normalized:o,chunks:LM(a,i),...a}}var Ar=null,ly=new Map,wr=null,IM=96,DM=/\\p{Emoji_Presentation}/u,PM=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Gc=null,uy=new Map;function Bc(){if(Ar!==null)return Ar;if(typeof OffscreenCanvas<\"u\")return Ar=new OffscreenCanvas(1,1).getContext(\"2d\"),Ar;if(typeof document<\"u\")return Ar=document.createElement(\"canvas\").getContext(\"2d\"),Ar;throw new Error(\"Text measurement requires OffscreenCanvas or a DOM canvas context.\")}function OM(e){let t=ly.get(e);return t||(t=new Map,ly.set(e,t)),t}function Bt(e,t){let n=t.get(e);return n===void 0&&(n={width:Bc().measureText(e).width,containsCJK:pt(e)},t.set(e,n)),n}function cn(){if(wr!==null)return wr;if(typeof navigator>\"u\")return wr={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},wr;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 wr={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},wr}function HM(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function cy(){return Gc===null&&(Gc=new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Gc}function GM(e){return DM.test(e)||e.includes(\"\\uFE0F\")}function dy(e){return PM.test(e)}function BM(e,t){let n=uy.get(e);if(n!==void 0)return n;let r=Bc();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 uy.set(e,n),n}function UM(e){let t=0,n=cy();for(let r of n.segment(e))GM(r.segment)&&t++;return t}function WM(e,t){return t.emojiCount===void 0&&(t.emojiCount=UM(e)),t.emojiCount}function un(e,t,n){return n===0?t.width:t.width-WM(e,t)*n}function fy(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=cy(),a=[];for(let f of o.segment(e))a.push(f.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i===\"sum-graphemes\"){let f=[];for(let d of a){let m=Bt(d,n);f.push(un(d,m,r))}return t.breakableFitAdvances=f,t.breakableFitAdvances}if(i===\"pair-context\"||a.length>IM){let f=[],d=null,m=0;for(let x of a){let h=Bt(x,n),b=un(x,h,r);if(d===null)f.push(b);else{let g=d+x,v=Bt(g,n);f.push(un(g,v,r)-m)}d=x,m=b}return t.breakableFitAdvances=f,t.breakableFitAdvances}let s=[],l=\"\",u=0;for(let f of a){l+=f;let d=Bt(l,n),m=un(l,d,r);s.push(m-u),u=m}return t.breakableFitAdvances=s,t.breakableFitAdvances}function my(e,t){let n=Bc();n.font=e;let r=OM(e),i=HM(e),o=t?BM(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function VM(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 py(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function hy(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let s=a+e[o];if((o+1<e.length?s+i:s)>n+r)break;a=s,o++}return{fitCount:o,fittedWidth:a}}function $M(e,t){let n=0,r=e.chunks.length;for(;n<r;){let i=Math.floor((n+r)/2);t<e.chunks[i].consumedEndSegmentIndex?r=i:n=i+1}return n<e.chunks.length?n:-1}function gy(e,t,n){let r=n.segmentIndex;if(n.graphemeIndex>0)return t;let i=e.chunks[t];if(i.startSegmentIndex===i.endSegmentIndex&&r===i.startSegmentIndex)return n.segmentIndex=r,n.graphemeIndex=0,t;for(r<i.startSegmentIndex&&(r=i.startSegmentIndex);r<i.endSegmentIndex;){let o=e.kinds[r];if(o!==\"space\"&&o!==\"zero-width-break\"&&o!==\"soft-hyphen\")return n.segmentIndex=r,n.graphemeIndex=0,t;r++}return i.consumedEndSegmentIndex>=e.widths.length?-1:(n.segmentIndex=i.consumedEndSegmentIndex,n.graphemeIndex=0,t+1)}function by(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=$M(e,t.segmentIndex);return n<0?-1:gy(e,n,t)}function zM(e,t,n){if(n.segmentIndex>=e.widths.length)return-1;let r=t;for(;r<e.chunks.length&&n.segmentIndex>=e.chunks[r].consumedEndSegmentIndex;)r++;return r>=e.chunks.length?-1:gy(e,r,n)}function xy(e,t){return e.simpleLineWalkFastPath?yy(e,t):Uc(e,t)}function yy(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let s=cn().lineFitEpsilon,l=t+s,u=0,f=0,d=!1,m=0,x=0,h=0,b=0,g=-1,v=0;function A(){g=-1,v=0}function E(M=h,T=b,B=f){u++,n?.({startSegmentIndex:m,startGraphemeIndex:x,endSegmentIndex:M,endGraphemeIndex:T,width:B}),f=0,d=!1,A()}function k(M,T){d=!0,m=M,x=0,h=M+1,b=0,f=T}function P(M,T,B){d=!0,m=M,x=T,h=M,b=T+1,f=B}function L(M,T){if(!d){k(M,T);return}f+=T,h=M+1,b=0}function D(M,T){let B=o[M];for(let W=T;W<B.length;W++){let ne=B[W];d?f+ne>l?(E(),P(M,W,ne)):(f+=ne,h=M,b=W+1):P(M,W,ne)}d&&h===M&&b===B.length&&(h=M+1,b=0)}let R=0;for(;R<r.length&&!(!d&&(R=VM(e,R),R>=r.length));){let M=r[R],T=i[R],B=T===\"space\"||T===\"preserved-space\"||T===\"tab\"||T===\"zero-width-break\"||T===\"soft-hyphen\";if(!d){M>t&&o[R]!==null?D(R,0):k(R,M),B&&(g=R+1,v=f-M),R++;continue}if(f+M>l){if(B){L(R,M),E(R+1,0,f-M),R++;continue}if(g>=0){if(h>g||h===g&&b>0){E();continue}E(g,0,v);continue}if(M>t&&o[R]!==null){E(),D(R,0),R++;continue}E();continue}L(R,M),B&&(g=R+1,v=f-M),R++}return d&&E(),u}function Uc(e,t,n){if(e.simpleLineWalkFastPath)return yy(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:s,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:f}=e;if(r.length===0||f.length===0)return 0;let d=cn(),m=d.lineFitEpsilon,x=t+m,h=0,b=0,g=!1,v=0,A=0,E=0,k=0,P=-1,L=0,D=0,R=null;function M(){P=-1,L=0,D=0,R=null}function T(U=E,j=k,V=b){h++,n?.({startSegmentIndex:v,startGraphemeIndex:A,endSegmentIndex:U,endGraphemeIndex:j,width:V}),b=0,g=!1,M()}function B(U,j){g=!0,v=U,A=0,E=U+1,k=0,b=j}function W(U,j,V){g=!0,v=U,A=j,E=U,k=j+1,b=V}function ne(U,j){if(!g){B(U,j);return}b+=j,E=U+1,k=0}function N(U,j,V,J){if(!j)return;let X=U===\"tab\"?0:i[V],O=U===\"tab\"?J:o[V];P=V+1,L=b-J+X,D=b-J+O,R=U}function _(U,j){let V=s[U];for(let J=j;J<V.length;J++){let X=V[J];g?b+X>x?(T(),W(U,J,X)):(b+=X,E=U,k=J+1):W(U,J,X)}g&&E===U&&k===V.length&&(E=U+1,k=0)}function G(U){if(R!==\"soft-hyphen\")return!1;let j=s[U];if(j==null)return!1;let{fitCount:V,fittedWidth:J}=hy(j,b,t,m,l);return V===0?!1:(b=J,E=U,k=V,M(),V===j.length?(E=U+1,k=0,!0):(T(U,V,J+l),_(U,V),!0))}function Y(U){h++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),M()}for(let U=0;U<f.length;U++){let j=f[U];if(j.startSegmentIndex===j.endSegmentIndex){Y(j);continue}g=!1,b=0,v=j.startSegmentIndex,A=0,E=j.startSegmentIndex,k=0,M();let V=j.startSegmentIndex;for(;V<j.endSegmentIndex;){let J=a[V],X=J===\"space\"||J===\"preserved-space\"||J===\"tab\"||J===\"zero-width-break\"||J===\"soft-hyphen\",O=J===\"tab\"?py(b,u):r[V];if(J===\"soft-hyphen\"){g&&(E=V+1,k=0,P=V+1,L=b+l,D=b+l,R=J),V++;continue}if(!g){O>t&&s[V]!==null?_(V,0):B(V,O),N(J,X,V,O),V++;continue}if(b+O>x){let Q=b+(J===\"tab\"?0:i[V]),le=b+(J===\"tab\"?O:o[V]);if(R===\"soft-hyphen\"&&d.preferEarlySoftHyphenBreak&&L<=x){T(P,0,D);continue}if(R===\"soft-hyphen\"&&G(V)){V++;continue}if(X&&Q<=x){ne(V,O),T(V+1,0,le),V++;continue}if(P>=0&&L<=x){if(E>P||E===P&&k>0){T();continue}let Z=P;T(Z,0,D),V=Z;continue}if(O>t&&s[V]!==null){T(),_(V,0),V++;continue}T();continue}ne(V,O),N(J,X,V,O),V++}if(g){let J=P===j.consumedEndSegmentIndex?D:b;T(j.consumedEndSegmentIndex,0,J)}}return h}function Sy(e,t,n,r){let i=e.chunks[n];if(i.startSegmentIndex===i.endSegmentIndex)return t.segmentIndex=i.consumedEndSegmentIndex,t.graphemeIndex=0,0;let{widths:o,lineEndFitAdvances:a,lineEndPaintAdvances:s,kinds:l,breakableFitAdvances:u,discretionaryHyphenWidth:f,tabStopAdvance:d}=e,m=cn(),x=m.lineFitEpsilon,h=r+x,b=0,g=!1,v=t.segmentIndex,A=t.graphemeIndex,E=-1,k=0,P=0,L=null;function D(){E=-1,k=0,P=0,L=null}function R(_=v,G=A,Y=b){return g?(t.segmentIndex=_,t.graphemeIndex=G,Y):null}function M(_,G){g=!0,v=_+1,A=0,b=G}function T(_,G,Y){g=!0,v=_,A=G+1,b=Y}function B(_,G){if(!g){M(_,G);return}b+=G,v=_+1,A=0}function W(_,G,Y,U){if(!G)return;let j=_===\"tab\"?0:a[Y],V=_===\"tab\"?U:s[Y];E=Y+1,k=b-U+j,P=b-U+V,L=_}function ne(_,G){let Y=u[_];for(let U=G;U<Y.length;U++){let j=Y[U];if(!g)T(_,U,j);else{if(b+j>h)return R();b+=j,v=_,A=U+1}}return g&&v===_&&A===Y.length&&(v=_+1,A=0),null}function N(_){if(L!==\"soft-hyphen\"||E<0)return null;let G=u[_]??null;if(G!==null){let{fitCount:Y,fittedWidth:U}=hy(G,b,r,x,f);if(Y===G.length)return b=U,v=_+1,A=0,D(),null;if(Y>0)return R(_,Y,U+f)}return k<=h?R(E,0,P):null}for(let _=t.segmentIndex;_<i.endSegmentIndex;_++){let G=l[_],Y=G===\"space\"||G===\"preserved-space\"||G===\"tab\"||G===\"zero-width-break\"||G===\"soft-hyphen\",U=_===t.segmentIndex?t.graphemeIndex:0,j=G===\"tab\"?py(b,d):o[_];if(G===\"soft-hyphen\"&&U===0){g&&(v=_+1,A=0,E=_+1,k=b+f,P=b+f,L=G);continue}if(!g){if(U>0){let J=ne(_,U);if(J!==null)return J}else if(j>r&&u[_]!==null){let J=ne(_,0);if(J!==null)return J}else M(_,j);W(G,Y,_,j);continue}if(b+j>h){let J=b+(G===\"tab\"?0:a[_]),X=b+(G===\"tab\"?j:s[_]);if(L===\"soft-hyphen\"&&m.preferEarlySoftHyphenBreak&&k<=h)return R(E,0,P);let O=N(_);if(O!==null)return O;if(Y&&J<=h)return B(_,j),R(_+1,0,X);if(E>=0&&k<=h)return v>E||v===E&&A>0?R():R(E,0,P);if(j>r&&u[_]!==null){let K=R();if(K!==null)return K;let Q=ne(_,0);if(Q!==null)return Q}return R()}B(_,j),W(G,Y,_,j)}return E===i.consumedEndSegmentIndex&&A===0?R(i.consumedEndSegmentIndex,0,P):R(i.consumedEndSegmentIndex,0,b)}function qM(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,s=cn().lineFitEpsilon,l=n+s,u=0,f=!1,d=t.segmentIndex,m=t.graphemeIndex,x=-1,h=0;for(let b=t.segmentIndex;b<r.length;b++){let g=r[b],v=i[b],A=v===\"space\"||v===\"preserved-space\"||v===\"tab\"||v===\"zero-width-break\"||v===\"soft-hyphen\",E=b===t.segmentIndex?t.graphemeIndex:0,k=o[b];if(!f){if(E>0||g>n&&k!==null){let P=k,L=P[E];f=!0,u=L,d=b,m=E+1;for(let D=E+1;D<P.length;D++){let R=P[D];if(u+R>l)return t.segmentIndex=d,t.graphemeIndex=m,u;u+=R,d=b,m=D+1}d===b&&m===P.length&&(d=b+1,m=0)}else f=!0,u=g,d=b+1,m=0;A&&(x=b+1,h=u-g);continue}if(u+g>l)return A?(t.segmentIndex=b+1,t.graphemeIndex=0,u):x>=0?d>x||d===x&&m>0?(t.segmentIndex=d,t.graphemeIndex=m,u):(t.segmentIndex=x,t.graphemeIndex=0,h):(t.segmentIndex=d,t.graphemeIndex=m,u);u+=g,d=b+1,m=0,A&&(x=b+1,h=u-g)}return f?(t.segmentIndex=d,t.graphemeIndex=m,u):null}function jM(e,t,n){let r=by(e,t);return r<0?null:e.simpleLineWalkFastPath?qM(e,t,n):Sy(e,t,r,n)}function vy(e,t){if(e.widths.length===0)return{lineCount:0,maxLineWidth:0};let n={segmentIndex:0,graphemeIndex:0},r=0,i=0;if(!e.simpleLineWalkFastPath){let o=by(e,n);for(;o>=0;){let a=Sy(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=zM(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=jM(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var Wc=null;function KM(){return Wc===null&&(Wc=new Intl.Segmenter(void 0,{granularity:\"grapheme\"})),Wc}function YM(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 XM(e,t){let n=[],r=[],i=0,o=!1,a=!1,s=!1;function l(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(\"\"),start:i}),r=[],o=!1,a=!1,s=!1)}function u(d,m,x){r=[d],i=m,o=x,a=Ja(d),s=Ki.has(d)}function f(d,m){r.push(d),o=o||m;let x=Ja(d);d.length===1&&ln.has(d)?a=a||x:a=x,s=!1}for(let d of KM().segment(e)){let m=d.segment,x=pt(m);if(r.length===0){u(m,d.index,x);continue}if(s||Ya.has(m)||ln.has(m)||t.carryCJKAfterClosingQuote&&x&&a){f(m,x);continue}if(!o&&!x){f(m,x);continue}l(),u(m,d.index,x)}return l(),n}function JM(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=pt(e[0].text),o=Ka(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(\"\"),start:r})}for(let s=1;s<e.length;s++){let l=e[s],u=pt(l.text),f=Ka(l.text);if(i&&o){n.push(l.text),i=i||u,o=f;continue}a(),n=[l.text],r=l.start,i=u,o=f}return a(),t}function QM(e,t,n,r){let i=cn(),{cache:o,emojiCorrection:a}=my(t,dy(e.normalized)),s=un(\"-\",Bt(\"-\",o),a),u=un(\" \",Bt(\" \",o),a)*8;if(e.len===0)return YM(n);let f=[],d=[],m=[],x=[],h=e.chunks.length<=1,b=n?[]:null,g=[],v=n?[]:null,A=Array.from({length:e.len});function E(D,R,M,T,B,W,ne){B!==\"text\"&&B!==\"space\"&&B!==\"zero-width-break\"&&(h=!1),f.push(R),d.push(M),m.push(T),x.push(B),b?.push(W),g.push(ne),v!==null&&v.push(D)}function k(D,R,M,T,B){let W=Bt(D,o),ne=un(D,W,a),N=R===\"space\"||R===\"preserved-space\"||R===\"zero-width-break\"?0:ne,_=R===\"space\"||R===\"zero-width-break\"?0:ne;if(B&&T&&D.length>1){let G=\"sum-graphemes\";ji(D)?G=\"pair-context\":i.preferPrefixWidthsForBreakableRuns&&(G=\"segment-prefixes\");let Y=fy(D,W,o,a,G);E(D,ne,N,_,R,M,Y);return}E(D,ne,N,_,R,M,null)}for(let D=0;D<e.len;D++){A[D]=f.length;let R=e.texts[D],M=e.isWordLike[D],T=e.kinds[D],B=e.starts[D];if(T===\"soft-hyphen\"){E(R,0,s,s,T,B,null);continue}if(T===\"hard-break\"){E(R,0,0,0,T,B,null);continue}if(T===\"tab\"){E(R,0,0,0,T,B,null);continue}let W=Bt(R,o);if(T===\"text\"&&W.containsCJK){let ne=XM(R,i),N=r===\"keep-all\"?JM(ne):ne;for(let _=0;_<N.length;_++){let G=N[_];k(G.text,\"text\",B+G.start,M,r===\"keep-all\"||!pt(G.text))}continue}k(R,T,B,M,!0)}let P=ZM(e.chunks,A,f.length),L=b===null?null:Xx(e.normalized,b);return v!==null?{widths:f,lineEndFitAdvances:d,lineEndPaintAdvances:m,kinds:x,simpleLineWalkFastPath:h,segLevels:L,breakableFitAdvances:g,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:P,segments:v}:{widths:f,lineEndFitAdvances:d,lineEndPaintAdvances:m,kinds:x,simpleLineWalkFastPath:h,segLevels:L,breakableFitAdvances:g,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:P}}function ZM(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,s=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,l=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:s,consumedEndSegmentIndex:l})}return r}function Ey(e,t,n,r){let i=r?.wordBreak??\"normal\",o=sy(e,cn(),r?.whiteSpace,i);return QM(o,t,n,i)}function Qa(e,t,n){return Ey(e,t,!1,n)}function Ay(e,t,n){return Ey(e,t,!0,n)}function Za(e,t,n){let r=xy(e,t);return{lineCount:r,height:r*n}}function eN(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function tN(e,t,n){return e.widths.length===0?0:Uc(e,t,r=>{n(eN(r))})}function wy(e,t){return vy(e,t)}function _y(e){let t=0;return tN(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var nN={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:\"Outfit\",step:2};function Cy(e,t){let n={...nN,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i=Math.max(n.minFontSize,i-n.step)){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=Qa(e,o),{lineCount:s}=Za(a,n.maxWidth,i*r);if(s<=1)return{fontSize:i,fits:!0};if(i===n.minFontSize)break}return{fontSize:n.minFontSize,fits:!1}}var Ry={prepare:Qa,layout:Za,prepareWithSegments:Ay,measureLineStats:wy,measureNaturalWidth:_y};function Ty(e){return new URL(e,document.baseURI).href}var dn=\"appifact-film:\";function ky(e){let{iframe:t,runnerHtml:n,load:r}=e,i=(t.getAttribute(\"sandbox\")??\"\").split(/\\s+/);if(!i.includes(\"allow-scripts\")||i.includes(\"allow-same-origin\"))throw new Error('Film runners require sandbox=\"allow-scripts\" without allow-same-origin');let o=0,a=!1,s=!1,l=null,u,f,d=new Promise((E,k)=>{u=E,f=k});d.catch(()=>{});let m=null,x=E=>{l=E,clearTimeout(h),f(E),m&&(clearTimeout(m.timer),m.reject(E),m=null)},h=setTimeout(()=>x(new Error(\"Film runner did not become ready within 20 s\")),2e4),b=E=>{if(E.type!==dn+\"frame\"&&E.type!==dn+\"frame-error\"||!(\"seq\"in E)||m===null||m.sequence!==E.seq)return;let k=m;m=null,clearTimeout(k.timer),E.type===dn+\"frame-error\"?k.reject(new Error(\"message\"in E?String(E.message):\"Film frame failed\")):k.resolve()},g=E=>{try{let k=t.contentWindow;if(!k)throw new Error(\"Film runner window is unavailable\");k.postMessage(E,\"*\")}catch(k){x(k instanceof Error?k:new Error(String(k)))}},v=E=>{if(E.type===dn+\"hello\"){if(a){x(new Error(\"Film runner reloaded; recreate the bridge before seeking\"));return}a=!0,g({...r,type:dn+\"load\"})}else E.type===dn+\"ready\"&&a?(clearTimeout(h),u()):E.type===dn+\"error\"&&x(new Error(\"message\"in E?String(E.message):\"Film runner failed\"))},A=E=>{if(s||l||E.source!==t.contentWindow||E.origin!==\"null\")return;let k=E.data;!k||typeof k!=\"object\"||!(\"type\"in k)||(v(k),b(k))};return window.addEventListener(\"message\",A),t.srcdoc=n,{ready:d,async render(E){if(await d,l)throw l;if(m)throw new Error(\"Film seeks must be serialized; use registerFrameSource\");let k=++o;return new Promise((P,L)=>{let D=setTimeout(()=>{x(new Error(\"Film frame did not arrive within 15 s\"))},15e3);m={sequence:k,resolve:P,reject:L,timer:D},g({type:dn+\"frame\",t:E,seq:k})})},dispose(){s||(s=!0,window.removeEventListener(\"message\",A),x(new Error(\"Film bridge was disposed\")),t.srcdoc=\"\")}}}window.__timelines=window.__timelines||{};X0();zx();qx();window.__hfHasFrameSources=Rm;Vf();qf();window.__hyperframes={assetUrl:Ty,fitTextFontSize:Cy,getVariables:em,pretext:Ry,registerRuntimeDataHandler:Gx,setRuntimeData:$a,clearRuntimeData:za,registerFrameSource:Tm,createFilmBridge:ky};function My(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Kx())}function Ny(){Pn();let e=Array.from(document.querySelectorAll(t0));e.length===0?My():Aa(e,My)}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",Ny,{once:!0}):Ny();})();\n";
3
3
  /**
4
4
  * Returns the pre-built hyperframe runtime IIFE as a string constant.
5
5
  * This is the production-safe path: no esbuild, no file I/O,