hyperframes 0.8.33 → 0.8.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +17523 -9251
- package/dist/fontLocalizeCli.js +4525 -4352
- package/dist/hyperframe-runtime.js +29 -29
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +29 -29
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/hyperframes-slideshow.global.js +1 -1
- package/dist/skills/hyperframes/SKILL.md +12 -11
- package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +3 -1
- package/dist/studio/assets/{hyperframes-player-CNhkujVy.js → hyperframes-player-D4aSRr_M.js} +1 -1
- package/dist/studio/assets/{index-DOoo96Tb.js → index-CkxPQxLJ.js} +182 -172
- package/dist/studio/assets/{index-DiStlnx7.js → index-aNyQBoJv.js} +1 -1
- package/dist/studio/assets/{index-CslAQ3JV.js → index-hch4ktcC.js} +1 -1
- package/dist/studio/{chunk-A7S5SGNA.js → chunk-7BP32G62.js} +294 -53
- package/dist/studio/chunk-7BP32G62.js.map +1 -0
- package/dist/studio/{domEditingLayers-JMMVOGTO.js → domEditingLayers-UKMVYXT6.js} +2 -2
- package/dist/studio/index.html +1 -1
- package/dist/studio/index.js +354 -206
- package/dist/studio/index.js.map +1 -1
- package/package.json +4 -2
- package/dist/studio/chunk-A7S5SGNA.js.map +0 -1
- /package/dist/studio/{domEditingLayers-JMMVOGTO.js.map → domEditingLayers-UKMVYXT6.js.map} +0 -0
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";(()=>{var
|
|
2
|
-
`+
|
|
3
|
-
`+b+i("^")}return" "+r(
|
|
1
|
+
"use strict";(()=>{var $p=Object.create;var Eo=Object.defineProperty;var jp=Object.getOwnPropertyDescriptor;var Kp=Object.getOwnPropertyNames;var Yp=Object.getPrototypeOf,Xp=Object.prototype.hasOwnProperty;var Jp=(e,t,n)=>t in e?Eo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Qp=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Kp(t))!Xp.call(e,i)&&i!==n&&Eo(e,i,{get:()=>t[i],enumerable:!(r=jp(t,i))||r.enumerable});return e};var Zp=(e,t,n)=>(n=e!=null?$p(Yp(e)):{},Qp(t||!e||!e.__esModule?Eo(n,"default",{value:e,enumerable:!0}):n,e));var xe=(e,t,n)=>Jp(e,typeof t!="symbol"?t+"":t,n);var Sc=ae((CE,Ea)=>{var te=String,vc=function(){return{isColorSupported:!1,reset:te,bold:te,dim:te,italic:te,underline:te,inverse:te,hidden:te,strikethrough:te,black:te,red:te,green:te,yellow:te,blue:te,magenta:te,cyan:te,white:te,gray:te,bgBlack:te,bgRed:te,bgGreen:te,bgYellow:te,bgBlue:te,bgMagenta:te,bgCyan:te,bgWhite:te,blackBright:te,redBright:te,greenBright:te,yellowBright:te,blueBright:te,magentaBright:te,cyanBright:te,whiteBright:te,bgBlackBright:te,bgRedBright:te,bgGreenBright:te,bgYellowBright:te,bgBlueBright:te,bgMagentaBright:te,bgCyanBright:te,bgWhiteBright:te}};Ea.exports=vc();Ea.exports.createColors=vc});var wa=ae(()=>{});var yi=ae((kE,wc)=>{"use strict";var Ac=Sc(),Ec=wa(),Kn=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=Ac.isColorSupported);let r=d=>d,i=d=>d,o=d=>d;if(t){let{bold:d,gray:m,red:f}=Ac.createColors(!0);i=h=>d(f(h)),r=h=>m(h),Ec&&(o=h=>Ec(h))}let a=n.split(/\r?\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((d,m)=>{let f=l+1+m,h=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(d.length>160){let v=20,x=Math.max(0,this.column-v),_=Math.max(this.column+v,this.endColumn+v),T=d.slice(x,_),R=r(h.replace(/\d/g," "))+d.slice(0,Math.min(this.column-1,v-1)).replace(/[^\t]/g," ");return i(">")+r(h)+o(T)+`
|
|
2
|
+
`+R+i("^")}let b=r(h.replace(/\d/g," "))+d.slice(0,this.column-1).replace(/[^\t]/g," ");return i(">")+r(h)+o(d)+`
|
|
3
|
+
`+b+i("^")}return" "+r(h)+o(d)}).join(`
|
|
4
4
|
`)}toString(){let t=this.showSourceCode();return t&&(t=`
|
|
5
5
|
|
|
6
6
|
`+t+`
|
|
7
|
-
`),this.name+": "+this.message+t}};
|
|
7
|
+
`),this.name+": "+this.message+t}};wc.exports=Kn;Kn.default=Kn});var _a=ae((FE,Cc)=>{"use strict";var yg=/(<)(\/?style\b)/gi,vg=/(<)(!--)/g;function vt(e){return typeof e!="string"||!e.includes("<")?e:e.replace(yg,"\\3c $2").replace(vg,"\\3c $2")}var _c={after:`
|
|
8
8
|
`,beforeClose:`
|
|
9
9
|
`,beforeComment:`
|
|
10
10
|
`,beforeDecl:`
|
|
11
11
|
`,beforeOpen:" ",beforeRule:`
|
|
12
|
-
`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function
|
|
13
|
-
`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(
|
|
12
|
+
`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Sg(e){return e[0].toUpperCase()+e.slice(1)}var Yn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(vt(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`
|
|
13
|
+
`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(vt(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(vt(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:vt(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(vt("/*"+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(vt(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 _c[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+Sg(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=_c[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`
|
|
14
14
|
`)&&(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(`
|
|
15
15
|
`)&&(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(`
|
|
16
16
|
`)&&(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(`
|
|
17
17
|
`)&&(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(`
|
|
18
|
-
`);return n=o[o.length-1],n=n.replace(/\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:
|
|
19
|
-
`?(n=1,r+=1):n+=1}return i}var
|
|
20
|
-
`?(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:tt(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:tt(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(tt(n,this.source.start),tt(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:tt(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:tt(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new w0().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=_0){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)}};Uu.exports=Wn;Wn.default=Wn});var qn=ae((vA,Wu)=>{"use strict";var T0=Vn(),zn=class extends T0{constructor(t){super(t),this.type="comment"}};Wu.exports=zn;zn.default=zn});var jn=ae((SA,Vu)=>{"use strict";var R0=Vn(),$n=class extends R0{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"}};Vu.exports=$n;$n.default=$n});var gt=ae((AA,Qu)=>{"use strict";var zu=qn(),qu=jn(),k0=Vn(),{isClean:$u,my:ju}=Jr(),ta,Ku,Yu,na;function Xu(e){return e.map(t=>(t.nodes&&(t.nodes=Xu(t.nodes)),delete t.source,t))}function Ju(e){if(e[$u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Ju(t)}var We=class e extends k0{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Xu(Ku(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 qu(t)]}else if(t.selector||t.selectors)t=[new na(t)];else if(t.name)t=[new ta(t)];else if(t.text)t=[new zu(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[ju]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[$u]&&Ju(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};We.registerParse=e=>{Ku=e};We.registerRule=e=>{na=e};We.registerAtRule=e=>{ta=e};We.registerRoot=e=>{Yu=e};Qu.exports=We;We.default=We;We.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,ta.prototype):e.type==="rule"?Object.setPrototypeOf(e,na.prototype):e.type==="decl"?Object.setPrototypeOf(e,qu.prototype):e.type==="comment"?Object.setPrototypeOf(e,zu.prototype):e.type==="root"&&Object.setPrototypeOf(e,Yu.prototype),e[ju]=!0,e.nodes&&e.nodes.forEach(t=>{We.rebuild(t)})}});var Qr=ae((EA,ec)=>{"use strict";var Zu=gt(),Yt=class extends Zu{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)}};ec.exports=Yt;Yt.default=Yt;Zu.registerAtRule(Yt)});var Zr=ae((wA,rc)=>{"use strict";var M0=gt(),tc,nc,kt=class extends M0{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new tc(new nc,this,t).stringify()}};kt.registerLazyResult=e=>{tc=e};kt.registerProcessor=e=>{nc=e};rc.exports=kt;kt.default=kt});var oc=ae((_A,ic)=>{var F0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",N0=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},L0=(e=21)=>{let t="",n=e|0;for(;n--;)t+=F0[Math.random()*64|0];return t};ic.exports={nanoid:L0,customAlphabet:N0}});var ei=ae(()=>{});var ti=ae(()=>{});var ra=ae(()=>{});var ac=ae(()=>{});var oa=ae((DA,uc)=>{"use strict";var{existsSync:D0,readFileSync:I0}=ac(),{dirname:ia,join:P0}=ei(),{SourceMapConsumer:sc,SourceMapGenerator:lc}=ti();function O0(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var Kn=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=ia(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new sc(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\/json;charset=utf-?8;base64,/,r=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return O0(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\/\*\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\.map$/i.test(t))&&(this.root=ia(t),D0(t)))return this.mapFile=t,I0(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 sc)return lc.fromSourceMap(n).toString();if(n instanceof lc)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=P0(ia(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)}};uc.exports=Kn;Kn.default=Kn});var Yn=ae((IA,pc)=>{"use strict";var{nanoid:H0}=oc(),{isAbsolute:la,resolve:ua}=ei(),{SourceMapConsumer:G0,SourceMapGenerator:B0}=ti(),{fileURLToPath:cc,pathToFileURL:ni}=ra(),dc=Xr(),U0=oa(),aa=Xo(),sa=Symbol("lineToIndexCache"),W0=!!(G0&&B0),fc=!!(ua&&la);function mc(e){if(e[sa])return e[sa];let t=e.css.split(`
|
|
21
|
-
`),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[
|
|
22
|
-
`," "];return
|
|
18
|
+
`);return n=o[o.length-1],n=n.replace(/\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:vt(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(vt(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)}};Cc.exports=Yn;Yn.default=Yn});var Xn=ae((ME,Rc)=>{"use strict";var Ag=_a();function Ca(e,t){new Ag(t).stringify(e)}Rc.exports=Ca;Ca.default=Ca});var vi=ae((NE,Ra)=>{"use strict";Ra.exports.isClean=Symbol("isClean");Ra.exports.my=Symbol("my")});var Zn=ae((LE,Tc)=>{"use strict";var Eg=yi(),wg=_a(),_g=Xn(),{isClean:Jn,my:Cg}=vi();function Ta(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>Ta(a,n)):(o==="object"&&i!==null&&(i=Ta(i)),n[r]=i)}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]===`
|
|
19
|
+
`?(n=1,r+=1):n+=1}return i}var Qn=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[Jn]=!1,this[Cg]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=Ta(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 Eg(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[Jn]=!0}markDirty(){if(this[Jn]){this[Jn]=!1;let t=this;for(;t=t.parent;)t[Jn]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(at(r,this.source.start),at(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=at(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`
|
|
20
|
+
`?(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)}:t.index&&(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):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new wg().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=_g){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)}};Tc.exports=Qn;Qn.default=Qn});var tr=ae((DE,kc)=>{"use strict";var Rg=Zn(),er=class extends Rg{constructor(t){super(t),this.type="comment"}};kc.exports=er;er.default=er});var rr=ae((IE,Fc)=>{"use strict";var Tg=Zn(),nr=class extends Tg{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"}};Fc.exports=nr;nr.default=nr});var St=ae((PE,Hc)=>{"use strict";var Mc=tr(),Nc=rr(),kg=Zn(),{isClean:Lc,my:Dc}=vi(),ka,Ic,Pc,Fa;function Oc(e){return e.map(t=>(t.nodes&&(t.nodes=Oc(t.nodes)),delete t.source,t))}function Gc(e){if(e[Lc]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Gc(t)}var qe=class e extends kg{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Oc(Ic(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 Nc(t)]}else if(t.selector||t.selectors)t=[new Fa(t)];else if(t.name)t=[new ka(t)];else if(t.text)t=[new Mc(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Dc]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Lc]&&Gc(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};qe.registerParse=e=>{Ic=e};qe.registerRule=e=>{Fa=e};qe.registerAtRule=e=>{ka=e};qe.registerRoot=e=>{Pc=e};Hc.exports=qe;qe.default=qe;qe.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,ka.prototype):e.type==="rule"?Object.setPrototypeOf(e,Fa.prototype):e.type==="decl"?Object.setPrototypeOf(e,Nc.prototype):e.type==="comment"?Object.setPrototypeOf(e,Mc.prototype):e.type==="root"&&Object.setPrototypeOf(e,Pc.prototype),e[Dc]=!0,e.nodes&&e.nodes.forEach(t=>{qe.rebuild(t)})}});var Si=ae((OE,Uc)=>{"use strict";var Bc=St(),nn=class extends Bc{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)}};Uc.exports=nn;nn.default=nn;Bc.registerAtRule(nn)});var Ai=ae((GE,zc)=>{"use strict";var Fg=St(),Wc,Vc,Pt=class extends Fg{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new Wc(new Vc,this,t).stringify()}};Pt.registerLazyResult=e=>{Wc=e};Pt.registerProcessor=e=>{Vc=e};zc.exports=Pt;Pt.default=Pt});var $c=ae((HE,qc)=>{var Mg="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ng=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Lg=(e=21)=>{let t="",n=e|0;for(;n--;)t+=Mg[Math.random()*64|0];return t};qc.exports={nanoid:Lg,customAlphabet:Ng}});var Ei=ae(()=>{});var wi=ae(()=>{});var Ma=ae(()=>{});var jc=ae(()=>{});var La=ae((KE,Xc)=>{"use strict";var{existsSync:Dg,readFileSync:Ig}=jc(),{dirname:Na,join:Pg}=Ei(),{SourceMapConsumer:Kc,SourceMapGenerator:Yc}=wi();function Og(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var ir=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=Na(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new Kc(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\/json;charset=utf-?8;base64,/,r=/^data:application\/json;base64,/,i=/^data:application\/json;charset=utf-?8,/,o=/^data:application\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return Og(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\/\*\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\.map$/i.test(t))&&(this.root=Na(t),Dg(t)))return this.mapFile=t,Ig(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 Kc)return Yc.fromSourceMap(n).toString();if(n instanceof Yc)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=Pg(Na(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)}};Xc.exports=ir;ir.default=ir});var or=ae((YE,td)=>{"use strict";var{nanoid:Gg}=$c(),{isAbsolute:Pa,resolve:Oa}=Ei(),{SourceMapConsumer:Hg,SourceMapGenerator:Bg}=wi(),{fileURLToPath:Jc,pathToFileURL:_i}=Ma(),Qc=yi(),Ug=La(),Da=wa(),Ia=Symbol("lineToIndexCache"),Wg=!!(Hg&&Bg),Zc=!!(Oa&&Pa);function ed(e){if(e[Ia])return e[Ia];let t=e.css.split(`
|
|
21
|
+
`),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[Ia]=n,n}var rn=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&&(!Zc||/^\w+:\/\//.test(n.from)||Pa(n.from)?this.file=n.from:this.file=Oa(n.from)),Zc&&Wg){let r=new Ug(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 "+Gg(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let h=this.fromOffset(s);n=h.line,r=h.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let h=this.fromOffset(l);a=h.line,o=h.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let d=this.origin(n,r,a,o);return d?u=new Qc(t,d.endLine===void 0?d.line:{column:d.column,line:d.line},d.endLine===void 0?d.column:{column:d.endColumn,line:d.endLine},d.source,d.file,i.plugin):u=new Qc(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(_i&&(u.input.url=_i(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return ed(this)[t-1]+n-1}fromOffset(t){let n=ed(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:Oa(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;Pa(a.source)?s=_i(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||_i(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(Jc)u.file=Jc(s);else throw new Error("file: protocol is not available in this PostCSS build");let d=o.sourceContentFor(a.source);return d&&(u.source=d),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}};td.exports=rn;rn.default=rn;Da&&Da.registerInput&&Da.registerInput(rn)});var on=ae((XE,od)=>{"use strict";var nd=St(),rd,id,At=class extends nd{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new rd(new id,this,t).stringify()}};At.registerLazyResult=e=>{rd=e};At.registerProcessor=e=>{id=e};od.exports=At;At.default=At;nd.registerRoot(At)});var Ga=ae((JE,ad)=>{"use strict";var ar={comma(e){return ar.split(e,[","],!0)},space(e){let t=[" ",`
|
|
22
|
+
`," "];return ar.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let d of e)u?u=!1:d==="\\"?u=!0:l?d===s&&(l=!1):d==='"'||d==="'"?(l=!0,s=d):d==="("?a+=1:d===")"?a>0&&(a-=1):a===0&&t.includes(d)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=d;return(n||i!=="")&&r.push(i.trim()),r}};ad.exports=ar;ar.default=ar});var Ci=ae((QE,ld)=>{"use strict";var sd=St(),Vg=Ga(),an=class extends sd{get selectors(){return Vg.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=[])}};ld.exports=an;an.default=an;sd.registerRule(an)});var cd=ae((ZE,ud)=>{"use strict";var zg=Si(),qg=tr(),$g=rr(),jg=or(),Kg=La(),Yg=on(),Xg=Ci();function sr(e,t){if(Array.isArray(e))return e.map(i=>sr(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:jg.prototype};o.map&&(o.map={...o.map,__proto__:Kg.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>sr(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new Yg(r);if(r.type==="decl")return new $g(r);if(r.type==="rule")return new Xg(r);if(r.type==="comment")return new qg(r);if(r.type==="atrule")return new zg(r);throw new Error("Unknown node type: "+e.type)}ud.exports=sr;sr.default=sr});var Ba=ae((ew,gd)=>{"use strict";var{dirname:Ri,relative:fd,resolve:md,sep:pd}=Ei(),{SourceMapConsumer:hd,SourceMapGenerator:Ti}=wi(),{pathToFileURL:dd}=Ma(),Jg=or(),Qg=!!(hd&&Ti),Zg=!!(Ri&&md&&fd&&pd),Ha=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=`
|
|
23
23
|
`;this.css.includes(`\r
|
|
24
24
|
`)&&(n=`\r
|
|
25
|
-
`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||
|
|
26
|
-
`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),
|
|
27
|
-
`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?ii(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=ii(Cc(r,this.mapOpts.annotation)));let i=_c(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 J0(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(wc){let r=wc(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;Tc==="\\"&&(t=t.replace(/\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};kc.exports=da});var Nc=ae((UA,Fc)=>{"use strict";var ai=/[\t\n\f\r "#'()/;[\\\]{}]/g,si=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,eg=/.[\r\n"'(/\\]/,Mc=/[\da-f]/i;Fc.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,p,b,v=r.length,x=0,C=[],R=[],T=-1;function M(){return x}function D(_){throw t.error("Unclosed "+_,x)}function E(){return R.length===0&&x>=v}function S(_){if(R.length)return R.pop();if(x>=v)return;let F=_?_.ignoreUnclosed:!1;switch(o=r.charCodeAt(x),o){case 10:case 32:case 9:case 13:case 12:{s=x;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(x,s)],x=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let I=String.fromCharCode(o);c=[I,I,x];break}case 40:{if(b=C.length?C.pop()[1]:"",p=r.charCodeAt(x+1),b==="url"&&p!==39&&p!==34&&p!==32&&p!==10&&p!==9&&p!==12&&p!==13){s=x;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||F){s=x;break}else D("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(x,s+1),x,s],x=s}else x<=T?c=["(","(",x]:(s=r.indexOf(")",x+1),a=r.slice(x,s+1),s===-1||eg.test(a)?(T=s===-1?v:s,c=["(","(",x]):(c=["brackets",a,x,s],x=s));break}case 39:case 34:{u=o===39?"'":'"',s=x;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||F){s=x+1;break}else D("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(x,s+1),x,s],x=s;break}case 64:{ai.lastIndex=x+1,ai.test(r),ai.lastIndex===0?s=r.length-1:s=ai.lastIndex-2,c=["at-word",r.slice(x,s+1),x,s],x=s;break}case 92:{for(s=x,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,Mc.test(r.charAt(s)))){for(;Mc.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(x,s+1),x,s],x=s;break}default:{o===47&&r.charCodeAt(x+1)===42?(s=r.indexOf("*/",x+2)+1,s===0&&(i||F?s=r.length:D("comment")),c=["comment",r.slice(x,s+1),x,s],x=s):(si.lastIndex=x+1,si.test(r),si.lastIndex===0?s=r.length-1:s=si.lastIndex-2,c=["word",r.slice(x,s+1),x,s],C.push(c),x=s);break}}return x++,c}function A(_){R.push(_)}return{back:A,endOfFile:E,nextToken:S,position:M}}});var Pc=ae((WA,Ic)=>{"use strict";var tg=Qr(),ng=qn(),rg=jn(),ig=Jt(),Lc=ri(),og=Nc(),Dc={empty:!0,space:!0};function ag(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var ma=class{constructor(t){this.input=t,this.root=new ig,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 tg;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new ng;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=og(this.input)}decl(t,n){let r=new rg;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||ag(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let p=c[f][0];if(m.trim().startsWith("!")&&p!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Lc;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Dc[m]&&!Dc[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((p,b)=>p+b[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Lc;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})}};Ic.exports=ma});var ui=ae((VA,Oc)=>{"use strict";var sg=gt(),lg=Yn(),ug=Pc();function li(e,t){let n=new lg(e,t),r=new ug(n);try{r.parse()}catch(i){throw i}return r.root}Oc.exports=li;li.default=li;sg.registerParse(li)});var pa=ae((zA,Hc)=>{"use strict";var Qn=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Hc.exports=Qn;Qn.default=Qn});var ci=ae((qA,Gc)=>{"use strict";var cg=pa(),Zn=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 cg(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};Gc.exports=Zn;Zn.default=Zn});var ha=ae(($A,Uc)=>{"use strict";var Bc={};Uc.exports=function(t){Bc[t]||(Bc[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var xa=ae((KA,qc)=>{"use strict";var dg=gt(),fg=Zr(),mg=fa(),pg=ui(),Wc=ci(),hg=Jt(),gg=Bn(),{isClean:Ke,my:bg}=Jr(),jA=ha(),xg={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},yg={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},vg={Once:!0,postcssPlugin:!0,prepare:!0},Zt=0;function er(e){return typeof e=="object"&&typeof e.then=="function"}function zc(e){let t=!1,n=xg[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Zt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Zt,n+"Exit"]:[n,n+"Exit"]}function Vc(e){let t;return e.type==="document"?t=["Document",Zt,"DocumentExit"]:e.type==="root"?t=["Root",Zt,"RootExit"]:t=zc(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function ga(e){return e[Ke]=!1,e.nodes&&e.nodes.forEach(t=>ga(t)),e}var ba={},xt=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=ga(n);else if(n instanceof e||n instanceof Wc)i=ga(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=pg;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[bg]&&dg.rebuild(i)}this.result=new Wc(t,i,r),this.helpers={...ba,postcss:ba,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(!yg[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!vg[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(er(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];){t[Ke]=!0;let n=[Vc(t)];for(;n.length>0;){let r=this.visitTick(n);if(er(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 er(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=gg;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new mg(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(er(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];)t[Ke]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(er(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ke]){l[Ke]=!0,t.push(Vc(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Zt){r.nodes&&r.nodes.length&&(r[Ke]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ke]=!0;let n=zc(t);for(let r of n)if(r===Zt)t.nodes&&t.each(i=>{i[Ke]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};xt.registerPostcss=e=>{ba=e};qc.exports=xt;xt.default=xt;hg.registerLazyResult(xt);fg.registerLazyResult(xt)});var jc=ae((XA,$c)=>{"use strict";var Sg=fa(),Ag=ui(),Eg=ci(),wg=Bn(),YA=ha(),tr=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=Ag;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=wg;this.result=new Eg(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 Sg(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};$c.exports=tr;tr.default=tr});var Yc=ae((JA,Kc)=>{"use strict";var _g=Zr(),Cg=xa(),Tg=jc(),Rg=Jt(),Mt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Tg(this,t,n):new Cg(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Kc.exports=Mt;Mt.default=Mt;Rg.registerProcessor(Mt);_g.registerProcessor(Mt)});var rd=ae((QA,nd)=>{"use strict";var Xc=Qr(),Jc=qn(),kg=gt(),Mg=Xr(),Qc=jn(),Zc=Zr(),Fg=Ec(),Ng=Yn(),Lg=xa(),Dg=ca(),Ig=Vn(),Pg=ui(),ya=Yc(),Og=ci(),ed=Jt(),td=ri(),Hg=Bn(),Gg=pa();function ce(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new ya(e)}ce.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:
|
|
25
|
+
`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||Ri(t.file),i;this.mapOpts.sourcesContent===!1?(i=new hd(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`
|
|
26
|
+
`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Zg&&Qg&&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=Ti.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new Ti({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 Ti({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\n/g),a?(t+=a.length,o=l.lastIndexOf(`
|
|
27
|
+
`),n=l.length-o):n+=l.length,s&&u!=="start"){let d=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==d.last||d.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\w+:\/\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?Ri(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=Ri(md(r,this.mapOpts.annotation)));let i=fd(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 Jg(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(dd){let r=dd(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;pd==="\\"&&(t=t.replace(/\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};gd.exports=Ha});var yd=ae((tw,xd)=>{"use strict";var ki=/[\t\n\f\r "#'()/;[\\\]{}]/g,Fi=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,eb=/.[\r\n"'(/\\]/,bd=/[\da-f]/i;xd.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,d,m,f,h,b,v=r.length,x=0,_=[],T=[],R=-1;function F(){return x}function D(C){throw t.error("Unclosed "+C,x)}function E(){return T.length===0&&x>=v}function S(C){if(T.length)return T.pop();if(x>=v)return;let M=C?C.ignoreUnclosed:!1;switch(o=r.charCodeAt(x),o){case 10:case 32:case 9:case 13:case 12:{s=x;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);d=["space",r.slice(x,s)],x=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let P=String.fromCharCode(o);d=[P,P,x];break}case 40:{if(b=_.length?_.pop()[1]:"",h=r.charCodeAt(x+1),b==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){s=x;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||M){s=x;break}else D("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);d=["brackets",r.slice(x,s+1),x,s],x=s}else x<=R?d=["(","(",x]:(s=r.indexOf(")",x+1),a=r.slice(x,s+1),s===-1||eb.test(a)?(R=s===-1?v:s,d=["(","(",x]):(d=["brackets",a,x,s],x=s));break}case 39:case 34:{u=o===39?"'":'"',s=x;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||M){s=x+1;break}else D("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);d=["string",r.slice(x,s+1),x,s],x=s;break}case 64:{ki.lastIndex=x+1,ki.test(r),ki.lastIndex===0?s=r.length-1:s=ki.lastIndex-2,d=["at-word",r.slice(x,s+1),x,s],x=s;break}case 92:{for(s=x,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,bd.test(r.charAt(s)))){for(;bd.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}d=["word",r.slice(x,s+1),x,s],x=s;break}default:{o===47&&r.charCodeAt(x+1)===42?(s=r.indexOf("*/",x+2)+1,s===0&&(i||M?s=r.length:D("comment")),d=["comment",r.slice(x,s+1),x,s],x=s):(Fi.lastIndex=x+1,Fi.test(r),Fi.lastIndex===0?s=r.length-1:s=Fi.lastIndex-2,d=["word",r.slice(x,s+1),x,s],_.push(d),x=s);break}}return x++,d}function A(C){T.push(C)}return{back:A,endOfFile:E,nextToken:S,position:F}}});var Ed=ae((nw,Ad)=>{"use strict";var tb=Si(),nb=tr(),rb=rr(),ib=on(),vd=Ci(),ob=yd(),Sd={empty:!0,space:!0};function ab(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var Ua=class{constructor(t){this.input=t,this.root=new ib,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 tb;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new nb;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=ob(this.input)}decl(t,n){let r=new rb;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||ab(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let d=this.stringFrom(t,u);d=this.spacesFromEnd(t)+d,d!==" !important"&&(r.raws.important=d);break}else if(o[1].toLowerCase()==="important"){let d=t.slice(0),m="";for(let f=u;f>0;f--){let h=d[f][0];if(m.trim().startsWith("!")&&h!=="space")break;m=d.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=d)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new vd;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,d,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",d=r[f+1]?r[f+1][0]:"empty",!Sd[m]&&!Sd[d]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((h,b)=>h+b[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new vd;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})}};Ad.exports=Ua});var Ni=ae((rw,wd)=>{"use strict";var sb=St(),lb=or(),ub=Ed();function Mi(e,t){let n=new lb(e,t),r=new ub(n);try{r.parse()}catch(i){throw i}return r.root}wd.exports=Mi;Mi.default=Mi;sb.registerParse(Mi)});var Wa=ae((iw,_d)=>{"use strict";var lr=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};_d.exports=lr;lr.default=lr});var Li=ae((ow,Cd)=>{"use strict";var cb=Wa(),ur=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 cb(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};Cd.exports=ur;ur.default=ur});var Va=ae((aw,Td)=>{"use strict";var Rd={};Td.exports=function(t){Rd[t]||(Rd[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var $a=ae((lw,Nd)=>{"use strict";var db=St(),fb=Ai(),mb=Ba(),pb=Ni(),kd=Li(),hb=on(),gb=Xn(),{isClean:Je,my:bb}=vi(),sw=Va(),xb={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},yb={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},vb={Once:!0,postcssPlugin:!0,prepare:!0},sn=0;function cr(e){return typeof e=="object"&&typeof e.then=="function"}function Md(e){let t=!1,n=xb[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,sn,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,sn,n+"Exit"]:[n,n+"Exit"]}function Fd(e){let t;return e.type==="document"?t=["Document",sn,"DocumentExit"]:e.type==="root"?t=["Root",sn,"RootExit"]:t=Md(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function za(e){return e[Je]=!1,e.nodes&&e.nodes.forEach(t=>za(t)),e}var qa={},Et=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=za(n);else if(n instanceof e||n instanceof kd)i=za(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=pb;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[bb]&&db.rebuild(i)}this.result=new kd(t,i,r),this.helpers={...qa,postcss:qa,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(!yb[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!vb[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(cr(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Je];){t[Je]=!0;let n=[Fd(t)];for(;n.length>0;){let r=this.visitTick(n);if(cr(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 cr(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=gb;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new mb(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(cr(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Je];)t[Je]=!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(cr(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Je]){l[Je]=!0,t.push(Fd(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===sn){r.nodes&&r.nodes.length&&(r[Je]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Je]=!0;let n=Md(t);for(let r of n)if(r===sn)t.nodes&&t.each(i=>{i[Je]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};Et.registerPostcss=e=>{qa=e};Nd.exports=Et;Et.default=Et;hb.registerLazyResult(Et);fb.registerLazyResult(Et)});var Dd=ae((cw,Ld)=>{"use strict";var Sb=Ba(),Ab=Ni(),Eb=Li(),wb=Xn(),uw=Va(),dr=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=Ab;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=wb;this.result=new Eb(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 Sb(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Ld.exports=dr;dr.default=dr});var Pd=ae((dw,Id)=>{"use strict";var _b=Ai(),Cb=$a(),Rb=Dd(),Tb=on(),Ot=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Rb(this,t,n):new Cb(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Id.exports=Ot;Ot.default=Ot;Tb.registerProcessor(Ot);_b.registerProcessor(Ot)});var zd=ae((fw,Vd)=>{"use strict";var Od=Si(),Gd=tr(),kb=St(),Fb=yi(),Hd=rr(),Bd=Ai(),Mb=cd(),Nb=or(),Lb=$a(),Db=Ga(),Ib=Zn(),Pb=Ni(),ja=Pd(),Ob=Li(),Ud=on(),Wd=Ci(),Gb=Xn(),Hb=Wa();function ue(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new ja(e)}ue.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:
|
|
28
28
|
https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357:
|
|
29
|
-
https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new
|
|
29
|
+
https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new ja().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return ue([i(s)]).process(a,l)},i};ue.stringify=Gb;ue.parse=Pb;ue.fromJSON=Mb;ue.list=Db;ue.comment=e=>new Gd(e);ue.atRule=e=>new Od(e);ue.decl=e=>new Hd(e);ue.rule=e=>new Wd(e);ue.root=e=>new Ud(e);ue.document=e=>new Bd(e);ue.CssSyntaxError=Fb;ue.Declaration=Hd;ue.Container=kb;ue.Processor=ja;ue.Document=Bd;ue.Comment=Gd;ue.Warning=Hb;ue.AtRule=Od;ue.Result=Ob;ue.Input=Nb;ue.Rule=Wd;ue.Root=Ud;ue.Node=Ib;Lb.registerPostcss(ue);Vd.exports=ue;ue.default=ue});function qr(){return globalThis}function N(e,t){if(typeof window>"u")return;let n=qr(),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 eh=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1","runtime-data"];function th(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 nh(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=th(r,n);return{numerator:r/i,denominator:n/i}}function wo(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 $r(e){return{protocolVersion:1,capabilities:eh,fps:nh(e)}}function rh(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function El(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=wo(n.fps);return r===null||!rh(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var wl=30;function _l(e){wl=Number.isFinite(e)&&e>0?e:30}function ye(e){try{window.parent.postMessage({...e,...$r(wl)},"*")}catch(t){N("bridge.postMessage",t)}}var ih=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(oh(e,t),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>sh(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 oh(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=wo(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function ah(e){let t=El(e);return t.status!=="unsupported"?!1:(ye({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 sh(e){let t=e.selectors,n=e.duration||800;t&&lh(t,n)}function Cl(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"||ah(r))return;let i=r.action;if(typeof i!="string")return;let o=ih.get(i);o&&o(r,e)};return window.addEventListener("message",t),ye({source:"hf-preview",type:"ready"}),t}function lh(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`
|
|
30
30
|
.__hf-flash {
|
|
31
31
|
outline: 2px solid rgba(59, 130, 246, 0.6) !important;
|
|
32
32
|
outline-offset: 2px !important;
|
|
@@ -36,13 +36,13 @@ https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.p
|
|
|
36
36
|
0% { outline-color: rgba(59, 130, 246, 0.8); }
|
|
37
37
|
100% { outline-color: transparent; }
|
|
38
38
|
}
|
|
39
|
-
`,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){N("bridge.flashElements.querySelector",r)}}var Qi=null;function Vs(e){Qi=e}function Le(e,t){if(Qi)try{Qi({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){N("runtime.analytics.site1",n)}}function dp(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 Pt(e){return`--${dp(e)}`}function zs(e){let t=new Map;for(let n of e){let r=Pt(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 $s(){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,bn(i));let n=Rr(),r={...t,...n};for(let i of e)eo(i,r);return r}var qs=new Set;function js(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 fp(e,t){return t?.trim()||e.getAttribute("data-composition-id")?.trim()||e.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()||"composition"}function mp(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 pp(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=mp(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function eo(e,t,n){if(!e)return;let r=js(e);if(r.length===0)return;let i=fp(e,n);for(let o of r){let a=pp(o,t);if(!a)continue;let l=`${i}|${a.id}|${String(a.value)}`;if(qs.has(l))continue;qs.add(l);let s="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 ${s} instead.`)}}function bn(e){let t={};for(let n of js(e))typeof n.id!="string"||!("default"in n)||(t[n.id]=n.default);return t}var Zi="data-hf-css-vars";function Tr(e){return"style"in e&&typeof e.style?.setProperty=="function"}function to(e,t){if(!Tr(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=Pt(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(Zi,n.join(" "))}function Ks(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=Pt(i);((Tr(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function Ys(e){if(!Tr(e))return;let t=e.getAttribute(Zi);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(Zi)}}function Xs(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=Rr(),r=[];for(let i of t)r.push(...hp(i,n,e.defaultView));for(let i of zs(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${Pt(i[0]??"")} \u2014 rename one to avoid cross-talk`)}function hp(e,t,n){if(!Tr(e))return[];let r=bn(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=Pt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return to(e,i),Object.keys(r)}function Js(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 Rr(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Qs(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(p){N("runtime.adapters.css.site5",p)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){N("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){N("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){N("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){N("runtime.adapters.css.site4",m)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=r(c.el);for(let f of n(c.el)){let p=i(f,m);p.endSeconds!=null&&(u=Math.max(u,p.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),p=Math.max(0,c-f)*1e3,b=m.animations;if(b.length>0){o(b,p);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Zs(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function el(){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){N("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){N("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){N("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){N("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function nl(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){N("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(no(r))r.goToAndStop(t*1e3,!1);else if(ro(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??0;if(Number.isFinite(i)&&i>0){let o=Math.min(100,t/i*100);r.seek(o)}}}}catch(i){N("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(no(t)||ro(t))&&t.pause()}catch(n){N("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=gp(r)}catch(o){N("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function tl(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function gp(e){return no(e)?tl(e.totalFrames,e.frameRate):ro(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:tl(e.totalFrames,e.frameRate):null}function no(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ro(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var io=-1,kr=new Set,Ot,oo=0;function rl(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){N("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));kr.add(i),i.then(o=>{kr.delete(i)&&o.status==="rejected"&&Ot===void 0&&(Ot={reason:o.reason})})}function Mr(e){e!==io&&(io=e,rl(e))}function Fr(e){io=e,rl(e)}function il(){return oo>0}async function ao(){oo+=1;let e=Ot;try{for(await Promise.resolve();kr.size>0;){let r=(await Promise.all([...kr])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=Ot;if(e===void 0&&(e=t),Ot===t&&(Ot=void 0),e)throw e.reason}finally{oo-=1}}function ol(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Mr(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function qe(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 al(){return qe({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 sl(){return qe({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 ll(){return qe({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 ul(){return qe({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 cl(){return qe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var bp=250;function dl(){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&&(il()||(window.__hfTypegpuTime=e,Fr(e)))},bp))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Mr(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}var xn="data-hf-render-id",fl="data-hf-group-render-id";function xp(e){return e.getAttribute(xn)||e.id||null}var yp="__render_frame_",vp="__";function Sp(e){return`${yp}${e}${vp}`}function Ap(e){let t=xp(e);return t?Sp(t):null}function ut(e){let t=Ap(e);if(!t)return null;let n=document.getElementById(t);return n instanceof HTMLImageElement?n:null}function ml(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;let n=ut(e);return n&&n.complete&&n.naturalWidth>0?n:null}function pl(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=ml(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function hl(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=ml(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function gl(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=x=>{let C=Number(x.currentTime);return Number.isFinite(C)&&C>0?C:0},c=(x,C)=>C<=0?x:x>=C?Math.max(0,x-C):x,m=(x,C)=>{let R=l.get(x);if(R)return R;let T={compositionTimeMs:C,animationTimeMs:e?c(u(x),C):u(x)};return l.set(x,T),T},f=(x,C)=>{if(!a.has(x)){a.add(x);let R=()=>{a.delete(x)};try{x.addEventListener("finish",R,{once:!0}),x.addEventListener("cancel",R,{once:!0})}catch(T){N("runtime.adapters.waapi.site4",T)}}m(x,C)},p=(x,C)=>{for(let R of x)f(R,C)},b=()=>{if(n||typeof Element>"u")return;let x=Element.prototype;if(typeof x.animate!="function"||x.__hfOriginalAnimate)return;let C=x.animate;try{Object.defineProperty(x,"__hfOriginalAnimate",{value:C,configurable:!0});let R=function(...T){let M=C.apply(this,T);return f(M,t),M};x.animate=R,r=x,i=C,o=R,n=!0}catch{}},v=x=>{let C=null;try{C=x.effect?.getComputedTiming?.()??null}catch(M){N("runtime.adapters.waapi.site4",M)}if(!C)return{};let R=Number(C.endTime);return Number.isFinite(R)?{endSeconds:(l.get(x)?.compositionTimeMs??0)/1e3+R/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,b(),p(s(),t)},seek:x=>{let C=Math.max(0,(Number(x.time)||0)*1e3);t=C,(!e||a.size>0)&&p(s(),e?C:0);for(let R of a){let T=e?m(R,C):m(R,0),M=T.animationTimeMs+Math.max(0,C-T.compositionTimeMs);try{R.currentTime=M}catch(D){N("runtime.adapters.waapi.site1",D)}try{R.pause()}catch(D){N("runtime.adapters.waapi.site2",D)}}},pause:()=>{e||p(s(),t);for(let x of a)try{x.pause()}catch(C){N("runtime.adapters.waapi.site3",C)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(x){N("runtime.adapters.waapi.site5",x)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let x=0;for(let C of s()){let R=v(C);R.endSeconds!=null&&(x=Math.max(x,R.endSeconds))}return x>0?x:null}}}var so=3.981071705534972;function De(e){return Number.isFinite(e)?Math.max(0,Math.min(so,e)):1}function Nr(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function bl(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,Nr(o))}});try{return t()}finally{delete e.volume,i.call(e,Nr(o))}}var Ht=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),_v=Object.freeze([Ht.start,Ht.duration,Ht.trackIndex]),Cv=Object.freeze([Ht.derivedEnd]),Tv=Object.freeze([Ht.derivedEnd,Ht.legacyTrack]);function Gt(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var yl=/^[A-Za-z0-9_.:-]+$/;function vl(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function xl(e,t){let n=t;for(;n>=0&&vl(e,n);)n--;return n}function Ep(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function wp(e){let t=e.length-1;if(!vl(e,t))return null;let n=xl(e,t);return e[n]==="."&&(n=xl(e,n-1)),n+1}function _p(e){let t=wp(e);if(t==null)return null;let n=Ep(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!yl.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function lo(e){let t=(e??"").trim();if(!t)return null;let n=Gt(t);if(n!=null)return{kind:"absolute",value:n};if(yl.test(t))return{kind:"reference",refId:t,offset:0};let r=_p(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}function Sl(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function ve(e){return Gt(e)}function Ce(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:typeof HTMLMediaElement<"u"&&e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Sl(n)}function yn(e){let t=n=>{let r=ve(n);return r==null?null:Number.isFinite(r)&&r>=0?r:null};return t(e.getAttribute("data-playback-start"))??t(e.getAttribute("data-media-start"))??0}function Qe(e,t){return Cp(t,yn(e),Ce(e))}function Cp(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/Sl(n):null}function Tp(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:De(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:De(n)}),i}function Al(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 Rp(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 kp(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function El(e,t){let n=ve(e.dataset.start)??0,r=ve(e.dataset.end)??void 0,i=ve(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=kp(e.dataset.volume)??1;return{start:n,end:o,staticVolume:De(a)}}function Mp(e,t,n,r){let{start:i,end:o,staticVolume:a}=El(e,n),l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=bl(e,()=>{e.volume=a;let f=[],p;for(let b=s;b<=u+1e-6;b=Math.min(u,b+l)){t(b);let v=Number(e.volume);if(Number.isFinite(v)){let x={time:Number(b.toFixed(6)),volume:Number(De(v).toFixed(6))};Rp(f,p,x,b===u),p=x}if(b===u)break}return f});return c.some(f=>Math.abs(f.volume-a)>1e-4)?c:null}function wl(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Mp(e,o,n,60);if(Number.isFinite(a)&&o(a),l){let{start:s,staticVolume:u}=El(e,n),c=Tp(l,s,u);c.length>0&&r.set(e,c)}}var Tt="data-fx-chain",Ov=Tt.slice(5),_l=1,vn=(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}),uo=(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}),Lr=(e=-40,t=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:e,max:t,step:.1,default:n,automatable:!0}),Cl={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."},Rl=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Lr(-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:[vn("frequency","Frequency",1e3),Lr(-40,40,0),uo(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[vn("frequency","Frequency",200,20,2e3),Lr(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[vn("frequency","Frequency",4e3,500,2e4),Lr(-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:[vn("frequency","Cutoff",300,20,2e4),uo(.707),Cl],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[vn("frequency","Cutoff",8e3,100,2e4),uo(.707),Cl],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"}],co=new Map(Rl.map(e=>[e.id,e]));function Sn(e){return co.get(e)}var Hv=Rl.map(e=>e.id);function An(e,t){let n=co.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind==="enum"){let l=i.options.some(s=>s.value===o);r[i.key]=l?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 ct=class extends Error{constructor(t){super(t),this.name="AudioFxChainError"}};function kl(e){let t;try{t=JSON.parse(e)}catch(i){throw new ct(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new ct("Chain file must be a JSON object.");let n=t;if(n.version!==_l)throw new ct(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new ct("Chain file is missing a `nodes` array.");let r=n.nodes.map(Fp);return{version:_l,nodes:r}}function En(e){return e.nodes.filter(t=>t.enabled!==!1)}function Fp(e,t){if(typeof e!="object"||e===null)throw new ct(`Node ${t} is not an object.`);let n=e;if(typeof n.type!="string"||!co.has(n.type))throw new ct(`Node ${t} has unknown effect type: ${String(n.type)}`);return Lp({type:n.type,id:Dr(n.id),fromCarve:Tl(n.fromCarve),fromPreset:Dr(n.fromPreset),label:Dr(n.label),fromEq:Dr(n.fromEq),fromLeveller:Tl(n.fromLeveller),presetAmount:Np(n.presetAmount),enabled:n.enabled!==!1,params:An(n.type,n.params??void 0)})}function Dr(e){return typeof e=="string"&&e?e:void 0}function Tl(e){return e===!0?!0:void 0}function Np(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.min(1,Math.max(0,e))}function Lp(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}var et="data-automation",Wv=et.slice(5),Ir=1,Dp=512,Ze=class extends Error{constructor(t){super(t),this.name="AudioAutomationError"}},Bt="volume";function _n(e){if(e===Bt)return{kind:"volume"};let t=e.split(".");if(t.length===3&&t[0]==="fx"&&t[1]===Ip){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 Ip="preset";var Pp={min:0,max:1,step:.01,unit:"",label:"Amount",scale:"linear",default:1},Pr={min:0,max:so,step:.01,unit:"",label:"Volume",scale:"linear",default:1};function fo(e,t){let n=_n(e);if(!n)return null;if(n.kind==="volume")return Pr;if(n.kind==="preset")return t?.nodes.some(l=>l.fromPreset===n.presetId)?{...Pp,label:`${n.presetId} \xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=Sn(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 wn(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 Op(e){let t=wn(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function Ml(e,t){let n=wn(e),r=wn(t);if(n===null||r===null)return null;let i=l=>Math.min(.999,Math.max(.001,l)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Hp(e){let t=Op(e?.curve),n=Ml(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Gp(e,t){let n=wn(e?.t),r=wn(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,...Hp(e)}}function Fl(e,t){let n=e.map(i=>Gp(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,Dp)}function Bp(e){let t=[];for(let n of e.lanes){if(!_n(n.target))continue;let r=n.target===Bt?Pr:null,i=Fl(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:Ir,lanes:t}}function Nl(e,t){let n=[];for(let r of e.lanes){let i=fo(r.target,t);if(!i)continue;let o=Fl(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:Ir,lanes:n}}function Or(e){let t;try{t=JSON.parse(e)}catch(i){throw new Ze(`Automation is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new Ze("Automation must be a JSON object.");let n=t;if(n.version!==Ir)throw new Ze(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new Ze("Automation is missing a `lanes` array.");let r=n.lanes.map((i,o)=>{if(typeof i!="object"||i===null)throw new Ze(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!="string"||!_n(a.target))throw new Ze(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new Ze(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Bp({version:Ir,lanes:r})}function Up(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function Wp(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,l=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,s=Math.min(o,Math.max(1,a,l));return{cx:e+n/s,cy:t+r/s,w:s}}function Vp(e,t,n){let{cx:r,cy:i,w:o}=Wp(t,n),a=2-2*o,l=e*a-1+2*o*r,s=-e*a-2*o*r,u=zp(l,s,e),c=1-u,m=c*c+2*o*u*c+u*u;return m>0?(2*o*i*u*c+u*u)/m:e}function zp(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=l=>l>=-1e-9&&l<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function qp(e,t){let n=Ml(t.viaX,t.viaY);return n?Vp(Math.min(1,Math.max(0,e)),n.x,n.y):Up(e,t.curve)}function $p(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 Cn(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,l=r.length-1;for(;l-a>1;){let m=a+l>>1;r[m].t<=t?a=m:l=m}let s=r[a],u=r[l],c=u.t-s.t;return c<=0?u.v:$p(s.v,u.v,qp((t-s.t)/c,s),n)}function Ll(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function Dl(e,t,n,r,i="linear"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),l=n-t;for(let s=0;s<o;s+=1)a[s]=Cn(e,t+l*s/(o-1),i);return a}var Hr=new Map,jp=64;function Kp(e){let t=Hr.get(e);if(t!==void 0)return t;let n=null;try{n=Or(e).lanes.find(r=>r.target===Bt)??null}catch{n=null}return Hr.size>jp&&Hr.clear(),Hr.set(e,n),n}function Il(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(et):null)??"";if(!n)return null;let r=Kp(n);return!r||r.points.length===0?null:Cn(r,t)}var Ut="hf-audio-group",Gr="data-audio-group";function mo(e){let t=e?.getAttribute("data-volume"),n=t?parseFloat(t):1;return Number.isFinite(n)?n:1}function po(e,t){let n=Array.from(e?.querySelectorAll?.(`${Ut}[${xn}]`)??[]).find(i=>i.getAttribute(xn)===t);if(n)return n;let r=e?.getElementById(t)??null;return r&&r.tagName?.toLowerCase()===Ut?r:null}function Br(e,t){let n=t?.getAttribute?.(fl)??t?.getAttribute?.(Gr);return n?po(e,n)?.hasAttribute("data-hidden")??!1:!1}function Pl(e){return typeof e.tagName!="string"||e.tagName.toLowerCase()!=="audio"||typeof e.getAttribute!="function"?null:e.getAttribute(Gr)||null}function Ol(e){let t="__hf-audio-group-inert";if(!e?.head||e.getElementById(t))return;let n=e.createElement("style");n.id=t,n.textContent=`${Ut}{display:none!important}`,e.head.appendChild(n)}function $e(e){return yn(e)}function Hl(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 Gl(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=$e(a),u=Ce(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<0)&&m!=null&&(f=Math.max(0,(m-s)/u));let p=Number.isFinite(f)&&f>=0,b=p?l+f:Number.POSITIVE_INFINITY,v=Number.parseFloat(a.dataset.volume??""),x={el:a,start:l,mediaStart:s,duration:p?f:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(v)?v:null,playbackRate:u,loop:c,sourceDuration:m};r.push(x),a.tagName==="VIDEO"&&i.push(x),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var go=new WeakMap,Ur=new WeakMap,Tn=new WeakMap,bo=new WeakSet,Wt=new WeakSet;function Yp(e){if(Wt.has(e))return;Wt.add(e);let t=()=>Wt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Xp=3;function Jp(e){return e.error!=null||e.networkState===Xp}var xo=new WeakMap;function ho(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function yo(e){go.delete(e),Ur.delete(e),Tn.delete(e),bo.delete(e),xo.delete(e)}function Bl(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=Ur.get(r),s=r.tagName==="AUDIO"&&(l===void 0||i<l-.04),u=!n.loop&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration&&(o||s);if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||u)){if(Ur.set(r,i),n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let H=n.sourceDuration-n.mediaStart;H>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%H)}let f=ho(e.userVolume??1),p=De(n.volume??1),b=xo.get(r),v=ho(r.volume),x,C=Il(r,e.timeSeconds-n.start);if(C!==null)x=De(C);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let H=e.timeSeconds-n.start;x=De(Al(n.volumeKeyframes,H))}else e.isWebAudioRouted?.(r)?x=p:b===void 0?x=p>1?p:v:Math.abs(v-b)>1e-4?x=v:x=p;let T=r.closest("[data-hidden]")!==null||Br(r.ownerDocument,r)?0:ho(x*f);r.volume=T,xo.set(r,T),e.onElementVolume?.(r,T,x),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(H){N("runtime.media.site1",H)}let M=.04,D=2,E=r.currentTime||0,S=Math.abs(E-i),A=i-E,_=go.get(r);go.set(r,A);let F=_===void 0,I=!F&&Math.abs(A-_)>.5,q=S>3,W=r.tagName==="AUDIO"&&F&&E-i>M,Y=a&&S>.001||r.ended&&u&&S>.001||W||S>.5&&(F||I||q),k=r.tagName==="VIDEO"&&!r.paused,U=_!==void 0&&Math.abs(A-_)<.004,ie=!1;if(!k&&!Y&&!F&&U&&S>M){let H=(Tn.get(r)??0)+1;Tn.set(r,H),H>=D&&(ie=!0,Tn.set(r,0))}else S<=M&&Tn.set(r,0);let P=!k&&e.forceSync&&S>.02;if(Y||ie||P){if(!(r.tagName==="VIDEO"&&!!ut(r))){try{r.currentTime=i}catch(V){N("runtime.media.site2",V)}if(Math.abs(r.currentTime-i)>.5&&!bo.has(r)){bo.add(r),r.load();try{r.currentTime=i}catch(V){N("runtime.media.site3",V)}}}Wt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Wt.has(r)&&!Jp(r)?(Yp(r),r.play().catch(H=>{Wt.delete(r),(H&&typeof H=="object"&&"name"in H?String(H.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}let m=e.timeSeconds>=n.start&&e.timeSeconds<n.end;yo(r),m&&Ur.set(r,i),r.paused||r.pause()}}var Qp="hf-proxy",Ul="runtime_media_proxy_fallback",Wl="runtime_media_proxy_unavailable",Rn=new WeakSet,Vl=new WeakSet;function Wr(e){return e.currentSrc||e.src}function vo(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!ut(e)}function So(e){let t=Wr(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 Zp(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 eh(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function Ao(e,t){return t[e]??Zp(e,t)??eh(e,t)}function th(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Qp,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var nh={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 Rt(e,t,n){if(Vl.has(e))return;Vl.add(e);let r=nh[t];be({source:"hf-preview",type:"diagnostic",code:Wl,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${Wl}: "${n}" (${t}): ${r}`)}function Eo(e,t=null,n="reactive"){if(Rn.has(e))return;let r=Wr(e),i;try{i=th(r,t)}catch(l){N("runtime.mediaProxy.swap",l),Rt(e,"invalid_source_url",r);return}Rn.add(e),yo(e),e.src=i,e.load();let o=t?.codecName??null;be({source:"hf-preview",type:"diagnostic",code:Ul,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${Ul}: "${r}" uses a codec (${o??"unknown"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function zl(e){if(vo(e)||!(e instanceof HTMLVideoElement)||Rn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=So(e);if(n===null)return;let r=Ao(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||Eo(e,r,"proactive")}function ql(e){if(vo(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Wr(e);if(Rn.has(e)){Rt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=So(e);if(r===null){Rt(e,"cross_origin",t);return}let i=Ao(r,n);if(i&&!i.browserHostile){Rt(e,"browser_safe_codec",t);return}Eo(e,i,"reactive")}function $l(e){if(vo(e)||!(e instanceof HTMLVideoElement))return;let t=Wr(e);if(Rn.has(e)){Rt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=So(e);if(r===null){Rt(e,"cross_origin",t);return}let i=Ao(r,n);if(i&&!i.browserHostile){Rt(e,"browser_safe_codec",t);return}Eo(e,i,"tertiary")}var Se=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);ge(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},rh=[0,0,0],ih=[1,1,1],Vr=64;function oh(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 dt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Se(`Invalid number "${e}"`,t);return n}function jl(e,t,n){if(e.length!==3)throw new Se(`${t} expects three numbers`,n);return[dt(e[0],n),dt(e[1],n),dt(e[2],n)]}function Kl(e,t,n){if(!e)throw new Se(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Se(`${t} must be an integer greater than 1`,n);return r}function ah(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Se("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function sh(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 lh(e){return/^[+-]?(?:\d|\.\d)/.test(e)}function Yl(e,t={}){let n=t.maxSize??Vr,r=null,i=rh,o=ih,a=null,l=null,s=[],u=e.replace(/^\uFEFF/,"").split(/\r?\n/);for(let m=0;m<u.length;m++){let f=m+1,p=oh(u[m]??"").trim();if(!p)continue;let b=p.split(/\s+/),v=(b[0]??"").toUpperCase(),x=b.slice(1);if(v==="TITLE"){r=sh(p);continue}if(v==="DOMAIN_MIN"){i=jl(x,v,f);continue}if(v==="DOMAIN_MAX"){o=jl(x,v,f);continue}if(v==="LUT_3D_INPUT_RANGE"){if(x.length!==2)throw new Se(`${v} expects two numbers`,f);let C=dt(x[0],f),R=dt(x[1],f);if(R<=C)throw new Se("LUT_3D_INPUT_RANGE max must exceed min",f);i=[C,C,C],o=[R,R,R];continue}if(v==="LUT_1D_SIZE"){a=Kl(x[0],v,f);continue}if(v==="LUT_3D_SIZE"){if(l=Kl(x[0],v,f),l>n)throw new Se(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!lh(v)){if(v.startsWith("LUT_"))throw new Se(`Unsupported cube keyword ${v}`,f);continue}if(!l)throw a?new Se("1D cube LUTs are not supported yet",f):new Se("LUT data appears before LUT_3D_SIZE",f);if(b.length!==3)throw new Se("LUT data rows must contain three numbers",f);s.push(dt(b[0],f),dt(b[1],f),dt(b[2],f))}if(a&&l)throw new Se("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new Se("1D cube LUTs are not supported yet"):new Se("Missing LUT_3D_SIZE");ah(i,o);let c=l*l*l;if(s.length!==c*3)throw new Se(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function uh(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function kn(e){return Math.round(uh(e)*255)}function wo(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=kn(e.data[s]??0),i[u+1]=kn(e.data[s+1]??0),i[u+2]=kn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Xl="rec709";var me={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 Jl=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],Ql=["shadows","midtones","highlights"],Zl=["master","red","green","blue"],eu=["hueVsHue","hueVsSaturation","hueVsLuma"];var tu=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],nu=["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 fS=me.unit,mS=me.signedUnit,pS=me.effects;var je=1024,Mn=16;function ru(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 Ae(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function ch(e){let t=[],n=[],r=Ae(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=Ae(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=ru(Ae(t,0),Ae(t,1),i,Ae(n,1)),o[o.length-1]=ru(Ae(t,t.length-1),Ae(t,t.length-2),Ae(n,n.length-1),Ae(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=Ae(n,a-1),s=Ae(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=Ae(t,a-1),c=Ae(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function iu(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 dh(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 fh(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ou(e,t,n,r,i){dh(e,r,i);let o=ch(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>Ae(e,l+1)[0];)l+=1;let c=Ae(e,l),m=Ae(e,l+1),f=fh(u,c,m,Ae(o,l),Ae(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Vt(e,t=je){if(iu(e,t),e.length>Mn)throw new RangeError(`A color curve supports at most ${Mn} 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 ou(e,t,n=>n/(t-1),0,1)}function Co(e,t,n,r=je){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>Mn)throw new RangeError(`A hue curve supports at most ${Mn} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return iu(l,r),ou(l,r,s=>s/r*360,t,n)}var Fn="data-color-grading",Nn="data-hf-color-grading-source-hidden",$r="data-hf-authored-opacity",cu="__hf_color_grading_",ph=Xl,ko={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},Mo={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Fo={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 jr=Jl,du=Ql,fu=Zl,mu=eu,Lo=tu,Do=nu,au={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},su={vignette:.18};function Ee(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...ko,...n},details:{...Mo,...r},effects:{...Fo,...i}}}var Io=[Ee("neutral","Neutral"),Ee("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Ee("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Ee("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Ee("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Ee("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Ee("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Ee("vintage-wash","Vintage Wash",au,su),Ee("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Ee("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Ee("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Ee("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Ee("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Ee("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),Ee("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}),Ee("home-movie-8mm","8mm Home Movie",au,{...su,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Ee("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Ee("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],hh=new Map(Io.map(e=>[e.id,e])),gh=/^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/,bh={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}},zt={hue:0,amount:0,level:0},lu={amount:me.unit,level:me.signedUnit},ft=[[0,0],[1,1]],qt=[],xh={hueVsHue:me.secondaryHueShift,hueVsSaturation:me.signedUnit,hueVsLuma:me.signedUnit},To={center:0,range:180,softness:0},Ro={min:0,max:1,softness:.05},yh={vignette:me.unit,vignetteMidpoint:me.unit,vignetteRoundness:me.signedUnit,vignetteFeather:me.unit,grain:me.unit,grainSize:me.unit,grainRoughness:me.unit},No=me.unit,vh=me.effects,pu=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var Sh=Io.filter(e=>pu.some(t=>e.effects[t]>1e-4)),AS=Io.filter(e=>!Sh.includes(e)),ES={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}},hu=[{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 Ah=/^#[0-9a-f]{6}$/i;function Eh(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&Ah.test(t))?null:e.map(t=>t.toLowerCase())}function Te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qr(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function gu(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function Re(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?qr(n,t.min,t.max):0}function Po(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function wh(e){let t=Te(e)?e:{};return du.reduce((n,r)=>{let i=Te(t[r])?t[r]:{};return n[r]={hue:Po(i.hue,zt.hue),amount:Re(i.amount??zt.amount,lu.amount),level:Re(i.level??zt.level,lu.level)},n},{shadows:{...zt},midtones:{...zt},highlights:{...zt}})}function _h(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)?[qr(t,0,1),qr(n,0,1)]:null}function bu(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function Ch(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function Th(e){if(!Array.isArray(e)||e.length<2)return ft;let t=[];for(let n of e){let r=_h(n);if(!r)return ft;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),bu(t)||(Ch(t),t.length>16)?ft:t}function Rh(e){let t=Te(e)?e:{};return fu.reduce((n,r)=>(n[r]=Th(t[r]),n),{master:ft,red:ft,green:ft,blue:ft})}function kh(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)?[Po(n),qr(r,t.min,t.max)]:null}function Mh(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return qt;let n=[];for(let r of e){let i=kh(r,t);if(!i)return qt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),bu(n)?qt:n}function Fh(e){let t=Te(e)?e:{};return mu.reduce((n,r)=>(n[r]=Mh(t[r],xh[r]),n),{hueVsHue:qt,hueVsSaturation:qt,hueVsLuma:qt})}function uu(e){let t=Te(e)?e:{},n=Re(t.min??Ro.min,No),r=Re(t.max??Ro.max,No);return{min:Math.min(n,r),max:Math.max(n,r),softness:Re(t.softness??Ro.softness,me.secondarySoftRangeSoftness)}}function Nh(e){let t=Te(e)?e:{},n=Re(t.range??To.range,me.secondaryHueRange);return{center:Po(t.center,To.center),range:n,softness:Re(t.softness??To.softness,{min:me.secondaryHueSoftness.min,max:me.secondaryHueCombinedMax-n})}}function Lh(e){return{hueShift:Re(e.hueShift??0,me.secondaryHueShift),saturation:Re(e.saturation??0,me.signedUnit),luma:Re(e.luma??0,me.signedUnit),temperature:Re(e.temperature??0,me.signedUnit),tint:Re(e.tint??0,me.signedUnit)}}function Dh(e){return!Te(e)||!Te(e.key)||!Te(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Nh(e.key.hue),saturation:uu(e.key.saturation),luma:uu(e.key.luma)},correction:Lh(e.correction)}}function Ih(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Dh(n);r&&t.push(r)}return t}function Ph(e){if(e==null)return null;let t=String(e).trim();return t||null}function Oh(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Te(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:gu(e.intensity,1)}}function Hh(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Te(n)?n:null}catch{return null}return{preset:t}}return Te(e)?e:null}function Gh(e,t){let n=e.trim().match(gh);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function zr(e,t){if(typeof e=="string"){let r=Gh(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return zr(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>zr(r,t));if(!Te(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=zr(i,t);return n}function Bh(e){return e?hh.get(e)??null:null}function Kr(e){let t=Hh(e);if(!t||t.enabled===!1)return null;let n=Ph(t.preset),r=Bh(n),i=r?.adjust??ko,o=r?.details??Mo,a=r?.effects??Fo,l=Te(t.adjust)?t.adjust:{},s=Te(t.details)?t.details:{},u=Te(t.effects)?t.effects:{},c=jr.reduce((p,b)=>(p[b]=Re(l[b]??i[b],bh[b]),p),{...ko}),m=Lo.reduce((p,b)=>(p[b]=Re(s[b]??o[b],yh[b]),p),{...Mo}),f=Do.reduce((p,b)=>(p[b]=Re(u[b]??a[b],vh[b]??No),p),{...Fo});return{enabled:!0,preset:n,intensity:gu(t.intensity,r?.intensity??1),adjust:c,wheels:wh(t.wheels),curves:Rh(t.curves),hueCurves:Fh(t.hueCurves),secondaries:Ih(t.secondaries),details:m,effects:f,palette:Eh(t.palette),lut:Oh(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():ph}}function xu(e,t){return Kr(zr(e,t))}function Uh(e){return du.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Oo(e){return fu.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Ho(e){return mu.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Go(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function yu(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||pu.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:jr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Uh(e.wheels):!1)||(e.curves?Oo(e.curves):!1)||(e.hueCurves?Ho(e.hueCurves):!1)||(e.secondaries?Go(e.secondaries):!1):!1}var Wh=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Vh=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function vu(e){let t=!1,n=null,r=null,i=null,o=null;function a(S,A){try{window.dispatchEvent(new CustomEvent(S,{detail:A}))}catch(_){N("runtime.picker.site1",_)}}function l(S){i=S,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(S){o=S,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(S){let A=S.ownerDocument.defaultView;if(!A)return!1;let _=S;for(;_&&_!==document.body&&_!==document.documentElement;){let F=A.getComputedStyle(_);if(F.display==="none"||F.visibility==="hidden"||F.pointerEvents==="none")return!0;let I=Number.parseFloat(F.opacity);if(Number.isFinite(I)&&I<=.01&&!_.hasAttribute(Nn))return!0;_=_.parentElement}return!1}function c(S){if(!S||S===document.body||S===document.documentElement)return!1;let A=S.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Wh)||u(S))}function m(S){return!!S?.closest(Vh)}function f(S){let A=S;if(A.id)return`#${CSS.escape(A.id)}`;let _=S.getAttribute("data-composition-id");if(_)return`[data-composition-id="${CSS.escape(_)}"]`;let F=S.getAttribute("data-composition-src");if(F)return`[data-composition-src="${CSS.escape(F)}"]`;let I=S.getAttribute("data-track-index");if(I)return`[data-track-index="${CSS.escape(I)}"]`;let q=S.tagName.toLowerCase(),W=S.parentElement;if(!W)return q;let Y=W.querySelectorAll(`:scope > ${q}`);if(Y.length===1)return q;for(let k=0;k<Y.length;k+=1)if(Y[k]===S)return`${q}:nth-of-type(${k+1})`;return q}function p(S){let A=S.tagName.toLowerCase(),_=(S.textContent??"").trim().replace(/\s+/g," "),F=(I,q)=>I.length>q?`${I.slice(0,q-1)}\u2026`:I;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?_.length>0?F(_,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function b(S,A,_){let F=typeof _=="number"&&_>0?_:8,I=[];if(document.elementsFromPoint)I=document.elementsFromPoint(S,A);else if(document.elementFromPoint){let Y=document.elementFromPoint(S,A);I=Y?[Y]:[]}if(m(I[0]??null))return[];let q={},W=[];for(let[Y,k]of I.entries()){if(!c(k))continue;let U=`${k.tagName}::${k.id||""}::${Y}`;if(!q[U]&&(q[U]=!0,W.push(k),W.length>=F))break}return W}function v(S){let A=S.getBoundingClientRect(),_={};for(let I of Array.from(S.attributes))I.name.startsWith("data-")&&(_[I.name]=I.value);return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:p(S),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:_}}function x(S,A,_){return b(S,A,_).map(v)}function C(S){if(!t)return;let _=b(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!c(_)||n===_)return;n&&n.classList.remove("__hf-pick-highlight"),n=_,_.classList.add("__hf-pick-highlight");let F=v(_);l(F),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:F})}function R(S){if(!t)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let A=x(S.clientX,S.clientY,8);A.length!==0&&(l(A[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function T(S){S.key==="Escape"&&(D(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function M(){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(`
|
|
40
|
-
`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",C,!0),document.addEventListener("click",R,!0),document.addEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function D(){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",C,!0),document.removeEventListener("click",R,!0),document.removeEventListener("keydown",T,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function E(){window.__HF_PICKER_API={enable:M,disable:D,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(S,A,_)=>Number.isFinite(S)&&Number.isFinite(A)?x(S,A,_):[],pickAtPoint:(S,A,_)=>{if(!Number.isFinite(S)||!Number.isFinite(A))return null;let F=x(S,A,8);if(!F.length)return null;let I=Math.max(0,Math.min(F.length-1,Number(_??0))),q=F[I]??null;return q?(s(q),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:q}),D(),q):null},pickManyAtPoint:(S,A,_)=>{if(!Number.isFinite(S)||!Number.isFinite(A))return[];let F=x(S,A,8);if(!F.length)return[];let I=[],q=Array.isArray(_)?_:[0];for(let W of q){let Y=Math.max(0,Math.min(F.length-1,Math.floor(Number(W)))),k=F[Y];if(!k)continue;I.some(ie=>ie.selector===k.selector&&ie.tagName===k.tagName)||I.push(k)}return I.length?(s(I[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:I}),D(),I):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:M,disablePickMode:D,installPickerApi:E}}var zh=["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 $t(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function Bo(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0,i=r*n,o=Math.round(i);return Math.abs(i-o)<=.001?o/n:r}function Su(e,t,n=zh){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function Ln(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&N("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Ue(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&N("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function Dn(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){N("runtime.player.site1",i)}}}function Au(e,t,n,r){let i=$t(t,n),o=r?.suppressEvents===!0;return Ue(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function qh(e,t,n,r,i){let o=[];Dn(e,t,a=>{Ue(a,"play"),o.push(a)});try{return Au(t,n,r,i)}finally{for(let a of o)try{Ue(a,"pause")}catch(l){N("runtime.player.site2",l)}}}function $h(e,t){Dn(e,t,n=>{Ue(n,"play")})}function Eu(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??Ln(n,"duration",0))||0);r>0&&Math.max(0,Ln(n,"time",0))>=r&&(Ue(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()),Ue(n,"play"),Dn(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Ue(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Ue(n,"pause"),Dn(e.getTimelineRegistry?.(),n,i=>{Ue(i,"pause")});let r=Math.max(0,Ln(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=qh(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Ue(i,"play"),Dn(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Ue(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?($h(e.getTimelineRegistry?.(),i),Au(i,n,o,r)):$t(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>Ln(e.getTimeline(),"time",0),getDuration:()=>Ln(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function wu(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var jh=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Uo(e){return e.id||e.getAttribute("data-hf-id")||null}function Kh(e){return ve(e)}function Yh(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 Xh(e){return!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration)?null:Qe(e,e.duration)}function Jh(e,t,n,r){let i=Kh(e.getAttribute("data-duration"));return i!=null&&i>0?i:Yh(e,t)??Xh(e)??Math.max(0,n-r)}function Qh(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 _u(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||jh.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Jh(l,n,r,s)<=0)continue;let u={id:Uo(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Qh(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}function In(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 jt(e){let t=In(e.start);if(t==null)return null;let n=Math.max(0,t),r=In(e.duration),i=In(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=In(e.end),l=In(e.authoredEnd),s=a!=null&&a>n?a:l!=null&&l>n?l:null;return{start:n,duration:s==null?null:s-n,end:s}}var Wo="css:root",Cu=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Zh=new Set([...Cu,"contain","isolation","mask-border","mix-blend-mode","opacity"]),e0=new Set(["absolute","relative"]),t0=new Set(["flex","inline-flex","grid","inline-grid"]),n0=new Set(["layout","paint","strict","content"]),r0=new Set(["size","inline-size"]);function i0(e){return e.position==="fixed"||e.position==="sticky"}function o0(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(e0.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&t0.has(n)}function a0(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:Cu.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function s0(e){return e.getPropertyValue("contain").split(/\s+/).some(n=>n0.has(n))?!0:r0.has(e.getPropertyValue("container-type"))}function l0(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Zh.has(t))}function u0(e,t){return i0(t)||o0(e,t)||a0(t)||s0(t)?!0:l0(t)}function c0(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 Yr(e){let t=e.ownerDocument.defaultView;if(!t)return Wo;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(u0(n,t.getComputedStyle(n)))return c0(n)}catch{return Wo}n=n.parentElement}return Wo}function mt(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let p=r.getElementById(f);return p||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let p=f.ownerDocument.defaultView?.HTMLMediaElement;return p?f instanceof p:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let p=o.get(f);if(p!==void 0)return p;let b=null,v=jt({start:0,duration:f.getAttribute("data-duration"),authoredDuration:n?f.getAttribute("data-hf-authored-duration"):null});if(v?.duration!=null&&v.duration>0&&(b=v.duration),b==null||b<=0){let x=m(f,0),C=jt({start:x,end:f.getAttribute("data-end"),authoredEnd:n?f.getAttribute("data-hf-authored-end"):null});C?.duration!=null&&C.duration>0&&(b=C.duration)}if((b==null||b<=0)&&s(f)){let x=yn(f);Number.isFinite(f.duration)&&f.duration>x&&(b=(f.duration-x)/Ce(f))}if(b==null||b<=0){let x=f.getAttribute("data-composition-id");if(x){let C=t[x]??null;if(C&&typeof C.duration=="function")try{let R=Number(C.duration());Number.isFinite(R)&&R>0&&(b=R)}catch(R){N("runtime.startResolver.site1",R)}}}return b!=null&&Number.isFinite(b)&&b>0?(o.set(f,b),b):(o.set(f,null),null)},c=(f,p)=>{if(f.hasAttribute("data-composition-id")){let v=f.parentElement?.closest("[data-composition-id]");return v?m(v,p):0}let b=f.closest("[data-composition-id]");return b?m(b,p):0},m=(f,p)=>{let b=i.get(f);if(b!==void 0)return b??p;if(a.has(f))return p;a.add(f);try{let v=lo(f.getAttribute("data-start"));if(!v){if(f.hasAttribute("data-composition-id")){let M=f.parentElement;if(M&&(M.hasAttribute("data-composition-src")||M.hasAttribute("data-composition-id")||M.hasAttribute("data-composition-file"))){let D=m(M,p);return i.set(f,D),D}}return i.set(f,p),p}if(v.kind==="absolute"){let M=Math.max(0,v.value),D=Math.max(0,c(f,p)+M);return i.set(f,D),D}let x=l(v.refId);if(!x)return i.set(f,p),p;let C=m(x,0),R=u(x);if(R==null||R<=0){let M=Math.max(0,C+v.offset);return i.set(f,M),M}let T=Math.max(0,C+R+v.offset);return i.set(f,T),T}finally{a.delete(f)}};return{resolveStartForElement:(f,p=0)=>m(f,Math.max(0,p)),resolveDurationForElement:f=>u(f)}}function Vo(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}function pt(e){return ve(e)}function zo(e){let t=e.getAttribute("data-duration"),n=e.getAttribute("data-hf-authored-duration"),r=jt({start:0,duration:t,authoredDuration:n})?.duration;return r??([t,n].map(pt).some(o=>o!=null&&o<=0)?0:null)}function Tu(e){return jt({start:0,end:e.getAttribute("data-end"),authoredEnd:e.getAttribute("data-hf-authored-end")})?.end??null}function qo(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 $o(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function jo(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 On(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 Ru(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return On(t);let n=e.getAttribute("data-composition-src");if(n)return On(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?On(r.getAttribute("src")):null}function f0(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 m0(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\/]/).filter(Boolean).at(-1)??null}}function p0(e){let t=e.textContent?.replace(/\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function Pn(e){let t=e.replace(/\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return t?t.replace(/\b\w/g,n=>n.toUpperCase()):e}function h0(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return Pn(i);let o=e.id;if(o)return Pn(o);let a=f0(e);if(a)return Pn(a);let l=m0(Ru(e));if(l)return Pn(l);let s=p0(e);return s||`${Pn(t)} ${n+1}`}function ku(e){let n=window.__timelines??{},r=mt({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=z=>{if(!z)return null;let O=n[z]??null;if(!O||typeof O.duration!="function")return null;try{let B=Number(O.duration());return Number.isFinite(B)&&B>0?B:null}catch{return null}},o=z=>{let O=pt(z.getAttribute("data-duration"));return O!=null&&O>0?O:Number.isFinite(z.duration)?Qe(z,z.duration):null},a=()=>{let z=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(z.length===0)return null;let O=0;for(let B of z){let te=B.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(B,0):Math.max(0,Number(B.getAttribute("data-start")??0)||0);if(!Number.isFinite(te))continue;let K=o(B);K==null||K<=0||(O=Math.max(O,Math.max(0,te)+K))}return O>0?O:null},l=(z,O)=>{let B=[],te=null,K=null,ne=null,J=z.parentElement;for(;J;){let X=J.getAttribute("data-composition-id");X&&(B.push(X),!ne&&J!==O&&(ne=X),te==null&&(te=r.resolveStartForElement(J,0)),K==null&&(K=pt(J.getAttribute("data-duration"))??i(X)??null)),J=J.parentElement}return{parentCompositionId:ne,compositionAncestors:B.reverse(),inheritedStart:te,inheritedDuration:K}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),p=f!=null?Math.max(0,f-Math.max(0,m)):null,b=i(c),v=zo(s??document.body),x=$o(...u.filter(z=>z!==s).map(z=>{let O=r.resolveStartForElement(z,0),B=r.resolveDurationForElement(z)??i(z.getAttribute("data-composition-id"))??null;return!Number.isFinite(O)||B==null||B<=0?null:Math.max(0,O)+B})),C=x!=null?Math.max(0,x-Math.max(0,m)):null,R=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,T=typeof v=="number"&&Number.isFinite(v)&&v>0?v:null,M=typeof p=="number"&&Number.isFinite(p)&&p>0?p:null,D=typeof C=="number"&&Number.isFinite(C)&&C>0?C:null,E=$o(M,D),S=R!=null&&E!=null&&R>E+1,_=T??(S?E:$o(R,M,D))??null,I=(_!=null?m+_:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),q=(z,O)=>!Number.isFinite(O)||O<=0?0:I==null||!Number.isFinite(I)?O:!Number.isFinite(z)||z>=I?0:Math.max(0,Math.min(O,I-z)),W=[],Y=[],k=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),U=0;for(let[z,O]of k.entries()){if(O===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(O.tagName))continue;let B=l(O,s),te=r.resolveStartForElement(O,B.inheritedStart??0),K=O.getAttribute("data-composition-id"),ne=zo(O);if(ne==null&&K&&K!==c&&(ne=i(K)),ne==null&&O instanceof HTMLMediaElement&&Number.isFinite(O.duration)&&(ne=Qe(O,O.duration)),ne==null){let Ne=B.inheritedDuration;if(Ne!=null&&Ne>0){let _e=(B.inheritedStart??0)+Ne;ne=Math.max(0,_e-te)}}if(ne==null||ne<=0||(ne=q(te,ne),ne<=0))continue;let J=te+ne;U=Math.max(U,J);let X=O.tagName.toLowerCase(),Oe=K&&K!==c?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";W.push({id:Uo(O)??K??null,label:h0(O,Oe,W.length),start:te,duration:ne,track:jo(O,z),zIndex:qo(O),stackingContextId:Yr(O),kind:Oe,tagName:X,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:B.compositionAncestors,parentCompositionId:B.parentCompositionId,nodePath:null,compositionSrc:On(O.getAttribute("data-composition-src")),playbackStart:$e(O),playbackRate:Ce(O),assetUrl:Ru(O),timelineRole:O.getAttribute("data-timeline-role"),timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:pt(O.getAttribute("data-timeline-priority"))})}let ie=new Set(W.map(z=>z.id)),P=s?.getAttribute("data-composition-id")??null,H=P?n[P]??null:null;if(H&&s){let z=H;if(typeof z.getChildren=="function")try{let O=z.getChildren(!0,!0,!1)??[],B=new Map;for(let ne of s.children){let J=ne;if(!J.id)continue;let X=J.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||B.set(J,{id:J.id,start:1/0,end:-1/0})}let te=ne=>{let J=ne;for(;J;){if(B.has(J))return J;if(J===s)return null;J=J.parentElement}return null};for(let ne of O){if(typeof ne.targets!="function"||typeof ne.startTime!="function"||typeof ne.duration!="function")continue;let J=ne.startTime(),X=ne.parent;for(;X&&X!==H&&typeof X.startTime=="function";)J+=X.startTime(),X=X.parent;let Oe=J+ne.duration();if(!(!Number.isFinite(J)||!Number.isFinite(Oe)))for(let Ne of ne.targets()){if(!(Ne instanceof Element))continue;let cn=te(Ne);if(!cn)continue;let _e=B.get(cn);_e&&(_e.start=Math.min(_e.start,J),_e.end=Math.max(_e.end,Oe))}}let K=W.length>0?Math.max(...W.map(ne=>ne.track))+1:0;for(let[ne,J]of B){if(J.start===1/0||J.end===-1/0)continue;let X=ne;if(ie.has(X.id))continue;let Oe=Math.max(0,J.end-J.start);if(Oe<=0)continue;let Ne=q(J.start,Oe);Ne<=0||(U=Math.max(U,J.start+Ne),W.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:J.start,duration:Ne,track:jo(X,K),zIndex:qo(X),stackingContextId:Yr(X),kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:P?[P]:[],parentCompositionId:P,nodePath:null,compositionSrc:null,playbackStart:$e(X),playbackRate:Ce(X),assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:pt(X.getAttribute("data-timeline-priority"))}),ie.add(X.id))}}catch(O){N("runtime.timeline.site1",O)}}if(s&&_!=null&&_>0){let z=W.length>0?Math.max(...W.map(O=>O.track))+1:0;for(let O of s.children){let B=O;if(!B.id||ie.has(B.id))continue;let te=B.getAttribute("data-timeline-role");if(te!=="overlay"&&te!=="persistent-overlay")continue;let K=B.tagName.toLowerCase();if(K==="script"||K==="style"||K==="link"||K==="meta"||window.getComputedStyle(B).display==="none")continue;let J=q(0,_);J<=0||(U=Math.max(U,J),W.push({id:B.id,label:B.getAttribute("data-timeline-label")??B.getAttribute("data-label")??B.getAttribute("aria-label")??B.id,start:0,duration:J,track:jo(B,z),zIndex:qo(B),stackingContextId:Yr(B),kind:"element",tagName:K,compositionId:B.getAttribute("data-composition-id"),compositionAncestors:P?[P]:[],parentCompositionId:P,nodePath:null,compositionSrc:null,playbackStart:$e(B),playbackRate:Ce(B),assetUrl:null,timelineRole:te,timelineLabel:B.getAttribute("data-timeline-label"),timelineGroup:B.getAttribute("data-timeline-group"),timelinePriority:pt(B.getAttribute("data-timeline-priority"))}),ie.add(B.id))}}for(let z of u){if(z===s)continue;let O=z.getAttribute("data-composition-id");if(!O||!Vo(O))continue;let B=r.resolveStartForElement(z,0),te=zo(z);if((te==null||te<=0)&&Tu(z)!=null){let X=Tu(z);te=Math.max(0,X-B)}let K=i(O),ne=te&&te>0?te:K;if(ne==null||ne<=0)continue;let J=q(B,ne);J<=0||Y.push({id:O,label:z.getAttribute("data-label")??O,start:B,duration:J,thumbnailUrl:On(z.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,U||1,_??0),j=S&&T==null,we=j?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...Cr(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:j?Number.POSITIVE_INFINITY:V,durationInFrames:we,clips:W,scenes:Y,compositionWidth:pt(s?.getAttribute("data-width"))??1920,compositionHeight:pt(s?.getAttribute("data-height"))??1080}}var Ko="data-composition-id",g0="data-composition-src",b0=`[${Ko}]`,cA=`[${g0}]`,Mu="style",Fu="script",x0='link[rel="stylesheet"], link[rel="preconnect"]';function Kt(e){return e?Array.from(e):[]}function Nu(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=Kt(t.querySelectorAll(b0)),l=o?a.find(c=>c.getAttribute(Ko)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(Ko)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...Kt(u?.querySelectorAll(Mu)),...Kt(t.querySelectorAll(Mu))],scriptSources:[...Kt(u?.querySelectorAll(Fu)),...Kt(t.querySelectorAll(Fu))],linkSources:Kt(n?.querySelectorAll(x0)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var pe=tp(rd(),1),id=pe.default,ZA=pe.default.stringify,eE=pe.default.fromJSON,tE=pe.default.plugin,nE=pe.default.parse,rE=pe.default.list,iE=pe.default.document,oE=pe.default.comment,aE=pe.default.atRule,sE=pe.default.rule,lE=pe.default.decl,uE=pe.default.root,cE=pe.default.CssSyntaxError,dE=pe.default.Declaration,fE=pe.default.Container,mE=pe.default.Processor,pE=pe.default.Document,hE=pe.default.Comment,gE=pe.default.Warning,bE=pe.default.AtRule,xE=pe.default.Result,yE=pe.default.Input,vE=pe.default.Rule,SE=pe.default.Root,AE=pe.default.Node;var va="data-hf-authored-id",od="data-hf-inner-root";function Sa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Aa(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function Bg(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\${n}`).replace(/^-?\d/,n=>`\\${n}`)}function sd(e){let t=e.trim();return t?Array.from(new Set([t,Bg(t)])).filter(Boolean):[]}function Ug(e){return!!e&&/[\w-]/.test(e)}function Wg(e,t,n){let r=sd(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\"&&(a=null);continue}if(s==='"'||s==="'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!Ug(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function Vg(e,t){let n=t?.trim();return n?Wg(e,n,`[${va}="${Aa(n)}"]`):e}function ad(e){return`${e}:not(:has([${od}])), ${e} > [${od}]`}function zg(e,t,n,r,i,o){let a=Vg(e,r),l=qg(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?ad(t):e;let u=new RegExp(`\\[\\s*data-composition-id\\s*[\\^\\*\\$]?=\\s*(["'])${Sa(n)}\\1\\s*\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?ad(t):l.replace(u,t);let c=l.match(/^\s*/)?.[0]??"",m=l.match(/\s*$/)?.[0]??"";if(i){let f=r?`[${va}="${Aa(r)}"]`:null;if(f&&s.startsWith(f)){let p=s.slice(f.length);return`${c}${t}${f}${p}${m}`}}return`${c}${t} ${s}${m}`}function qg(e,t,n){let r=Sa(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 $g=new Set(["keyframes","-webkit-keyframes","font-face"]);function jg(e){return e?.type==="atrule"}function Kg(e){let t=e.parent;for(;t;){if(jg(t)&&$g.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Yg(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function ld(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${Aa(o)}"]`,l;try{l=id.parse(e)}catch{return""}return l.walkRules(s=>{Kg(s)||Yg(s)||(s.selectors=s.selectors.map(u=>zg(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function nt(e){return JSON.stringify(e).replace(/</g,"\\u003c")}function ud(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=nt(t),l=nt(i),s=nt(n),u=Sa(t),c=nt(o?.trim()||null),m=nt(r??null),f=nt(String.raw`\[\s*data-composition-id\s*=\s*(?:"${u}"|'${u}')\s*\]`),p=nt(String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`),b=nt(sd(o?.trim()||""));return`(function(){
|
|
39
|
+
`,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){N("bridge.flashElements.querySelector",r)}}var _o=null;function Rl(e){_o=e}function Oe(e,t){if(_o)try{_o({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){N("runtime.analytics.site1",n)}}function uh(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 zt(e){return`--${uh(e)}`}function Tl(e){let t=new Map;for(let n of e){let r=zt(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 Fl(){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,Cn(i));let n=Kr(),r={...t,...n};for(let i of e)Ro(i,r);return r}var kl=new Set;function Ml(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 ch(e,t){return t?.trim()||e.getAttribute("data-composition-id")?.trim()||e.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()||"composition"}function dh(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 fh(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=dh(e);return r.length===0||r.some(i=>String(i)===String(n))?null:{id:e.id,value:n,allowed:r}}function Ro(e,t,n){if(!e)return;let r=Ml(e);if(r.length===0)return;let i=ch(e,n);for(let o of r){let a=fh(o,t);if(!a)continue;let l=`${i}|${a.id}|${String(a.value)}`;if(kl.has(l))continue;kl.add(l);let s="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 ${s} instead.`)}}function Cn(e){let t={};for(let n of Ml(e))typeof n.id!="string"||!("default"in n)||(t[n.id]=n.default);return t}var Co="data-hf-css-vars";function jr(e){return"style"in e&&typeof e.style?.setProperty=="function"}function To(e,t){if(!jr(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=zt(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(Co,n.join(" "))}function Nl(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=zt(i);((jr(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function Ll(e){if(!jr(e))return;let t=e.getAttribute(Co);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(Co)}}function Dl(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=Kr(),r=[];for(let i of t)r.push(...mh(i,n,e.defaultView));for(let i of Tl(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${zt(i[0]??"")} \u2014 rename one to avoid cross-talk`)}function mh(e,t,n){if(!jr(e))return[];let r=Cn(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=zt(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return To(e,i),Object.keys(r)}function Il(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 Kr(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}var Pl="http://www.w3.org/1999/xhtml";function Fe(e){return e!=null&&e.nodeType===1}function Se(e){return Fe(e)&&e.namespaceURI===Pl}function Rn(e,t){return Se(e)&&e.localName===t}function fe(e){return Rn(e,"video")}function ko(e){return Rn(e,"audio")}function ve(e){return fe(e)||ko(e)}function Pe(e){return Rn(e,"img")}function Ol(e){return Rn(e,"style")}function Gl(e){return Rn(e,"link")}function Fo(e){return Fe(e)&&(e.namespaceURI===Pl||e.namespaceURI==="http://www.w3.org/2000/svg")}function Hl(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,d)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(h){N("runtime.adapters.css.site5",h)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:d+f/1e3}:{unbounded:!0}},o=(u,d)=>{for(let m of u){try{m.currentTime=d}catch(f){N("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){N("runtime.adapters.css.site2",f)}}},a=u=>{for(let d of u)try{d.play()}catch(m){N("runtime.adapters.css.site3",m)}},l=u=>{for(let d of u)try{d.pause()}catch(m){N("runtime.adapters.css.site4",m)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let d of u){if(!Se(d))continue;let m=window.getComputedStyle(d);!m.animationName||m.animationName==="none"||t.push({el:d,baseDelay:d.style.animationDelay||"",basePlayState:d.style.animationPlayState||"",animations:n(d)})}},getInferredDurationSeconds:()=>{let u=0;for(let d of t){if(!d.el.isConnected)continue;let m=r(d.el);for(let f of n(d.el)){let h=i(f,m);h.endSeconds!=null&&(u=Math.max(u,h.endSeconds))}}return u>0?u:null},seek:u=>{let d=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),h=Math.max(0,d-f)*1e3,b=m.animations;if(b.length>0){o(b,h);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(h/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let d=u.animations;d.length>0&&l(d),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Bl(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function Ul(){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){N("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){N("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){N("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){N("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Vl(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){N("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(Mo(r))r.goToAndStop(t*1e3,!1);else if(No(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??0;if(Number.isFinite(i)&&i>0){let o=Math.min(100,t/i*100);r.seek(o)}}}}catch(i){N("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(Mo(t)||No(t))&&t.pause()}catch(n){N("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=ph(r)}catch(o){N("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function Wl(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function ph(e){return Mo(e)?Wl(e.totalFrames,e.frameRate):No(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Wl(e.totalFrames,e.frameRate):null}function Mo(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function No(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var Lo=-1,Yr=new Set,qt,Do=0;function zl(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){N("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));Yr.add(i),i.then(o=>{Yr.delete(i)&&o.status==="rejected"&&qt===void 0&&(qt={reason:o.reason})})}function Xr(e){e!==Lo&&(Lo=e,zl(e))}function Jr(e){Lo=e,zl(e)}function ql(){return Do>0}async function Io(){Do+=1;let e=qt;try{for(await Promise.resolve();Yr.size>0;){let r=(await Promise.all([...Yr])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=qt;if(e===void 0&&(e=t),qt===t&&(qt=void 0),e)throw e.reason}finally{Do-=1}}function $l(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let d=window.THREE?.DefaultLoadingManager;return!d||typeof d!="object"||typeof d.itemsLoaded!="number"||typeof d.itemsTotal!="number"?null:d},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(d=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,d()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(d,m,f){try{r?.call(this,d,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Xr(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function Ke(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 jl(){return Ke({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 Kl(){return Ke({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 Yl(){return Ke({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 Xl(){return Ke({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 Jl(){return Ke({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var hh=250;function Ql(){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&&(ql()||(window.__hfTypegpuTime=e,Jr(e)))},hh))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Xr(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}var Tn="data-hf-render-id",Zl="data-hf-group-render-id";function gh(e){return e.getAttribute(Tn)||e.id||null}var bh="__render_frame_",xh="__";function yh(e){return`${bh}${e}${xh}`}function vh(e){let t=gh(e);return t?yh(t):null}function ht(e){let t=vh(e);if(!t)return null;let n=document.getElementById(t);return Pe(n)?n:null}function eu(e){let t=e.nextElementSibling;if(Pe(t)&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;let n=ht(e);return n&&n.complete&&n.naturalWidth>0?n:null}function tu(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(fe(n?.source)){let o=eu(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function nu(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(fe(u)){let d=eu(u);d&&(l[s]=d)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function ru(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=x=>{let _=Number(x.currentTime);return Number.isFinite(_)&&_>0?_:0},d=(x,_)=>_<=0?x:x>=_?Math.max(0,x-_):x,m=(x,_)=>{let T=l.get(x);if(T)return T;let R={compositionTimeMs:_,animationTimeMs:e?d(u(x),_):u(x)};return l.set(x,R),R},f=(x,_)=>{if(!a.has(x)){a.add(x);let T=()=>{a.delete(x)};try{x.addEventListener("finish",T,{once:!0}),x.addEventListener("cancel",T,{once:!0})}catch(R){N("runtime.adapters.waapi.site4",R)}}m(x,_)},h=(x,_)=>{for(let T of x)f(T,_)},b=()=>{if(n||typeof Element>"u")return;let x=Element.prototype;if(typeof x.animate!="function"||x.__hfOriginalAnimate)return;let _=x.animate;try{Object.defineProperty(x,"__hfOriginalAnimate",{value:_,configurable:!0});let T=function(...R){let F=_.apply(this,R);return f(F,t),F};x.animate=T,r=x,i=_,o=T,n=!0}catch{}},v=x=>{let _=null;try{_=x.effect?.getComputedTiming?.()??null}catch(F){N("runtime.adapters.waapi.site4",F)}if(!_)return{};let T=Number(_.endTime);return Number.isFinite(T)?{endSeconds:(l.get(x)?.compositionTimeMs??0)/1e3+T/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,b(),h(s(),t)},seek:x=>{let _=Math.max(0,(Number(x.time)||0)*1e3);t=_,(!e||a.size>0)&&h(s(),e?_:0);for(let T of a){let R=e?m(T,_):m(T,0),F=R.animationTimeMs+Math.max(0,_-R.compositionTimeMs);try{T.currentTime=F}catch(D){N("runtime.adapters.waapi.site1",D)}try{T.pause()}catch(D){N("runtime.adapters.waapi.site2",D)}}},pause:()=>{e||h(s(),t);for(let x of a)try{x.pause()}catch(_){N("runtime.adapters.waapi.site3",_)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(x){N("runtime.adapters.waapi.site5",x)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let x=0;for(let _ of s()){let T=v(_);T.endSeconds!=null&&(x=Math.max(x,T.endSeconds))}return x>0?x:null}}}var Po=3.981071705534972;function Ge(e){return Number.isFinite(e)?Math.max(0,Math.min(Po,e)):1}function Qr(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function iu(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,Qr(o))}});try{return t()}finally{delete e.volume,i.call(e,Qr(o))}}var $t=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),FS=Object.freeze([$t.start,$t.duration,$t.trackIndex]),MS=Object.freeze([$t.derivedEnd]),NS=Object.freeze([$t.derivedEnd,$t.legacyTrack]);function Zr(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var au=/^[A-Za-z0-9_.:-]+$/;function su(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function ou(e,t){let n=t;for(;n>=0&&su(e,n);)n--;return n}function Sh(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function Ah(e){let t=e.length-1;if(!su(e,t))return null;let n=ou(e,t);return e[n]==="."&&(n=ou(e,n-1)),n+1}function Eh(e){let t=Ah(e);if(t==null)return null;let n=Sh(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!au.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Oo(e){let t=(e??"").trim();if(!t)return null;let n=Zr(t);if(n!=null)return{kind:"absolute",value:n};if(au.test(t))return{kind:"reference",refId:t,offset:0};let r=Eh(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}function lu(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function _e(e){return Zr(e)}function Me(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:ve(e)?e.defaultPlaybackRate:1;return lu(n)}function kn(e){let t=n=>{let r=_e(n);return r==null?null:Number.isFinite(r)&&r>=0?r:null};return t(e.getAttribute("data-playback-start"))??t(e.getAttribute("data-media-start"))??0}function gt(e,t){return wh(t,kn(e),Me(e))}function ei(e){let t=_e(e.getAttribute("data-duration"));return t!=null&&t>0?t:Number.isFinite(e.duration)?gt(e,e.duration):null}function wh(e,t,n){return Number.isFinite(e)?Math.max(0,e-t)/lu(n):null}function Fn(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 jt(e){let t=Fn(e.start);if(t==null)return null;let n=Math.max(0,t),r=Fn(e.duration),i=Fn(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=Fn(e.end),l=Fn(e.authoredEnd),s=a!=null&&a>n?a:l!=null&&l>n?l:null;return{start:n,duration:s==null?null:s-n,end:s}}var ti="data-hf-media-start-basis";function _h(e){return e?.trim().toLowerCase()==="global"?"global":"local"}function uu(e){return _h(e.basis)==="global"?e.authoredStart:e.hostStart+e.authoredStart}function rt(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let h=r.getElementById(f);return h||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let h=o.get(f);if(h!==void 0)return h;let b=null,v=jt({start:0,duration:f.getAttribute("data-duration"),authoredDuration:n?f.getAttribute("data-hf-authored-duration"):null});if(v?.duration!=null&&v.duration>0&&(b=v.duration),b==null||b<=0){let x=d(f,0),_=jt({start:x,end:f.getAttribute("data-end"),authoredEnd:n?f.getAttribute("data-hf-authored-end"):null});_?.duration!=null&&_.duration>0&&(b=_.duration)}if((b==null||b<=0)&&ve(f)){let x=kn(f);Number.isFinite(f.duration)&&f.duration>x&&(b=(f.duration-x)/Me(f))}if(b==null||b<=0){let x=f.getAttribute("data-composition-id");if(x){let _=t[x]??null;if(_&&typeof _.duration=="function")try{let T=Number(_.duration());Number.isFinite(T)&&T>0&&(b=T)}catch(T){N("runtime.startResolver.site1",T)}}}return b!=null&&Number.isFinite(b)&&b>0?(o.set(f,b),b):(o.set(f,null),null)},u=(f,h)=>{if(f.hasAttribute("data-composition-id")){let v=f.parentElement?.closest("[data-composition-id]");return v?d(v,h):0}let b=f.closest("[data-composition-id]");return b?d(b,h):0},d=(f,h)=>{let b=i.get(f);if(b!==void 0)return b??h;if(a.has(f))return h;a.add(f);try{let v=Oo(f.getAttribute("data-start"));if(!v){if(f.hasAttribute("data-composition-id")){let F=f.parentElement;if(F&&(F.hasAttribute("data-composition-src")||F.hasAttribute("data-composition-id")||F.hasAttribute("data-composition-file"))){let D=d(F,h);return i.set(f,D),D}}return i.set(f,h),h}if(v.kind==="absolute"){let F=Math.max(0,v.value),D=Math.max(0,u(f,h)+F);return i.set(f,D),D}let x=l(v.refId);if(!x)return i.set(f,h),h;let _=d(x,0),T=s(x);if(T==null||T<=0){let F=Math.max(0,_+v.offset);return i.set(f,F),F}let R=Math.max(0,_+T+v.offset);return i.set(f,R),R}finally{a.delete(f)}};return{resolveStartForElement:(f,h=0)=>d(f,Math.max(0,h)),resolveDurationForElement:f=>s(f),resolveMediaStartForElement:f=>{let h=f.closest("[data-composition-id]"),b=h?d(h,0):0,v=_e(f.getAttribute("data-start"));return f.hasAttribute("data-hf-auto-start")||v==null||b<=0?d(f,b):uu({authoredStart:v,hostStart:b,basis:f.getAttribute(ti)})}}}function Ch(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:Ge(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:Ge(n)}),i}function cu(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 Rh(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 Th(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function kh(e,t){let n=rt({timelineRegistry:window.__timelines,includeAuthoredTimingAttrs:!0}).resolveMediaStartForElement(e),r=_e(e.dataset.end)??void 0,i=_e(e.dataset.duration)??void 0,o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Th(e.dataset.volume)??1;return{start:n,end:o,staticVolume:Ge(a)}}function Fh(e,t,n,r,{start:i,end:o,staticVolume:a}){let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),d=iu(e,()=>{e.volume=a;let f=[],h;for(let b=s;b<=u+1e-6;b=Math.min(u,b+l)){t(b);let v=Number(e.volume);if(Number.isFinite(v)){let x={time:Number(b.toFixed(6)),volume:Number(Ge(v).toFixed(6))};Rh(f,h,x,b===u),h=x}if(b===u)break}return f});return d.some(f=>Math.abs(f.volume-a)>1e-4)?d:null}function du(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!ve(e)||n<=0)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,l=kh(e,n),s=Fh(e,o,n,60,l);if(Number.isFinite(a)&&o(a),s){let u=Ch(s,l.start,l.staticVolume);u.length>0&&r.set(e,u)}}var Lt="data-fx-chain",eA=Lt.slice(5),fu=1,Mn=(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}),Go=(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}),ni=(e=-40,t=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:e,max:t,step:.1,default:n,automatable:!0}),mu={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."},hu=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[ni(-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:[Mn("frequency","Frequency",1e3),ni(-40,40,0),Go(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[Mn("frequency","Frequency",200,20,2e3),ni(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[Mn("frequency","Frequency",4e3,500,2e4),ni(-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:[Mn("frequency","Cutoff",300,20,2e4),Go(.707),mu],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies \u2014 darkens or muffles a track.",params:[Mn("frequency","Cutoff",8e3,100,2e4),Go(.707),mu],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"}],Ho=new Map(hu.map(e=>[e.id,e]));function Nn(e){return Ho.get(e)}var tA=hu.map(e=>e.id);function Ln(e,t){let n=Ho.get(e);if(!n)return{};let r={};for(let i of n.params){let o=t?.[i.key];if(i.kind==="enum"){let l=i.options.some(s=>s.value===o);r[i.key]=l?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 bt=class extends Error{constructor(t){super(t),this.name="AudioFxChainError"}};function gu(e){let t;try{t=JSON.parse(e)}catch(i){throw new bt(`Chain file is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new bt("Chain file must be a JSON object.");let n=t;if(n.version!==fu)throw new bt(`Unsupported chain version: ${String(n.version)}`);if(!Array.isArray(n.nodes))throw new bt("Chain file is missing a `nodes` array.");let r=n.nodes.map(Mh);return{version:fu,nodes:r}}function Dn(e){return e.nodes.filter(t=>t.enabled!==!1)}function Mh(e,t){if(typeof e!="object"||e===null)throw new bt(`Node ${t} is not an object.`);let n=e;if(typeof n.type!="string"||!Ho.has(n.type))throw new bt(`Node ${t} has unknown effect type: ${String(n.type)}`);return Lh({type:n.type,id:ri(n.id),fromCarve:pu(n.fromCarve),fromPreset:ri(n.fromPreset),label:ri(n.label),fromEq:ri(n.fromEq),fromLeveller:pu(n.fromLeveller),presetAmount:Nh(n.presetAmount),enabled:n.enabled!==!1,params:Ln(n.type,n.params??void 0)})}function ri(e){return typeof e=="string"&&e?e:void 0}function pu(e){return e===!0?!0:void 0}function Nh(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.min(1,Math.max(0,e))}function Lh(e){for(let t of Object.keys(e))e[t]===void 0&&delete e[t];return e}var ot="data-automation",oA=ot.slice(5),ii=1,Dh=512,it=class extends Error{constructor(t){super(t),this.name="AudioAutomationError"}},Kt="volume";function Pn(e){if(e===Kt)return{kind:"volume"};let t=e.split(".");if(t.length===3&&t[0]==="fx"&&t[1]===Ih){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 Ih="preset";var Ph={min:0,max:1,step:.01,unit:"",label:"Amount",scale:"linear",default:1},oi={min:0,max:Po,step:.01,unit:"",label:"Volume",scale:"linear",default:1};function Bo(e,t){let n=Pn(e);if(!n)return null;if(n.kind==="volume")return oi;if(n.kind==="preset")return t?.nodes.some(l=>l.fromPreset===n.presetId)?{...Ph,label:`${n.presetId} \xB7 Amount`}:null;let r=t?.nodes.find(a=>a.id===n.nodeId);if(!r)return null;let i=Nn(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 In(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 Oh(e){let t=In(e);return t===null||t===0?0:Math.min(1,Math.max(-1,t))}function bu(e,t){let n=In(e),r=In(t);if(n===null||r===null)return null;let i=l=>Math.min(.999,Math.max(.001,l)),o=i(n),a=i(r);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function Gh(e){let t=Oh(e?.curve),n=bu(e?.viaX,e?.viaY);return{...t?{curve:t}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function Hh(e,t){let n=In(e?.t),r=In(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,...Gh(e)}}function xu(e,t){let n=e.map(i=>Hh(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,Dh)}function Bh(e){let t=[];for(let n of e.lanes){if(!Pn(n.target))continue;let r=n.target===Kt?oi:null,i=xu(n.points??[],r);i.length>0&&t.push({target:n.target,points:i})}return{version:ii,lanes:t}}function yu(e,t){let n=[];for(let r of e.lanes){let i=Bo(r.target,t);if(!i)continue;let o=xu(r.points,i);o.length>0&&n.push({target:r.target,points:o})}return{version:ii,lanes:n}}function ai(e){let t;try{t=JSON.parse(e)}catch(i){throw new it(`Automation is not valid JSON: ${i.message}`)}if(typeof t!="object"||t===null)throw new it("Automation must be a JSON object.");let n=t;if(n.version!==ii)throw new it(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new it("Automation is missing a `lanes` array.");let r=n.lanes.map((i,o)=>{if(typeof i!="object"||i===null)throw new it(`Lane ${o} is not an object.`);let a=i;if(typeof a.target!="string"||!Pn(a.target))throw new it(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new it(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Bh({version:ii,lanes:r})}function Uh(e,t){return t?Math.pow(e,Math.pow(2,2*t)):e}function Wh(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,l=r>0?r/(i-t):r<0?-r/(t-(1-i)):0,s=Math.min(o,Math.max(1,a,l));return{cx:e+n/s,cy:t+r/s,w:s}}function Vh(e,t,n){let{cx:r,cy:i,w:o}=Wh(t,n),a=2-2*o,l=e*a-1+2*o*r,s=-e*a-2*o*r,u=zh(l,s,e),d=1-u,m=d*d+2*o*u*d+u*u;return m>0?(2*o*i*u*d+u*u)/m:e}function zh(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=l=>l>=-1e-9&&l<=1+1e-9;return a(i)?Math.min(1,Math.max(0,i)):a(o)?Math.min(1,Math.max(0,o)):n}function qh(e,t){let n=bu(t.viaX,t.viaY);return n?Vh(Math.min(1,Math.max(0,e)),n.x,n.y):Uh(e,t.curve)}function $h(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 On(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,l=r.length-1;for(;l-a>1;){let m=a+l>>1;r[m].t<=t?a=m:l=m}let s=r[a],u=r[l],d=u.t-s.t;return d<=0?u.v:$h(s.v,u.v,qh((t-s.t)/d,s),n)}function vu(e){return e.points.length<=1||e.points.every(t=>t.v===e.points[0].v)}function Su(e,t,n,r,i="linear"){let o=Math.max(2,Math.floor(r)),a=new Float32Array(o),l=n-t;for(let s=0;s<o;s+=1)a[s]=On(e,t+l*s/(o-1),i);return a}var si=new Map,jh=64;function Kh(e){let t=si.get(e);if(t!==void 0)return t;let n=null;try{n=ai(e).lanes.find(r=>r.target===Kt)??null}catch{n=null}return si.size>jh&&si.clear(),si.set(e,n),n}function Au(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(ot):null)??"";if(!n)return null;let r=Kh(n);return!r||r.points.length===0?null:On(r,t)}var Yt="hf-audio-group",li="data-audio-group";function Uo(e){let t=e?.getAttribute("data-volume"),n=t?parseFloat(t):1;return Number.isFinite(n)?n:1}function Wo(e,t){let n=Array.from(e?.querySelectorAll?.(`${Yt}[${Tn}]`)??[]).find(i=>i.getAttribute(Tn)===t);if(n)return n;let r=e?.getElementById(t)??null;return r&&r.tagName?.toLowerCase()===Yt?r:null}function ui(e,t){let n=t?.getAttribute?.(Zl)??t?.getAttribute?.(li);return n?Wo(e,n)?.hasAttribute("data-hidden")??!1:!1}function Eu(e){return typeof e.tagName!="string"||e.tagName.toLowerCase()!=="audio"||typeof e.getAttribute!="function"?null:e.getAttribute(li)||null}function wu(e){let t="__hf-audio-group-inert";if(!e?.head||e.getElementById(t))return;let n=e.createElement("style");n.id=t,n.textContent=`${Yt}{display:none!important}`,e.head.appendChild(n)}function Ye(e){return kn(e)}function _u(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 Cu(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 l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Ye(a),u=Me(a),d=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<0)&&m!=null&&(f=Math.max(0,(m-s)/u));let h=Number.isFinite(f)&&f>=0,b=h?l+f:Number.POSITIVE_INFINITY,v=Number.parseFloat(a.dataset.volume??""),x={el:a,start:l,mediaStart:s,duration:h?f:Number.POSITIVE_INFINITY,end:b,volume:Number.isFinite(v)?v:null,playbackRate:u,loop:d,sourceDuration:m};r.push(x),a.tagName==="VIDEO"&&i.push(x),Number.isFinite(b)&&(o=Math.max(o,b))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var zo=new WeakMap,ci=new WeakMap,Gn=new WeakMap,qo=new WeakSet,Xt=new WeakSet;function Yh(e){if(Xt.has(e))return;Xt.add(e);let t=()=>Xt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Xh=3;function Jh(e){return e.error!=null||e.networkState===Xh}var $o=new WeakMap;function Vo(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function jo(e){zo.delete(e),ci.delete(e),Gn.delete(e),qo.delete(e),$o.delete(e)}function Ru(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=ci.get(r),s=r.tagName==="AUDIO"&&(l===void 0||i<l-.04),u=!n.loop&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration&&(o||s);if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||u)){if(ci.set(r,i),n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let G=n.sourceDuration-n.mediaStart;G>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%G)}let f=Vo(e.userVolume??1),h=Ge(n.volume??1),b=$o.get(r),v=Vo(r.volume),x,_=Au(r,e.timeSeconds-n.start);if(_!==null)x=Ge(_);else if(n.volumeKeyframes&&n.volumeKeyframes.length>0){let G=e.timeSeconds-n.start;x=Ge(cu(n.volumeKeyframes,G))}else e.isWebAudioRouted?.(r)?x=h:b===void 0?x=h>1?h:v:Math.abs(v-b)>1e-4?x=v:x=h;let R=r.closest("[data-hidden]")!==null||ui(r.ownerDocument,r)?0:Vo(x*f);r.volume=R,$o.set(r,R),e.onElementVolume?.(r,R,x),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(G){N("runtime.media.site1",G)}let F=.04,D=2,E=r.currentTime||0,S=Math.abs(E-i),A=i-E,C=zo.get(r);zo.set(r,A);let M=C===void 0,P=!M&&Math.abs(A-C)>.5,H=S>3,j=r.tagName==="AUDIO"&&M&&E-i>F,J=a&&S>.001||r.ended&&u&&S>.001||j||S>.5&&(M||P||H),k=r.tagName==="VIDEO"&&!r.paused,U=C!==void 0&&Math.abs(A-C)<.004,ne=!1;if(!k&&!J&&!M&&U&&S>F){let G=(Gn.get(r)??0)+1;Gn.set(r,G),G>=D&&(ne=!0,Gn.set(r,0))}else S<=F&&Gn.set(r,0);let B=!k&&e.forceSync&&S>.02;if(J||ne||B){if(!(r.tagName==="VIDEO"&&!!ht(r))){try{r.currentTime=i}catch(W){N("runtime.media.site2",W)}if(Math.abs(r.currentTime-i)>.5&&!qo.has(r)){qo.add(r),r.load();try{r.currentTime=i}catch(W){N("runtime.media.site3",W)}}}Xt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Xt.has(r)&&!Jh(r)?(Yh(r),r.play().catch(G=>{Xt.delete(r),(G&&typeof G=="object"&&"name"in G?String(G.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}let m=e.timeSeconds>=n.start&&e.timeSeconds<n.end;jo(r),m&&ci.set(r,i),r.paused||r.pause()}}var Qh="hf-proxy",Tu="runtime_media_proxy_fallback",ku="runtime_media_proxy_unavailable",Hn=new WeakSet,Fu=new WeakSet;function di(e){return e.currentSrc||e.src}function Ko(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:fe(e)&&!!ht(e)}function Yo(e){let t=di(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 Zh(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 e0(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function Xo(e,t){return t[e]??Zh(e,t)??e0(e,t)}function t0(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Qh,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var n0={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 Dt(e,t,n){if(Fu.has(e))return;Fu.add(e);let r=n0[t];ye({source:"hf-preview",type:"diagnostic",code:ku,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${ku}: "${n}" (${t}): ${r}`)}function Jo(e,t=null,n="reactive"){if(Hn.has(e))return;let r=di(e),i;try{i=t0(r,t)}catch(l){N("runtime.mediaProxy.swap",l),Dt(e,"invalid_source_url",r);return}Hn.add(e),jo(e),e.src=i,e.load();let o=t?.codecName??null;ye({source:"hf-preview",type:"diagnostic",code:Tu,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${Tu}: "${r}" uses a codec (${o??"unknown"}) this browser can't decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function Mu(e){if(Ko(e)||!fe(e)||Hn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=Yo(e);if(n===null)return;let r=Xo(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||Jo(e,r,"proactive")}function Nu(e){if(Ko(e)||!fe(e)||e.videoWidth!==0)return;let t=di(e);if(Hn.has(e)){Dt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=Yo(e);if(r===null){Dt(e,"cross_origin",t);return}let i=Xo(r,n);if(i&&!i.browserHostile){Dt(e,"browser_safe_codec",t);return}Jo(e,i,"reactive")}function Lu(e){if(Ko(e)||!fe(e))return;let t=di(e);if(Hn.has(e)){Dt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=Yo(e);if(r===null){Dt(e,"cross_origin",t);return}let i=Xo(r,n);if(i&&!i.browserHostile){Dt(e,"browser_safe_codec",t);return}Jo(e,i,"tertiary")}var Re=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},r0=[0,0,0],i0=[1,1,1],fi=64;function o0(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 xt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new Re(`Invalid number "${e}"`,t);return n}function Du(e,t,n){if(e.length!==3)throw new Re(`${t} expects three numbers`,n);return[xt(e[0],n),xt(e[1],n),xt(e[2],n)]}function Iu(e,t,n){if(!e)throw new Re(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new Re(`${t} must be an integer greater than 1`,n);return r}function a0(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new Re("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function s0(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 l0(e){return/^[+-]?(?:\d|\.\d)/.test(e)}function Pu(e,t={}){let n=t.maxSize??fi,r=null,i=r0,o=i0,a=null,l=null,s=[],u=e.replace(/^\uFEFF/,"").split(/\r?\n/);for(let m=0;m<u.length;m++){let f=m+1,h=o0(u[m]??"").trim();if(!h)continue;let b=h.split(/\s+/),v=(b[0]??"").toUpperCase(),x=b.slice(1);if(v==="TITLE"){r=s0(h);continue}if(v==="DOMAIN_MIN"){i=Du(x,v,f);continue}if(v==="DOMAIN_MAX"){o=Du(x,v,f);continue}if(v==="LUT_3D_INPUT_RANGE"){if(x.length!==2)throw new Re(`${v} expects two numbers`,f);let _=xt(x[0],f),T=xt(x[1],f);if(T<=_)throw new Re("LUT_3D_INPUT_RANGE max must exceed min",f);i=[_,_,_],o=[T,T,T];continue}if(v==="LUT_1D_SIZE"){a=Iu(x[0],v,f);continue}if(v==="LUT_3D_SIZE"){if(l=Iu(x[0],v,f),l>n)throw new Re(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!l0(v)){if(v.startsWith("LUT_"))throw new Re(`Unsupported cube keyword ${v}`,f);continue}if(!l)throw a?new Re("1D cube LUTs are not supported yet",f):new Re("LUT data appears before LUT_3D_SIZE",f);if(b.length!==3)throw new Re("LUT data rows must contain three numbers",f);s.push(xt(b[0],f),xt(b[1],f),xt(b[2],f))}if(a&&l)throw new Re("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new Re("1D cube LUTs are not supported yet"):new Re("Missing LUT_3D_SIZE");a0(i,o);let d=l*l*l;if(s.length!==d*3)throw new Re(`Expected ${d} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function u0(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function Bn(e){return Math.round(u0(e)*255)}function Qo(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=Bn(e.data[s]??0),i[u+1]=Bn(e.data[s+1]??0),i[u+2]=Bn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Ou="rec709";var he={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 Gu=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],Hu=["shadows","midtones","highlights"],Bu=["master","red","green","blue"],Uu=["hueVsHue","hueVsSaturation","hueVsLuma"];var Wu=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],Vu=["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 FA=he.unit,MA=he.signedUnit,NA=he.effects;var Xe=1024,Un=16;function zu(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 Te(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function c0(e){let t=[],n=[],r=Te(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=Te(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=zu(Te(t,0),Te(t,1),i,Te(n,1)),o[o.length-1]=zu(Te(t,t.length-1),Te(t,t.length-2),Te(n,n.length-1),Te(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=Te(n,a-1),s=Te(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=Te(t,a-1),d=Te(t,a),m=2*d+u,f=d+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function qu(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 d0(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 f0(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function $u(e,t,n,r,i){d0(e,r,i);let o=c0(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>Te(e,l+1)[0];)l+=1;let d=Te(e,l),m=Te(e,l+1),f=f0(u,d,m,Te(o,l),Te(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Jt(e,t=Xe){if(qu(e,t),e.length>Un)throw new RangeError(`A color curve supports at most ${Un} 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 $u(e,t,n=>n/(t-1),0,1)}function ea(e,t,n,r=Xe){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>Un)throw new RangeError(`A hue curve supports at most ${Un} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return qu(l,r),$u(l,r,s=>s/r*360,t,n)}var Wn="data-color-grading",Vn="data-hf-color-grading-source-hidden",hi="data-hf-authored-opacity",Ju="__hf_color_grading_",p0=Ou,ra={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},ia={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},oa={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 gi=Gu,Qu=Hu,Zu=Bu,ec=Uu,sa=Wu,la=Vu,ju={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},Ku={vignette:.18};function ke(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...ra,...n},details:{...ia,...r},effects:{...oa,...i}}}var ua=[ke("neutral","Neutral"),ke("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),ke("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),ke("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),ke("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),ke("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),ke("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),ke("vintage-wash","Vintage Wash",ju,Ku),ke("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),ke("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),ke("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),ke("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),ke("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),ke("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),ke("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}),ke("home-movie-8mm","8mm Home Movie",ju,{...Ku,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),ke("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),ke("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],h0=new Map(ua.map(e=>[e.id,e])),g0=/^\$(?:\{([A-Za-z0-9_.:-]+)\}|([A-Za-z0-9_.:-]+))$/,b0={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}},Qt={hue:0,amount:0,level:0},Yu={amount:he.unit,level:he.signedUnit},yt=[[0,0],[1,1]],Zt=[],x0={hueVsHue:he.secondaryHueShift,hueVsSaturation:he.signedUnit,hueVsLuma:he.signedUnit},ta={center:0,range:180,softness:0},na={min:0,max:1,softness:.05},y0={vignette:he.unit,vignetteMidpoint:he.unit,vignetteRoundness:he.signedUnit,vignetteFeather:he.unit,grain:he.unit,grainSize:he.unit,grainRoughness:he.unit},aa=he.unit,v0=he.effects,tc=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var S0=ua.filter(e=>tc.some(t=>e.effects[t]>1e-4)),BA=ua.filter(e=>!S0.includes(e)),UA={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}},nc=[{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 A0=/^#[0-9a-f]{6}$/i;function E0(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&A0.test(t))?null:e.map(t=>t.toLowerCase())}function Ne(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pi(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function rc(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function De(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?pi(n,t.min,t.max):0}function ca(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function w0(e){let t=Ne(e)?e:{};return Qu.reduce((n,r)=>{let i=Ne(t[r])?t[r]:{};return n[r]={hue:ca(i.hue,Qt.hue),amount:De(i.amount??Qt.amount,Yu.amount),level:De(i.level??Qt.level,Yu.level)},n},{shadows:{...Qt},midtones:{...Qt},highlights:{...Qt}})}function _0(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)?[pi(t,0,1),pi(n,0,1)]:null}function ic(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function C0(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function R0(e){if(!Array.isArray(e)||e.length<2)return yt;let t=[];for(let n of e){let r=_0(n);if(!r)return yt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),ic(t)||(C0(t),t.length>16)?yt:t}function T0(e){let t=Ne(e)?e:{};return Zu.reduce((n,r)=>(n[r]=R0(t[r]),n),{master:yt,red:yt,green:yt,blue:yt})}function k0(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)?[ca(n),pi(r,t.min,t.max)]:null}function F0(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Zt;let n=[];for(let r of e){let i=k0(r,t);if(!i)return Zt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),ic(n)?Zt:n}function M0(e){let t=Ne(e)?e:{};return ec.reduce((n,r)=>(n[r]=F0(t[r],x0[r]),n),{hueVsHue:Zt,hueVsSaturation:Zt,hueVsLuma:Zt})}function Xu(e){let t=Ne(e)?e:{},n=De(t.min??na.min,aa),r=De(t.max??na.max,aa);return{min:Math.min(n,r),max:Math.max(n,r),softness:De(t.softness??na.softness,he.secondarySoftRangeSoftness)}}function N0(e){let t=Ne(e)?e:{},n=De(t.range??ta.range,he.secondaryHueRange);return{center:ca(t.center,ta.center),range:n,softness:De(t.softness??ta.softness,{min:he.secondaryHueSoftness.min,max:he.secondaryHueCombinedMax-n})}}function L0(e){return{hueShift:De(e.hueShift??0,he.secondaryHueShift),saturation:De(e.saturation??0,he.signedUnit),luma:De(e.luma??0,he.signedUnit),temperature:De(e.temperature??0,he.signedUnit),tint:De(e.tint??0,he.signedUnit)}}function D0(e){return!Ne(e)||!Ne(e.key)||!Ne(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:N0(e.key.hue),saturation:Xu(e.key.saturation),luma:Xu(e.key.luma)},correction:L0(e.correction)}}function I0(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=D0(n);r&&t.push(r)}return t}function P0(e){if(e==null)return null;let t=String(e).trim();return t||null}function O0(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Ne(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:rc(e.intensity,1)}}function G0(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Ne(n)?n:null}catch{return null}return{preset:t}}return Ne(e)?e:null}function H0(e,t){let n=e.trim().match(g0);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function mi(e,t){if(typeof e=="string"){let r=H0(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return mi(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>mi(r,t));if(!Ne(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=mi(i,t);return n}function B0(e){return e?h0.get(e)??null:null}function bi(e){let t=G0(e);if(!t||t.enabled===!1)return null;let n=P0(t.preset),r=B0(n),i=r?.adjust??ra,o=r?.details??ia,a=r?.effects??oa,l=Ne(t.adjust)?t.adjust:{},s=Ne(t.details)?t.details:{},u=Ne(t.effects)?t.effects:{},d=gi.reduce((h,b)=>(h[b]=De(l[b]??i[b],b0[b]),h),{...ra}),m=sa.reduce((h,b)=>(h[b]=De(s[b]??o[b],y0[b]),h),{...ia}),f=la.reduce((h,b)=>(h[b]=De(u[b]??a[b],v0[b]??aa),h),{...oa});return{enabled:!0,preset:n,intensity:rc(t.intensity,r?.intensity??1),adjust:d,wheels:w0(t.wheels),curves:T0(t.curves),hueCurves:M0(t.hueCurves),secondaries:I0(t.secondaries),details:m,effects:f,palette:E0(t.palette),lut:O0(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():p0}}function oc(e,t){return bi(mi(e,t))}function U0(e){return Qu.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function da(e){return Zu.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function fa(e){return ec.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function ma(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function ac(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||tc.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:gi.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?U0(e.wheels):!1)||(e.curves?da(e.curves):!1)||(e.hueCurves?fa(e.hueCurves):!1)||(e.secondaries?ma(e.secondaries):!1):!1}var W0=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),V0=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function sc(e){let t=!1,n=null,r=null,i=null,o=null;function a(S,A){try{window.dispatchEvent(new CustomEvent(S,{detail:A}))}catch(C){N("runtime.picker.site1",C)}}function l(S){i=S,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(S){o=S,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(S){let A=S.ownerDocument.defaultView;if(!A)return!1;let C=S;for(;C&&C!==document.body&&C!==document.documentElement;){let M=A.getComputedStyle(C);if(M.display==="none"||M.visibility==="hidden"||M.pointerEvents==="none")return!0;let P=Number.parseFloat(M.opacity);if(Number.isFinite(P)&&P<=.01&&!C.hasAttribute(Vn))return!0;C=C.parentElement}return!1}function d(S){if(!S||S===document.body||S===document.documentElement)return!1;let A=S.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(W0)||u(S))}function m(S){return!!S?.closest(V0)}function f(S){let A=S;if(A.id)return`#${CSS.escape(A.id)}`;let C=S.getAttribute("data-composition-id");if(C)return`[data-composition-id="${CSS.escape(C)}"]`;let M=S.getAttribute("data-composition-src");if(M)return`[data-composition-src="${CSS.escape(M)}"]`;let P=S.getAttribute("data-track-index");if(P)return`[data-track-index="${CSS.escape(P)}"]`;let H=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return H;let J=j.querySelectorAll(`:scope > ${H}`);if(J.length===1)return H;for(let k=0;k<J.length;k+=1)if(J[k]===S)return`${H}:nth-of-type(${k+1})`;return H}function h(S){let A=S.tagName.toLowerCase(),C=(S.textContent??"").trim().replace(/\s+/g," "),M=(P,H)=>P.length>H?`${P.slice(0,H-1)}\u2026`:P;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?C.length>0?M(C,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function b(S,A,C){let M=typeof C=="number"&&C>0?C:8,P=[];if(document.elementsFromPoint)P=document.elementsFromPoint(S,A);else if(document.elementFromPoint){let J=document.elementFromPoint(S,A);P=J?[J]:[]}if(m(P[0]??null))return[];let H={},j=[];for(let[J,k]of P.entries()){if(!d(k))continue;let U=`${k.tagName}::${k.id||""}::${J}`;if(!H[U]&&(H[U]=!0,j.push(k),j.length>=M))break}return j}function v(S){let A=S.getBoundingClientRect(),C={};for(let P of Array.from(S.attributes))P.name.startsWith("data-")&&(C[P.name]=P.value);return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:h(S),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:C}}function x(S,A,C){return b(S,A,C).map(v)}function _(S){if(!t)return;let C=b(S.clientX,S.clientY,1)[0]??(Fe(S.target)?S.target:null);if(!d(C)||n===C)return;n&&n.classList.remove("__hf-pick-highlight"),n=C,C.classList.add("__hf-pick-highlight");let M=v(C);l(M),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:M})}function T(S){if(!t)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let A=x(S.clientX,S.clientY,8);A.length!==0&&(l(A[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function R(S){S.key==="Escape"&&(D(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function F(){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(`
|
|
40
|
+
`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",_,!0),document.addEventListener("click",T,!0),document.addEventListener("keydown",R,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function D(){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",_,!0),document.removeEventListener("click",T,!0),document.removeEventListener("keydown",R,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function E(){window.__HF_PICKER_API={enable:F,disable:D,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(S,A,C)=>Number.isFinite(S)&&Number.isFinite(A)?x(S,A,C):[],pickAtPoint:(S,A,C)=>{if(!Number.isFinite(S)||!Number.isFinite(A))return null;let M=x(S,A,8);if(!M.length)return null;let P=Math.max(0,Math.min(M.length-1,Number(C??0))),H=M[P]??null;return H?(s(H),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:H}),D(),H):null},pickManyAtPoint:(S,A,C)=>{if(!Number.isFinite(S)||!Number.isFinite(A))return[];let M=x(S,A,8);if(!M.length)return[];let P=[],H=Array.isArray(C)?C:[0];for(let j of H){let J=Math.max(0,Math.min(M.length-1,Math.floor(Number(j)))),k=M[J];if(!k)continue;P.some(ne=>ne.selector===k.selector&&ne.tagName===k.tagName)||P.push(k)}return P.length?(s(P[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:P}),D(),P):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:F,disablePickMode:D,installPickerApi:E}}var z0=["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 en(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function pa(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0,i=r*n,o=Math.round(i);return Math.abs(i-o)<=.001?o/n:r}function lc(e,t,n=z0){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function zn(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&&N("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function ze(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&N("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function qn(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){N("runtime.player.site1",i)}}}function uc(e,t,n,r){let i=en(t,n),o=r?.suppressEvents===!0;return ze(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function q0(e,t,n,r,i){let o=[];qn(e,t,a=>{ze(a,"play"),o.push(a)});try{return uc(t,n,r,i)}finally{for(let a of o)try{ze(a,"pause")}catch(l){N("runtime.player.site2",l)}}}function $0(e,t){qn(e,t,n=>{ze(n,"play")})}function cc(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?.()??zn(n,"duration",0))||0);r>0&&Math.max(0,zn(n,"time",0))>=r&&(ze(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()),ze(n,"play"),qn(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ze(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;ze(n,"pause"),qn(e.getTimelineRegistry?.(),n,i=>{ze(i,"pause")});let r=Math.max(0,zn(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=q0(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),ze(i,"play"),qn(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),ze(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?($0(e.getTimelineRegistry?.(),i),uc(i,n,o,r)):en(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>zn(e.getTimeline(),"time",0),getDuration:()=>zn(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function dc(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var j0=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ha(e){return e.id||e.getAttribute("data-hf-id")||null}function K0(e){return _e(e)}function Y0(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 X0(e){return!ve(e)||!Number.isFinite(e.duration)?null:gt(e,e.duration)}function J0(e,t,n,r){let i=K0(e.getAttribute("data-duration"));return i!=null&&i>0?i:Y0(e,t)??X0(e)??Math.max(0,n-r)}function Q0(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 fc(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||j0.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(J0(l,n,r,s)<=0)continue;let u={id:ha(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Q0(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var ga="css:root",mc=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Z0=new Set([...mc,"contain","isolation","mask-border","mix-blend-mode","opacity"]),eg=new Set(["absolute","relative"]),tg=new Set(["flex","inline-flex","grid","inline-grid"]),ng=new Set(["layout","paint","strict","content"]),rg=new Set(["size","inline-size"]);function ig(e){return e.position==="fixed"||e.position==="sticky"}function og(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(eg.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&tg.has(n)}function ag(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:mc.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function sg(e){return e.getPropertyValue("contain").split(/\s+/).some(n=>ng.has(n))?!0:rg.has(e.getPropertyValue("container-type"))}function lg(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Z0.has(t))}function ug(e,t){return ig(t)||og(e,t)||ag(t)||sg(t)?!0:lg(t)}function cg(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 xi(e){let t=e.ownerDocument.defaultView;if(!t)return ga;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(ug(n,t.getComputedStyle(n)))return cg(n)}catch{return ga}n=n.parentElement}return ga}function ba(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}function It(e){return _e(e)}function xa(e){let t=e.getAttribute("data-duration"),n=e.getAttribute("data-hf-authored-duration"),r=jt({start:0,duration:t,authoredDuration:n})?.duration;return r??([t,n].map(It).some(o=>o!=null&&o<=0)?0:null)}function pc(e){return jt({start:0,end:e.getAttribute("data-end"),authoredEnd:e.getAttribute("data-hf-authored-end")})?.end??null}function ya(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 va(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function Sa(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 jn(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 hc(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return jn(t);let n=e.getAttribute("data-composition-src");if(n)return jn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?jn(r.getAttribute("src")):null}function fg(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 mg(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\/]/).filter(Boolean).at(-1)??null}}function pg(e){let t=e.textContent?.replace(/\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function $n(e){let t=e.replace(/\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\s+/g," ").trim();return t?t.replace(/\b\w/g,n=>n.toUpperCase()):e}function hg(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return $n(i);let o=e.id;if(o)return $n(o);let a=fg(e);if(a)return $n(a);let l=mg(hc(e));if(l)return $n(l);let s=pg(e);return s||`${$n(t)} ${n+1}`}function gc(e){let n=window.__timelines??{},r=rt({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=q=>{if(!q)return null;let O=n[q]??null;if(!O||typeof O.duration!="function")return null;try{let V=Number(O.duration());return Number.isFinite(V)&&V>0?V:null}catch{return null}},o=()=>{let q=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(q.length===0)return null;let O=0;for(let V of q){let ee=r.resolveMediaStartForElement(V);if(!Number.isFinite(ee))continue;let me=ei(V);me==null||me<=0||(O=Math.max(O,Math.max(0,ee)+me))}return O>0?O:null},a=(q,O)=>{let V=[],ee=null,me=null,ie=null,z=q.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(V.push(X),!ie&&z!==O&&(ie=X),ee==null&&(ee=r.resolveStartForElement(z,0)),me==null&&(me=It(z.getAttribute("data-duration"))??i(X)??null)),z=z.parentElement}return{parentCompositionId:ie,compositionAncestors:V.reverse(),inheritedStart:ee,inheritedDuration:me}},l=document.querySelector("[data-composition-id]"),s=Array.from(document.querySelectorAll("[data-composition-id]")),u=l?.getAttribute("data-composition-id")??null,d=l?r.resolveStartForElement(l,0):0,m=o(),f=m!=null?Math.max(0,m-Math.max(0,d)):null,h=i(u),b=xa(l??document.body),v=va(...s.filter(q=>q!==l).map(q=>{let O=r.resolveStartForElement(q,0),V=r.resolveDurationForElement(q)??i(q.getAttribute("data-composition-id"))??null;return!Number.isFinite(O)||V==null||V<=0?null:Math.max(0,O)+V})),x=v!=null?Math.max(0,v-Math.max(0,d)):null,_=typeof h=="number"&&Number.isFinite(h)&&h>0?h:null,T=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,R=typeof f=="number"&&Number.isFinite(f)&&f>0?f:null,F=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,D=va(R,F),E=_!=null&&D!=null&&_>D+1,A=T??(E?D:va(_,R,F))??null,M=(A!=null?d+A:null)??(typeof m=="number"&&Number.isFinite(m)&&m>0?m:null),P=(q,O)=>!Number.isFinite(O)||O<=0?0:M==null||!Number.isFinite(M)?O:!Number.isFinite(q)||q>=M?0:Math.max(0,Math.min(O,M-q)),H=[],j=[],J=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),k=0;for(let[q,O]of J.entries()){if(O===l||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(O.tagName))continue;let V=a(O,l),ee=O.tagName.toLowerCase(),me=ee==="video"||ee==="audio"?r.resolveMediaStartForElement(O):r.resolveStartForElement(O,V.inheritedStart??0),ie=O.getAttribute("data-composition-id"),z=xa(O);if(z==null&&ie&&ie!==u&&(z=i(ie)),z==null&&ve(O)&&Number.isFinite(O.duration)&&(z=gt(O,O.duration)),z==null){let de=V.inheritedDuration;if(de!=null&&de>0){let et=(V.inheritedStart??0)+de;z=Math.max(0,et-me)}}if(z==null||z<=0||(z=P(me,z),z<=0))continue;let X=me+z;k=Math.max(k,X);let Ae=ie&&ie!==u?"composition":ee==="video"?"video":ee==="audio"?"audio":ee==="img"?"image":"element";H.push({id:ha(O)??ie??null,label:hg(O,Ae,H.length),start:me,duration:z,track:Sa(O,q),zIndex:ya(O),stackingContextId:xi(O),kind:Ae,tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:V.compositionAncestors,parentCompositionId:V.parentCompositionId,nodePath:null,compositionSrc:jn(O.getAttribute("data-composition-src")),playbackStart:Ye(O),playbackRate:Me(O),assetUrl:hc(O),timelineRole:O.getAttribute("data-timeline-role"),timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:It(O.getAttribute("data-timeline-priority"))})}let U=new Set(H.map(q=>q.id)),ne=l?.getAttribute("data-composition-id")??null,B=ne?n[ne]??null:null;if(B&&l){let q=B;if(typeof q.getChildren=="function")try{let O=q.getChildren(!0,!0,!1)??[],V=new Map;for(let ie of l.children){let z=ie;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||V.set(z,{id:z.id,start:1/0,end:-1/0})}let ee=ie=>{let z=ie;for(;z;){if(V.has(z))return z;if(z===l)return null;z=z.parentElement}return null};for(let ie of O){if(typeof ie.targets!="function"||typeof ie.startTime!="function"||typeof ie.duration!="function")continue;let z=ie.startTime(),X=ie.parent;for(;X&&X!==B&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ae=z+ie.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ae)))for(let de of ie.targets()){if(!Fe(de))continue;let bn=ee(de);if(!bn)continue;let et=V.get(bn);et&&(et.start=Math.min(et.start,z),et.end=Math.max(et.end,Ae))}}let me=H.length>0?Math.max(...H.map(ie=>ie.track))+1:0;for(let[ie,z]of V){if(z.start===1/0||z.end===-1/0)continue;let X=ie;if(U.has(X.id))continue;let Ae=Math.max(0,z.end-z.start);if(Ae<=0)continue;let de=P(z.start,Ae);de<=0||(k=Math.max(k,z.start+de),H.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:de,track:Sa(X,me),zIndex:ya(X),stackingContextId:xi(X),kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:ne?[ne]:[],parentCompositionId:ne,nodePath:null,compositionSrc:null,playbackStart:Ye(X),playbackRate:Me(X),assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:It(X.getAttribute("data-timeline-priority"))}),U.add(X.id))}}catch(O){N("runtime.timeline.site1",O)}}if(l&&A!=null&&A>0){let q=H.length>0?Math.max(...H.map(O=>O.track))+1:0;for(let O of l.children){let V=O;if(!V.id||U.has(V.id))continue;let ee=V.getAttribute("data-timeline-role");if(ee!=="overlay"&&ee!=="persistent-overlay")continue;let me=V.tagName.toLowerCase();if(me==="script"||me==="style"||me==="link"||me==="meta"||window.getComputedStyle(V).display==="none")continue;let z=P(0,A);z<=0||(k=Math.max(k,z),H.push({id:V.id,label:V.getAttribute("data-timeline-label")??V.getAttribute("data-label")??V.getAttribute("aria-label")??V.id,start:0,duration:z,track:Sa(V,q),zIndex:ya(V),stackingContextId:xi(V),kind:"element",tagName:me,compositionId:V.getAttribute("data-composition-id"),compositionAncestors:ne?[ne]:[],parentCompositionId:ne,nodePath:null,compositionSrc:null,playbackStart:Ye(V),playbackRate:Me(V),assetUrl:null,timelineRole:ee,timelineLabel:V.getAttribute("data-timeline-label"),timelineGroup:V.getAttribute("data-timeline-group"),timelinePriority:It(V.getAttribute("data-timeline-priority"))}),U.add(V.id))}}for(let q of s){if(q===l)continue;let O=q.getAttribute("data-composition-id");if(!O||!ba(O))continue;let V=r.resolveStartForElement(q,0),ee=xa(q);if((ee==null||ee<=0)&&pc(q)!=null){let X=pc(q);ee=Math.max(0,X-V)}let me=i(O),ie=ee&&ee>0?ee:me;if(ie==null||ie<=0)continue;let z=P(V,ie);z<=0||j.push({id:O,label:q.getAttribute("data-label")??O,start:V,duration:z,thumbnailUrl:jn(q.getAttribute("data-thumbnail-url")),avatarName:null})}let G=Math.max(1,k||1,A??0),W=E&&T==null,Z=W?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(G*Math.max(1,e.canonicalFps)));return{...$r(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:W?Number.POSITIVE_INFINITY:G,durationInFrames:Z,clips:H,scenes:j,compositionWidth:It(l?.getAttribute("data-width"))??1920,compositionHeight:It(l?.getAttribute("data-height"))??1080}}var Aa="data-composition-id",gg="data-composition-src",bg=`[${Aa}]`,wE=`[${gg}]`,bc="style",xc="script",xg='link[rel="stylesheet"], link[rel="preconnect"]';function tn(e){return e?Array.from(e):[]}function yc(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=tn(t.querySelectorAll(bg)),l=o?a.find(d=>d.getAttribute(Aa)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(Aa)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...tn(u?.querySelectorAll(bc)),...tn(t.querySelectorAll(bc))],scriptSources:[...tn(u?.querySelectorAll(xc)),...tn(t.querySelectorAll(xc))],linkSources:tn(n?.querySelectorAll(xg)),variableDefaultCarriers:[r,l].filter(d=>d!=null)}}var ge=Zp(zd(),1),qd=ge.default,mw=ge.default.stringify,pw=ge.default.fromJSON,hw=ge.default.plugin,gw=ge.default.parse,bw=ge.default.list,xw=ge.default.document,yw=ge.default.comment,vw=ge.default.atRule,Sw=ge.default.rule,Aw=ge.default.decl,Ew=ge.default.root,ww=ge.default.CssSyntaxError,_w=ge.default.Declaration,Cw=ge.default.Container,Rw=ge.default.Processor,Tw=ge.default.Document,kw=ge.default.Comment,Fw=ge.default.Warning,Mw=ge.default.AtRule,Nw=ge.default.Result,Lw=ge.default.Input,Dw=ge.default.Rule,Iw=ge.default.Root,Pw=ge.default.Node;var Ka="data-hf-authored-id",$d="data-hf-inner-root";function Ya(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Xa(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function Bb(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\${n}`).replace(/^-?\d/,n=>`\\${n}`)}function Kd(e){let t=e.trim();return t?Array.from(new Set([t,Bb(t)])).filter(Boolean):[]}function Ub(e){return!!e&&/[\w-]/.test(e)}function Wb(e,t,n){let r=Kd(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\"&&(a=null);continue}if(s==='"'||s==="'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let d=r.find(m=>e.startsWith(m,l+1));if(d){let m=e[l+1+d.length];if(!Ub(m)){i+=n,l+=d.length;continue}}}i+=s}return i}function Vb(e,t){let n=t?.trim();return n?Wb(e,n,`[${Ka}="${Xa(n)}"]`):e}function jd(e){return`${e}:not(:has([${$d}])), ${e} > [${$d}]`}function zb(e,t,n,r,i,o){let a=Vb(e,r),l=qb(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?jd(t):e;let u=new RegExp(`\\[\\s*data-composition-id\\s*[\\^\\*\\$]?=\\s*(["'])${Ya(n)}\\1\\s*\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?jd(t):l.replace(u,t);let d=l.match(/^\s*/)?.[0]??"",m=l.match(/\s*$/)?.[0]??"";if(i){let f=r?`[${Ka}="${Xa(r)}"]`:null;if(f&&s.startsWith(f)){let h=s.slice(f.length);return`${d}${t}${f}${h}${m}`}}return`${d}${t} ${s}${m}`}function qb(e,t,n){let r=Ya(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 jb(e){return e?.type==="atrule"}function Kb(e){let t=e.parent;for(;t;){if(jb(t)&&$b.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Yb(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function Yd(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${Xa(o)}"]`,l;try{l=qd.parse(e)}catch{return""}return l.walkRules(s=>{Kb(s)||Yb(s)||(s.selectors=s.selectors.map(u=>zb(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function st(e){return JSON.stringify(e).replace(/</g,"\\u003c")}function Xd(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=st(t),l=st(i),s=st(n),u=Ya(t),d=st(o?.trim()||null),m=st(r??null),f=st(String.raw`\[\s*data-composition-id\s*=\s*(?:"${u}"|'${u}')\s*\]`),h=st(String.raw`\s*\[\s*data-(?:start|duration)\s*=\s*(?:"[^"]*"|'[^']*')\s*\]`),b=st(Kd(o?.trim()||""));return`(function(){
|
|
41
41
|
var __hfCompId = ${a};
|
|
42
42
|
var __hfTimelineCompId = ${l};
|
|
43
43
|
var __hfErrorLabel = ${s};
|
|
44
|
-
var __hfAuthoredRootId = ${
|
|
45
|
-
var __hfAuthoredRootAttr = ${
|
|
44
|
+
var __hfAuthoredRootId = ${d};
|
|
45
|
+
var __hfAuthoredRootAttr = ${st(Ka)};
|
|
46
46
|
var __hfEscapeAttr = function(value) {
|
|
47
47
|
return (value + "").replace(/\\\\/g, "\\\\\\\\").replace(/"/g, "\\\\\\"");
|
|
48
48
|
};
|
|
@@ -51,7 +51,7 @@ https://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.p
|
|
|
51
51
|
: "");
|
|
52
52
|
var __hfRoot = null;
|
|
53
53
|
var __hfRootSelectorPattern = ${f};
|
|
54
|
-
var __hfTimingSelectorPattern = ${
|
|
54
|
+
var __hfTimingSelectorPattern = ${h};
|
|
55
55
|
var __hfAuthoredRootIdForms = ${b};
|
|
56
56
|
var __hfAuthoredRootSelector = __hfAuthoredRootId
|
|
57
57
|
? "[" + __hfAuthoredRootAttr + '="' + __hfEscapeAttr(__hfAuthoredRootId) + '"]'
|
|
@@ -360,12 +360,12 @@ ${e.replace(/<\/(script)/gi,"<\\/$1")}
|
|
|
360
360
|
};
|
|
361
361
|
__hfFindRoot();
|
|
362
362
|
__hfRun();
|
|
363
|
-
})();`}var Xg=["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 cd(e){let t=e.getAttribute("id")?.trim();for(let n of Xg)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var Jg=8e3,Qg=/^(?![a-zA-Z][a-zA-Z\d+\-.]*:)(?!\/\/)(?!\/)(?!\.\.?\/).+/,Zg=/\burl\(\s*(["']?)([^)"']+)\1\s*\)/g,eb=["src","href"];function tb(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function md(e,t){if(!t)return e;let n=e.trim();if(tb(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function pd(e,t){return!t||!e?e:e.replace(Zg,(n,r,i)=>{let o=md(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function nb(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of eb){let i=n.getAttribute(r);if(i==null)continue;let o=md(i,t);o!==i&&n.setAttribute(r,o)}}function rb(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=pd(r,t);i!==r&&n.setAttribute("style",i)}}function ib(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=pd(r,t);i!==r&&(n.textContent=i)}}function hd(e,t){if(t){nb(e,t),rb(e,t),ib(e,t);for(let n of Array.from(e.querySelectorAll("template")))hd(n.content,t)}}function ob(e,t){return`${e}__hf${t}`}var ab=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"),Jg)});function Ea(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function dd(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function sb(e){let t=document.importNode(e,!0);cd(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function lb(e,t){let n=e.trim();if(!n)return e;try{return Qg.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 fd(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 di(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 ub(e){let t=new Map;for(let n of e){let r=di(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function gd(e){let t=di(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function cb(e){return!!e.querySelector('[data-hf-inner-root="true"]')}function db(e){return e.hasAttribute("data-composition-src")?!0:gd(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:cb(e):!1}function _a(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:gd(t))}function bd(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(_a().map(n=>di(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function xd(e,t=ub(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=di(i),l=db(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?ob(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function wa(e){let t=Nu({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=t.innerRoot instanceof HTMLElement?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let p=(f.getAttribute("href")||"").trim();if(!p)continue;let b=e.compositionUrl?new URL(p,e.compositionUrl).href:p;if(e.compositionUrl&&fd(b,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(b)}"]`))continue;let v=f.cloneNode(!0);v instanceof HTMLLinkElement&&(v.href=b,document.head.appendChild(v),e.injectedLinks.push(v))}(f=>{for(let p of f){let b=p.cloneNode(!0);b instanceof HTMLStyleElement&&(i&&(b.textContent=ld(b.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(b),e.injectedStyles.push(b))}})(t.styleSources);let c=f=>{let p=f.getAttribute("type")?.trim()??"",b=f.getAttribute("src")?.trim()??"";if(b){let x=lb(b,e.compositionUrl);return e.compositionUrl&&fd(x,e.compositionUrl)?null:{kind:"external",src:x,type:p}}let v=f.textContent?.trim()??"";return v?{kind:"inline",content:v,type:p,scopeCompositionId:o}:null},m=t.scriptSources.map(c).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),p=n.getAttribute("data-height"),b=e.parseDimensionPx(f),v=e.parseDimensionPx(p);f&&e.host.setAttribute("data-width",f),p&&e.host.setAttribute("data-height",p),b&&e.host instanceof HTMLElement&&(e.host.style.width=b),v&&e.host instanceof HTMLElement&&(e.host.style.height=v),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let x=sb(n);!e.authoredCompositionId&&i&&x.setAttribute("data-composition-id",i),dd(x),e.host.appendChild(x)}else if(e.hasTemplate){let f=document.importNode(r,!0);dd(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&fb(e,r,a);for(let f of m){let p=document.createElement("script");if(f.type&&(p.type=f.type),p.async=!1,f.kind==="external"?p.src=f.src:f.type.toLowerCase()==="module"?p.textContent=f.content:f.scopeCompositionId?p.textContent=ud(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):p.textContent=`(function(){${f.content}})();`,document.body.appendChild(p),e.injectedScripts.push(p),f.kind==="external"){let b=await ab(p);b.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:b.status,elapsedMs:b.elapsedMs}})}}}async function yd(e){let t=_a();if(bd(),t.length===0)return;let n=xd(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);Ea(i),await wa({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function vd(e){let t=_a();if(bd(),t.length===0)return;let n=xd(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}Ea(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await wa({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),b=new DOMParser().parseFromString(f,"text/html");hd(b,u);let v=(l?b.querySelector(`template#${CSS.escape(l)}-template`):null)??b.querySelector("template"),x=v?v.content:b.body;await wa({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:x,hasTemplate:!!v,fallbackBodyInnerHtml:b.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:b.head,declaredVariableDefaults:bn(b.documentElement),variableDeclarer:b.documentElement,onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),Ea(i)}}))}function fb(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?bn(t):{}),...Js(e.host)};eo(e.variableDeclarer??(t instanceof Element?t:null),i,n),Ys(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,to(e.host,{...Ks(e.host,i,window),...Rr()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function mb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pb(e){if(!Array.isArray(e))throw new Error("expected a JSON array");if(!e.every(mb))throw new Error("every array entry must be an object");return e}function Ca(e){let n=e.vars.data?.captionState;return n==="dim"||n==="active"?n:void 0}function hb(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function gb(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function bb(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function Ta(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(t===null)return;let n=pb(t);if(n.length===0)return;let r=gb();for(let i of n){let o=null;if(i.wordId&&(o=hb(document.getElementById(i.wordId))),!o&&i.wordIndex!==void 0&&(o=r[i.wordIndex]??null),!o)continue;let a={},l={};if(i.x!==void 0&&(a.x=i.x),i.y!==void 0&&(a.y=i.y),i.scale!==void 0&&(a.scale=i.scale),i.rotation!==void 0&&(a.rotation=i.rotation),i.opacity!==void 0&&(l.opacity=i.opacity),i.fontSize!==void 0&&(l.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(l.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(l.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let u=e.getTweensOf(o).filter(f=>f.vars.color!==void 0).sort((f,p)=>f.startTime()-p.startTime()),c=u.find(f=>Ca(f)==="dim")??u.find(f=>Ca(f)===void 0),m=c?String(c.vars.color):"";for(let f of u)(Ca(f)??(String(f.vars.color)===m?"dim":"active"))==="dim"?i.dimColor&&(f.vars.color=i.dimColor):i.activeColor&&(f.vars.color=i.activeColor);i.dimColor&&e.set(o,{color:i.dimColor})}if(Object.keys(l).length>0&&e.set(o,l),Object.keys(a).length>0){let s=bb(o);e.set(s,a)}}}).catch(t=>{let n=t instanceof Error?t.message:String(t);console.error(`[HyperFrames] Invalid caption-overrides.json: ${n}`)})}var ka="data-hf-edit-base-x",Ma="data-hf-edit-base-y",en="data-hf-edit-original-translate",fi=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},xb=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},Sd=/^-?(?:\d+(?:\.\d+)?|\.\d+)px$/,Ra=(e,t)=>Sd.test(e)&&Sd.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,yb=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=xb(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Ra(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${Ra(r,t)} ${Ra(i,n)}${a}`},vb=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Sb=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""}},Fa=new WeakMap;function Ab(e,t){let n=Fa.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Le("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=fi(e.getAttribute("data-x"))-fi(e.getAttribute(ka)),i=fi(e.getAttribute("data-y"))-fi(e.getAttribute(Ma));e.hasAttribute(en)||e.setAttribute(en,Sb(e)),n===void 0&&vb(e);let o=e.getAttribute(en)??"",a=yb(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),Fa.set(e,e.style.getPropertyValue("translate"))}function mi(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${en}]:not([${ka}]):not([${Ma}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(en)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(en),Fa.delete(u)}let a=e.querySelectorAll(`[${ka}], [${Ma}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(Ab(u,t),l+=1)}return l}var Ad="__hfPositionEditsSeekReapplyWrapped",Ed=new WeakSet,wd=new WeakMap,_d=new WeakMap;function Cd(e){let t=e,n=()=>{try{mi(t.document)}catch{}},r=m=>typeof m=="function"&&(Ed.has(m)||!!m[Ad]),i=m=>{Ed.add(m);try{Object.defineProperty(m,Ad,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...p){let b=m.apply(this,p);return n(),b};return i(f),f},a=(m,f)=>{let p=wd.get(m);if(p?.has(f))return!0;let b=Object.getOwnPropertyDescriptor(m,f);if(b?.configurable===!1){let C=m[f];return typeof C=="function"&&(m[f]=o(C),n()),!1}let v=m[f],x=b?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>v,set:C=>{v=o(C),x?.call(m,C)}}),v=o(v),p??(p=new Set),p.add(f),wd.set(m,p),n(),!0},l=(m,f)=>{let p=_d.get(t),b=Object.getOwnPropertyDescriptor(t,m);if(!p?.has(m)){if(b?.configurable===!1){let C=t[m];return C?a(C,f):!1}let x=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>x,set:C=>{x=C,x&&a(x,f)}}),p??(p=new Set),p.add(m),_d.set(t,p)}let v=t[m];return v?a(v,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function pi(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 hi(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function Na(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 Td=new Set(["img","video","audio","source"]);function Eb(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 wb(e){return e.replace(/[;{}<>\r\n]/g,"")}function _b(e){if(hi(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 La(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=pi(e);return t.set(n,i),i}function Cb(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 Tb(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Rb(e,t){let n=new Set,r=Tb(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=La(i,t);for(let[a,l]of Object.entries(o)){let s=_b(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,wb(s))}}}function Da(e){let t=new Map;Rb(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Td.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Td).join("/")}.`);continue}let i=Eb(La(n,t)[r]);if(i!==null){if(!Na(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=La(n,t)[r];hi(i)&&Cb(n,String(i))}}var rt=new Map,kb="data-hf-color-grading-canvas",Mb="__hf_color_grading_canvas__";function Hd(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute($r)||r.setAttribute($r,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var Fb=16,Nb=4,nn={enabled:!1,position:.5,softness:0,lineWidth:2},Ia=["#000000","#ffffff"],Lb=["#1a1a1a","#f5f5dc"],sr=3,Db=sr-1,Ib=5,Pa=`${je}.0`,Rd=`${je-1}.0`,Pb=`${sr}.0`,Ob=`${(Db+.5)/sr}`;function gi(e){let t=e.getAttribute(Fn);return t==null?null:xu(t,pi(e))}var Hb=["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(`
|
|
364
|
-
`),Gb=["#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) * ${Rd};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Rd});`,` float y = (row + 0.5) / ${Pb};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${Pa}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${Pa}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${Pa}, ${Ob}));`,"}","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(`
|
|
365
|
-
`),
|
|
366
|
-
`),
|
|
367
|
-
`),
|
|
368
|
-
`);function Nt(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function kd(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Md(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(N("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Si(e,t=Gb){let n=Md(e,Hb,e.VERTEX_SHADER),r=Md(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:(N("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function bi(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 Vb(e,t){let n=Si(e,Bb);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 zb(e,t){let n=Si(e,Ub);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 qb(e,t){let n=Si(e,Wb);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 ir(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=bi(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 yi(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 Oa(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 Fd(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Ua(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Si(t),r=bi(t),i=bi(t,t.NEAREST),o=bi(t,t.NEAREST);if(!n||!r||!i||!o)return Fd(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:Oa(t,n,jr),detailUniforms:Oa(t,n,Lo),effectUniforms:Oa(t,n,Do),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")}}):(Fd(t,n,[r,i,o]),null)}function $b(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jb(e){if(!$b(e))return{...nn};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,nn.position,0,1),softness:t(e.softness,nn.softness,0,.25),lineWidth:t(e.lineWidth,nn.lineWidth,0,12)}}function Gd(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 Ai(e){return e instanceof Error?e.message:"LUT failed to load"}function Kb(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 Bd(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Kb(t)}function Wa(e){let t=Gd(e);if("error"in t)return{state:"error",message:t.error};let n=rt.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=>Yl(o,{maxSize:Vr})),i={state:"pending",promise:r};for(;rt.size>=Fb;){let o=rt.keys().next().value;if(!o)break;rt.delete(o)}return rt.set(t.href,i),r.then(o=>{rt.get(t.href)===i&&rt.set(t.href,{state:"ready",lut:o})},o=>{rt.get(t.href)===i&&rt.set(t.href,{state:"error",message:Ai(o)})}),i}function Nd(e,t,n){if(e.lut?.src===t)return e.lut;let r=wo(n),{gl:i,program:o}=e;try{return Ud(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=Ai(a),e.lutLoadingSrc=null,N("runtime.colorGrading.uploadLut",a),null}}async function Yb(e){let t=Wa(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function Ud(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 Xb(e,t,n){let r=wo(n),{gl:i,program:o}=e;return Ud(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Xe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Va(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Xe(e.gl,t.scratch),Xe(e.gl,t.blur),t.bloom&&Xe(e.gl,t.bloom),e.effectTargets=null)}function za(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Xe(e.gl,t.moments),Xe(e.gl,t.output),e.kuwaharaTargets=null)}function xi(e,t=!1){Va(e),za(e),Jb(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function Jb(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function Qb(e){let t=Ua(e.canvas);return t?(xi(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function Ba(e){if(!e.sourceHidden)return;e.element.removeAttribute(Nn);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 Zb(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Vb(t,e.program.quad),r=ir(t),i=ir(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Xe(t,r),i&&Xe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function ex(e,t){return t.bloom||(t.bloom=ir(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Ld(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function tx(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=zb(t,e.program.quad),o=qb(t,e.program.quad),a=ir(t,n.HALF_FLOAT_OES,t.NEAREST),l=ir(t);return!i||!o||!a||!l?(nx(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function nx(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Wd(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return yi(e,t,o,a),yi(e,n,o,a),{width:o,height:a}}function vi(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),or(e,t)}function rx(e,t,n,r,i,o,a){let l=Wd(e,t.scratch,r,i/2,o/2),s=a/2;vi(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),vi(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function ix(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)vi(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),vi(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function or(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 ox(e,t,n,r,i,o,a,l){yi(e,t.moments,i.width,i.height),yi(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),or(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),or(e,u)}function ax(e,t,n,r){if(n<=0)return!1;let i=Wd(e.gl,t.scratch,t.blur,r.width,r.height);return ix(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function sx(e,t,n,r,i,o){if(n<=0)return Ld(e),null;o||Ld(e);let a=o?ex(e,t):t.blur;return a?(rx(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function lx(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&&Va(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=Zb(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=ax(e,l,o,n),u=sx(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function ux(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&za(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=tx(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(ox(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function Vd(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=lx(e,t,n,o),l=ux(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function cx(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=Gd(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=Wa(t);return i.state==="ready"?Nd(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||(Nd(e,r.href,o),Ie(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Ai(o),e.lutLoadingSrc=null,Ie(e))})),null)}function nr(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&&Nt(n))return n;try{let r=document.querySelector(t);return r&&Nt(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&Nt(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&Nt(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&&Nt(r)?r:null}catch{return null}}function zd(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function qd(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function $d(e){let t=ut(e);return t&&qd(t)?t:null}function Dd(e){if(!(e instanceof HTMLVideoElement))return!1;let t=$d(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function dx(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function fx(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function jd(e){if(e instanceof HTMLVideoElement){let t=$d(e);if(t)return t}return qd(e)?e:null}function Id(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 mx(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=Id(o,"x"),l=Id(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function Kd(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=mx(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function px(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Pd(e,t){return Math.max(0,Math.round(e>0?e:t))}function hx(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&px(e,i);let o=window.getComputedStyle(t);Su(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Pd(n.offsetWidth,a.width),s=Pd(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function tn(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 Lt(e,t,n,r){e.set(r,(t*je+n)*4)}function yt(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Ha(e,t,n){return e.length>=3?Co(e,t,n):new Float32Array(je)}function Ft(e,t){return e[t]??0}function gx(e,t,n){let r=Vt(t.red),i=Vt(t.green),o=Vt(t.blue),a=Vt(t.master),l=Ha(n.hueVsHue,-180,180),s=Ha(n.hueVsSaturation,-1,1),u=Ha(n.hueVsLuma,-1,1);for(let c=0;c<je;c+=1)Lt(e,0,c,[Ft(r,c),Ft(i,c),Ft(o,c),Ft(a,c)]),Lt(e,1,c,[yt(Ft(l,c),180),yt(Ft(s,c),1),yt(Ft(u,c),1),1])}function bx(e,t,n){let r=n*Ib;Lt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Lt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Lt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Lt(e,2,r+3,[yt(t.correction.hueShift,180),yt(t.correction.saturation,1),yt(t.correction.luma,1),yt(t.correction.temperature,1)]),Lt(e,2,r+4,[yt(t.correction.tint,1),.5,.5,1])}function xx(e,t,n){let r=new Float32Array(je*sr*4);gx(r,e,t);let i=0;for(let o of n)o.enabled&&(bx(r,o,i),i+=1);return r}var Od=new WeakMap;function yx(e,t,n){let r=Od.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Od.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function vx(e,t,n,r){let{curves:i,hueCurves:o}=n,a=yx(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(xx(i,o,r),kn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,je,sr,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function Ga(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function Yd(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:p,secondaries:b}=n,v=Oo(f),x=Ho(p),C=Go(b)?b.reduce((M,D)=>M+Number(D.enabled),0):0;(v||x||C>0)&&vx(e,t,n,b),Ga(e,t.shadowWheel,n.wheels.shadows),Ga(e,t.midtoneWheel,n.wheels.midtones),Ga(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,v?1:0),e.uniform1f(t.hueCurvesEnabled,x?1:0),e.uniform1f(t.secondaryCount,C);for(let[M,D]of t.adjustUniforms)e.uniform1f(D,n.adjust[M]);for(let[M,D]of t.detailUniforms)e.uniform1f(D,n.details[M]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[M,D]of t.effectUniforms)e.uniform1f(D,n.effects[M]);let R=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?Lb:Ia),T=R[R.length-1]??Ia[1];e.uniform1f(t.paletteSize,R.length),tn(e,t.palette0,R[0]??Ia[0]),tn(e,t.palette1,R[1]??T),tn(e,t.palette2,R[2]??T),tn(e,t.palette3,R[3]??T),tn(e,t.palette4,R[4]??T),tn(e,t.palette5,R[5]??T),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function Sx(e){if(!e.sourceHidden){let t=e.element.getAttribute($r);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(Nn,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function it(e){let t=hu.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var Xd=it("intensity"),Jd=it("lut.intensity"),Qd=it("adjust.exposure"),Zd=it("effects.kuwahara"),ef=[["blur",it("effects.blur")],["bloom",it("effects.bloom")],["kuwahara",Zd],["pixelate",it("effects.pixelate")],["ascii",it("effects.ascii")],["dither",it("effects.dither")]],tf=[Xd,Jd,Qd,...ef.map(([,e])=>e)];function Dt(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function rr(e,t){return t!==null&&(yu(t)||tf.some(n=>Dt(e,n)!==null))}function Ax(e,t){let n=null;for(let[r,i]of ef){let o=Dt(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function Ex(e){let{element:t,grading:n}=e,r=Dt(t,Xd),i=Dt(t,Jd),o=Dt(t,Qd),a=Ax(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function nf(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 rf(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 Ie(e){if(e.destroyed||e.contextLost)return!1;let t=jd(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=zd(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=dx(t);s&&fx(e,t),a&&!s&&(e.sourceInlineOpacity!==null?e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority||""):e.element.style.removeProperty("opacity"));let u=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=u.opacity||"1",a&&!s&&e.element.style.setProperty("opacity","0","important"),e.sourceVisibleForCanvas=(s||l!=="hidden")&&u.visibility!=="hidden";let c=hx(e,r);if(!c)return!1;let m=window.getComputedStyle(r),f=Kd(c.width,c.height,n.width,n.height,m.objectFit,m.objectPosition),{gl:p,program:b}=e;try{let v=Ex(e),x=cx(e);nf(p,b.texture,t);let C=Dt(e.element,Zd)!==null,R=Vd(e,v,c,f,{preserveKuwahara:C});p.bindFramebuffer(p.FRAMEBUFFER,null),p.viewport(0,0,c.width,c.height),p.useProgram(b.program),rf(p,b,R);let T=window.__player?.getTime?.(),M=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(M*60);return Yd(p,b,v,x,R.blurReady,R.bloomReady,R.kuwaharaReady,e.compare,c,f,D,M),or(p,b),Sx(e),e.hasDrawn=!0,e.drawError=null,!0}catch(v){return e.drawError=v instanceof Error?v.message:"Shader draw failed",N("runtime.colorGrading.drawEntry",v),!1}}function wx(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function _x(){let e=document.createElement("canvas"),t=Ua(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Cx(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Tx(e,t,n,r){let i=jd(t);if(!i)return null;let o=zd(i);if(!o)return null;let a=wx(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=Kd(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return nf(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Cx(t,r),grainSeed:Bd(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Rx(e,t,n,r,i=!1){let o=Tx(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=Kr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let p=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=Xb(e,f.lut.src,await Yb(f.lut.src))),p=e.lut),c.push({id:m.id,dataUrl:kx(e,f,p,a,l,s,u)})}catch(b){c.push({id:m.id,dataUrl:null,error:Ai(b)})}}return{...a,images:c}}function kx(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=Vd(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),rf(s,u,c),n||(e.lut=null),Yd(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,nn,r,i,o,a),or(s,u),l.toDataURL("image/png")}function Ye(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Mx(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function ar(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&ar(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Ie(e),!e.destroyed&&!t.paused&&!t.ended&&ar(e)})}function Fx(e){let t=()=>{Ie(e)};if(Ye(e,e.element,"load",t),Ye(e,e.element,"loadedmetadata",t),Ye(e,e.element,"loadeddata",t),Ye(e,e.element,"seeked",t),Ye(e,e.element,"timeupdate",t),Ye(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ye(e,e.element,"play",()=>ar(e)),Ye(e,e.element,"pause",t)),Ye(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",Ba(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!Qb(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",Ba(e);return}e.drawError=null,Ie(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let 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(),Ie(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Nx(e){if(e.destroyed)return null;e.destroyed=!0,Mx(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Va(e),za(e),Ba(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 of(e,t){return e.removeAttribute("style"),t.id?e.id=`${cu}${t.id}`:e.removeAttribute("id"),e.className=Mb,e.setAttribute(kb,"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 Lx(e){return of(document.createElement("canvas"),e)}function af(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(E,S,A)=>{let _=e.get(E);if(_)return _.grading=S,_.source=A,Ie(_),E instanceof HTMLVideoElement&&!E.paused&&ar(_),!0;let F=n.pop();if(F)of(F.canvas,E);else{let q=Lx(E),W=Ua(q);if(!W)return q.remove(),!1;F={canvas:q,gl:W.gl,program:W.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let I={element:E,...F,grading:S,compare:{...nn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:A,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(E).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(E).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:Bd(E),destroyed:!1};return e.set(E,I),t.add(E),Fx(I),Ie(I),E instanceof HTMLVideoElement&&!E.paused&&ar(I),!0},s=(E,S)=>{if(a)return!1;let A=nr(E);if(!A)return!1;let _=e.get(A);if(!_){let F=gi(A);if(!rr(A,F)||!l(A,F,"attribute"))return!1;_=e.get(A)}return _?(_.compare=jb(S),Ie(_),!0):!1},u=E=>{let S=e.get(E);if(!S)return;let A=Nx(S);A&&(S.contextLost||n.length>=Nb?xi(A,!0):n.push(A)),e.delete(E),t.delete(E)},c=()=>{if(a)return 0;let E=new Set;document.querySelectorAll(`video[${Fn}], img[${Fn}]`).forEach(A=>{if(!Nt(A))return;E.add(A);let _=gi(A);rr(A,_)&&(kd(A)||Dd(A))?l(A,_,"attribute"):u(A)});for(let A of t){let _=e.get(A);_&&(!A.isConnected||_.source==="attribute"&&!E.has(A))&&u(A)}return t.size},m=()=>{if(a)return 0;let E=0;for(let S of t){let A=e.get(S);A&&Ie(A)&&(E+=1)}return E},f=async()=>{let E=new Set;for(let S of t){let A=e.get(S)?.grading.lut;if(!A?.src.trim()||(A.intensity??1)<=0)continue;let _=Wa(A.src);_.state==="pending"&&E.add(_.promise)}return E.size>0&&await Promise.allSettled(E),m(),E.size},p=()=>{if(a)return 0;let E=0;for(let S of t){let A=e.get(S);!A||!tf.some(F=>Dt(S,F)!==null)||S instanceof HTMLVideoElement&&!S.paused&&!S.ended||Ie(A)&&(E+=1)}return E},b=(E,S)=>{if(a)return!1;let A=nr(E);if(!A)return!1;let _=Kr(S);return rr(A,_)?l(A,_,"live"):(u(A),!0)},v=(E,S)=>{if(!Nt(E))return!1;let A=e.get(E);if(!A){if(!S)return!1;let _=gi(E);return rr(E,_)&&l(E,_,"attribute")}return A.sourceVisibleForCanvas=S,!S&&A.source==="attribute"&&u(E),!0},x=E=>{let S=nr(E);if(!S)return{state:"missing",message:"Media not found"};let A=e.get(S);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let _=gi(S);return rr(S,_)?!kd(S)&&!Dd(S)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},C=async(E,S,A)=>{let _=async()=>{if(a||S.length===0)return null;let I=nr(E);return!I||(i??(i=_x()),!i)?null:Rx(i,I,S,A?.maxDimension,A?.useMediaTime)},F=o.then(_,_);return o=F.then(()=>{},()=>{}),F},R=E=>{let S=nr(E);if(!(S instanceof HTMLVideoElement))return null;if(!S.paused)return()=>{};let A=S.currentTime,_=S.loop,F=S.muted;return S.loop=!0,S.muted=!0,(S.ended||Number.isFinite(S.duration)&&A>=S.duration)&&(S.currentTime=0),S.play().catch(()=>{}),()=>{S.pause(),S.loop=_,S.muted=F,S.currentTime=A}},T=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let E of t)u(E);for(let E of n)xi(E,!0);n.length=0,i&&(xi(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Fn]}));let M={refresh:c,redraw:m,redrawAnimated:p,waitForActiveLuts:f,setGrading:b,setCompare:s,setSourceVisibility:v,getStatus:x,renderPreviews:C,startPreviewPlayback:R,destroy:T},D=window;return D.__hf=D.__hf||{},D.__hf.colorGrading=M,c(),M}var Ei=class{constructor(t){ge(this,"_baseTime",0);ge(this,"_playStartMs",null);ge(this,"_rate",1);ge(this,"_duration",1/0);ge(this,"_nowMs");ge(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};var Dx=100,Ix=8,Px=4096,qa=e=>e;function Ox(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t==="linear"&&!n}function Hx(e){let t=Math.ceil(e*Dx);return Math.min(Px,Math.max(Ix,t))}function Gx(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:l}=r,s=i??qa,u=R=>o+(R-a)/l,c=e.points[t],m=e.points[t+1],f=u(m.t);if(f<=o)return null;let p=Math.max(o,u(c.t)),b=f-p;if(b<=0)return null;if(Ox(c,n,i))return{kind:"ramp",time:f,value:s(m.v)};let v=Hx(b),x=Dl(e,Math.max(c.t,a),m.t,v,n),C=new Float32Array(v);for(let R=0;R<v;R+=1)C[R]=s(x[R]??0);return{kind:"curve",time:p,duration:b,values:C}}function Bx(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let l=Gx(e,a,t,n,r);l&&i.push(l)}let o=i[0];return o?.kind==="curve"&&o.time<=n.scheduledAt||i.unshift({kind:"set",time:n.scheduledAt,value:(r??qa)(Cn(e,n.elapsed,t))}),i}function Ux(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 lr(e){for(let t of e)t.param.cancelScheduledValues(0)}function rn(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime=="function"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function $a(e,t,n,r){if(t.points.length!==0)for(let i of e){if(lr([i]),Ll(t)){let o=(i.map??qa)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}Ux(i.param,Bx(t,n,r,i.map))}}function sf(e,t,n,r,i){let o=new Map(n.filter(l=>l.id).map(l=>[l.id,l.handle])),a=[];for(let l of e.lanes){let s=_n(l.target);if(!s)continue;let u=s.kind==="preset"?i?.[s.presetId]:s.kind==="fx"?o.get(s.nodeId)?.automation?.[s.param]:void 0;if(!u||u.length===0)continue;let c=fo(l.target,t);c&&($a(u,l,c.scale,r),a.push(...u))}return a}function lf(e){return e.lanes.find(t=>t.target===Bt)??null}var Wx=`
|
|
363
|
+
})();`}var Xb=["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 Jd(e){let t=e.getAttribute("id")?.trim();for(let n of Xb)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var Jb=8e3,Qb=/^(?![a-zA-Z][a-zA-Z\d+\-.]*:)(?!\/\/)(?!\/)(?!\.\.?\/).+/,Zb=/\burl\(\s*(["']?)([^)"']+)\1\s*\)/g,ex=["src","href"];function tx(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function ef(e,t){if(!t)return e;let n=e.trim();if(tx(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function tf(e,t){return!t||!e?e:e.replace(Zb,(n,r,i)=>{let o=ef(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function nx(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of ex){let i=n.getAttribute(r);if(i==null)continue;let o=ef(i,t);o!==i&&n.setAttribute(r,o)}}function rx(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=tf(r,t);i!==r&&n.setAttribute("style",i)}}function ix(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=tf(r,t);i!==r&&(n.textContent=i)}}function nf(e,t){if(t){nx(e,t),rx(e,t),ix(e,t);for(let n of Array.from(e.querySelectorAll("template")))nf(n.content,t)}}function ox(e,t){return`${e}__hf${t}`}var ax=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"),Jb)});function Ja(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function Qd(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function sx(e){let t=document.importNode(e,!0);Jd(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function lx(e,t){let n=e.trim();if(!n)return e;try{return Qb.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 Zd(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 Di(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 ux(e){let t=new Map;for(let n of e){let r=Di(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function rf(e){let t=Di(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function cx(e){return!!e.querySelector('[data-hf-inner-root="true"]')}function dx(e){return e.hasAttribute("data-composition-src")?!0:rf(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:cx(e):!1}function Za(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:rf(t))}function of(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(Za().map(n=>Di(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function af(e,t=ux(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=Di(i),l=dx(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let d=s?(n.get(o)||0)+1:0;s&&n.set(o,d),u=s?ox(o,d):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function Qa(e){let t=yc({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=Se(t.innerRoot)?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let h=(f.getAttribute("href")||"").trim();if(!h)continue;let b=e.compositionUrl?new URL(h,e.compositionUrl).href:h;if(e.compositionUrl&&Zd(b,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(b)}"]`))continue;let v=f.cloneNode(!0);Gl(v)&&(v.href=b,document.head.appendChild(v),e.injectedLinks.push(v))}(f=>{for(let h of f){let b=h.cloneNode(!0);Ol(b)&&(i&&(b.textContent=Yd(b.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(b),e.injectedStyles.push(b))}})(t.styleSources);let d=f=>{let h=f.getAttribute("type")?.trim()??"",b=f.getAttribute("src")?.trim()??"";if(b){let x=lx(b,e.compositionUrl);return e.compositionUrl&&Zd(x,e.compositionUrl)?null:{kind:"external",src:x,type:h}}let v=f.textContent?.trim()??"";return v?{kind:"inline",content:v,type:h,scopeCompositionId:o}:null},m=t.scriptSources.map(d).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),h=n.getAttribute("data-height"),b=e.parseDimensionPx(f),v=e.parseDimensionPx(h);f&&e.host.setAttribute("data-width",f),h&&e.host.setAttribute("data-height",h),b&&Se(e.host)&&(e.host.style.width=b),v&&Se(e.host)&&(e.host.style.height=v),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let x=sx(n);!e.authoredCompositionId&&i&&x.setAttribute("data-composition-id",i),Qd(x),e.host.appendChild(x)}else if(e.hasTemplate){let f=document.importNode(r,!0);Qd(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&fx(e,r,a);for(let f of m){let h=document.createElement("script");if(f.type&&(h.type=f.type),h.async=!1,f.kind==="external"?h.src=f.src:f.type.toLowerCase()==="module"?h.textContent=f.content:f.scopeCompositionId?h.textContent=Xd(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),e.injectedScripts.push(h),f.kind==="external"){let b=await ax(h);b.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:b.status,elapsedMs:b.elapsedMs}})}}}async function sf(e){let t=Za();if(of(),t.length===0)return;let n=af(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);Ja(i),await Qa({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function lf(e){let t=Za();if(of(),t.length===0)return;let n=af(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}Ja(i);try{let d=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(d){await Qa({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:d.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),b=new DOMParser().parseFromString(f,"text/html");nf(b,u);let v=(l?b.querySelector(`template#${CSS.escape(l)}-template`):null)??b.querySelector("template"),x=v?v.content:b.body;await Qa({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:x,hasTemplate:!!v,fallbackBodyInnerHtml:b.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:b.head,declaredVariableDefaults:Cn(b.documentElement),variableDeclarer:b.documentElement,onDiagnostic:e.onDiagnostic})}catch(d){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:d instanceof Error?d.message:"unknown_error"}}),Ja(i)}}))}function fx(e,t,n){let i={...e.declaredVariableDefaults??(Fe(t)?Cn(t):{}),...Il(e.host)};Ro(e.variableDeclarer??(Fe(t)?t:null),i,n),Ll(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,To(e.host,{...Nl(e.host,i,window),...Kr()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function mx(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function px(e){if(!Array.isArray(e))throw new Error("expected a JSON array");if(!e.every(mx))throw new Error("every array entry must be an object");return e}function es(e){let n=e.vars.data?.captionState;return n==="dim"||n==="active"?n:void 0}function hx(e){return Se(e)?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function gx(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!Se(r))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function bx(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function ts(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(t===null)return;let n=px(t);if(n.length===0)return;let r=gx();for(let i of n){let o=null;if(i.wordId&&(o=hx(document.getElementById(i.wordId))),!o&&i.wordIndex!==void 0&&(o=r[i.wordIndex]??null),!o)continue;let a={},l={};if(i.x!==void 0&&(a.x=i.x),i.y!==void 0&&(a.y=i.y),i.scale!==void 0&&(a.scale=i.scale),i.rotation!==void 0&&(a.rotation=i.rotation),i.opacity!==void 0&&(l.opacity=i.opacity),i.fontSize!==void 0&&(l.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(l.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(l.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let u=e.getTweensOf(o).filter(f=>f.vars.color!==void 0).sort((f,h)=>f.startTime()-h.startTime()),d=u.find(f=>es(f)==="dim")??u.find(f=>es(f)===void 0),m=d?String(d.vars.color):"";for(let f of u)(es(f)??(String(f.vars.color)===m?"dim":"active"))==="dim"?i.dimColor&&(f.vars.color=i.dimColor):i.activeColor&&(f.vars.color=i.activeColor);i.dimColor&&e.set(o,{color:i.dimColor})}if(Object.keys(l).length>0&&e.set(o,l),Object.keys(a).length>0){let s=bx(o);e.set(s,a)}}}).catch(t=>{let n=t instanceof Error?t.message:String(t);console.error(`[HyperFrames] Invalid caption-overrides.json: ${n}`)})}var rs="data-hf-edit-base-x",is="data-hf-edit-base-y",ln="data-hf-edit-original-translate",Ii=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},xx=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},uf=/^-?(?:\d+(?:\.\d+)?|\.\d+)px$/,ns=(e,t)=>uf.test(e)&&uf.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,yx=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=xx(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${ns(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${ns(r,t)} ${ns(i,n)}${a}`},vx=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},Sx=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""}},os=new WeakMap;function Ax(e,t){let n=os.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Oe("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=Ii(e.getAttribute("data-x"))-Ii(e.getAttribute(rs)),i=Ii(e.getAttribute("data-y"))-Ii(e.getAttribute(is));e.hasAttribute(ln)||e.setAttribute(ln,Sx(e)),n===void 0&&vx(e);let o=e.getAttribute(ln)??"",a=yx(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),os.set(e,e.style.getPropertyValue("translate"))}function Pi(e,t){let n=e.querySelectorAll(`[${ln}]:not([${rs}]):not([${is}])`);for(let o=0;o<n.length;o++){let a=n[o];if(a===void 0||!Fo(a))continue;let l=a.getAttribute(ln)??"";l===""?a.style.removeProperty("translate"):a.style.setProperty("translate",l),a.removeAttribute(ln),os.delete(a)}let r=e.querySelectorAll(`[${rs}], [${is}]`),i=0;for(let o=0;o<r.length;o++){let a=r[o];a===void 0||!Fo(a)||(Ax(a,t),i+=1)}return i}var cf="__hfPositionEditsSeekReapplyWrapped",df=new WeakSet,ff=new WeakMap,mf=new WeakMap;function pf(e){let t=e,n=()=>{try{Pi(t.document)}catch{}},r=m=>typeof m=="function"&&(df.has(m)||!!m[cf]),i=m=>{df.add(m);try{Object.defineProperty(m,cf,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...h){let b=m.apply(this,h);return n(),b};return i(f),f},a=(m,f)=>{let h=ff.get(m);if(h?.has(f))return!0;let b=Object.getOwnPropertyDescriptor(m,f);if(b?.configurable===!1){let _=m[f];return typeof _=="function"&&(m[f]=o(_),n()),!1}let v=m[f],x=b?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>v,set:_=>{v=o(_),x?.call(m,_)}}),v=o(v),h??(h=new Set),h.add(f),ff.set(m,h),n(),!0},l=(m,f)=>{let h=mf.get(t),b=Object.getOwnPropertyDescriptor(t,m);if(!h?.has(m)){if(b?.configurable===!1){let _=t[m];return _?a(_,f):!1}let x=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:b?.enumerable??!0,get:()=>x,set:_=>{x=_,x&&a(x,f)}}),h??(h=new Set),h.add(m),mf.set(t,h)}let v=t[m];return v?a(v,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,d=t.setInterval(()=>{if(s()){t.clearInterval(d);return}u-=1,u<=0&&t.clearInterval(d)},50)}function Oi(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 Gi(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function as(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 hf=new Set(["img","video","audio","source"]);function Ex(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 wx(e){return e.replace(/[;{}<>\r\n]/g,"")}function _x(e){if(Gi(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 ss(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Oi(e);return t.set(n,i),i}function Cx(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 Rx(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function Tx(e,t){let n=new Set,r=Rx(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=ss(i,t);for(let[a,l]of Object.entries(o)){let s=_x(l);s!==null&&Se(i)&&i.style.setProperty(`--${a}`,wx(s))}}}function ls(e){let t=new Map;Tx(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!hf.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(hf).join("/")}.`);continue}let i=Ex(ss(n,t)[r]);if(i!==null){if(!as(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=ss(n,t)[r];Gi(i)&&Cx(n,String(i))}}var lt=new Map,kx="data-hf-color-grading-canvas",Fx="__hf_color_grading_canvas__";function Cf(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{Se(r)&&(r.hasAttribute(hi)||r.setAttribute(hi,r.style.opacity))},n=r=>{if(Fe(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 Mx=16,Nx=4,cn={enabled:!1,position:.5,softness:0,lineWidth:2},us=["#000000","#ffffff"],Lx=["#1a1a1a","#f5f5dc"],br=3,Dx=br-1,Ix=5,cs=`${Xe}.0`,gf=`${Xe-1}.0`,Px=`${br}.0`,Ox=`${(Dx+.5)/br}`;function Hi(e){let t=e.getAttribute(Wn);return t==null?null:oc(t,Oi(e))}var Gx=["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(`
|
|
364
|
+
`),Hx=["#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) * ${gf};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${gf});`,` float y = (row + 0.5) / ${Px};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${cs}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${cs}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${cs}, ${Ox}));`,"}","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(`
|
|
365
|
+
`),Bx=["#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(`
|
|
366
|
+
`),Ux=["#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(`
|
|
367
|
+
`),Wx=["#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(`
|
|
368
|
+
`);function Ht(e){return fe(e)||Pe(e)}function bf(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function xf(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(N("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function zi(e,t=Hx){let n=xf(e,Gx,e.VERTEX_SHADER),r=xf(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:(N("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Bi(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 Vx(e,t){let n=zi(e,Bx);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 zx(e,t){let n=zi(e,Ux);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 qx(e,t){let n=zi(e,Wx);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 pr(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Bi(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 Wi(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 ds(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 yf(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function hs(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=zi(t),r=Bi(t),i=Bi(t,t.NEAREST),o=Bi(t,t.NEAREST);if(!n||!r||!i||!o)return yf(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:ds(t,n,gi),detailUniforms:ds(t,n,sa),effectUniforms:ds(t,n,la),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")}}):(yf(t,n,[r,i,o]),null)}function $x(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jx(e){if(!$x(e))return{...cn};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,cn.position,0,1),softness:t(e.softness,cn.softness,0,.25),lineWidth:t(e.lineWidth,cn.lineWidth,0,12)}}function Rf(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 qi(e){return e instanceof Error?e.message:"LUT failed to load"}function Kx(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 Tf(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return Kx(t)}function gs(e){let t=Rf(e);if("error"in t)return{state:"error",message:t.error};let n=lt.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=>Pu(o,{maxSize:fi})),i={state:"pending",promise:r};for(;lt.size>=Mx;){let o=lt.keys().next().value;if(!o)break;lt.delete(o)}return lt.set(t.href,i),r.then(o=>{lt.get(t.href)===i&<.set(t.href,{state:"ready",lut:o})},o=>{lt.get(t.href)===i&<.set(t.href,{state:"error",message:qi(o)})}),i}function vf(e,t,n){if(e.lut?.src===t)return e.lut;let r=Qo(n),{gl:i,program:o}=e;try{return kf(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=qi(a),e.lutLoadingSrc=null,N("runtime.colorGrading.uploadLut",a),null}}async function Yx(e){let t=gs(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function kf(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 Xx(e,t,n){let r=Qo(n),{gl:i,program:o}=e;return kf(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Ze(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function bs(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Ze(e.gl,t.scratch),Ze(e.gl,t.blur),t.bloom&&Ze(e.gl,t.bloom),e.effectTargets=null)}function xs(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Ze(e.gl,t.moments),Ze(e.gl,t.output),e.kuwaharaTargets=null)}function Ui(e,t=!1){bs(e),xs(e),Jx(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function Jx(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function Qx(e){let t=hs(e.canvas);return t?(Ui(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function ps(e){if(!e.sourceHidden)return;e.element.removeAttribute(Vn);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 Zx(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=Vx(t,e.program.quad),r=pr(t),i=pr(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Ze(t,r),i&&Ze(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function ey(e,t){return t.bloom||(t.bloom=pr(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Sf(e){let t=e.effectTargets;t?.bloom&&(Ze(e.gl,t.bloom),t.bloom=null)}function ty(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=zx(t,e.program.quad),o=qx(t,e.program.quad),a=pr(t,n.HALF_FLOAT_OES,t.NEAREST),l=pr(t);return!i||!o||!a||!l?(ny(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function ny(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Ze(e,r),i&&Ze(e,i)}function Ff(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Wi(e,t,o,a),Wi(e,n,o,a),{width:o,height:a}}function Vi(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),hr(e,t)}function ry(e,t,n,r,i,o,a){let l=Ff(e,t.scratch,r,i/2,o/2),s=a/2;Vi(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),Vi(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function iy(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)Vi(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),Vi(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function hr(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 oy(e,t,n,r,i,o,a,l){Wi(e,t.moments,i.width,i.height),Wi(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),hr(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),hr(e,u)}function ay(e,t,n,r){if(n<=0)return!1;let i=Ff(e.gl,t.scratch,t.blur,r.width,r.height);return iy(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function sy(e,t,n,r,i,o){if(n<=0)return Sf(e),null;o||Sf(e);let a=o?ey(e,t):t.blur;return a?(ry(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function ly(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&&bs(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=Zx(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=ay(e,l,o,n),u=sy(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function uy(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&xs(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=ty(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(oy(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function Mf(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=ly(e,t,n,o),l=uy(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function cy(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=Rf(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=gs(t);return i.state==="ready"?vf(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||(vf(e,r.href,o),He(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=qi(o),e.lutLoadingSrc=null,He(e))})),null)}function fr(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&Ht(n))return n;try{let r=document.querySelector(t);return r&&Ht(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&Ht(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&Ht(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&&Ht(r)?r:null}catch{return null}}function Nf(e){return fe(e)?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:Pe(e)&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Lf(e){return fe(e)?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:Pe(e)?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function Df(e){let t=ht(e);return t&&Lf(t)?t:null}function Af(e){if(!fe(e))return!1;let t=Df(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function dy(e){return Pe(e)&&e.classList.contains("__render_frame__")}function fy(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function If(e){if(fe(e)){let t=Df(e);if(t)return t}return Lf(e)?e:null}function Ef(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 my(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=Ef(o,"x"),l=Ef(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function Pf(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=my(o||"center"),d=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:d,offsetY:m}}function py(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function wf(e,t){return Math.max(0,Math.round(e>0?e:t))}function hy(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&py(e,i);let o=window.getComputedStyle(t);lc(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=wf(n.offsetWidth,a.width),s=wf(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),d=Math.round(l*u),m=Math.round(s*u);return r.width!==d&&(r.width=d),r.height!==m&&(r.height=m),{width:d,height:m}}function un(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 Bt(e,t,n,r){e.set(r,(t*Xe+n)*4)}function wt(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function fs(e,t,n){return e.length>=3?ea(e,t,n):new Float32Array(Xe)}function Gt(e,t){return e[t]??0}function gy(e,t,n){let r=Jt(t.red),i=Jt(t.green),o=Jt(t.blue),a=Jt(t.master),l=fs(n.hueVsHue,-180,180),s=fs(n.hueVsSaturation,-1,1),u=fs(n.hueVsLuma,-1,1);for(let d=0;d<Xe;d+=1)Bt(e,0,d,[Gt(r,d),Gt(i,d),Gt(o,d),Gt(a,d)]),Bt(e,1,d,[wt(Gt(l,d),180),wt(Gt(s,d),1),wt(Gt(u,d),1),1])}function by(e,t,n){let r=n*Ix;Bt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Bt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Bt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Bt(e,2,r+3,[wt(t.correction.hueShift,180),wt(t.correction.saturation,1),wt(t.correction.luma,1),wt(t.correction.temperature,1)]),Bt(e,2,r+4,[wt(t.correction.tint,1),.5,.5,1])}function xy(e,t,n){let r=new Float32Array(Xe*br*4);gy(r,e,t);let i=0;for(let o of n)o.enabled&&(by(r,o,i),i+=1);return r}var _f=new WeakMap;function yy(e,t,n){let r=_f.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return _f.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function vy(e,t,n,r){let{curves:i,hueCurves:o}=n,a=yy(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(xy(i,o,r),Bn);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,Xe,br,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function ms(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function Of(e,t,n,r,i,o,a,l,s,u,d,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:h,secondaries:b}=n,v=da(f),x=fa(h),_=ma(b)?b.reduce((F,D)=>F+Number(D.enabled),0):0;(v||x||_>0)&&vy(e,t,n,b),ms(e,t.shadowWheel,n.wheels.shadows),ms(e,t.midtoneWheel,n.wheels.midtones),ms(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,v?1:0),e.uniform1f(t.hueCurvesEnabled,x?1:0),e.uniform1f(t.secondaryCount,_);for(let[F,D]of t.adjustUniforms)e.uniform1f(D,n.adjust[F]);for(let[F,D]of t.detailUniforms)e.uniform1f(D,n.details[F]);e.uniform1f(t.grainSeed,d),e.uniform1f(t.effectTime,m);for(let[F,D]of t.effectUniforms)e.uniform1f(D,n.effects[F]);let T=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?Lx:us),R=T[T.length-1]??us[1];e.uniform1f(t.paletteSize,T.length),un(e,t.palette0,T[0]??us[0]),un(e,t.palette1,T[1]??R),un(e,t.palette2,T[2]??R),un(e,t.palette3,T[3]??R),un(e,t.palette4,T[4]??R),un(e,t.palette5,T[5]??R),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function Sy(e){if(!e.sourceHidden){let t=e.element.getAttribute(hi);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(Vn,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function ut(e){let t=nc.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var Gf=ut("intensity"),Hf=ut("lut.intensity"),Bf=ut("adjust.exposure"),Uf=ut("effects.kuwahara"),Wf=[["blur",ut("effects.blur")],["bloom",ut("effects.bloom")],["kuwahara",Uf],["pixelate",ut("effects.pixelate")],["ascii",ut("effects.ascii")],["dither",ut("effects.dither")]],Vf=[Gf,Hf,Bf,...Wf.map(([,e])=>e)];function Ut(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function mr(e,t){return t!==null&&(ac(t)||Vf.some(n=>Ut(e,n)!==null))}function Ay(e,t){let n=null;for(let[r,i]of Wf){let o=Ut(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function Ey(e){let{element:t,grading:n}=e,r=Ut(t,Gf),i=Ut(t,Hf),o=Ut(t,Bf),a=Ay(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function zf(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 qf(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 He(e){if(e.destroyed||e.contextLost)return!1;let t=If(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=Nf(t);if(!n)return!1;let r=Se(t)?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=dy(t);s&&fy(e,t),a&&!s&&(e.sourceInlineOpacity!==null?e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority||""):e.element.style.removeProperty("opacity"));let u=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=u.opacity||"1",a&&!s&&e.element.style.setProperty("opacity","0","important"),e.sourceVisibleForCanvas=(s||l!=="hidden")&&u.visibility!=="hidden";let d=hy(e,r);if(!d)return!1;let m=window.getComputedStyle(r),f=Pf(d.width,d.height,n.width,n.height,m.objectFit,m.objectPosition),{gl:h,program:b}=e;try{let v=Ey(e),x=cy(e);zf(h,b.texture,t);let _=Ut(e.element,Uf)!==null,T=Mf(e,v,d,f,{preserveKuwahara:_});h.bindFramebuffer(h.FRAMEBUFFER,null),h.viewport(0,0,d.width,d.height),h.useProgram(b.program),qf(h,b,T);let R=window.__player?.getTime?.(),F=typeof R=="number"&&Number.isFinite(R)?Math.max(0,R):fe(e.element)?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(F*60);return Of(h,b,v,x,T.blurReady,T.bloomReady,T.kuwaharaReady,e.compare,d,f,D,F),hr(h,b),Sy(e),e.hasDrawn=!0,e.drawError=null,!0}catch(v){return e.drawError=v instanceof Error?v.message:"Shader draw failed",N("runtime.colorGrading.drawEntry",v),!1}}function wy(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function _y(){let e=document.createElement("canvas"),t=hs(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Cy(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):fe(e)?Math.max(0,e.currentTime):0}function Ry(e,t,n,r){let i=If(t);if(!i)return null;let o=Nf(i);if(!o)return null;let a=wy(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=Se(i)?i:t,s=window.getComputedStyle(l),u=Pf(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return zf(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Cy(t,r),grainSeed:Tf(t)+(fe(t)?Math.floor(t.currentTime*60):0)}}async function Ty(e,t,n,r,i=!1){let o=Ry(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,d=[];for(let m of n.slice(0,32)){let f=bi(m.grading);if(!f){d.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let h=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=Xx(e,f.lut.src,await Yx(f.lut.src))),h=e.lut),d.push({id:m.id,dataUrl:ky(e,f,h,a,l,s,u)})}catch(b){d.push({id:m.id,dataUrl:null,error:qi(b)})}}return{...a,images:d}}function ky(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,d=Mf(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),qf(s,u,d),n||(e.lut=null),Of(s,u,t,n,d.blurReady,d.bloomReady,d.kuwaharaReady,cn,r,i,o,a),hr(s,u),l.toDataURL("image/png")}function Qe(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Fy(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&fe(e.element)&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function gr(e){if(e.destroyed||!fe(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,He(e),!e.destroyed&&!t.paused&&!t.ended&&gr(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,He(e),!e.destroyed&&!t.paused&&!t.ended&&gr(e)})}function My(e){let t=()=>{He(e)};if(Qe(e,e.element,"load",t),Qe(e,e.element,"loadedmetadata",t),Qe(e,e.element,"loadeddata",t),Qe(e,e.element,"seeked",t),Qe(e,e.element,"timeupdate",t),Qe(e,window,"resize",t),fe(e.element)&&(Qe(e,e.element,"play",()=>gr(e)),Qe(e,e.element,"pause",t)),Qe(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",ps(e)}),Qe(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!Qx(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",ps(e);return}e.drawError=null,He(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(),He(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ny(e){if(e.destroyed)return null;e.destroyed=!0,Fy(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),bs(e),xs(e),ps(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 $f(e,t){return e.removeAttribute("style"),t.id?e.id=`${Ju}${t.id}`:e.removeAttribute("id"),e.className=Fx,e.setAttribute(kx,"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 Ly(e){return $f(document.createElement("canvas"),e)}function jf(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(E,S,A)=>{let C=e.get(E);if(C)return C.grading=S,C.source=A,He(C),fe(E)&&!E.paused&&gr(C),!0;let M=n.pop();if(M)$f(M.canvas,E);else{let H=Ly(E),j=hs(H);if(!j)return H.remove(),!1;M={canvas:H,gl:j.gl,program:j.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let P={element:E,...M,grading:S,compare:{...cn},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:A,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(E).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(E).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:Tf(E),destroyed:!1};return e.set(E,P),t.add(E),My(P),He(P),fe(E)&&!E.paused&&gr(P),!0},s=(E,S)=>{if(a)return!1;let A=fr(E);if(!A)return!1;let C=e.get(A);if(!C){let M=Hi(A);if(!mr(A,M)||!l(A,M,"attribute"))return!1;C=e.get(A)}return C?(C.compare=jx(S),He(C),!0):!1},u=E=>{let S=e.get(E);if(!S)return;let A=Ny(S);A&&(S.contextLost||n.length>=Nx?Ui(A,!0):n.push(A)),e.delete(E),t.delete(E)},d=()=>{if(a)return 0;let E=new Set;document.querySelectorAll(`video[${Wn}], img[${Wn}]`).forEach(A=>{if(!Ht(A))return;E.add(A);let C=Hi(A);mr(A,C)&&(bf(A)||Af(A))?l(A,C,"attribute"):u(A)});for(let A of t){let C=e.get(A);C&&(!A.isConnected||C.source==="attribute"&&!E.has(A))&&u(A)}return t.size},m=()=>{if(a)return 0;let E=0;for(let S of t){let A=e.get(S);A&&He(A)&&(E+=1)}return E},f=async()=>{let E=new Set;for(let S of t){let A=e.get(S)?.grading.lut;if(!A?.src.trim()||(A.intensity??1)<=0)continue;let C=gs(A.src);C.state==="pending"&&E.add(C.promise)}return E.size>0&&await Promise.allSettled(E),m(),E.size},h=()=>{if(a)return 0;let E=0;for(let S of t){let A=e.get(S);!A||!Vf.some(M=>Ut(S,M)!==null)||fe(S)&&!S.paused&&!S.ended||He(A)&&(E+=1)}return E},b=(E,S)=>{if(a)return!1;let A=fr(E);if(!A)return!1;let C=bi(S);return mr(A,C)?l(A,C,"live"):(u(A),!0)},v=(E,S)=>{if(!Ht(E))return!1;let A=e.get(E);if(!A){if(!S)return!1;let C=Hi(E);return mr(E,C)&&l(E,C,"attribute")}return A.sourceVisibleForCanvas=S,!S&&A.source==="attribute"&&u(E),!0},x=E=>{let S=fr(E);if(!S)return{state:"missing",message:"Media not found"};let A=e.get(S);if(A)return A.effectError?{state:"unavailable",message:A.effectError}:A.drawError?{state:"unavailable",message:A.drawError}:A.lutError?{state:"unavailable",message:`LUT error: ${A.lutError}`}:A.grading.lut&&A.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:A.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:A.lut?"Shader + LUT active":"Shader active"};let C=Hi(S);return mr(S,C)?!bf(S)&&!Af(S)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},_=async(E,S,A)=>{let C=async()=>{if(a||S.length===0)return null;let P=fr(E);return!P||(i??(i=_y()),!i)?null:Ty(i,P,S,A?.maxDimension,A?.useMediaTime)},M=o.then(C,C);return o=M.then(()=>{},()=>{}),M},T=E=>{let S=fr(E);if(!fe(S))return null;if(!S.paused)return()=>{};let A=S.currentTime,C=S.loop,M=S.muted;return S.loop=!0,S.muted=!0,(S.ended||Number.isFinite(S.duration)&&A>=S.duration)&&(S.currentTime=0),S.play().catch(()=>{}),()=>{S.pause(),S.loop=C,S.muted=M,S.currentTime=A}},R=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let E of t)u(E);for(let E of n)Ui(E,!0);n.length=0,i&&(Ui(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>d()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Wn]}));let F={refresh:d,redraw:m,redrawAnimated:h,waitForActiveLuts:f,setGrading:b,setCompare:s,setSourceVisibility:v,getStatus:x,renderPreviews:_,startPreviewPlayback:T,destroy:R},D=window;return D.__hf=D.__hf||{},D.__hf.colorGrading=F,d(),F}var $i=class{constructor(t){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};var Dy=100,Iy=8,Py=4096,ys=e=>e;function Oy(e,t,n){return!(!!e.curve||e.viaX!==void 0&&e.viaY!==void 0)&&t==="linear"&&!n}function Gy(e){let t=Math.ceil(e*Dy);return Math.min(Py,Math.max(Iy,t))}function Hy(e,t,n,r,i){let{scheduledAt:o,elapsed:a,rate:l}=r,s=i??ys,u=T=>o+(T-a)/l,d=e.points[t],m=e.points[t+1],f=u(m.t);if(f<=o)return null;let h=Math.max(o,u(d.t)),b=f-h;if(b<=0)return null;if(Oy(d,n,i))return{kind:"ramp",time:f,value:s(m.v)};let v=Gy(b),x=Su(e,Math.max(d.t,a),m.t,v,n),_=new Float32Array(v);for(let T=0;T<v;T+=1)_[T]=s(x[T]??0);return{kind:"curve",time:h,duration:b,values:_}}function By(e,t,n,r){let i=[];for(let a=0;a+1<e.points.length;a+=1){let l=Hy(e,a,t,n,r);l&&i.push(l)}let o=i[0];return o?.kind==="curve"&&o.time<=n.scheduledAt||i.unshift({kind:"set",time:n.scheduledAt,value:(r??ys)(On(e,n.elapsed,t))}),i}function Uy(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 xr(e){for(let t of e)t.param.cancelScheduledValues(0)}function dn(e,t){for(let n of e)typeof n.param.cancelAndHoldAtTime=="function"?n.param.cancelAndHoldAtTime(t):n.param.cancelScheduledValues(t)}function vs(e,t,n,r){if(t.points.length!==0)for(let i of e){if(xr([i]),vu(t)){let o=(i.map??ys)(t.points[0].v);i.param.setValueAtTime(o,r.scheduledAt);continue}Uy(i.param,By(t,n,r,i.map))}}function Kf(e,t,n,r,i){let o=new Map(n.filter(l=>l.id).map(l=>[l.id,l.handle])),a=[];for(let l of e.lanes){let s=Pn(l.target);if(!s)continue;let u=s.kind==="preset"?i?.[s.presetId]:s.kind==="fx"?o.get(s.nodeId)?.automation?.[s.param]:void 0;if(!u||u.length===0)continue;let d=Bo(l.target,t);d&&(vs(u,l,d.scale,r),a.push(...u))}return a}function Yf(e){return e.lanes.find(t=>t.target===Kt)??null}var Wy=`
|
|
369
369
|
const dbToLin = (db) => Math.pow(10, db / 20);
|
|
370
370
|
|
|
371
371
|
/**
|
|
@@ -701,9 +701,9 @@ class HfPitchshift extends AudioWorkletProcessor {
|
|
|
701
701
|
}
|
|
702
702
|
}
|
|
703
703
|
registerProcessor("hf-pitchshift", HfPitchshift);
|
|
704
|
-
`,ja=new WeakMap;function Ka(e){return uf.has(e)}var uf=new WeakSet;function Ya(e){let t=ja.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(Wx)))}`;await e.audioWorklet.addModule(n),uf.add(e)})().catch(n=>{throw ja.delete(e),n}),ja.set(e,t)),t}function Vx(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,l=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),s=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,c=0;for(let f=0;f<i;f++){u+=s*(l()-u);let p=u*Math.pow(1-f/i,2.5);o[f]=p,c+=p*p}let m=Math.sqrt(c);if(m>0)for(let f=0;f<i;f++)o[f]=(o[f]??0)/m;return o}var de=e=>typeof e=="number"?e:Number(e??0),Xa=e=>e/1e3;function mf(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 c=u/i;a[u]=t==="sine"?Math.sin(2*Math.PI*c):4*Math.abs((c+.75)%1-.5)-1}let l=e.createBufferSource();l.buffer=o,l.loop=!0,l.playbackRate.value=n;let s=(r*n%1+1)%1*(i/e.sampleRate);return l.start(typeof e.currentTime=="number"?e.currentTime:0,s),l}function pf(e){try{e.stop()}catch{}e.disconnect()}function Ja(e,t){return[{param:e},{param:t,map:n=>1-n}]}function hf(e,t,n){e.gain.value=n,t.gain.value=1-n}function Qa(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var zx=new Set(["peaking","highpass","lowpass"]),cf=e=>Math.pow(10,e/20),qx=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=cf(de(i.gain))};return r(t),Qa(n,r,{gain:[{param:n.gain,map:cf}]})};function ur(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=de(a.frequency),a.q!==void 0&&(i.Q.value=de(a.q)),t&&(i.gain.value=de(a.gain))};return o(r),Qa(i,o,{frequency:[{param:i.frequency}],...zx.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function $x(e){return(t,n)=>{let r=Math.tan(Math.PI*de(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 Qa(i,()=>{})}}function cr(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 jx={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))},Kx=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let l=jx[String(a.type)]??Math.tanh,s=Math.pow(10,de(a.threshold)/20),u=8192,c=new Float32Array(u);for(let m=0;m<u;m++){let f=m/(u-1)*2-1;c[m]=l(f/Math.max(1e-6,s))*s}n.curve=c,n.oversample=de(a.oversample)>=4?"4x":de(a.oversample)>=2?"2x":"none",i.gain.value=Math.pow(10,de(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()}}},Yx=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),l=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(l).connect(r);let s=u=>{i.delayTime.value=Math.min(5,de(u.time)/1e3),o.gain.value=de(u.feedback),hf(a,l,de(u.mix))};return s(t),{input:n,output:r,update:s,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,Xa(u))}],feedback:[{param:o.gain}],mix:Ja(a.gain,l.gain)},dispose:()=>[n,r,i,o,a,l].forEach(u=>u.disconnect())}},Xx=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=mf(e,"sine",de(t.speed),n),l=e.createGain(),s=e.createGain(),u=e.createGain();a.connect(l).connect(o.delayTime),r.connect(o).connect(s).connect(i),r.connect(u).connect(i);let c=m=>{o.delayTime.value=de(m.delay)/1e3,l.gain.value=de(m.depth)/1e3,a.playbackRate.value=de(m.speed),hf(s,u,de(m.mix))};return c(t),{input:r,output:i,update:c,automation:{delay:[{param:o.delayTime,map:Xa}],depth:[{param:l.gain,map:Xa}],speed:[{param:a.playbackRate}],mix:Ja(s.gain,u.gain)},dispose:()=>{pf(a),[r,i,o,l,s,u].forEach(m=>m.disconnect())}}},Jx=6,Qx=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),l=mf(e,String(t.type)==="1"?"sine":"triangle",de(t.speed),n),s=e.createGain(),u=e.createGain(),c=e.createGain(),m=[];r.connect(o);let f=o;for(let b=0;b<Jx;b++){let v=e.createBiquadFilter();v.type="allpass",v.Q.value=.7071,s.connect(v.frequency),f.connect(v),f=v,m.push(v)}l.connect(s),f.connect(u).connect(a),o.connect(c).connect(a),a.connect(i);let p=b=>{let v=1e3/Math.max(.1,de(b.delay));for(let x of m)x.frequency.value=v;s.gain.value=v*de(b.decay),l.playbackRate.value=de(b.speed),o.gain.value=de(b.in_gain),a.gain.value=de(b.out_gain),u.gain.value=1,c.gain.value=1};return p(t),{input:r,output:i,update:p,automation:{speed:[{param:l.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{pf(l),[r,i,o,a,s,u,c,...m].forEach(b=>b.disconnect())}}},Zx=(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 l="",s=u=>{let c=`${de(u.size)}:${de(u.damping)}`;if(c!==l){let m=Vx(e.sampleRate,de(u.size),de(u.damping)),f=e.createBuffer(1,m.length,e.sampleRate);f.getChannelData(0).set(m),i.buffer=f,l=c}o.gain.value=de(u.wet),a.gain.value=de(u.dry)};return s(t),{input:n,output:r,update:s,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},ey={"gain-node":qx,"biquad-peaking":ur("peaking",!0),"biquad-lowshelf":ur("lowshelf",!0),"biquad-highshelf":ur("highshelf",!0),"biquad-highpass":ur("highpass",!1),"biquad-lowpass":ur("lowpass",!1),"worklet-compressor":cr("hf-compressor"),"worklet-limiter":cr("hf-limiter"),"worklet-gate":cr("hf-gate"),"worklet-bitcrush":cr("hf-bitcrush"),"worklet-pitchshift":cr("hf-pitchshift"),waveshaper:Kx,"delay-feedback":Yx,"chorus-lfo":Xx,"allpass-phaser":Qx,convolver:Zx};function gf(e){return e.nodes.some(t=>Sn(t.type)?.web.startsWith("worklet-")??!1)}function ty(e,t,n,r=0){let i=Sn(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=An(t,n);if((t==="highpass"||t==="lowpass")&&String(o.poles)==="1")return $x(t)(e,o,r);let a=ey[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function df(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 ff(e){return En(e).map(t=>{let n=An(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 bf(e,t,n=0){var m;let r=e.createGain(),i=e.createGain(),o=[],a=[],l=df(En(t)),s=r;for(let f of l){let p=null;if(f.preset){let b=e.createGain(),v=e.createGain(),x=e.createGain(),C=e.createGain();x.gain.value=f.amount,v.gain.value=1-f.amount,s.connect(b),b.connect(v).connect(C),p={entry:b,wet:x,dry:v,join:C},s=b}for(let b of f.nodes){let v=ty(e,b.type,b.params??{},n);s.connect(v.input),s=v.output,o.push({...b.id?{id:b.id}:{},type:b.type,handle:v})}p&&f.preset&&(s.connect(p.wet).connect(p.join),a.push({id:f.preset,...p}),s=p.join)}s.connect(i);let u=ff(t),c={};for(let f of a)(c[m=f.id]??(c[m]=[])).push(...Ja(f.wet.gain,f.dry.gain));return{input:r,output:i,presets:c,nodes:o,update(f){if(ff(f)!==u)return!1;En(f).forEach((b,v)=>{let x=o[v];x&&(x.handle.update(An(b.type,b.params)),b.id===void 0?delete x.id:x.id=b.id)});let p=0;for(let b of df(En(f))){if(!b.preset)continue;let v=a[p++];!v||v.id!==b.preset||(v.wet.gain.value=b.amount,v.dry.gain.value=1-b.amount)}return!0},dispose(){for(let{handle:f}of o)f.dispose();for(let{entry:f,wet:p,dry:b,join:v}of a)f.disconnect(),p.disconnect(),b.disconnect(),v.disconnect();r.disconnect(),i.disconnect()}}}var xf={version:1,nodes:[]},yf={version:1,lanes:[]};function vf(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(et):null)??"";if(!n)return yf;try{return Nl(Or(n),t)}catch{return yf}}function on(e){let t=(typeof e.getAttribute=="function"?e.getAttribute(Tt):null)??"";if(!t)return{chain:xf,raw:""};try{return{chain:kl(t),raw:t}}catch{return{chain:xf,raw:""}}}function Sf(e){return vf(e,on(e).chain)}function wi(e,t,n,r,i){let{chain:o}=on(t),a=null,l=[],s=!1,u=0,c=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},m=(T,M)=>{if(T.nodes.length===0){n.connect(r);return}if(gf(T)&&!Ka(e)){n.connect(r);let D=++u;Ya(e).then(()=>{s||D!==u||x(on(t).chain)}).catch(()=>{});return}try{let D=bf(e,T,M);n.connect(D.input),D.output.connect(r),a=D}catch{n.connect(r)}},f=(T,M)=>{l=M&&a?sf(vf(t,T),T,a.nodes,M,a.presets):[]},p=i?{...i}:null;m(o,p?.elapsed??0),f(o,p);let b=()=>{if(!p)return null;let T=typeof e.currentTime=="number"?e.currentTime:p.scheduledAt;return{scheduledAt:T,elapsed:p.elapsed+(T-p.scheduledAt)*p.rate,rate:p.rate}},v=T=>{let M=b();M&&(rn(l,M.scheduledAt),f(T,M))},x=T=>{let M=b();rn(l,M?.scheduledAt??0),c(),m(T,M?.elapsed??0),f(T,M)},C=null,R=t;return typeof MutationObserver<"u"&&typeof R?.nodeType=="number"&&(C=new MutationObserver(()=>{let T=on(t);l.length>0&&lr(l),!a||!a.update(T.chain)?x(T.chain):v(T.chain)}),C.observe(R,{attributes:!0,attributeFilter:[Tt,et]})),{reanchor:T=>{if(s)return;let M=b();M&&rn(l,M.scheduledAt),p={...T},f(on(t).chain,p)},setRate:T=>{let M=b();s||!M||!Number.isFinite(T)||T<=0||T===M.rate||(p={...M,rate:T},rn(l,M.scheduledAt),f(on(t).chain,p))},dispose:()=>{s=!0,C?.disconnect(),l.length>0&&rn(l,typeof e.currentTime=="number"?e.currentTime:0),a?.dispose()}}}var Af="runtime_web_audio_bypass";function Za(e,t){return typeof e.getAttribute=="function"?e.getAttribute(t):null}function dr(e,t){return Za(e,t)!==null}function ny(e){return dr(e,"crossorigin")?!0:e.crossOrigin!=null}function ry(e){return typeof e.baseURI=="string"&&e.baseURI?e.baseURI:typeof document<"u"?document.baseURI:""}function iy(e){let t=typeof e.currentSrc=="string"?e.currentSrc:"";if(t)return[t];let n=Za(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 oy(e,t){if(typeof window>"u")return!1;let n;try{n=new URL(e,ry(t))}catch{return!1}return n.protocol!=="http:"&&n.protocol!=="https:"||n.origin===window.location.origin?!1:!ny(t)}function wf(e){return(typeof e.currentSrc=="string"?e.currentSrc:"")?!0:dr(e,"src")}function an(e){for(let t of iy(e))if(oy(t,e))return{kind:"decode-only",reason:"cross_origin_no_cors",asset:t};return{kind:"web-audio"}}function ay(e){let t=[];dr(e,Tt)&&t.push("fx-chain"),dr(e,et)&&t.push("automation"),dr(e,Gr)&&t.push("audio-group");let n=Number.parseFloat(Za(e,"data-volume")??"");return Number.isFinite(n)&&n>1&&t.push("above-unity-gain"),t}function sy(){return typeof window<"u"&&!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}var Ef=new WeakSet;function sn(e,t){if(t.kind==="web-audio"||sy()||Ef.has(e))return;let n=ay(e);Ef.add(e);let r={asset:t.asset,reason:t.reason,lostProcessing:n,note:"cross-origin media without a `crossorigin` opt-in is silent through createMediaElementSource (Web Audio spec); using native playback instead"};be({source:"hf-preview",type:"diagnostic",code:Af,details:r});let i=n.length>0?` Native playback cannot reproduce: ${n.join(", ")} \u2014 proxy or download the asset to a same-origin URL to keep it.`:"";console.info(`[hyperframes] ${Af}: "${t.asset}" (${t.reason}): Web Audio capture withheld; the track plays through native HTMLMediaElement output.${i}`)}function es(e){return!Number.isFinite(e)||e<=0?1:e}function _f(e){return De(e)}function ly(e,t){t||e.paused||!_r().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function uy(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:l}=t,s=Number.isFinite(l)&&l>0,u=l*a;if(n>=0){let m=n*a,f=u-m;return s&&f<=0?!1:(s?e.start(0,m+r,f):e.start(0,m+r),!0)}let c=-n/o;return s?e.start(i+c,r,u):e.start(i+c,r),!0}function _i(e,t,n){let r=lf(Sf(e));r&&$a([{param:t.gain}],r,Pr.scale,n)}function fr(e){return e.sourceKind==="buffer"}var Ci=class{constructor(){ge(this,"_ctx",null);ge(this,"_bufferCache",new Map);ge(this,"_failedSrcs",new Set);ge(this,"_mediaElementSources",new WeakMap);ge(this,"_activeSources",[]);ge(this,"_masterGain",null);ge(this,"_masterVolume",1);ge(this,"_masterMuted",!1);ge(this,"_groups",new Map);ge(this,"_rateAnchorCtx",0);ge(this,"_rateAnchorComp",0);ge(this,"_rate",1);ge(this,"_paused",!0);ge(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),this.applyMasterGain(),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return N("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return N("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),N("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 o=an(t);if(o.kind!=="web-audio"){try{n.disconnect()}catch{}return this._mediaElementSources.delete(t),sn(t,o),null}return n}if(!this._ctx)return null;let r=an(t);if(r.kind!=="web-audio")return sn(t,r),null;let i=this._ctx.createMediaElementSource(t);return this._mediaElementSources.set(t,i),i}async scheduleMediaElementPlayback(t,n,r,i,o,a,l=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),a!==this._playGeneration)return null;let s=this.acquireMediaElementSource(t);if(!s)return null;let u=es(l),c=this._ctx.createGain();c.gain.value=o;let m=this._ctx.currentTime,f=i-n,p={scheduledAt:m,elapsed:f,rate:u},b=wi(this._ctx,t,s,c,p);c.connect(this.resolveDestination(t,m,i,u)??this._masterGain),_i(t,c,p),this._rate=u,this._rateAnchorCtx=m,this._rateAnchorComp=i;let v={fx:b,el:t,sourceNode:s,sourceKind:"media-element",gainNode:c,compositionStart:n,mediaStart:r,scheduledAt:m,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:Ce(t),bounded:!1};return t.volume=1,this._activeSources.push(v),this._paused=!1,v}catch(s){return N("webAudioTransport.mediaElementSource",s),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(f){N("webAudioTransport.groupReanchor",f)}return i.input}if(!this._ctx||!this._masterGain)return null;let o=this._ctx.createGain(),a=this._ctx.createGain();a.connect(this._masterGain);let l=()=>po(n,t),s=l(),u=this._ctx.createGain();u.gain.value=s?.hasAttribute("data-hidden")?0:1,u.connect(a);let c=this._ctx.createGain();c.gain.value=_f(mo(s)),c.connect(u);let m=wi(this._ctx,s??{getAttribute:()=>null},o,c,r);return s&&_i(s,c,r),this._groups.set(t,{input:o,fader:c,muteGain:u,fx:m,generation:this._playGeneration,reanchor:f=>{lr([{param:c.gain}]);let p=l();c.gain.value=_f(mo(p)),u.gain.value=p?.hasAttribute("data-hidden")?0:1,m?.reanchor(f),p&&_i(p,c,f)},dispose:()=>{try{m?.dispose(),o.disconnect(),c.disconnect(),u.disconnect(),a.disconnect()}catch{}}}),o}setGroupMuted(t,n){let r=this._groups.get(t);if(r)try{r.muteGain.gain.value=n?0:1}catch(i){N("webAudioTransport.setGroupMuted",i)}}resolveDestination(t,n,r,i){if(!this._masterGain)return null;let o=Pl(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,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=es(s),m=Ce(t),f=c*m,p=this._ctx.createBufferSource();p.buffer=n,p.playbackRate.value=f;let b=this._ctx.createGain();b.gain.value=a;let v=o-r,x=this._ctx.currentTime,C={scheduledAt:x,elapsed:v,rate:c},R=wi(this._ctx,t,p,b,C);if(b.connect(this.resolveDestination(t,x,o,c)??this._masterGain),_i(t,b,C),this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,!uy(p,{elapsed:v,mediaStart:i,scheduledAt:x,globalRate:c,mediaRate:m,clipDuration:u}))return p.disconnect(),R?.dispose(),b.disconnect(),null;let T=t.muted;t.muted=!0,ly(t,T);let M={fx:R,el:t,sourceNode:p,sourceKind:"buffer",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:x,priorMuted:T,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(M),this._paused=!1,p.addEventListener("ended",()=>this.handleSourceEnded(p,M,t,T)),M}catch(c){return N("webAudioTransport.schedule",c),null}}setRate(t){let n=es(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{fr(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){N("webAudioTransport.setRate",i)}for(let r of this._groups.values())try{r.fx?.setRate(n)}catch(i){N("webAudioTransport.setRate.group",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>fr(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{fr(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}fr(t)?t.el.muted=t.priorMuted:t.el.volume=t.priorVolume}this._activeSources=[],this._paused=!0}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=De(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){N("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._masterGain&&(this._masterGain.gain.value=this._masterMuted?0:this._masterVolume)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&fr(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){this.stopAll();for(let t of this._groups.values())t.dispose();if(this._groups.clear(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._masterVolume=1,this._masterMuted=!1}};var Cf="data-hf-studio-manual-edit-gesture";function Tf(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var cy=/^\s*spring\(\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+))\s*\)\s*$/;function Rf(e){return Math.max(0,Math.min(1,e))}function kf(e){let t=cy.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?Rf(n):null}function Mf(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=Rf(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 dy=/^\s*wiggle\(\s*(\d+)\s*,\s*(easeOut|easeInOut|anticipate|uniform)\s*(?:,\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)\s*)?\)\s*$/,fy=Math.PI*2;function my(e){let t=dy.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 py(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(fy*t*e)}function Ff(e,t){let n=my(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=>py(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var hy=24,Nf=e=>e>=1?1:0,gy=e=>e,Ti=String.raw`([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)`,by=new RegExp(String.raw`^\s*M\s*0\s*,\s*0\s+C\s*${Ti}\s*,\s*${Ti}\s+${Ti}\s*,\s*${Ti}\s+1\s*,\s*1\s*$`,"i");function Lf(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function xy(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<hy;l+=1){let s=(o+a)/2;Lf(s,t,r)<e?o=s:a=s}return Lf((o+a)/2,n,i)}function yy(e){let t=by.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=>xy(a,n,r,i,o)}function vy(e,t){if(!e.startsWith("spring("))return null;let n=kf(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>Mf(o,n);return t.set(n,i),i}function Sy(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=yy(n);return i&&t.set(n,i),i}function Df(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?Nf:Ff(s,i)??vy(s,r)??Sy(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\(|$)/.test(s.trim())&&Le("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??gy)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",Nf);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var If="data-hf-media-start-basis";function Ay(e){return e?.trim().toLowerCase()==="global"?"global":"local"}function Pf(e){return Ay(e.basis)==="global"?e.authoredStart:e.hostStart+e.authoredStart}var rs=new Map,mr=new Map,ts=new Map,ns=()=>{},Hf=()=>{},Of=0;function is(e){return/^[a-z][a-z0-9-]{0,63}$/.test(e)}function Gf(e){let t=(ts.get(e)??0)+1;return ts.set(e,t),t}function Bf(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0?e:(Of-=1,Of)}function os(e,t){let n=mr.get(e);if(!n)return;let r=()=>ts.get(e)===t.generation&&mr.get(e)===n;try{Promise.resolve(n(t.payload)).then(()=>{r()&&Hf(e,t.requestId)},i=>{r()&&ns(e,t.requestId,i)})}catch(i){r()&&ns(e,t.requestId,i)}}function Uf(e){ns=e}function Wf(e){Hf=e}function Ri(e,t,n){if(!is(e))return;let r={payload:t,requestId:Bf(n),generation:Gf(e)};rs.set(e,r),os(e,r)}function ki(e,t){is(e)&&(rs.delete(e),os(e,{payload:void 0,requestId:Bf(t),generation:Gf(e)}))}function Vf(e,t){if(!is(e))throw new Error(`Invalid HyperFrames runtime-data channel: ${e}`);mr.set(e,t);let n=rs.get(e);return n&&os(e,n),()=>{mr.get(e)===t&&mr.delete(e)}}var as="data-hf-authored-duration",ss="data-hf-authored-end",zf=!1;function ot(e){if(e){if(typeof e.pause!="function"){zf||(zf=!0,Le("timeline_missing_pause",{}));return}try{e.pause()}catch(t){N("runtime.timeline.pause",t)}}}function Ey(){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 qf(){let e=wu(),t=()=>{};Vs(be),Uf((d,g,h)=>{be({source:"hf-preview",type:"runtime-data-error",channel:d,requestId:g,message:h instanceof Error?h.message:String(h)})}),Wf((d,g)=>{try{t()}catch(h){be({source:"hf-preview",type:"runtime-data-error",channel:d,requestId:g,message:h instanceof Error?h.message:String(h)});return}be({source:"hf-preview",type:"runtime-data-applied",channel:d,requestId:g})}),mi(document),Da(document),Ol(document);let n=Ey();e.canonicalFps=n.fps??e.canonicalFps,Us(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:n.source,rawFpsSource:n.rawFpsSource,rawFps:n.rawFps,fallbackReason:n.fallbackReason});let r=null,i=null,o=null,a=[],l=new Set,s=null,u=new Set,c=(d,g,h)=>{u.has(d)||(u.add(d),Le(g,h))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){N("runtime.init.site1",d)}let m=new Ei;e.transportClock=m;let f=new Ci,p=!1;f.init().then(d=>{p=d}),window.__hf=window.__hf||{};let b=d=>d.closest("[data-hidden]")!==null||Br(d.ownerDocument,d),v=()=>{let d=window.gsap,g=window;if(!(!d?.registerPlugin||g.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),g.__hfAutoNoopRegistered=!0}catch(h){c("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),N("runtime.autoMarker.install",h)}},x=()=>{let d=window.gsap;if(!d){c("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{Df(d)||c("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(g){c("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),N("runtime.customEase.install",g)}};v(),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{Xs(document)}catch(d){N("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let C=()=>{let d=document.querySelector('[data-composition-id][data-root="true"]');if(d instanceof HTMLElement)return d;let g=Array.from(document.querySelectorAll("[data-composition-id]"));return g.find(h=>!h.parentElement?.closest("[data-composition-id]"))??g[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,g=C()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[g]=d[0];else for(let y=0;y<d.length;y++)h[`tl-${y}`]=d[y];window.__timelines=h}let R=C();R&&!R.hasAttribute("data-start")&&R.setAttribute("data-start","0");let T=d=>{a.push(d)},M=(d,g,h)=>{let y=h??`${d}:${JSON.stringify(g)}`;l.has(y)||(l.add(y),be({source:"hf-preview",type:"diagnostic",code:d,details:g}))},D=d=>{let g={scale:1,focusX:960,focusY:540},h=[],y=[],w={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>g,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>y,getRenderState:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},E=1/60,S=.75,A=.05,_=100,F=240,I=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},q=d=>{let g=d.toLowerCase();return g.includes("cannot read properties of null")||g.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:g.includes("failed to execute 'queryselector'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:g.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},W=d=>{if(d==null||d.trim()==="")return null;let g=Number.parseFloat(d);return!Number.isFinite(g)||g<=0?null:`${g}px`},Y=()=>C(),k=()=>{let d=Y();if(!d)return;let g=W(d.getAttribute("data-width")),h=W(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h),g&&d.style.setProperty("--comp-width",g),h&&d.style.setProperty("--comp-height",h)},U=()=>{let d=Y(),g=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of g){if(d&&h===d)continue;let y=h.getAttribute("data-duration"),w=h.getAttribute("data-end");y!=null&&!h.hasAttribute(as)&&h.setAttribute(as,y),w!=null&&!h.hasAttribute(ss)&&h.setAttribute(ss,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},ie=()=>{let d=Y();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let g=W(d.getAttribute("data-width")),h=W(d.getAttribute("data-height"));g&&(d.style.width=g),h&&(d.style.height=h);let y=Array.from(d.children);for(let w of y){let L=w.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let G=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",re=/translate\(\s*-50%\s*,\s*-50%\s*\)/.test(w.style.transform);if(G&&re&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Z=w.style.top,Ct=w.style.left,ye=w.style.width,gn=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let se=window.getComputedStyle(w);se.top!=="auto"||se.bottom!=="auto"||se.left!=="auto"||se.right!=="auto"||se.width!=="0px"||se.height!=="0px"||(w.style.top=Z,w.style.left=Ct,w.style.width=ye,w.style.height=gn)}let $=window.getComputedStyle(w),ue=$.position;if(ue!=="absolute"&&ue!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||$.top!=="auto"||$.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||$.left!=="auto"||$.right!=="auto"||(w.style.left="0"),L!=="audio"){let Z=W(w.getAttribute("data-width")),Ct=W(w.getAttribute("data-height")),ye=$.width!=="0px"&&$.width!=="auto",gn=$.height!=="0px"&&$.height!=="auto";Z?!w.style.width&&!ye&&(w.style.width=Z):!w.style.width&&$.width==="0px"&&(w.style.width="100%"),Ct?!w.style.height&&!gn&&(w.style.height=Ct):!w.style.height&&$.height==="0px"&&(w.style.height="100%")}}},P=(d,g=0,h)=>mt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,g),H=(d,g)=>mt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:g?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),V=d=>{let g=d.closest("[data-composition-id]"),h=g?P(g,0):null,y=g?H(g,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:g,inheritedStart:h,inheritedDuration:y}},j=d=>{let h=V(d).inheritedStart??0,y=Gt(d.getAttribute("data-start"));return d.hasAttribute("data-hf-auto-start")||y==null||h<=0?P(d,h):Pf({authoredStart:y,hostStart:h,basis:d.getAttribute(If)})};window.__hfResolveMediaStartSeconds=j,a.push(()=>{window.__hfResolveMediaStartSeconds===j&&delete window.__hfResolveMediaStartSeconds});let we=(d,g)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let w=h==="video"||h==="audio"?j(d):P(d,0),L=H(d),G=d.getAttribute("data-composition-id");if(G){let ke=(window.__timelines??{})[G],Fe=null;if(ke&&typeof ke.duration=="function"){let Z=Number(ke.duration());Number.isFinite(Z)&&Z>0&&(Fe=Z)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(as)||d.hasAttribute(ss))&&(L==null||L<=0)&&Fe!=null&&(L=Fe)}let re=L!=null&&L>0?w+L:Number.POSITIVE_INFINITY,$=window.__HF_EXPORT_RENDER_SEEK_CONFIG?Bo(w,e.canonicalFps):w,ue=window.__HF_EXPORT_RENDER_SEEK_CONFIG&&Number.isFinite(re)?Bo(re,e.canonicalFps):re;return g>=$&&(Number.isFinite(ue)?g<ue:!0)},z=!!document.querySelector("[data-composition-src]"),O=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let g of d){let h=g.getAttribute("data-composition-id");if(h&&g.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){O=!0;break}}}let B=!z&&!O,te=d=>{if(!d||typeof d.duration!="function")return null;try{let g=Number(d.duration());return Number.isFinite(g)?Math.max(0,g):null}catch{return null}},K=d=>typeof d=="number"&&Number.isFinite(d)&&d>E,ne=d=>{let g=ve(d.getAttribute("data-duration"));return g!=null&&g>0?g:Number.isFinite(d.duration)?Qe(d,d.duration):null},J=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let g=0;for(let h of d){let y=j(h);if(!Number.isFinite(y))continue;let w=ne(h);w==null||w<=E||(g=Math.max(g,Math.max(0,y)+w))}return g>E?g:null},X=()=>{let d=Y();if(!d)return null;let g=window.__timelines??{},h=mt({timelineRegistry:g,includeAuthoredTimingAttrs:!0}),y=0,w=ve(d.getAttribute("data-duration"));w!=null&&w>0&&(y=w);let L=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let G of L){if(!(G instanceof Element)||G.parentElement?.closest("[data-composition-id]")!==d)continue;let $=h.resolveStartForElement(G,0),ue=h.resolveDurationForElement(G);!Number.isFinite($)||ue==null||ue<=0||(y=Math.max(y,Math.max(0,$)+ue))}return y>E?y:null},Oe=()=>{let d=J();return typeof d!="number"||!Number.isFinite(d)||d<=E?null:d},Ne=d=>K(d)?Math.max(E,d*S):E,cn=()=>{let d=0;for(let g of e.deterministicAdapters){let h=g.getInferredDurationSeconds;if(typeof h!="function")continue;let y=null;try{y=h()}catch(w){N("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(d=Math.max(d,y))}return d>E?d:null},_e=(d,g=0)=>{let h=te(d),y=Oe(),w=X(),L=cn(),G=Math.max(y??0,w??0,L??0),re=Number.isFinite(g)&&g>E?g:0,$=0;return K(h)?$=Math.max(h,G,re):K(G)?$=Math.max(G,re):$=re,$>0?Math.max(0,$):0},Oi=()=>{let d=window.__timelines??{},g=se=>{let oe=Object.entries(d).filter(le=>!!le[1]&&typeof le[1].play=="function"&&typeof le[1].pause=="function");if(oe.length!==1)return{timeline:null};let he=oe[0];if(!he)return{timeline:null};let[xe,fe]=he;return{timeline:fe,selectedTimelineIds:[xe],selectedDurationSeconds:te(fe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:se,soleTimelineId:xe}}}},h=mt({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),y=Oe(),w=X(),L=Math.max(y??0,w??0)||null,G=Ne(L),re=se=>{let oe=document.querySelector(`[data-composition-id="${CSS.escape(se)}"]`);return oe?h.resolveStartForElement(oe,0):0},$=se=>{let oe=window.gsap;if(!oe||typeof oe.timeline!="function")return null;let he=oe.timeline({paused:!0});for(let xe of se)he.add(xe.timeline,re(xe.compositionId));return he},ue=(se,oe)=>{if(!K(se))return null;let he=window.gsap;if(!he||typeof he.timeline!="function")return null;let xe=he.timeline({paused:!0});if(oe)try{xe.add(oe,0)}catch(le){N("runtime.init.site2",le)}let fe=xe;if(typeof fe.to=="function")try{fe.to({},{duration:se})}catch(le){N("runtime.init.site3",le)}return xe},ke=(se,oe)=>{let he=se;if(typeof he.getChildren!="function")return[];try{let xe=he.getChildren(!0,!0,!0)??[];if(!Array.isArray(xe))return[];let fe=[];for(let le of oe)if(!xe.some(Je=>Je===le.timeline))try{let Je=re(le.compositionId);se.add(le.timeline,Je),fe.push(le.compositionId)}catch(Je){N("runtime.init.site4",Je)}return fe}catch{return[]}},Fe=Y(),Q=Fe?.getAttribute("data-composition-id")??null;if(!Q)return g("root_missing_composition_id");let Z=d[Q]??null,ye=(()=>{if(!Fe)return[];let se=new Set,oe=Array.from(Fe.querySelectorAll("[data-composition-id]")),he=[];for(let xe of oe){let fe=xe.getAttribute("data-composition-id");if(!fe||fe===Q||se.has(fe))continue;se.add(fe);let le=d[fe]??null;if(!le||typeof le.play!="function"||typeof le.pause!="function")continue;let lt=te(le);he.push({compositionId:fe,timeline:le,durationSeconds:lt??0})}return he})(),gn=se=>{for(let oe of se){let he=oe.timeline;if(typeof he.paused=="function")try{he.paused(!1)}catch(xe){N("runtime.init.site5",xe)}}};if(ye.length>0&&gn(ye),Z){let se=ye.length>0?ke(Z,ye):[];if((ye.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id='"+Q+"'])"))&&(gr=!0),se.length>0)try{let fe=Z.time();Z.seek(fe,!1)}catch{}let oe=te(Z);if(!K(oe)&&ye.length>0){let fe=ye.map(jm=>jm.compositionId),le=$(ye),lt=te(le);if(le&&K(lt))return{timeline:le,selectedTimelineIds:fe,selectedDurationSeconds:lt,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Q,rootDurationSeconds:oe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:lt,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:fe,autoNestedChildren:se}}};let Je=ue(L??0,Z),Yi=te(Je);if(Je&&K(Yi))return{timeline:Je,selectedTimelineIds:[Q],selectedDurationSeconds:Yi,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Q,rootDurationSeconds:oe,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Yi,selectedTimelineIds:[Q],autoNestedChildren:se}}}}if(!K(oe)&&ye.length===0){let fe=ue(L??0,Z),le=te(fe);if(fe&&K(le))return{timeline:fe,selectedTimelineIds:[Q],selectedDurationSeconds:le,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Q,rootDurationSeconds:oe,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:le,selectedTimelineIds:[Q]}}}}let he=ve(Fe?.getAttribute("data-duration")),xe=Math.max(K(he)?he:0,w??0);if(xe>0&&K(xe)&&K(oe)&&xe>=oe+.5){let fe=Z;if(typeof fe.to=="function")try{fe.to({},{duration:0},xe)}catch(lt){N("runtime.init.site6",lt)}let le=te(Z);if(K(le))return{timeline:Z,selectedTimelineIds:[Q],selectedDurationSeconds:le,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Q,rootDurationSeconds:oe,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:w,newDur:le}}}}return{timeline:Z,selectedTimelineIds:[Q],selectedDurationSeconds:oe,mediaDurationFloorSeconds:y,diagnostics:se.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Q,selectedDurationSeconds:oe,autoNestedChildren:se}}:void 0}}if(ye.length>0){let se=ye.map(xe=>xe.compositionId),oe=$(ye),he=te(oe);if(oe)return{timeline:oe,selectedTimelineIds:se,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:G,selectedDurationSeconds:he,mediaDurationFloorSeconds:y,selectedTimelineIds:se}}}}return g("root_composition_id_unmatched_in_registry")},gr=!1,Cm=d=>{let g=window.gsap,h=d;if(!(!h||typeof h.getChildren!="function"||!g||typeof g.parseEase!="function"))for(let y of h.getChildren(!0,!0,!0)){let w=y,L=w.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let G=w.vars?.keyframes,$=(G&&!Array.isArray(G)?G.ease:void 0)??w.vars?.ease??"none";try{let ue=g.parseEase($);typeof ue=="function"&&(L._ease=ue)}catch(ue){Le("keyframe_ease_repair_failed",{ease:typeof $=="string"?$:String($)}),N("runtime.keyframeEase.repair",ue)}}},dn=()=>{if(x(),!B)return!1;let d=e.capturedTimeline,g=te(d),h=K(g);if(d&&h&&gr)return!1;let y=Oi();if(!y.timeline)return!1;if(d&&d===y.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),Cm(e.capturedTimeline);let w=_e(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),ot(e.capturedTimeline)),w>0){try{m.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let G=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(G,!1),ot(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),mi(document)}if(y.diagnostics&&be({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),be({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=Y(),G=w>0?w:0,re=String(G>0?G:1),$=new Set,ue=Q=>Q.tagName.toLowerCase()===Ut,ke=new Set(document.querySelectorAll("[data-start]")),Fe=Q=>{let Z=Q.parentElement;for(;Z&&Z!==L;){if(ke.has(Z))return!0;Z=Z.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let Q of e.capturedTimeline.getChildren(!0))if(typeof Q.targets=="function")for(let Z of Q.targets())Z instanceof HTMLElement&&Z!==L&&(ue(Z)||Z.hasAttribute("data-start")||Fe(Z)||$.has(Z)||($.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",re),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(L instanceof HTMLElement)for(let Q of L.querySelectorAll("[id]"))Q instanceof HTMLElement&&Q!==L&&(Q.hasAttribute("data-start")||Fe(Q)||$.has(Q)||Q.tagName==="SCRIPT"||Q.tagName==="STYLE"||Q.tagName==="LINK"||ue(Q)||($.add(Q),Q.setAttribute("data-start","0"),Q.setAttribute("data-duration",re),Q.setAttribute("data-hf-autostamped","1")))}for(let L of fn)br.delete(L),ws(L);return!0},bs=()=>{if(e.tornDown)return;let d=Oi();if(!d.timeline){e.capturedTimeline=null,gr=!1,m.setDuration(0),Ar(e.currentTime);return}e.capturedTimeline!==d.timeline&&(gr=!1,dn()),Ar(e.currentTime)};t=()=>{bs(),st()},window.__hfForceTimelineRebind=bs;let Tm=()=>{let d=Y();if(!(d instanceof HTMLElement))return;let g=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),y=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),L=Number.isFinite(h)&&h>0&&Number.isFinite(y)&&y>0,G=g.width<=0||g.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!G||M("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:y,rectWidth:Math.round(g.width),rectHeight:Math.round(g.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Rm=()=>{e.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Tm()}))},km=()=>{i=d=>{let g=I(d.error??d.message).slice(0,F);if(!g)return;let h=q(g);be({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:g,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},o=d=>{let g=I(d.reason).slice(0,F);if(!g)return;let h=q(g);be({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:g}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",o)},Mm=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel='stylesheet']"));for(let h of d){let y=()=>{if(!(h instanceof Element))return;let w=h.tagName.toLowerCase(),L=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,G=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";M(G,{tagName:w,assetUrl:L,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${G}:${w}:${L??"unknown"}`)};h.addEventListener("error",y),T(()=>{h.removeEventListener("error",y)})}let g=document.fonts;g&&g.ready.then(()=>{if(e.tornDown)return;let h=Array.from(g).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);h.length!==0&&M("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(g).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Fm=(d,g)=>{if(!d.timeline)return!1;let h=e.capturedTimeline;if(h&&h===d.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{ot(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(y,!1),w&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){N("runtime.init.site7",L)}return be({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:g,previousTime:y,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Et=null,xs=!1,ys=!1,fn=new Set,br=new WeakMap,xr=()=>{e.tornDown||(Et!=null&&window.clearTimeout(Et),Et=window.setTimeout(()=>{if(e.tornDown||(Et=null,ys&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Oi();if(!d.timeline||!K(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){dn()&&(st(),Me(!0));return}if(xs)return;let h=te(e.capturedTimeline),y=d.selectedDurationSeconds??te(d.timeline);K(y)&&(!K(h)||y>=h+A)&&Fm(d,"manual")&&(xs=!0,be({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:y??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),st(),Me(!0))},_))},vs=d=>{d.currentTarget instanceof HTMLMediaElement&&ql(d.currentTarget)},Ss=d=>{d.currentTarget instanceof HTMLMediaElement&&$l(d.currentTarget)},As=d=>{d instanceof HTMLAudioElement&&wf(d)&&sn(d,an(d))},Es=d=>{let g=d.currentTarget;g instanceof HTMLMediaElement&&As(g)},Nm=()=>{for(let d of fn)d.removeEventListener("loadedmetadata",xr),d.removeEventListener("durationchange",xr),d.removeEventListener("loadedmetadata",vs),d.removeEventListener("loadedmetadata",Es),d.removeEventListener("error",Ss);fn.clear()},Hi=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let g of d){if(fn.has(g))continue;fn.add(g);let h=Number.parseFloat(g.dataset.volume??"");Number.isFinite(h)&&(g.volume=Math.max(0,Math.min(1,h))),g.addEventListener("loadedmetadata",xr),g.addEventListener("durationchange",xr),g.addEventListener("loadedmetadata",Es),As(g),g.addEventListener("loadedmetadata",vs),g.addEventListener("error",Ss),zl(g),g.preload!=="auto"&&(g.preload="auto"),g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&g.load(),ws(g)}},ws=d=>{br.has(d)||wl(d,e.capturedTimeline,_e(e.capturedTimeline,0),br,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Gi=new WeakMap,_s=d=>{let g=Gi.get(d);if(g!==void 0)return g;let h=window.getComputedStyle(d).position,y=h==="static"||h==="relative"||h==="sticky";return Gi.set(d,y),y},Bi=new WeakMap,Lm=d=>{let g=Bi.get(d);if(g!==void 0)return g;let h=d.querySelector("[data-start]")===null;return Bi.set(d,h),h},Dm=()=>{Gi=new WeakMap,Bi=new WeakMap},Ui=new WeakMap,yr=new WeakSet,vr=!1,Cs=d=>d.matches("audio[data-start]")||d.querySelector("audio[data-start]")!==null,Ts=new WeakMap,Sr=!0,Im=()=>{if(Sr){Sr=!1;for(let d of document.querySelectorAll(Ut)){let g=d.hasAttribute("data-hidden");Ts.get(d)!==g&&(Ts.set(d,g),d.id&&f.setGroupMuted(d.id,g))}}},Ar=(d,g=Array.from(document.querySelectorAll("[data-start]")))=>{let h=Y();for(let y of g){if(!(y instanceof HTMLElement))continue;if(y.hasAttribute("data-hidden")){yr.has(y)||(Ui.set(y,y.style.getPropertyValue("display")),yr.add(y),Cs(y)&&(vr=!0),Sr=!0),y.style.display="none",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&r?.setSourceVisibility(y,!1);continue}if(yr.has(y)){let L=Ui.get(y);L?y.style.display=L:y.style.removeProperty("display"),Ui.delete(y),yr.delete(y),Cs(y)&&(vr=!0),Sr=!0}let w=we(y,d);if(w){let L=y.parentElement;for(;L&&L!==h;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!we(L,d)){w=!1;break}L=L.parentElement}}y.style.visibility=w?"visible":"hidden",(y instanceof HTMLVideoElement||y instanceof HTMLImageElement)&&r?.setSourceVisibility(y,w),w?_s(y)&&y.style.removeProperty("display"):_s(y)&&Lm(y)&&(y.style.display="none")}vr&&m.isPlaying()&&(f.stopAll(),ji()),vr=!1,Im()},He=()=>{let d=Gl({shouldIncludeElement:h=>h.hasAttribute("data-start")||!!V(h).compositionRoot,resolveStartSeconds:h=>j(h),resolveDurationSeconds:h=>{let y=V(h),w=j(h),L=y.inheritedStart!=null&&y.inheritedDuration!=null&&y.inheritedDuration>0?Math.max(0,y.inheritedStart+y.inheritedDuration-w):null,G=Number.isFinite(h.duration)?Qe(h,h.duration):null,re=ve(h.dataset.duration),$=re!=null&&re>0?re:null;return Hl({isVideo:h.tagName==="VIDEO",sourceDuration:G,hostRemaining:L,explicitDuration:$})}});for(let h of d.mediaClips){let y=br.get(h.el);y&&(h.volumeKeyframes=y)}let g=e.mediaForceSyncNextTick;g&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Bl({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:g,onElementVolume:(h,y,w)=>f.setElementVolume(h,w),isWebAudioOwned:h=>f.ownsElement(h),isWebAudioRouted:h=>f.routesElement(h),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,be({source:"hf-preview",type:"media-autoplay-blocked"}))}}),Ar(e.currentTime)},Me=d=>{let g=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),h=Date.now();(d||g!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||h-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=g,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=h,be({source:"hf-preview",type:"state",frame:g,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},Wi="",Rs=0,Pm=()=>{let d="";for(let g of document.querySelectorAll("[data-start]"))d+=`${g.id}:${g.tagName}|`;return d},st=()=>{U(),k(),ie();let d=Y();if(d){let y=W(d.getAttribute("data-width")),w=W(d.getAttribute("data-height")),L=y?parseInt(y,10):0,G=w?parseInt(w,10):0;L>0&&G>0&&be({source:"hf-preview",type:"stage-size",width:L,height:G})}dn();let g=ku({canonicalFps:e.canonicalFps});window.__clipManifest=g;let h=Pm();if(Wi!==h&&Dm(),!window.__clipTree||Wi!==h){let y=window;window.__clipTree=_u({startResolver:mt({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:g.durationInFrames/e.canonicalFps}),Wi=h}be(g),Rm()},Vi=d=>typeof d=="number"&&Number.isFinite(d)&&d>0?d:0,Om=d=>{let g=Vi(Number(d));if(g<=0)return;let h=Y(),y=Vi(ve(h?.getAttribute("data-duration"))),w=Math.max(Rs,Vi(m.getDuration()),y);g<=w||(Rs=g,h?.setAttribute("data-duration",String(g)),m.setDuration(g),st(),Me(!0))},Ge=(d,g=0)=>{for(let h of e.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(y){N("runtime.init.site8",y)}if(d==="discover")try{h.seek({time:g,suppressEvents:!0})}catch(y){N("runtime.init.site9",y)}}},wt=()=>{window.__renderReady=!1},mn=null,pn=!0,Hm=()=>{let d=[];for(let g of e.deterministicAdapters){let h=g.getReadyPromise;if(typeof h=="function")try{let y=h();y&&d.push(y)}catch(y){N("runtime.init.adapterReady",y)}}return d},Gm=()=>{let d=Hm();if(d.length===0)return mn=null,pn=!0,!0;let g=d[0];if(!g)return!0;let h=d.length===1?g:Promise.all(d);return h!==mn&&(mn=h,pn=!1,Promise.resolve(h).then(()=>{mn===h&&(pn=!0,wt())},y=>{mn===h&&(pn=!0,N("runtime.init.adapterReady",y),wt())})),pn};if(B)Ta();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:W,onDiagnostic:({code:g,details:h})=>{be({source:"hf-preview",type:"diagnostic",code:g,details:h})}};vd(d).then(()=>yd(d)).finally(()=>{B=!0,Hi(),Mm(),Ta(),Da(document),wt()})}let Er=vu({postMessage:d=>be(d)});Er.installPickerApi(),Ar(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=af();r=ze,T(()=>{ze.destroy(),r=null});let zi=d=>{let g=Number(d);!Number.isFinite(g)||g<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,g)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let h=document.querySelectorAll("video, audio");for(let y of h)if(y instanceof HTMLMediaElement)try{y.playbackRate=e.playbackRate}catch(w){N("runtime.init.site10",w)}},ks={play:()=>{let d=e.capturedTimeline;if(m.isPlaying())return;let g=_e(d,0);if(g>0)m.setDuration(g),m.reachedEnd()&&(m.seek(0),e.currentTime=0,_t(0));else{let h=Y(),y=Number(h?.getAttribute("data-duration")??0);y>0&&m.setDuration(y)}ot(d),m.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Os(m.now()),p&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&ji(),Ge("play"),He(),ze.redraw(),Me(!0))},pause:()=>{if(!m.isPlaying())return;f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1,e.currentTime=m.now(),e.mediaForceSyncNextTick=!0,Os(e.currentTime);let d=e.capturedTimeline;ot(d),Ge("pause"),He(),ze.redraw(),Me(!0)},seek:(d,g)=>{let h=$t(Math.max(0,Number(d)||0),e.canonicalFps);f.stopAll(),m.detachAudioSource();let y=m.isPlaying();y&&m.pause(),m.seek(h),e.currentTime=m.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let w=e.capturedTimeline;if(ot(w),_t(e.currentTime),Ge("pause"),g?.keepPlaying&&y){ks.play();return}He(),ze.redraw(),Me(!0)},renderSeek:(d,g)=>{ys=!0;let h=$t(Math.max(0,Number(d)||0),e.canonicalFps);f.stopAll(),m.detachAudioSource(),m.isPlaying()&&m.pause(),m.seek(h),e.currentTime=m.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,_t(e.currentTime,{activateChildren:!0,suppressEvents:g?.suppressEvents}),Ge("pause"),He(),ze.redraw(),Me(!0)},getTime:()=>m.now(),getDuration:()=>{let d=m.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>m.isPlaying(),setPlaybackRate:d=>{zi(d),m.setRate(e.playbackRate),Hs()},getPlaybackRate:()=>e.playbackRate},Ms=_e(e.capturedTimeline,0);Ms>0&&m.setDuration(Ms);let Be=Eu({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:zi,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,g)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==g&&(e.mediaForceSyncNextTick=!0),e.isPlaying=g,He()},onStatePost:Me,onDeterministicSeek:(d,g)=>{for(let h of e.deterministicAdapters)if(!(h.name==="gsap"&&e.capturedTimeline))try{h.seek({time:Number(d)||0,suppressEvents:g?.suppressEvents})}catch(y){N("runtime.init.site11",y)}},onDeterministicPause:()=>Ge("pause"),onDeterministicPlay:()=>Ge("play"),onRenderFrameSeek:()=>{ze.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>_e(e.capturedTimeline,0),transport:ks});window.__player=D(Be),window.__playerReady=!0,Le("composition_loaded",{duration:Be.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[gl(),Qs({resolveStartSeconds:d=>P(d,0)}),el(),nl(),ol(),al(),sl(),ll(),ul(),cl(),dl(),Zs({getTimeline:()=>e.capturedTimeline})],pl(),hl(),window.__hfReseekGpu=d=>{let g=Math.max(0,Number(d)||0);window.__hfThreeTime=g,window.__hfTypegpuTime=g,Fr(g)},window.__hfWaitForSeekCompletion=ao,a.push(()=>{window.__hfWaitForSeekCompletion===ao&&delete window.__hfWaitForSeekCompletion}),km(),Hi(),Ge("discover");let Bm=()=>{let d=e.capturedTimeline,g=dn();e.capturedTimeline&&(g||e.capturedTimeline!==d||!Be._timeline)&&(Be._timeline=e.capturedTimeline);let h=_e(e.capturedTimeline,0);if(h>0&&m.setDuration(h),Ge("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(L=>y[L]);if(w.length>0){let G=Y()?.getAttribute("data-composition-id")??null;M("root_timeline_unbound_registry_present",{reason:G?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:G,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \u2014 render will freeze at t=0. "+(G?`Root data-composition-id is "${G}" 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["${G??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,st(),Me(!0)},It=null,Um=()=>{if(It)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),It=null,wt()};It=d,window.addEventListener("hf-timelines-built",d)};T(()=>{It&&(window.removeEventListener("hf-timelines-built",It),It=null)}),wt=()=>{if(!B){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,Um();return}if(Ge("discover",e.currentTime),!Gm()){window.__renderReady=!1;return}Bm()},wt(),B&&setTimeout(()=>{wt()},0);let wr=0,qi=!1,Fs=Number.NaN,Ns=null,$i=!1,Wm=(d,g,h,y)=>{try{let w=y?.suppressEvents===!0;ot(d),typeof d.totalTime=="function"?d.totalTime(g,w):d.seek(g,w)}catch(w){N(h,w)}},Vm=(d,g)=>{let h=window.__timelines??{},y=Y()?.getAttribute("data-composition-id")??null;for(let[w,L]of Object.entries(h)){if(!L||w===y)continue;let G=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!G)continue;let re=P(G,0);if(!Number.isFinite(re))continue;let $=te(L),ue=$e(G)+Math.max(0,d-re)*Ce(G),ke=Math.max(0,$!=null&&$>0?Math.min($,ue):ue);Wm(L,ke,"runtime.init.transport.childTimeline",g)}},Ls=d=>{let g=window.__timelines??{};for(let h of Object.values(g))if(!(!h||h===d))try{h.play()}catch(y){N("runtime.init.activateSiblings",y)}},Ds=d=>typeof d=="object"&&d!==null,hn=new WeakMap,zm=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],Is=(d,g)=>{let h=d[g];if(typeof h!="function")return null;try{let y=Number(h.call(d));return Number.isFinite(y)?y:null}catch(y){return N("runtime.init.gsapCallbackDuration",y),null}},qm=d=>{let g=hn.get(d);if(g!=null)return g;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let h;try{h=d.getChildren(!0,!0,!0)}catch(y){return N("runtime.init.gsapCallbackChildren",y),hn.set(d,!1),!1}if(!Array.isArray(h))return hn.set(d,!1),!1;for(let y of h){if(!Ds(y))continue;let w=y.vars;if(!Ds(w)||!zm.some($=>typeof w[$]=="function"))continue;let re=Is(y,"totalDuration")??Is(y,"duration");if(re!=null&&re<=1e-6)return hn.set(d,!0),!0}return hn.set(d,!1),!1};function _t(d,g){let h=e.capturedTimeline,y=g?.suppressEvents===!0;if(h){g?.activateChildren&&Ls(h);let w=h,L=d;if(typeof w.totalDuration=="function")try{let G=Number(w.totalDuration());Number.isFinite(G)&&G>0&&d>G&&(L=G)}catch(G){N("runtime.init.transport.clampDuration",G)}try{typeof h.totalTime=="function"?(h.totalTime(L,y),!y&&!qm(h)&&(h.totalTime(L+.001,!0),h.totalTime(L,!0))):h.seek(L,y)}catch(G){N("runtime.init.transport.seek",G)}}Vm(d,g),h&&g?.activateChildren&&Ls(h);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&h))try{w.seek({time:d,suppressEvents:y})}catch(L){N("runtime.init.transport.adapter",L)}}let $m=()=>{try{return document.querySelector(`[${Cf}]`)!=null}catch{return!1}},Ps=()=>{if(!(e.tornDown||qi)){qi=!0;try{if(e.transportRafId=window.requestAnimationFrame(Ps),wr+=1,Tf({tick:wr,isPlaying:m.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:m.now()})){let y=e.capturedTimeline;if(dn()){e.capturedTimeline&&!Be._timeline&&(Be._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==y&&ot(e.capturedTimeline);let w=_e(e.capturedTimeline,0);w>0&&m.setDuration(w),st()}}if(wr%20===0&&st(),wr%30===0&&Hi(),e.capturedTimeline){let y=_e(e.capturedTimeline,0);y>0&&(!m.isPlaying()||y>=m.getDuration())&&m.setDuration(y)}if(m.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f.isActive()&&f.context){let y=f.getTime();y>=0&&m.attachAudioSource({currentTimeSeconds:y})}else{let y=document.querySelectorAll("audio[data-start]"),w=!1;for(let L of y){if(!(L instanceof HTMLMediaElement)||!L.isConnected||b(L))continue;let G=Number.parseFloat(L.dataset.start??""),re=ve(L.dataset.duration),$=re!=null&&re>0?G+re:1/0,ue=$e(L);if(Number.isFinite(G)&&e.currentTime>=G&&e.currentTime<$){L.paused?!L.error&&L.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(m.attachAudioSource({currentTimeSeconds:e.currentTime}),w=!0):(m.attachAudioSource({el:L,compositionStart:G,mediaStart:ue}),w=!0);break}}!w&&m.hasAudioSource()&&m.detachAudioSource()}else m.hasAudioSource()&&m.detachAudioSource();let d=m.now();e.currentTime=d;let g=m.isPlaying();if(!g&&$m()?$i=!0:(g||$i||d!==Fs||e.capturedTimeline!==Ns)&&(_t(d),Fs=d,Ns=e.capturedTimeline,g||($i=!1)),g&&ze.redrawAnimated(),m.isPlaying()&&m.reachedEnd()){f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1;let y=m.getDuration();Number.isFinite(y)&&(m.seek(y),e.currentTime=y,_t(y)),Ge("pause"),He(),Me(!0);return}m.isPlaying()&&He(),Me(!1)}finally{qi=!1}}},Os=d=>{let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=ve(h.dataset.duration),L=w!=null&&w>0?y+w:1/0;if(d<y||d>=L)continue;let G=$e(h),re=d-y+G;if(re>=0)try{h.currentTime=re}catch{}}},ji=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=f.startGeneration(),g=document.querySelectorAll("audio[data-start]");for(let h of g){if(!(h instanceof HTMLMediaElement)||!h.isConnected||b(h))continue;let y=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(y))continue;let w=$e(h),L=Number.parseFloat(h.dataset.volume??""),G=Number.isFinite(L)?L:1,re=ve(h.dataset.duration),$=re!=null&&re>0?re:Number.POSITIVE_INFINITY,ue=h.closest("[data-composition-id]");if(ue){let Q=P(ue,0),Z=H(ue,{includeAuthoredTimingAttrs:!0});Z!=null&&Z>0&&($=Math.min($,Math.max(0,Q+Z-y)))}let ke=an(h);sn(h,ke),(ke.kind==="web-audio"?f.scheduleMediaElementPlayback(h,y,w,m.now(),G,d,e.playbackRate):Promise.resolve(null)).then(Q=>{if(Q||!m.isPlaying())return;let Z=e.playbackRate*Ce(h),Ct=h.hasAttribute("data-fx-chain")||h.hasAttribute("data-automation");if(Math.abs(Z-1)>1e-9){ke.kind==="web-audio"&&Ct&&(h.muted=!0);return}f.decodeAudioElement(h).then(ye=>{!ye||!m.isPlaying()||f.schedulePlayback(h,ye,y,w,m.now(),G,d,e.playbackRate,$)})})}};function Hs(){f.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&p&&m.isPlaying()&&f.hasBoundedActiveSources()&&(f.stopAll(),ji())}if(e.capturedTimeline){let d=_e(e.capturedTimeline,0);d>0&&m.setDuration(d),ot(e.capturedTimeline)}Cd(window),e.transportRafId=window.requestAnimationFrame(Ps),st(),Me(!0),e.controlBridgeHandler=Ws({onPlay:()=>{Be.play(),Le("composition_played",{time:Be.getTime()})},onPause:()=>{Be.pause(),Le("composition_paused",{time:Be.getTime()})},onStopMedia:()=>{f.stopAll();let d=document.querySelectorAll("video, audio");for(let g of d)g instanceof HTMLMediaElement&&!g.paused&&g.pause()},onSeek:(d,g)=>{Be.seek(d),Le("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let g=d||e.mediaOutputMuted;f.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,f.setVolume(d);let g=document.querySelectorAll("video, audio");for(let h of g){if(!(h instanceof HTMLMediaElement))continue;let y=parseFloat(h.dataset.volume??""),w=Number.isFinite(y)?y:1;h.volume=Nr(w*d)}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let g=d||e.bridgeMuted;f.setMuted(g);let h=document.querySelectorAll("video, audio");for(let y of h)y instanceof HTMLMediaElement&&(y.muted=g||y.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(f.stopAll(),m.detachAudioSource()):He())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(f.stopAll(),m.detachAudioSource()),He())},onSetPlaybackRate:d=>{zi(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),Hs()},onSetRootDuration:Om,onSetColorGrading:(d,g)=>{ze.setGrading(d,g)},onSetColorGradingCompare:(d,g)=>{ze.setCompare(d,g)},onTick:()=>{if(e.tornDown||!m.isPlaying())return;let d=m.now();if(e.currentTime=d,_t(d),m.reachedEnd()){f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1;let g=m.getDuration();Number.isFinite(g)&&(m.seek(g),e.currentTime=g,_t(g)),Ge("pause"),He(),Me(!0)}},onEnablePickMode:()=>Er.enablePickMode(),onDisablePickMode:()=>Er.disablePickMode(),onSetRuntimeData:Ri,onClearRuntimeData:ki,getCanonicalFps:()=>e.canonicalFps});let Ki=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,f.destroy(),Et!=null&&(window.clearTimeout(Et),Et=null),s!=null&&(window.cancelAnimationFrame(s),s=null),Nm(),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),Er.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(g){N("runtime.init.site12",g)}e.deterministicAdapters=[];for(let d of a.splice(0))try{d()}catch(g){N("runtime.init.site13",g)}for(let d of e.injectedCompStyles)try{d.remove()}catch(g){N("runtime.init.site14",g)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(g){N("runtime.init.site15",g)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(g){N("runtime.init.site16",g)}e.injectedCompScripts=[],e.capturedTimeline=null,t=()=>{},window.__hfRuntimeTeardown===Ki&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Ki,e.beforeUnloadHandler=Ki,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var $f=["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"],ls=[[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 wy(e){if(e<=255)return $f[e];let t=0,n=ls.length-1;for(;t<=n;){let r=t+n>>1,i=ls[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function _y(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let b=e.charCodeAt(u+1);b>=56320&&b<=57343&&(m=(c-55296<<10)+(b-56320)+65536,f=2)}let p=wy(m);(p==="R"||p==="AL"||p==="AN")&&(r=!0);for(let b=0;b<f;b++)n[u+b]=p;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,p=m!=="L"?"R":"L";if(p===(f!=="L"?"R":"L"))for(let v=u;v<c;v++)n[v]=p;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function jf(e,t){let n=_y(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 Cy=/[ \t\n\r\f]+/g,Ty=/[\t\n\r\f]| {2,}|^ | $/;function Ry(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function ky(e){if(!Ty.test(e))return e;let t=e.replace(Cy," ");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 My(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
704
|
+
`,Ss=new WeakMap;function As(e){return Xf.has(e)}var Xf=new WeakSet;function Es(e){let t=Ss.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(Wy)))}`;await e.audioWorklet.addModule(n),Xf.add(e)})().catch(n=>{throw Ss.delete(e),n}),Ss.set(e,t)),t}function Vy(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,l=()=>(a=a*1664525+1013904223>>>0,a/4294967295*2-1),s=Math.max(.001,1-Math.max(0,Math.min(1,n))),u=0,d=0;for(let f=0;f<i;f++){u+=s*(l()-u);let h=u*Math.pow(1-f/i,2.5);o[f]=h,d+=h*h}let m=Math.sqrt(d);if(m>0)for(let f=0;f<i;f++)o[f]=(o[f]??0)/m;return o}var ce=e=>typeof e=="number"?e:Number(e??0),ws=e=>e/1e3;function em(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 d=u/i;a[u]=t==="sine"?Math.sin(2*Math.PI*d):4*Math.abs((d+.75)%1-.5)-1}let l=e.createBufferSource();l.buffer=o,l.loop=!0,l.playbackRate.value=n;let s=(r*n%1+1)%1*(i/e.sampleRate);return l.start(typeof e.currentTime=="number"?e.currentTime:0,s),l}function tm(e){try{e.stop()}catch{}e.disconnect()}function _s(e,t){return[{param:e},{param:t,map:n=>1-n}]}function nm(e,t,n){e.gain.value=n,t.gain.value=1-n}function Cs(e,t,n){return{input:e,output:e,update:t,automation:n,dispose:()=>e.disconnect()}}var zy=new Set(["peaking","highpass","lowpass"]),Jf=e=>Math.pow(10,e/20),qy=(e,t)=>{let n=e.createGain(),r=i=>{n.gain.value=Jf(ce(i.gain))};return r(t),Cs(n,r,{gain:[{param:n.gain,map:Jf}]})};function yr(e,t){return(n,r)=>{let i=n.createBiquadFilter();i.type=e;let o=a=>{i.frequency.value=ce(a.frequency),a.q!==void 0&&(i.Q.value=ce(a.q)),t&&(i.gain.value=ce(a.gain))};return o(r),Cs(i,o,{frequency:[{param:i.frequency}],...zy.has(e)?{q:[{param:i.Q}]}:{},...t?{gain:[{param:i.gain}]}:{}})}}function $y(e){return(t,n)=>{let r=Math.tan(Math.PI*ce(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 Cs(i,()=>{})}}function vr(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 jy={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))},Ky=(e,t)=>{let n=e.createWaveShaper(),r=e.createGain(),i=e.createGain();r.connect(n).connect(i);let o=a=>{let l=jy[String(a.type)]??Math.tanh,s=Math.pow(10,ce(a.threshold)/20),u=8192,d=new Float32Array(u);for(let m=0;m<u;m++){let f=m/(u-1)*2-1;d[m]=l(f/Math.max(1e-6,s))*s}n.curve=d,n.oversample=ce(a.oversample)>=4?"4x":ce(a.oversample)>=2?"2x":"none",i.gain.value=Math.pow(10,ce(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()}}},Yy=(e,t)=>{let n=e.createGain(),r=e.createGain(),i=e.createDelay(5),o=e.createGain(),a=e.createGain(),l=e.createGain();n.connect(i),i.connect(o),o.connect(i),i.connect(a).connect(r),n.connect(l).connect(r);let s=u=>{i.delayTime.value=Math.min(5,ce(u.time)/1e3),o.gain.value=ce(u.feedback),nm(a,l,ce(u.mix))};return s(t),{input:n,output:r,update:s,automation:{time:[{param:i.delayTime,map:u=>Math.min(5,ws(u))}],feedback:[{param:o.gain}],mix:_s(a.gain,l.gain)},dispose:()=>[n,r,i,o,a,l].forEach(u=>u.disconnect())}},Xy=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createDelay(.5),a=em(e,"sine",ce(t.speed),n),l=e.createGain(),s=e.createGain(),u=e.createGain();a.connect(l).connect(o.delayTime),r.connect(o).connect(s).connect(i),r.connect(u).connect(i);let d=m=>{o.delayTime.value=ce(m.delay)/1e3,l.gain.value=ce(m.depth)/1e3,a.playbackRate.value=ce(m.speed),nm(s,u,ce(m.mix))};return d(t),{input:r,output:i,update:d,automation:{delay:[{param:o.delayTime,map:ws}],depth:[{param:l.gain,map:ws}],speed:[{param:a.playbackRate}],mix:_s(s.gain,u.gain)},dispose:()=>{tm(a),[r,i,o,l,s,u].forEach(m=>m.disconnect())}}},Jy=6,Qy=(e,t,n)=>{let r=e.createGain(),i=e.createGain(),o=e.createGain(),a=e.createGain(),l=em(e,String(t.type)==="1"?"sine":"triangle",ce(t.speed),n),s=e.createGain(),u=e.createGain(),d=e.createGain(),m=[];r.connect(o);let f=o;for(let b=0;b<Jy;b++){let v=e.createBiquadFilter();v.type="allpass",v.Q.value=.7071,s.connect(v.frequency),f.connect(v),f=v,m.push(v)}l.connect(s),f.connect(u).connect(a),o.connect(d).connect(a),a.connect(i);let h=b=>{let v=1e3/Math.max(.1,ce(b.delay));for(let x of m)x.frequency.value=v;s.gain.value=v*ce(b.decay),l.playbackRate.value=ce(b.speed),o.gain.value=ce(b.in_gain),a.gain.value=ce(b.out_gain),u.gain.value=1,d.gain.value=1};return h(t),{input:r,output:i,update:h,automation:{speed:[{param:l.playbackRate}],in_gain:[{param:o.gain}],out_gain:[{param:a.gain}]},dispose:()=>{tm(l),[r,i,o,a,s,u,d,...m].forEach(b=>b.disconnect())}}},Zy=(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 l="",s=u=>{let d=`${ce(u.size)}:${ce(u.damping)}`;if(d!==l){let m=Vy(e.sampleRate,ce(u.size),ce(u.damping)),f=e.createBuffer(1,m.length,e.sampleRate);f.getChannelData(0).set(m),i.buffer=f,l=d}o.gain.value=ce(u.wet),a.gain.value=ce(u.dry)};return s(t),{input:n,output:r,update:s,automation:{wet:[{param:o.gain}],dry:[{param:a.gain}]},dispose:()=>[n,r,i,o,a].forEach(u=>u.disconnect())}},ev={"gain-node":qy,"biquad-peaking":yr("peaking",!0),"biquad-lowshelf":yr("lowshelf",!0),"biquad-highshelf":yr("highshelf",!0),"biquad-highpass":yr("highpass",!1),"biquad-lowpass":yr("lowpass",!1),"worklet-compressor":vr("hf-compressor"),"worklet-limiter":vr("hf-limiter"),"worklet-gate":vr("hf-gate"),"worklet-bitcrush":vr("hf-bitcrush"),"worklet-pitchshift":vr("hf-pitchshift"),waveshaper:Ky,"delay-feedback":Yy,"chorus-lfo":Xy,"allpass-phaser":Qy,convolver:Zy};function rm(e){return e.nodes.some(t=>Nn(t.type)?.web.startsWith("worklet-")??!1)}function tv(e,t,n,r=0){let i=Nn(t);if(!i)throw new Error(`Unknown effect type: ${t}`);let o=Ln(t,n);if((t==="highpass"||t==="lowpass")&&String(o.poles)==="1")return $y(t)(e,o,r);let a=ev[i.web];if(!a)throw new Error(`No Web Audio builder for ${i.web}`);return a(e,o,r)}function Qf(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 Zf(e){return Dn(e).map(t=>{let n=Ln(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 im(e,t,n=0){var m;let r=e.createGain(),i=e.createGain(),o=[],a=[],l=Qf(Dn(t)),s=r;for(let f of l){let h=null;if(f.preset){let b=e.createGain(),v=e.createGain(),x=e.createGain(),_=e.createGain();x.gain.value=f.amount,v.gain.value=1-f.amount,s.connect(b),b.connect(v).connect(_),h={entry:b,wet:x,dry:v,join:_},s=b}for(let b of f.nodes){let v=tv(e,b.type,b.params??{},n);s.connect(v.input),s=v.output,o.push({...b.id?{id:b.id}:{},type:b.type,handle:v})}h&&f.preset&&(s.connect(h.wet).connect(h.join),a.push({id:f.preset,...h}),s=h.join)}s.connect(i);let u=Zf(t),d={};for(let f of a)(d[m=f.id]??(d[m]=[])).push(..._s(f.wet.gain,f.dry.gain));return{input:r,output:i,presets:d,nodes:o,update(f){if(Zf(f)!==u)return!1;Dn(f).forEach((b,v)=>{let x=o[v];x&&(x.handle.update(Ln(b.type,b.params)),b.id===void 0?delete x.id:x.id=b.id)});let h=0;for(let b of Qf(Dn(f))){if(!b.preset)continue;let v=a[h++];!v||v.id!==b.preset||(v.wet.gain.value=b.amount,v.dry.gain.value=1-b.amount)}return!0},dispose(){for(let{handle:f}of o)f.dispose();for(let{entry:f,wet:h,dry:b,join:v}of a)f.disconnect(),h.disconnect(),b.disconnect(),v.disconnect();r.disconnect(),i.disconnect()}}}var om={version:1,nodes:[]},am={version:1,lanes:[]};function sm(e,t){let n=(typeof e.getAttribute=="function"?e.getAttribute(ot):null)??"";if(!n)return am;try{return yu(ai(n),t)}catch{return am}}function fn(e){let t=(typeof e.getAttribute=="function"?e.getAttribute(Lt):null)??"";if(!t)return{chain:om,raw:""};try{return{chain:gu(t),raw:t}}catch{return{chain:om,raw:""}}}function lm(e){return sm(e,fn(e).chain)}function ji(e,t,n,r,i){let{chain:o}=fn(t),a=null,l=[],s=!1,u=0,d=()=>{try{a?(n.disconnect(a.input),a.output.disconnect(r),a.dispose()):n.disconnect(r)}catch{}a=null},m=(R,F)=>{if(R.nodes.length===0){n.connect(r);return}if(rm(R)&&!As(e)){n.connect(r);let D=++u;Es(e).then(()=>{s||D!==u||x(fn(t).chain)}).catch(()=>{});return}try{let D=im(e,R,F);n.connect(D.input),D.output.connect(r),a=D}catch{n.connect(r)}},f=(R,F)=>{l=F&&a?Kf(sm(t,R),R,a.nodes,F,a.presets):[]},h=i?{...i}:null;m(o,h?.elapsed??0),f(o,h);let b=()=>{if(!h)return null;let R=typeof e.currentTime=="number"?e.currentTime:h.scheduledAt;return{scheduledAt:R,elapsed:h.elapsed+(R-h.scheduledAt)*h.rate,rate:h.rate}},v=R=>{let F=b();F&&(dn(l,F.scheduledAt),f(R,F))},x=R=>{let F=b();dn(l,F?.scheduledAt??0),d(),m(R,F?.elapsed??0),f(R,F)},_=null,T=t;return typeof MutationObserver<"u"&&typeof T?.nodeType=="number"&&(_=new MutationObserver(()=>{let R=fn(t);l.length>0&&xr(l),!a||!a.update(R.chain)?x(R.chain):v(R.chain)}),_.observe(T,{attributes:!0,attributeFilter:[Lt,ot]})),{reanchor:R=>{if(s)return;let F=b();F&&dn(l,F.scheduledAt),h={...R},f(fn(t).chain,h)},setRate:R=>{let F=b();s||!F||!Number.isFinite(R)||R<=0||R===F.rate||(h={...F,rate:R},dn(l,F.scheduledAt),f(fn(t).chain,h))},dispose:()=>{s=!0,_?.disconnect(),l.length>0&&dn(l,typeof e.currentTime=="number"?e.currentTime:0),a?.dispose()}}}var um="runtime_web_audio_bypass";function Rs(e,t){return typeof e.getAttribute=="function"?e.getAttribute(t):null}function Sr(e,t){return Rs(e,t)!==null}function nv(e){return Sr(e,"crossorigin")?!0:e.crossOrigin!=null}function rv(e){return typeof e.baseURI=="string"&&e.baseURI?e.baseURI:typeof document<"u"?document.baseURI:""}function iv(e){let t=typeof e.currentSrc=="string"?e.currentSrc:"";if(t)return[t];let n=Rs(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 ov(e,t){if(typeof window>"u")return!1;let n;try{n=new URL(e,rv(t))}catch{return!1}return n.protocol!=="http:"&&n.protocol!=="https:"||n.origin===window.location.origin?!1:!nv(t)}function dm(e){return(typeof e.currentSrc=="string"?e.currentSrc:"")?!0:Sr(e,"src")}function mn(e){for(let t of iv(e))if(ov(t,e))return{kind:"decode-only",reason:"cross_origin_no_cors",asset:t};return{kind:"web-audio"}}function av(e){let t=[];Sr(e,Lt)&&t.push("fx-chain"),Sr(e,ot)&&t.push("automation"),Sr(e,li)&&t.push("audio-group");let n=Number.parseFloat(Rs(e,"data-volume")??"");return Number.isFinite(n)&&n>1&&t.push("above-unity-gain"),t}function sv(){return typeof window<"u"&&!!window.__HF_EXPORT_RENDER_SEEK_CONFIG}var cm=new WeakSet;function pn(e,t){if(t.kind==="web-audio"||sv()||cm.has(e))return;let n=av(e);cm.add(e);let r={asset:t.asset,reason:t.reason,lostProcessing:n,note:"cross-origin media without a `crossorigin` opt-in is silent through createMediaElementSource (Web Audio spec); using native playback instead"};ye({source:"hf-preview",type:"diagnostic",code:um,details:r});let i=n.length>0?` Native playback cannot reproduce: ${n.join(", ")} \u2014 proxy or download the asset to a same-origin URL to keep it.`:"";console.info(`[hyperframes] ${um}: "${t.asset}" (${t.reason}): Web Audio capture withheld; the track plays through native HTMLMediaElement output.${i}`)}function Ts(e){return!Number.isFinite(e)||e<=0?1:e}function fm(e){return Ge(e)}function lv(e,t){t||e.paused||!qr().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function uv(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,globalRate:o,mediaRate:a,clipDuration:l}=t,s=Number.isFinite(l)&&l>0,u=l*a;if(n>=0){let m=n*a,f=u-m;return s&&f<=0?!1:(s?e.start(0,m+r,f):e.start(0,m+r),!0)}let d=-n/o;return s?e.start(i+d,r,u):e.start(i+d,r),!0}function Ki(e,t,n){let r=Yf(lm(e));r&&vs([{param:t.gain}],r,oi.scale,n)}function Ar(e){return e.sourceKind==="buffer"}var Yi=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_mediaElementSources",new WeakMap);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_masterVolume",1);xe(this,"_masterMuted",!1);xe(this,"_groups",new Map);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),this.applyMasterGain(),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return N("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return N("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),N("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 o=mn(t);if(o.kind!=="web-audio"){try{n.disconnect()}catch{}return this._mediaElementSources.delete(t),pn(t,o),null}return n}if(!this._ctx)return null;let r=mn(t);if(r.kind!=="web-audio")return pn(t,r),null;let i=this._ctx.createMediaElementSource(t);return this._mediaElementSources.set(t,i),i}async scheduleMediaElementPlayback(t,n,r,i,o,a,l=1){if(!this._ctx||!this._masterGain||a!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),a!==this._playGeneration)return null;let s=this.acquireMediaElementSource(t);if(!s)return null;let u=Ts(l),d=this._ctx.createGain();d.gain.value=o;let m=this._ctx.currentTime,f=i-n,h={scheduledAt:m,elapsed:f,rate:u},b=ji(this._ctx,t,s,d,h);d.connect(this.resolveDestination(t,m,i,u)??this._masterGain),Ki(t,d,h),this._rate=u,this._rateAnchorCtx=m,this._rateAnchorComp=i;let v={fx:b,el:t,sourceNode:s,sourceKind:"media-element",gainNode:d,compositionStart:n,mediaStart:r,scheduledAt:m,priorMuted:t.muted,priorVolume:t.volume,mediaPlaybackRate:Me(t),bounded:!1};return t.volume=1,this._activeSources.push(v),this._paused=!1,v}catch(s){return N("webAudioTransport.mediaElementSource",s),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(f){N("webAudioTransport.groupReanchor",f)}return i.input}if(!this._ctx||!this._masterGain)return null;let o=this._ctx.createGain(),a=this._ctx.createGain();a.connect(this._masterGain);let l=()=>Wo(n,t),s=l(),u=this._ctx.createGain();u.gain.value=s?.hasAttribute("data-hidden")?0:1,u.connect(a);let d=this._ctx.createGain();d.gain.value=fm(Uo(s)),d.connect(u);let m=ji(this._ctx,s??{getAttribute:()=>null},o,d,r);return s&&Ki(s,d,r),this._groups.set(t,{input:o,fader:d,muteGain:u,fx:m,generation:this._playGeneration,reanchor:f=>{xr([{param:d.gain}]);let h=l();d.gain.value=fm(Uo(h)),u.gain.value=h?.hasAttribute("data-hidden")?0:1,m?.reanchor(f),h&&Ki(h,d,f)},dispose:()=>{try{m?.dispose(),o.disconnect(),d.disconnect(),u.disconnect(),a.disconnect()}catch{}}}),o}setGroupMuted(t,n){let r=this._groups.get(t);if(r)try{r.muteGain.gain.value=n?0:1}catch(i){N("webAudioTransport.setGroupMuted",i)}}resolveDestination(t,n,r,i){if(!this._masterGain)return null;let o=Eu(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,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let d=Ts(s),m=Me(t),f=d*m,h=this._ctx.createBufferSource();h.buffer=n,h.playbackRate.value=f;let b=this._ctx.createGain();b.gain.value=a;let v=o-r,x=this._ctx.currentTime,_={scheduledAt:x,elapsed:v,rate:d},T=ji(this._ctx,t,h,b,_);if(b.connect(this.resolveDestination(t,x,o,d)??this._masterGain),Ki(t,b,_),this._rate=d,this._rateAnchorCtx=x,this._rateAnchorComp=o,!uv(h,{elapsed:v,mediaStart:i,scheduledAt:x,globalRate:d,mediaRate:m,clipDuration:u}))return h.disconnect(),T?.dispose(),b.disconnect(),null;let R=t.muted;t.muted=!0,lv(t,R);let F={fx:T,el:t,sourceNode:h,sourceKind:"buffer",gainNode:b,compositionStart:r,mediaStart:i,scheduledAt:x,priorMuted:R,priorVolume:t.volume,mediaPlaybackRate:m,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(F),this._paused=!1,h.addEventListener("ended",()=>this.handleSourceEnded(h,F,t,R)),F}catch(d){return N("webAudioTransport.schedule",d),null}}setRate(t){let n=Ts(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{Ar(r)&&(r.sourceNode.playbackRate.value=n*r.mediaPlaybackRate),r.fx?.setRate(n)}catch(i){N("webAudioTransport.setRate",i)}for(let r of this._groups.values())try{r.fx?.setRate(n)}catch(i){N("webAudioTransport.setRate.group",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>Ar(t)&&t.bounded)}stopAll(){for(let t of this._activeSources){try{Ar(t)&&t.sourceNode.stop(),t.sourceNode.disconnect(),t.fx?.dispose(),t.gainNode.disconnect()}catch{}Ar(t)?t.el.muted=t.priorMuted:t.el.volume=t.priorVolume}this._activeSources=[],this._paused=!0}setVolume(t){this._masterVolume=Math.max(0,Math.min(1,t)),this.applyMasterGain()}setElementVolume(t,n){let r=Ge(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){N("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterMuted=t,this.applyMasterGain()}applyMasterGain(){this._masterGain&&(this._masterGain.gain.value=this._masterMuted?0:this._masterVolume)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t&&Ar(n))}routesElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){this.stopAll();for(let t of this._groups.values())t.dispose();if(this._groups.clear(),this._bufferCache.clear(),this._failedSrcs.clear(),this._mediaElementSources=new WeakMap,this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null,this._masterVolume=1,this._masterMuted=!1}};var Er="data-hf-studio-manual-edit-gesture";var mm=`[${Er}]`;function pm(e,t){let n=e.defaultView?.MutationObserver??globalThis.MutationObserver;if(!n||!e.documentElement)return{isActive:()=>e.querySelector(mm)!=null,observing:!1,disconnect:()=>{}};let r=new Set(e.querySelectorAll(mm)),i=l=>{for(let s of l){let u=s.target;Fe(u)&&(u.hasAttribute(Er)?r.add(u):r.delete(u))}},o=l=>{l.length!==0&&(i(l),t())},a=new n(o);return a.observe(e.documentElement,{subtree:!0,attributes:!0,attributeFilter:[Er]}),{observing:!0,isActive:()=>{o(a.takeRecords());for(let l of r){if(l.isConnected&&l.hasAttribute(Er))return!0;r.delete(l)}return!1},disconnect:()=>{a.disconnect(),r.clear()}}}var hm=333.3333333333333;function gm(e){return e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2?!1:e.compositionChanged===!0?!0:Number.isInteger(e.tick)&&e.tick>0&&e.tick%60===0}var cv=/^\s*spring\(\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+))\s*\)\s*$/;function bm(e){return Math.max(0,Math.min(1,e))}function xm(e){let t=cv.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?bm(n):null}function ym(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=bm(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 dv=/^\s*wiggle\(\s*(\d+)\s*,\s*(easeOut|easeInOut|anticipate|uniform)\s*(?:,\s*([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?)\s*)?\)\s*$/,fv=Math.PI*2;function mv(e){let t=dv.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 pv(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(fv*t*e)}function vm(e,t){let n=mv(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=>pv(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var hv=24,Sm=e=>e>=1?1:0,gv=e=>e,Xi=String.raw`([+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)`,bv=new RegExp(String.raw`^\s*M\s*0\s*,\s*0\s+C\s*${Xi}\s*,\s*${Xi}\s+${Xi}\s*,\s*${Xi}\s+1\s*,\s*1\s*$`,"i");function Am(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function xv(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<hv;l+=1){let s=(o+a)/2;Am(s,t,r)<e?o=s:a=s}return Am((o+a)/2,n,i)}function yv(e){let t=bv.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=>xv(a,n,r,i,o)}function vv(e,t){if(!e.startsWith("spring("))return null;let n=xm(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>ym(o,n);return t.set(n,i),i}function Sv(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=yv(n);return i&&t.set(n,i),i}function Em(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?Sm:vm(s,i)??vv(s,r)??Sv(s,n),a=(s,u,d=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\(|$)/.test(s.trim())&&Oe("custom_ease_parse_failed",{ease:s}),t.call(u,s,...d)??gv)};e.parseEase=function(u,...d){return a(u,this,d)};let l=e.registerEase;if(typeof l=="function"){l("hold",Sm);let s=u=>{let d=m=>m;d.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,d)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Ms=new Map,wr=new Map,ks=new Map,Fs=()=>{},_m=()=>{},wm=0;function Ns(e){return/^[a-z][a-z0-9-]{0,63}$/.test(e)}function Cm(e){let t=(ks.get(e)??0)+1;return ks.set(e,t),t}function Rm(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0?e:(wm-=1,wm)}function Ls(e,t){let n=wr.get(e);if(!n)return;let r=()=>ks.get(e)===t.generation&&wr.get(e)===n;try{Promise.resolve(n(t.payload)).then(()=>{r()&&_m(e,t.requestId)},i=>{r()&&Fs(e,t.requestId,i)})}catch(i){r()&&Fs(e,t.requestId,i)}}function Tm(e){Fs=e}function km(e){_m=e}function Ji(e,t,n){if(!Ns(e))return;let r={payload:t,requestId:Rm(n),generation:Cm(e)};Ms.set(e,r),Ls(e,r)}function Qi(e,t){Ns(e)&&(Ms.delete(e),Ls(e,{payload:void 0,requestId:Rm(t),generation:Cm(e)}))}function Fm(e,t){if(!Ns(e))throw new Error(`Invalid HyperFrames runtime-data channel: ${e}`);wr.set(e,t);let n=Ms.get(e);return n&&Ls(e,n),()=>{wr.get(e)===t&&wr.delete(e)}}var Ds="data-hf-authored-duration",Is="data-hf-authored-end",Mm=!1;function ct(e){if(e){if(typeof e.pause!="function"){Mm||(Mm=!0,Oe("timeline_missing_pause",{}));return}try{e.pause()}catch(t){N("runtime.timeline.pause",t)}}}function wv(){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 Nm(){let e=dc(),t=()=>{};Rl(ye),Tm((c,p,g)=>{ye({source:"hf-preview",type:"runtime-data-error",channel:c,requestId:p,message:g instanceof Error?g.message:String(g)})}),km((c,p)=>{try{t()}catch(g){ye({source:"hf-preview",type:"runtime-data-error",channel:c,requestId:p,message:g instanceof Error?g.message:String(g)});return}ye({source:"hf-preview",type:"runtime-data-applied",channel:c,requestId:p})}),Pi(document),ls(document),wu(document);let n=wv();e.canonicalFps=n.fps??e.canonicalFps,_l(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:n.source,rawFpsSource:n.rawFpsSource,rawFps:n.rawFps,fallbackReason:n.fallbackReason});let r=null,i=null,o=null,a=[],l=new Set,s=null,u=new Set,d=(c,p,g)=>{u.has(c)||(u.add(c),Oe(p,g))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(c){N("runtime.init.site1",c)}let m=new $i;e.transportClock=m;let f=new Yi,h=!1;f.init().then(c=>{h=c}),window.__hf=window.__hf||{};let b=c=>c.closest("[data-hidden]")!==null||ui(c.ownerDocument,c),v=()=>{let c=window.gsap,p=window;if(!(!c?.registerPlugin||p.__hfAutoNoopRegistered))try{c.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch(g){d("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),N("runtime.autoMarker.install",g)}},x=()=>{let c=window.gsap;if(!c){d("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{Em(c)||d("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(p){d("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),N("runtime.customEase.install",p)}};v(),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{Dl(document)}catch(c){N("runtime.init.cssVariables",c)}window.__timelines=window.__timelines||{};let _=()=>{let c=document.querySelector('[data-composition-id][data-root="true"]');if(Se(c))return c;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(g=>!g.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let c=window.__timelines,p=_()?.getAttribute("data-composition-id")??"root",g={};if(c.length===1)g[p]=c[0];else for(let y=0;y<c.length;y++)g[`tl-${y}`]=c[y];window.__timelines=g}let T=_();T&&!T.hasAttribute("data-start")&&T.setAttribute("data-start","0");let R=c=>{a.push(c)},F=(c,p,g)=>{let y=g??`${c}:${JSON.stringify(p)}`;l.has(y)||(l.add(y),ye({source:"hf-preview",type:"diagnostic",code:c,details:p}))},D=c=>{let p={scale:1,focusX:960,focusY:540},g=[],y=[],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:()=>g,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:()=>y,getRenderState:()=>({...w,time:c.getTime(),duration:c.getDuration(),isPlaying:c.isPlaying()})}},E=1/60,S=.75,A=.05,C=100,M=240,P=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??"")}},H=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"}},j=c=>{if(c==null||c.trim()==="")return null;let p=Number.parseFloat(c);return!Number.isFinite(p)||p<=0?null:`${p}px`},J=()=>_(),k=()=>{let c=J();if(!c)return;let p=j(c.getAttribute("data-width")),g=j(c.getAttribute("data-height"));p&&(c.style.width=p),g&&(c.style.height=g),p&&c.style.setProperty("--comp-width",p),g&&c.style.setProperty("--comp-height",g)},U=()=>{let c=J(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(g=>g.hasAttribute("data-duration")||g.hasAttribute("data-end"));for(let g of p){if(c&&g===c)continue;let y=g.getAttribute("data-duration"),w=g.getAttribute("data-end");y!=null&&!g.hasAttribute(Ds)&&g.setAttribute(Ds,y),w!=null&&!g.hasAttribute(Is)&&g.setAttribute(Is,w),g.removeAttribute("data-duration"),g.removeAttribute("data-end")}},ne=()=>{let c=J();if(!c)return;c.style.position||(c.style.position="relative"),c.style.overflow="hidden";let p=j(c.getAttribute("data-width")),g=j(c.getAttribute("data-height"));p&&(c.style.width=p),g&&(c.style.height=g);let y=Array.from(c.children);for(let w of y){let L=w.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let I=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",K=/translate\(\s*-50%\s*,\s*-50%\s*\)/.test(w.style.transform);if(I&&K&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Q=w.style.top,Nt=w.style.left,we=w.style.width,_n=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let se=window.getComputedStyle(w);se.top!=="auto"||se.bottom!=="auto"||se.left!=="auto"||se.right!=="auto"||se.width!=="0px"||se.height!=="0px"||(w.style.top=Q,w.style.left=Nt,w.style.width=we,w.style.height=_n)}let $=window.getComputedStyle(w),re=$.position;if(re!=="absolute"&&re!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||$.top!=="auto"||$.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||$.left!=="auto"||$.right!=="auto"||(w.style.left="0"),L!=="audio"){let Q=j(w.getAttribute("data-width")),Nt=j(w.getAttribute("data-height")),we=$.width!=="0px"&&$.width!=="auto",_n=$.height!=="0px"&&$.height!=="auto";Q?!w.style.width&&!we&&(w.style.width=Q):!w.style.width&&$.width==="0px"&&(w.style.width="100%"),Nt?!w.style.height&&!_n&&(w.style.height=Nt):!w.style.height&&$.height==="0px"&&(w.style.height="100%")}}},B=c=>rt({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:c}),G=null,W=c=>{let p=G;G=B(!0);try{return c()}finally{G=p}},Z=c=>c&&G?G:B(c),q=(c,p=0,g)=>Z(g?.includeAuthoredTimingAttrs??!0).resolveStartForElement(c,p),O=(c,p)=>Z(p?.includeAuthoredTimingAttrs??!0).resolveDurationForElement(c),V=c=>{let p=c.closest("[data-composition-id]"),g=p?q(p,0):null,y=p?O(p,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:p,inheritedStart:g,inheritedDuration:y}},ee=c=>Z(!0).resolveMediaStartForElement(c);window.__hfResolveMediaStartSeconds=ee,a.push(()=>{window.__hfResolveMediaStartSeconds===ee&&delete window.__hfResolveMediaStartSeconds});let me=(c,p)=>{let g=c.tagName.toLowerCase();if(g==="script"||g==="style"||g==="link"||g==="meta")return!1;let w=g==="video"||g==="audio"?ee(c):q(c,0),L=O(c),I=c.getAttribute("data-composition-id");if(I){let Ce=(window.__timelines??{})[I],Le=null;if(Ce&&typeof Ce.duration=="function"){let Q=Number(Ce.duration());Number.isFinite(Q)&&Q>0&&(Le=Q)}!(c.hasAttribute("data-duration")||c.hasAttribute("data-end")||c.hasAttribute(Ds)||c.hasAttribute(Is))&&(L==null||L<=0)&&Le!=null&&(L=Le)}let K=L!=null&&L>0?w+L:Number.POSITIVE_INFINITY,$=window.__HF_EXPORT_RENDER_SEEK_CONFIG?pa(w,e.canonicalFps):w,re=window.__HF_EXPORT_RENDER_SEEK_CONFIG&&Number.isFinite(K)?pa(K,e.canonicalFps):K;return p>=$&&(Number.isFinite(re)?p<re:!0)},ie=!!document.querySelector("[data-composition-src]"),z=!1;{let c=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of c){let g=p.getAttribute("data-composition-id");if(g&&p.children.length===0&&document.querySelector(`template#${CSS.escape(g)}-template`)){z=!0;break}}}let X=!ie&&!z,Ae=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}},de=c=>typeof c=="number"&&Number.isFinite(c)&&c>E,bn=()=>{let c=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));return c.length===0?null:W(()=>{let p=0;for(let g of c){let y=ee(g);if(!Number.isFinite(y))continue;let w=ei(g);w==null||w<=E||(p=Math.max(p,Math.max(0,y)+w))}return p>E?p:null})},et=()=>{let c=J();if(!c)return null;let p=window.__timelines??{},g=rt({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),y=0,w=_e(c.getAttribute("data-duration"));w!=null&&w>0&&(y=w);let L=Array.from(c.querySelectorAll("[data-composition-id][data-start]"));for(let I of L){if(!Fe(I)||I.parentElement?.closest("[data-composition-id]")!==c)continue;let $=g.resolveStartForElement(I,0),re=g.resolveDurationForElement(I);!Number.isFinite($)||re==null||re<=0||(y=Math.max(y,Math.max(0,$)+re))}return y>E?y:null},mp=()=>{let c=bn();return typeof c!="number"||!Number.isFinite(c)||c<=E?null:c},pp=c=>de(c)?Math.max(E,c*S):E,qs=()=>{let c=0;for(let p of e.deterministicAdapters){let g=p.getInferredDurationSeconds;if(typeof g!="function")continue;let y=null;try{y=g()}catch(w){N("runtime.init.adapterDuration",w)}typeof y=="number"&&Number.isFinite(y)&&y>0&&(c=Math.max(c,y))}return c>E?c:null},Rr=!1,$s=()=>Rr&&window.__HF_EXPORT_RENDER_SEEK_CONFIG!=null,hp=["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",ti,"data-playback-rate","data-playback-start","data-media-start","id","src"],js=["loadedmetadata","durationchange","emptied"],Tr=null,Ks=-1,Ys=null,Tt=null,Xs=0,xn=()=>{},Wt=()=>{Xs+=1,xn()},Js=()=>({media:mp(),authoredComposition:et()}),gp=()=>{let c=window.__timelines??{},p="";for(let g of Object.keys(c)){let y=c[g];y&&(p+=`${g}=${Ae(y)??"?"};`)}return p},bp=()=>{if(!(Tt||typeof MutationObserver>"u")){Tt=new MutationObserver(Wt),Tt.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:hp});for(let c of js)document.addEventListener(c,Wt,!0);a.push(()=>{Tt?.disconnect(),Tt=null,Wt();for(let c of js)document.removeEventListener(c,Wt,!0)})}},kr=()=>{bp(),Tt&&Tt.takeRecords().length>0&&Wt();let c=gp();return c!==Ys&&(Ys=c,Wt()),Xs},Qs=c=>Rr?Js():(c??(c=kr()),Tr&&Ks===c||(Ks=c,Tr=Js()),Tr),tt=(c,p=0,g)=>{let y=Ae(c),{media:w,authoredComposition:L}=Qs(g),I=qs(),K=Math.max(w??0,L??0,I??0),$=Number.isFinite(p)&&p>E?p:0,re=0;return de(y)?re=Math.max(y,K,$):de(K)?re=Math.max(K,$):re=$,re>0?Math.max(0,re):0},ao=()=>{let c=window.__timelines??{},p=se=>{let oe=Object.entries(c).filter(le=>!!le[1]&&typeof le[1].play=="function"&&typeof le[1].pause=="function");if(oe.length!==1)return{timeline:null};let be=oe[0];if(!be)return{timeline:null};let[Ee,pe]=be;return{timeline:pe,selectedTimelineIds:[Ee],selectedDurationSeconds:Ae(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:se,soleTimelineId:Ee}}}},g=rt({timelineRegistry:c,includeAuthoredTimingAttrs:!0}),{media:y,authoredComposition:w}=Qs(),L=Math.max(y??0,w??0)||null,I=pp(L),K=se=>{let oe=document.querySelector(`[data-composition-id="${CSS.escape(se)}"]`);return oe?g.resolveStartForElement(oe,0):0},$=se=>{let oe=window.gsap;if(!oe||typeof oe.timeline!="function")return null;let be=oe.timeline({paused:!0});for(let Ee of se)be.add(Ee.timeline,K(Ee.compositionId));return be},re=(se,oe)=>{if(!de(se))return null;let be=window.gsap;if(!be||typeof be.timeline!="function")return null;let Ee=be.timeline({paused:!0});if(oe)try{Ee.add(oe,0)}catch(le){N("runtime.init.site2",le)}let pe=Ee;if(typeof pe.to=="function")try{pe.to({},{duration:se})}catch(le){N("runtime.init.site3",le)}return Ee},Ce=(se,oe)=>{let be=se;if(typeof be.getChildren!="function")return[];try{let Ee=be.getChildren(!0,!0,!0)??[];if(!Array.isArray(Ee))return[];let pe=[];for(let le of oe)if(!Ee.some(nt=>nt===le.timeline))try{let nt=K(le.compositionId);se.add(le.timeline,nt),pe.push(le.compositionId)}catch(nt){N("runtime.init.site4",nt)}return pe}catch{return[]}},Le=J(),Y=Le?.getAttribute("data-composition-id")??null;if(!Y)return p("root_missing_composition_id");let Q=c[Y]??null,we=(()=>{if(!Le)return[];let se=new Set,oe=Array.from(Le.querySelectorAll("[data-composition-id]")),be=[];for(let Ee of oe){let pe=Ee.getAttribute("data-composition-id");if(!pe||pe===Y||se.has(pe))continue;se.add(pe);let le=c[pe]??null;if(!le||typeof le.play!="function"||typeof le.pause!="function")continue;let pt=Ae(le);be.push({compositionId:pe,timeline:le,durationSeconds:pt??0})}return be})(),_n=se=>{for(let oe of se){let be=oe.timeline;if(typeof be.paused=="function")try{be.paused(!1)}catch(Ee){N("runtime.init.site5",Ee)}}};if(we.length>0&&_n(we),Q){let se=we.length>0?Ce(Q,we):[];if((we.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id='"+Y+"'])"))&&(Fr=!0),se.length>0)try{let pe=Q.time();Q.seek(pe,!1)}catch{}let oe=Ae(Q);if(!de(oe)&&we.length>0){let pe=we.map(qp=>qp.compositionId),le=$(we),pt=Ae(le);if(le&&de(pt))return{timeline:le,selectedTimelineIds:pe,selectedDurationSeconds:pt,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Y,rootDurationSeconds:oe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:I,selectedDurationSeconds:pt,mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedTimelineIds:pe,autoNestedChildren:se}}};let nt=re(L??0,Q),Ao=Ae(nt);if(nt&&de(Ao))return{timeline:nt,selectedTimelineIds:[Y],selectedDurationSeconds:Ao,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Y,rootDurationSeconds:oe,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:Ao,selectedTimelineIds:[Y],autoNestedChildren:se}}}}if(!de(oe)&&we.length===0){let pe=re(L??0,Q),le=Ae(pe);if(pe&&de(le))return{timeline:pe,selectedTimelineIds:[Y],selectedDurationSeconds:le,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Y,rootDurationSeconds:oe,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:y,authoredCompositionDurationFloorSeconds:w,selectedDurationSeconds:le,selectedTimelineIds:[Y]}}}}let be=_e(Le?.getAttribute("data-duration")),Ee=Math.max(de(be)?be:0,w??0);if(Ee>0&&de(Ee)&&de(oe)&&Ee>=oe+.5){let pe=Q;if(typeof pe.to=="function")try{pe.to({},{duration:0},Ee)}catch(pt){N("runtime.init.site6",pt)}let le=Ae(Q);if(de(le))return{timeline:Q,selectedTimelineIds:[Y],selectedDurationSeconds:le,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Y,rootDurationSeconds:oe,rootDeclaredDur:be,authoredCompositionDurationFloorSeconds:w,newDur:le}}}}return{timeline:Q,selectedTimelineIds:[Y],selectedDurationSeconds:oe,mediaDurationFloorSeconds:y,diagnostics:se.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Y,selectedDurationSeconds:oe,autoNestedChildren:se}}:void 0}}if(we.length>0){let se=we.map(Ee=>Ee.compositionId),oe=$(we),be=Ae(oe);if(oe)return{timeline:oe,selectedTimelineIds:se,selectedDurationSeconds:be,mediaDurationFloorSeconds:y,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Y,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:I,selectedDurationSeconds:be,mediaDurationFloorSeconds:y,selectedTimelineIds:se}}}}return p("root_composition_id_unmatched_in_registry")},Fr=!1,xp=c=>{let p=window.gsap,g=c;if(!(!g||typeof g.getChildren!="function"||!p||typeof p.parseEase!="function"))for(let y of g.getChildren(!0,!0,!0)){let w=y,L=w.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let I=w.vars?.keyframes,$=(I&&!Array.isArray(I)?I.ease:void 0)??w.vars?.ease??"none";try{let re=p.parseEase($);typeof re=="function"&&(L._ease=re)}catch(re){Oe("keyframe_ease_repair_failed",{ease:typeof $=="string"?$:String($)}),N("runtime.keyframeEase.repair",re)}}},yn=()=>{if(x(),!X)return!1;let c=e.capturedTimeline,p=Ae(c),g=de(p);if(c&&g&&Fr)return!1;let y=ao();if(!y.timeline)return!1;if(c&&c===y.timeline)return typeof c.timeScale=="function"&&c.timeScale(e.playbackRate),!1;e.capturedTimeline=y.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),xp(e.capturedTimeline);let w=tt(e.capturedTimeline,0);if(w<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),ct(e.capturedTimeline)),w>0){try{m.setDuration(w)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let I=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(I,!1),ct(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),Pi(document)}if(y.diagnostics&&ye({source:"hf-preview",type:"diagnostic",code:y.diagnostics.code,details:y.diagnostics.details}),ye({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:y.selectedTimelineIds??[],selectedDurationSeconds:y.selectedDurationSeconds??null,mediaDurationFloorSeconds:y.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=J(),I=w>0?w:0,K=String(I>0?I:1),$=new Set,re=Y=>Y.tagName.toLowerCase()===Yt,Ce=new Set(document.querySelectorAll("[data-start]")),Le=Y=>{let Q=Y.parentElement;for(;Q&&Q!==L;){if(Ce.has(Q))return!0;Q=Q.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let Y of e.capturedTimeline.getChildren(!0))if(typeof Y.targets=="function")for(let Q of Y.targets())Se(Q)&&Q!==L&&(re(Q)||Q.hasAttribute("data-start")||Le(Q)||$.has(Q)||($.add(Q),Q.setAttribute("data-start","0"),Q.setAttribute("data-duration",K),Q.setAttribute("data-hf-autostamped","1")))}catch{}if(Se(L))for(let Y of L.querySelectorAll("[id]"))Se(Y)&&Y!==L&&(Y.hasAttribute("data-start")||Le(Y)||$.has(Y)||Y.tagName==="SCRIPT"||Y.tagName==="STYLE"||Y.tagName==="LINK"||re(Y)||($.add(Y),Y.setAttribute("data-start","0"),Y.setAttribute("data-duration",K),Y.setAttribute("data-hf-autostamped","1")))}for(let L of vn)Mr.delete(L),ol(L);return!0},Zs=()=>{if(e.tornDown)return;let c=ao();if(!c.timeline){e.capturedTimeline=null,Fr=!1,m.setDuration(0),Pr(e.currentTime);return}e.capturedTimeline!==c.timeline&&(Fr=!1,yn()),Pr(e.currentTime)};t=()=>{Zs(),ft()},window.__hfForceTimelineRebind=Zs;let yp=()=>{let c=J();if(!Se(c))return;let p=c.getBoundingClientRect(),g=Number(c.getAttribute("data-width")),y=Number(c.getAttribute("data-height")),w=window.getComputedStyle(c),L=Number.isFinite(g)&&g>0&&Number.isFinite(y)&&y>0,I=p.width<=0||p.height<=0||c.clientWidth<=0||c.clientHeight<=0;!L||!I||F("root_stage_layout_zero",{compositionId:c.getAttribute("data-composition-id")??null,declaredWidth:g,declaredHeight:y,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"}`)},vp=()=>{e.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,yp()}))},Sp=()=>{i=c=>{let p=P(c.error??c.message).slice(0,M);if(!p)return;let g=H(p);ye({source:"hf-preview",type:"diagnostic",code:g.code,details:{category:g.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=P(c.reason).slice(0,M);if(!p)return;let g=H(p);ye({source:"hf-preview",type:"diagnostic",code:`${g.code}_unhandled_rejection`,details:{category:`${g.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",o)},Ap=()=>{let c=Array.from(document.querySelectorAll("img, video, audio, source, link[rel='stylesheet']"));for(let g of c){let y=()=>{if(!Fe(g))return;let w=g.tagName.toLowerCase(),L=g.getAttribute("src")??g.getAttribute("href")??g.getAttribute("poster")??null,I=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";F(I,{tagName:w,assetUrl:L,currentSrc:(Pe(g)||ve(g))&&g.currentSrc||null,readyState:ve(g)?g.readyState:null,networkState:ve(g)?g.networkState:null},`${I}:${w}:${L??"unknown"}`)};g.addEventListener("error",y),R(()=>{g.removeEventListener("error",y)})}let p=document.fonts;p&&p.ready.then(()=>{if(e.tornDown)return;let g=Array.from(p).filter(y=>y.status==="error").map(y=>y.family).filter(y=>!!y).slice(0,10);g.length!==0&&F("runtime_font_load_issue",{failedFamilies:g,totalFaces:Array.from(p).length},`runtime-font-load-issue:${g.join("|")}`)}).catch(()=>{})},Ep=(c,p)=>{if(!c.timeline)return!1;let g=e.capturedTimeline;if(g&&g===c.timeline)return!1;let y=Math.max(0,e.currentTime||0),w=e.isPlaying;e.capturedTimeline=c.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{ct(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(y,!1),w&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){N("runtime.init.site7",L)}return ye({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:y,selectedTimelineIds:c.selectedTimelineIds??[],selectedDurationSeconds:c.selectedDurationSeconds??null,mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),!0},kt=null,el=!1,vn=new Set,Mr=new WeakMap,Nr=()=>{e.tornDown||(kt!=null&&window.clearTimeout(kt),kt=window.setTimeout(()=>{if(e.tornDown||(kt=null,$s()))return;let c=ao();if(!c.timeline||!de(c.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){yn()&&(ft(),Ie(!0));return}if(el)return;let g=Ae(e.capturedTimeline),y=c.selectedDurationSeconds??Ae(c.timeline);de(y)&&(!de(g)||y>=g+A)&&Ep(c,"manual")&&(el=!0,ye({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:g??null,selectedDurationSeconds:y??null,selectedTimelineIds:c.selectedTimelineIds??[],mediaDurationFloorSeconds:c.mediaDurationFloorSeconds??null}}),ft(),Ie(!0))},C))},tl=c=>{ve(c.currentTarget)&&Nu(c.currentTarget)},nl=c=>{ve(c.currentTarget)&&Lu(c.currentTarget)},rl=c=>{ko(c)&&dm(c)&&pn(c,mn(c))},il=c=>{let p=c.currentTarget;ve(p)&&rl(p)},wp=()=>{for(let c of vn)c.removeEventListener("loadedmetadata",Nr),c.removeEventListener("durationchange",Nr),c.removeEventListener("loadedmetadata",tl),c.removeEventListener("loadedmetadata",il),c.removeEventListener("error",nl);vn.clear()},so=()=>{if(e.tornDown)return;let c=Array.from(document.querySelectorAll("video, audio"));for(let p of c){if(vn.has(p))continue;vn.add(p);let g=Number.parseFloat(p.dataset.volume??"");Number.isFinite(g)&&(p.volume=Math.max(0,Math.min(1,g))),p.addEventListener("loadedmetadata",Nr),p.addEventListener("durationchange",Nr),p.addEventListener("loadedmetadata",il),rl(p),p.addEventListener("loadedmetadata",tl),p.addEventListener("error",nl),Mu(p),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),ol(p)}},ol=c=>{Mr.has(c)||du(c,e.capturedTimeline,tt(e.capturedTimeline,0),Mr,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},lo=new WeakMap,al=c=>{let p=lo.get(c);if(p!==void 0)return p;let g=window.getComputedStyle(c).position,y=g==="static"||g==="relative"||g==="sticky";return lo.set(c,y),y},uo=new WeakMap,_p=c=>{let p=uo.get(c);if(p!==void 0)return p;let g=c.querySelector("[data-start]")===null;return uo.set(c,g),g},Cp=()=>{lo=new WeakMap,uo=new WeakMap},co=new WeakMap,Lr=new WeakSet,Dr=!1,sl=c=>c.matches("audio[data-start]")||c.querySelector("audio[data-start]")!==null,ll=new WeakMap,Ir=!0,Rp=()=>{if(Ir){Ir=!1;for(let c of document.querySelectorAll(Yt)){let p=c.hasAttribute("data-hidden");ll.get(c)!==p&&(ll.set(c,p),c.id&&f.setGroupMuted(c.id,p))}}},Tp=(c,p)=>{let g=J();for(let y of p){if(!Se(y))continue;if(y.hasAttribute("data-hidden")){Lr.has(y)||(co.set(y,y.style.getPropertyValue("display")),Lr.add(y),sl(y)&&(Dr=!0),Ir=!0),y.style.display="none",(fe(y)||Pe(y))&&r?.setSourceVisibility(y,!1);continue}if(Lr.has(y)){let L=co.get(y);L?y.style.display=L:y.style.removeProperty("display"),co.delete(y),Lr.delete(y),sl(y)&&(Dr=!0),Ir=!0}let w=me(y,c);if(w){let L=y.parentElement;for(;L&&L!==g;){if(Se(L)&&L.hasAttribute("data-start")&&!me(L,c)){w=!1;break}L=L.parentElement}}y.style.visibility=w?"visible":"hidden",(fe(y)||Pe(y))&&r?.setSourceVisibility(y,w),w?al(y)&&y.style.removeProperty("display"):al(y)&&_p(y)&&(y.style.display="none")}Dr&&m.isPlaying()&&(f.stopAll(),vo()),Dr=!1,Rp()},Pr=(c,p=Array.from(document.querySelectorAll("[data-start]")))=>W(()=>Tp(c,p)),Sn=null,Or=null,Gr=[],fo=c=>Cu({elements:c,shouldIncludeElement:p=>p.hasAttribute("data-start")||!!V(p).compositionRoot,resolveStartSeconds:p=>ee(p),resolveDurationSeconds:p=>{let g=V(p),y=ee(p),w=g.inheritedStart!=null&&g.inheritedDuration!=null&&g.inheritedDuration>0?Math.max(0,g.inheritedStart+g.inheritedDuration-y):null,L=Number.isFinite(p.duration)?gt(p,p.duration):null,I=_e(p.dataset.duration),K=I!=null&&I>0?I:null;return _u({isVideo:p.tagName==="VIDEO",sourceDuration:L,hostRemaining:w,explicitDuration:K})}}),kp=()=>{let c=kr();if(Sn&&Sn.revision===c)return Sn;let p=fo().mediaClips;return Sn={revision:c,clips:p,byStart:[...p].sort((g,y)=>g.start-y.start),byEnd:[...p].sort((g,y)=>g.end-y.end)},Or=null,Gr=[],Sn},ul=(c,p,g,y)=>{let w=0,L=c.length;for(;w<L;){let K=w+L>>1;p(c[K])<g?w=K+1:L=K}let I=[];for(let K=w;K<c.length&&p(c[K])<=y;K+=1)I.push(c[K]);return I},Fp=(c,p)=>{let g=Or;if(g===null)return c.clips.map(I=>I.el);let y=Math.min(g,p),w=Math.max(g,p),L=new Set;for(let I of Gr)L.add(I.el);for(let I of ul(c.byStart,K=>K.start,y,w))L.add(I.el);for(let I of ul(c.byEnd,K=>K.end,y,w))L.add(I.el);return[...L]},Ue=()=>{let c=!Rr,p=W(()=>{if(!c)return fo().mediaClips;let y=kp();return fo(Fp(y,e.currentTime)).mediaClips});for(let y of p){let w=Mr.get(y.el);w&&(y.volumeKeyframes=w)}let g=e.mediaForceSyncNextTick;g&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||(Ru({clips:p,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted,userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:g,onElementVolume:(y,w,L)=>f.setElementVolume(y,L),isWebAudioOwned:y=>f.ownsElement(y),isWebAudioRouted:y=>f.routesElement(y),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,ye({source:"hf-preview",type:"media-autoplay-blocked"}))}}),c?(Or=e.currentTime,Gr=p.filter(y=>e.currentTime>=y.start&&e.currentTime<y.end)):(Or=null,Gr=[])),Pr(e.currentTime)},Ie=c=>{c&&xn();let p=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),g=Date.now();(c||p!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||g-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=p,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=g,ye({source:"hf-preview",type:"state",frame:p,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},mo="",cl=0,Mp=()=>{let c="";for(let p of document.querySelectorAll("[data-start]"))c+=`${p.id}:${p.tagName}|`;return c},ft=()=>{U(),k(),ne();let c=J();if(c){let y=j(c.getAttribute("data-width")),w=j(c.getAttribute("data-height")),L=y?parseInt(y,10):0,I=w?parseInt(w,10):0;L>0&&I>0&&ye({source:"hf-preview",type:"stage-size",width:L,height:I})}yn();let p=gc({canonicalFps:e.canonicalFps});window.__clipManifest=p;let g=Mp();if(mo!==g&&Cp(),!window.__clipTree||mo!==g){let y=window;window.__clipTree=fc({startResolver:rt({timelineRegistry:y.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:y.__timelines??{},rootDuration:p.durationInFrames/e.canonicalFps}),mo=g}ye(p),vp()},po=c=>typeof c=="number"&&Number.isFinite(c)&&c>0?c:0,Np=c=>{let p=po(Number(c));if(p<=0)return;let g=J(),y=po(_e(g?.getAttribute("data-duration"))),w=Math.max(cl,po(m.getDuration()),y);p<=w||(cl=p,g?.setAttribute("data-duration",String(p)),m.setDuration(p),ft(),Ie(!0))},We=(c,p=0)=>{for(let g of e.deterministicAdapters){try{c==="discover"&&g.discover(),c==="pause"&&g.pause(),c==="play"&&g.play&&g.play()}catch(y){N("runtime.init.site8",y)}if(c==="discover")try{g.seek({time:p,suppressEvents:!0})}catch(y){N("runtime.init.site9",y)}}},Ft=()=>{window.__renderReady=!1},An=null,En=!0,Lp=()=>{let c=[];for(let p of e.deterministicAdapters){let g=p.getReadyPromise;if(typeof g=="function")try{let y=g();y&&c.push(y)}catch(y){N("runtime.init.adapterReady",y)}}return c},Dp=()=>{let c=Lp();if(c.length===0)return An=null,En=!0,!0;let p=c[0];if(!p)return!0;let g=c.length===1?p:Promise.all(c);return g!==An&&(An=g,En=!1,Promise.resolve(g).then(()=>{An===g&&(En=!0,Ft())},y=>{An===g&&(En=!0,N("runtime.init.adapterReady",y),Ft())})),En};if(X)ts();else{let c={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:j,onDiagnostic:({code:p,details:g})=>{ye({source:"hf-preview",type:"diagnostic",code:p,details:g})}};lf(c).then(()=>sf(c)).finally(()=>{X=!0,so(),Ap(),ts(),ls(document),Ft()})}let Hr=sc({postMessage:c=>ye(c)});Hr.installPickerApi(),Pr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let je=jf();r=je,R(()=>{je.destroy(),r=null});let ho=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 g=document.querySelectorAll("video, audio");for(let y of g)if(ve(y))try{y.playbackRate=e.playbackRate}catch(w){N("runtime.init.site10",w)}},dl={play:()=>{let c=e.capturedTimeline;if(m.isPlaying())return;let p=tt(c,0);if(p>0)m.setDuration(p),m.reachedEnd()&&(m.seek(0),e.currentTime=0,Mt(0));else{let g=J(),y=Number(g?.getAttribute("data-duration")??0);y>0&&m.setDuration(y)}ct(c),m.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,Sl(m.now()),h&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&vo(),We("play"),Ue(),je.redraw(),Ie(!0))},pause:()=>{if(!m.isPlaying())return;f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1,e.currentTime=m.now(),e.mediaForceSyncNextTick=!0,Sl(e.currentTime);let c=e.capturedTimeline;ct(c),We("pause"),Ue(),je.redraw(),Ie(!0)},seek:(c,p)=>{let g=en(Math.max(0,Number(c)||0),e.canonicalFps);f.stopAll(),m.detachAudioSource();let y=m.isPlaying();y&&m.pause(),m.seek(g),e.currentTime=m.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let w=e.capturedTimeline;if(ct(w),Mt(e.currentTime),We("pause"),p?.keepPlaying&&y){dl.play();return}Ue(),je.redraw(),Ie(!0)},renderSeek:(c,p)=>{Rr=!0;let g=en(Math.max(0,Number(c)||0),e.canonicalFps);f.stopAll(),m.detachAudioSource(),m.isPlaying()&&m.pause(),m.seek(g),e.currentTime=m.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,Mt(e.currentTime,{activateChildren:!0,suppressEvents:p?.suppressEvents}),We("pause"),Ue(),je.redraw(),Ie(!0)},getTime:()=>m.now(),getDuration:()=>{let c=m.getDuration();return Number.isFinite(c)?c:0},isPlaying:()=>m.isPlaying(),setPlaybackRate:c=>{ho(c),m.setRate(e.playbackRate),Al()},getPlaybackRate:()=>e.playbackRate},fl=tt(e.capturedTimeline,0);fl>0&&m.setDuration(fl);let Ve=cc({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:ho,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(c,p)=>{e.currentTime=Math.max(0,Number(c)||0),e.isPlaying!==p&&(e.mediaForceSyncNextTick=!0),e.isPlaying=p,Ue()},onStatePost:Ie,onDeterministicSeek:(c,p)=>{for(let g of e.deterministicAdapters)if(!(g.name==="gsap"&&e.capturedTimeline))try{g.seek({time:Number(c)||0,suppressEvents:p?.suppressEvents})}catch(y){N("runtime.init.site11",y)}},onDeterministicPause:()=>We("pause"),onDeterministicPlay:()=>We("play"),onRenderFrameSeek:()=>{je.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>tt(e.capturedTimeline,0),transport:dl});window.__player=D(Ve),window.__playerReady=!0,Oe("composition_loaded",{duration:Ve.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[ru(),Hl({resolveStartSeconds:c=>q(c,0)}),Ul(),Vl(),$l(),jl(),Kl(),Yl(),Xl(),Jl(),Ql(),Bl({getTimeline:()=>e.capturedTimeline})],tu(),nu(),window.__hfReseekGpu=c=>{let p=Math.max(0,Number(c)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,Jr(p)},window.__hfWaitForSeekCompletion=Io,a.push(()=>{window.__hfWaitForSeekCompletion===Io&&delete window.__hfWaitForSeekCompletion}),Sp(),so(),We("discover");let Ip=()=>{let c=e.capturedTimeline,p=yn();e.capturedTimeline&&(p||e.capturedTimeline!==c||!Ve._timeline)&&(Ve._timeline=e.capturedTimeline);let g=tt(e.capturedTimeline,0);if(g>0&&m.setDuration(g),We("discover",e.currentTime),!e.capturedTimeline){let y=window.__timelines??{},w=Object.keys(y).filter(L=>y[L]);if(w.length>0){let I=J()?.getAttribute("data-composition-id")??null;F("root_timeline_unbound_registry_present",{reason:I?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:I,registeredTimelineKeys:w},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \u2014 render will freeze at t=0. "+(I?`Root data-composition-id is "${I}" 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["${I??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,ft(),Ie(!0)},Vt=null,Pp=()=>{if(Vt)return;let c=()=>{window.removeEventListener("hf-timelines-built",c),Vt=null,Ft()};Vt=c,window.addEventListener("hf-timelines-built",c)};R(()=>{Vt&&(window.removeEventListener("hf-timelines-built",Vt),Vt=null)}),Ft=()=>{if(!X){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,Pp();return}if(We("discover",e.currentTime),!Dp()){window.__renderReady=!1;return}Ip()},Ft(),X&&setTimeout(()=>{Ft()},0);let Br=0,Ur=!1,go=Number.NaN,bo=null,Wr=!1,mt=null,Vr=!1,ml="",pl=-1,zr=!1,hl=Number.NEGATIVE_INFINITY,Op=(c,p,g,y)=>{try{let w=y?.suppressEvents===!0;ct(c),typeof c.totalTime=="function"?c.totalTime(p,w):c.seek(p,w)}catch(w){N(g,w)}},Gp=(c,p)=>{let g=window.__timelines??{},y=J()?.getAttribute("data-composition-id")??null;for(let[w,L]of Object.entries(g)){if(!L||w===y)continue;let I=document.querySelector(`[data-composition-id="${CSS.escape(w)}"]`);if(!I)continue;let K=q(I,0);if(!Number.isFinite(K))continue;let $=Ae(L),re=Ye(I)+Math.max(0,c-K)*Me(I),Ce=Math.max(0,$!=null&&$>0?Math.min($,re):re);Op(L,Ce,"runtime.init.transport.childTimeline",p)}},gl=c=>{let p=window.__timelines??{};for(let g of Object.values(p))if(!(!g||g===c))try{g.play()}catch(y){N("runtime.init.activateSiblings",y)}},bl=c=>typeof c=="object"&&c!==null,wn=new WeakMap,Hp=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],xl=(c,p)=>{let g=c[p];if(typeof g!="function")return null;try{let y=Number(g.call(c));return Number.isFinite(y)?y:null}catch(y){return N("runtime.init.gsapCallbackDuration",y),null}},Bp=c=>{let p=wn.get(c);if(p!=null)return p;if(!("getChildren"in c)||typeof c.getChildren!="function")return!1;let g;try{g=c.getChildren(!0,!0,!0)}catch(y){return N("runtime.init.gsapCallbackChildren",y),wn.set(c,!1),!1}if(!Array.isArray(g))return wn.set(c,!1),!1;for(let y of g){if(!bl(y))continue;let w=y.vars;if(!bl(w)||!Hp.some($=>typeof w[$]=="function"))continue;let K=xl(y,"totalDuration")??xl(y,"duration");if(K!=null&&K<=1e-6)return wn.set(c,!0),!0}return wn.set(c,!1),!1};function Mt(c,p){let g=e.capturedTimeline,y=p?.suppressEvents===!0;if(g){p?.activateChildren&&gl(g);let w=g,L=c;if(typeof w.totalDuration=="function")try{let I=Number(w.totalDuration());Number.isFinite(I)&&I>0&&c>I&&(L=I)}catch(I){N("runtime.init.transport.clampDuration",I)}try{typeof g.totalTime=="function"?(g.totalTime(L,y),!y&&!Bp(g)&&(g.totalTime(L+.001,!0),g.totalTime(L,!0))):g.seek(L,y)}catch(I){N("runtime.init.transport.seek",I)}}Gp(c,p),g&&p?.activateChildren&&gl(g);for(let w of e.deterministicAdapters)if(!(w.name==="gsap"&&g))try{w.seek({time:c,suppressEvents:y})}catch(L){N("runtime.init.transport.adapter",L)}}let xo=pm(document,()=>{xn()});a.push(()=>xo.disconnect());let Up=()=>{try{return xo.isActive()}catch{return!1}},Wp=()=>!m.isPlaying()&&!$s()&&xo.observing&&!Wr&&!zr&&e.currentTime===go&&e.capturedTimeline===bo,yl=()=>`${kr()}|${qs()??""}`,vl=()=>{mt=window.setTimeout(Vp,e.bridgeMaxPostIntervalMs)},Vp=()=>{if(mt=null,!e.tornDown&&!(typeof window>"u"||typeof document>"u")){if(yl()!==ml){xn();return}Ie(!1),vl()}},zp=()=>{if(e.transportRafId=null,e.tornDown)return;let c=Vr;if(Vr=!1,c||!Wp()){e.transportRafId=window.requestAnimationFrame(yo);return}ml=yl(),vl()};xn=()=>{e.tornDown||(Vr=!0,!(Ur||e.transportRafId!=null)&&(mt!=null&&(window.clearTimeout(mt),mt=null),Vr=!1,e.transportRafId=window.requestAnimationFrame(yo)))};let yo=()=>{if(!(e.tornDown||Ur)){Ur=!0;try{Br+=1;let c=kr();c!==pl&&(pl=c,zr=!0);let p=Date.now(),g=zr&&!m.isPlaying()&&p-hl>=hm;if(g&&(hl=p),gm({tick:Br,isPlaying:m.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:m.now(),compositionChanged:g})){let I=e.capturedTimeline;if(yn()){e.capturedTimeline&&!Ve._timeline&&(Ve._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==I&&ct(e.capturedTimeline);let K=tt(e.capturedTimeline,0,c);K>0&&m.setDuration(K),ft()}}if((g||Br%20===0)&&(ft(),zr=!1),(g||Br%30===0)&&so(),e.capturedTimeline){let I=tt(e.capturedTimeline,0,c);I>0&&(!m.isPlaying()||I>=m.getDuration())&&m.setDuration(I)}if(m.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f.isActive()&&f.context){let I=f.getTime();I>=0&&m.attachAudioSource({currentTimeSeconds:I})}else{let I=document.querySelectorAll("audio[data-start]"),K=!1;for(let $ of I){if(!ve($)||!$.isConnected||b($))continue;let re=ee($),Ce=_e($.dataset.duration),Le=Ce!=null&&Ce>0?re+Ce:1/0,Y=Ye($);if(Number.isFinite(re)&&e.currentTime>=re&&e.currentTime<Le){$.paused?!$.error&&$.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(m.attachAudioSource({currentTimeSeconds:e.currentTime}),K=!0):(m.attachAudioSource({el:$,compositionStart:re,mediaStart:Y}),K=!0);break}}!K&&m.hasAudioSource()&&m.detachAudioSource()}else m.hasAudioSource()&&m.detachAudioSource();let y=m.now();e.currentTime=y;let w=m.isPlaying();if(!w&&Up()?Wr=!0:(w||Wr||y!==go||e.capturedTimeline!==bo)&&(Mt(y),go=y,bo=e.capturedTimeline,w||(Wr=!1)),w&&je.redrawAnimated(),m.isPlaying()&&m.reachedEnd()){f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1;let I=m.getDuration();Number.isFinite(I)&&(m.seek(I),e.currentTime=I,Mt(I)),We("pause"),Ue(),Ie(!0);return}m.isPlaying()&&Ue(),Ie(!1)}finally{Ur=!1,zp()}}},Sl=c=>{let p=document.querySelectorAll("video, audio");for(let g of p){if(!ve(g)||!g.isConnected||!g.hasAttribute("data-start"))continue;let y=ee(g);if(!Number.isFinite(y))continue;let w=_e(g.dataset.duration),L=w!=null&&w>0?y+w:1/0;if(c<y||c>=L)continue;let I=Ye(g),K=c-y+I;if(K>=0)try{g.currentTime=K}catch{}}},vo=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let c=f.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let g of p){if(!ve(g)||!g.isConnected||b(g))continue;let y=ee(g);if(!Number.isFinite(y))continue;let w=Ye(g),L=Number.parseFloat(g.dataset.volume??""),I=Number.isFinite(L)?L:1,K=_e(g.dataset.duration),$=K!=null&&K>0?K:Number.POSITIVE_INFINITY,re=g.closest("[data-composition-id]");if(re){let Y=q(re,0),Q=O(re,{includeAuthoredTimingAttrs:!0});Q!=null&&Q>0&&($=Math.min($,Math.max(0,Y+Q-y)))}let Ce=mn(g);pn(g,Ce),(Ce.kind==="web-audio"?f.scheduleMediaElementPlayback(g,y,w,m.now(),I,c,e.playbackRate):Promise.resolve(null)).then(Y=>{if(Y||!m.isPlaying())return;let Q=e.playbackRate*Me(g),Nt=g.hasAttribute("data-fx-chain")||g.hasAttribute("data-automation");if(Math.abs(Q-1)>1e-9){Ce.kind==="web-audio"&&Nt&&(g.muted=!0);return}f.decodeAudioElement(g).then(we=>{!we||!m.isPlaying()||f.schedulePlayback(g,we,y,w,m.now(),I,c,e.playbackRate,$)})})}};function Al(){f.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&h&&m.isPlaying()&&f.hasBoundedActiveSources()&&(f.stopAll(),vo())}if(e.capturedTimeline){let c=tt(e.capturedTimeline,0);c>0&&m.setDuration(c),ct(e.capturedTimeline)}pf(window),e.transportRafId=window.requestAnimationFrame(yo),ft(),Ie(!0),e.controlBridgeHandler=Cl({onPlay:()=>{Ve.play(),Oe("composition_played",{time:Ve.getTime()})},onPause:()=>{Ve.pause(),Oe("composition_paused",{time:Ve.getTime()})},onStopMedia:()=>{f.stopAll();let c=document.querySelectorAll("video, audio");for(let p of c)ve(p)&&!p.paused&&p.pause()},onSeek:(c,p)=>{Ve.seek(c),Oe("composition_seeked",{time:c})},onSetMuted:c=>{e.bridgeMuted=c;let p=c||e.mediaOutputMuted;f.setMuted(p);let g=document.querySelectorAll("video, audio");for(let y of g)ve(y)&&(y.muted=p||y.defaultMuted)},onSetVolume:c=>{e.bridgeVolume=c,f.setVolume(c);let p=document.querySelectorAll("video, audio");for(let g of p){if(!ve(g))continue;let y=parseFloat(g.dataset.volume??""),w=Number.isFinite(y)?y:1;g.volume=Qr(w*c)}},onSetMediaOutputMuted:c=>{e.mediaOutputMuted=c;let p=c||e.bridgeMuted;f.setMuted(p);let g=document.querySelectorAll("video, audio");for(let y of g)ve(y)&&(y.muted=p||y.defaultMuted)},onSetNativeMediaSyncDisabled:c=>{e.nativeMediaSyncDisabled!==c&&(e.nativeMediaSyncDisabled=c,e.mediaForceSyncNextTick=!0,c?(f.stopAll(),m.detachAudioSource()):Ue())},onSetWebAudioMediaDisabled:c=>{e.webAudioMediaDisabled!==c&&(e.webAudioMediaDisabled=c,e.mediaForceSyncNextTick=!0,c&&(f.stopAll(),m.detachAudioSource()),Ue())},onSetPlaybackRate:c=>{ho(c),e.transportClock&&e.transportClock.setRate(e.playbackRate),Al()},onSetRootDuration:Np,onSetColorGrading:(c,p)=>{je.setGrading(c,p)},onSetColorGradingCompare:(c,p)=>{je.setCompare(c,p)},onTick:()=>{if(e.tornDown||!m.isPlaying())return;let c=m.now();if(e.currentTime=c,Mt(c),m.reachedEnd()){f.stopAll(),m.detachAudioSource(),m.pause(),e.isPlaying=!1;let p=m.getDuration();Number.isFinite(p)&&(m.seek(p),e.currentTime=p,Mt(p)),We("pause"),Ue(),Ie(!0)}},onEnablePickMode:()=>Hr.enablePickMode(),onDisablePickMode:()=>Hr.disablePickMode(),onSetRuntimeData:Ji,onClearRuntimeData:Qi,getCanonicalFps:()=>e.canonicalFps});let So=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),mt!=null&&(window.clearTimeout(mt),mt=null),e.transportClock=null,f.destroy(),kt!=null&&(window.clearTimeout(kt),kt=null),s!=null&&(window.cancelAnimationFrame(s),s=null),wp(),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),Hr.disablePickMode();for(let c of e.deterministicAdapters)if(!(!c||typeof c.revert!="function"))try{c.revert()}catch(p){N("runtime.init.site12",p)}e.deterministicAdapters=[];for(let c of a.splice(0))try{c()}catch(p){N("runtime.init.site13",p)}for(let c of e.injectedCompStyles)try{c.remove()}catch(p){N("runtime.init.site14",p)}e.injectedCompStyles=[];for(let c of e.injectedCompLinks)try{c.remove()}catch(p){N("runtime.init.site15",p)}e.injectedCompLinks=[];for(let c of e.injectedCompScripts)try{c.remove()}catch(p){N("runtime.init.site16",p)}e.injectedCompScripts=[],e.capturedTimeline=null,t=()=>{},window.__hfRuntimeTeardown===So&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=So,e.beforeUnloadHandler=So,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var Lm=["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"],Ps=[[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 _v(e){if(e<=255)return Lm[e];let t=0,n=Ps.length-1;for(;t<=n;){let r=t+n>>1,i=Ps[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Cv(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let d=e.charCodeAt(u),m=d,f=1;if(d>=55296&&d<=56319&&u+1<t){let b=e.charCodeAt(u+1);b>=56320&&b<=57343&&(m=(d-55296<<10)+(b-56320)+65536,f=2)}let h=_v(m);(h==="R"||h==="AL"||h==="AN")&&(r=!0);for(let b=0;b<f;b++)n[u+b]=h;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let d=n[u];if(d==="L"){i=0;break}if(d==="R"||d==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let d=n[u];d==="EN"?n[u]=s==="AL"?"AN":"EN":(d==="R"||d==="L"||d==="AL")&&(s=d)}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 d;for(d=u-1;d>=0&&n[d]==="ET";d--)n[d]="EN";for(d=u+1;d<t&&n[d]==="ET";d++)n[d]="EN"}for(let u=0;u<t;u++){let d=n[u];(d==="WS"||d==="ES"||d==="ET"||d==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let d=n[u];d==="EN"?n[u]=s==="L"?"L":"EN":(d==="R"||d==="L")&&(s=d)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let d=u+1;for(;d<t&&n[d]==="ON";)d++;let m=u>0?n[u-1]:l,f=d<t?n[d]:l,h=m!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let v=u;v<d;v++)n[v]=h;u=d-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let d=n[u];(o[u]&1)===0?d==="R"?o[u]++:(d==="AN"||d==="EN")&&(o[u]+=2):(d==="L"||d==="AN"||d==="EN")&&o[u]++}return o}function Dm(e,t){let n=Cv(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 Rv=/[ \t\n\r\f]+/g,Tv=/[\t\n\r\f]| {2,}|^ | $/;function kv(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Fv(e){if(!Tv.test(e))return e;let t=e.replace(Rv," ");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 Mv(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
|
|
705
705
|
`).replace(/[\r\f]/g,`
|
|
706
706
|
`):e.replace(/\r\n/g,`
|
|
707
|
-
`)}var
|
|
708
|
-
`)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 Yy=/[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;function Pe(e){return e.length===1?e[0]:e.join("")}function Xy(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),Pe(n)}function Jy(e,t,n,r){if(!Yy.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=Ky(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:Pe(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:Pe(a),isWordLike:s,kind:o,start:l}),i}function cs(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Qy=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Zy(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Qy.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function e1(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function t1(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"||!Zy(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!cs(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=Pe(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function n1(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]),!e1(a))continue;let l=o+1;if(l>=e.len||cs(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!cs(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(Pe(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var r1=new Set([":","-","/","\xD7",",",".","+","\u2013","\u2014"]),Qf=/^[A-Za-z0-9_]+[,:;]*$/,Zf=/[,:;]+$/;function rm(e){for(let t of e)if(tm.test(t))return!0;return!1}function pr(e){if(e.length===0)return!1;for(let t of e)if(!(tm.test(t)||r1.has(t)))return!1;return!0}function i1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&pr(a)&&rm(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&pr(e.texts[u]);)s.push(e.texts[u]),u++;t.push(Pe(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function o1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Qf.test(a)){let u=[a],c=Zf.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Qf.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Zf.test(f),m++}t.push(Pe(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function a1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!rm(c)||!pr(c))&&(s=!1)}if(s){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function s1(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=Pe(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=Pe(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(Pe(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function l1(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"||!Ve(t[o])||!Ve(t[o+1]))continue;let a=zy(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 em(e,t,n){let r=Ny(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],p=[],b=[],v=[],x=[];for(let E of r.segment(e))for(let S of Jy(E.segment,E.isWordLike??!1,E.index,n)){let U=function(){c[k]!==null&&(a[k]=[Xf(o,c,m,k)],c[k]=null),a[k].push(S.text),l[k]=l[k]||S.isWordLike,f[k]=f[k]||F,p[k]=p[k]||I,b[k]=W,v[k]=Y,x[k]=Jf(p[k],q)},A=S.kind==="text",_=qy(S.text,S.isWordLike,S.kind),F=Ve(S.text),I=Kf(S.text),q=Li(S.text),W=Di(S.text),Y=$y(S.text),k=i-1;t.carryCJKAfterClosingQuote&&A&&i>0&&s[k]==="text"&&F&&f[k]&&b[k]||A&&i>0&&s[k]==="text"&&Wy(S.text)&&f[k]||A&&i>0&&s[k]==="text"&&v[k]?U():A&&i>0&&s[k]==="text"&&S.isWordLike&&I&&x[k]?(U(),l[k]=!0):_!==null&&i>0&&s[k]==="text"&&c[k]===_?m[k]=(m[k]??1)+1:A&&!S.isWordLike&&i>0&&s[k]==="text"&&(Uy(S.text)||S.text==="-"&&l[k])?U():(o[i]=S.text,a[i]=[S.text],l[i]=S.isWordLike,s[i]=S.kind,u[i]=S.start,c[i]=_,m[i]=_===null?0:1,f[i]=F,p[i]=I,b[i]=W,v[i]=Y,x[i]=Jf(I,q),i++)}for(let E=0;E<i;E++){if(c[E]!==null){o[E]=Xf(o,c,m,E);continue}o[E]=Pe(a[E])}for(let E=1;E<i;E++)s[E]==="text"&&!l[E]&&fs(o[E])&&s[E-1]==="text"&&(o[E-1]+=o[E],l[E-1]=l[E-1]||l[E],o[E]="");let C=Array.from({length:i},()=>null),R=-1;for(let E=i-1;E>=0;E--){let S=o[E];if(S.length!==0){if(s[E]==="text"&&!l[E]&&Vy(S)&&R>=0&&s[R]==="text"){let A=C[R]??[];A.push(S),C[R]=A,u[R]=u[E],o[E]="";continue}R=E}}for(let E=0;E<i;E++){let S=C[E];S!=null&&(o[E]=Xy(S,o[E]))}let T=0;for(let E=0;E<i;E++){let S=o[E];S.length!==0&&(T!==E&&(o[T]=S,l[T]=l[E],s[T]=s[E],u[T]=u[E]),T++)}o.length=T,l.length=T,s.length=T,u.length=T;let M=s1({len:T,texts:o,isWordLike:l,kinds:s,starts:u}),D=l1(o1(a1(i1(n1(t1(M))))));for(let E=0;E<D.len-1;E++){let S=jy(D.texts[E]);S!==null&&(D.kinds[E]!=="space"&&D.kinds[E]!=="preserved-space"||D.kinds[E+1]!=="text"||!Kf(D.texts[E+1])||(D.texts[E]=S.space,D.isWordLike[E]=!1,D.kinds[E]=D.kinds[E]==="preserved-space"?"preserved-space":"space",D.texts[E+1]=S.marks+D.texts[E+1],D.starts[E+1]=D.starts[E]+S.space.length))}return D}function u1(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 c1(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(Pe(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],p=e.kinds[m],b=e.isWordLike[m],v=e.starts[m];if(p==="text"){let x=Py(f),C=Fi(f);if(o!==null&&s&&u){o.push(f),a=a||b,s=s||x,u=C;continue}c(),o=[f],a=b,l=v,s=x,u=C;continue}c(),t.push(f),n.push(b),r.push(p),i.push(v)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function im(e,t,n="normal",r="normal"){let i=Ry(n),o=i.mode==="pre-wrap"?My(e):ky(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?c1(em(o,t,i)):em(o,t,i);return{normalized:o,chunks:u1(a,i),...a}}var ln=null,om=new Map,un=null,d1=96,f1=/\p{Emoji_Presentation}/u,m1=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,ms=null,am=new Map;function ps(){if(ln!==null)return ln;if(typeof OffscreenCanvas<"u")return ln=new OffscreenCanvas(1,1).getContext("2d"),ln;if(typeof document<"u")return ln=document.createElement("canvas").getContext("2d"),ln;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function p1(e){let t=om.get(e);return t||(t=new Map,om.set(e,t)),t}function at(e,t){let n=t.get(e);return n===void 0&&(n={width:ps().measureText(e).width,containsCJK:Ve(e)},t.set(e,n)),n}function At(){if(un!==null)return un;if(typeof navigator>"u")return un={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},un;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 un={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},un}function h1(e){let t=e.match(/(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function sm(){return ms===null&&(ms=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ms}function g1(e){return f1.test(e)||e.includes("\uFE0F")}function lm(e){return m1.test(e)}function b1(e,t){let n=am.get(e);if(n!==void 0)return n;let r=ps();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 am.set(e,n),n}function x1(e){let t=0,n=sm();for(let r of n.segment(e))g1(r.segment)&&t++;return t}function y1(e,t){return t.emojiCount===void 0&&(t.emojiCount=x1(e)),t.emojiCount}function St(e,t,n){return n===0?t.width:t.width-y1(e,t)*n}function um(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=sm(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=at(m,n);c.push(St(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>d1){let c=[],m=null,f=0;for(let p of a){let b=at(p,n),v=St(p,b,r);if(m===null)c.push(v);else{let x=m+p,C=at(x,n);c.push(St(x,C,r)-f)}m=p,f=v}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=at(s,n),f=St(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function cm(e,t){let n=ps();n.font=e;let r=p1(e),i=h1(e),o=t?b1(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function v1(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 dm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function fm(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function S1(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 mm(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 pm(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=S1(e,t.segmentIndex);return n<0?-1:mm(e,n,t)}function A1(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:mm(e,r,n)}function hm(e,t){return e.simpleLineWalkFastPath?gm(e,t):hs(e,t)}function gm(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=At().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,p=0,b=0,v=0,x=-1,C=0;function R(){x=-1,C=0}function T(_=b,F=v,I=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:p,endSegmentIndex:_,endGraphemeIndex:F,width:I}),c=0,m=!1,R()}function M(_,F){m=!0,f=_,p=0,b=_+1,v=0,c=F}function D(_,F,I){m=!0,f=_,p=F,b=_,v=F+1,c=I}function E(_,F){if(!m){M(_,F);return}c+=F,b=_+1,v=0}function S(_,F){let I=o[_];for(let q=F;q<I.length;q++){let W=I[q];m?c+W>s?(T(),D(_,q,W)):(c+=W,b=_,v=q+1):D(_,q,W)}m&&b===_&&v===I.length&&(b=_+1,v=0)}let A=0;for(;A<r.length&&!(!m&&(A=v1(e,A),A>=r.length));){let _=r[A],F=i[A],I=F==="space"||F==="preserved-space"||F==="tab"||F==="zero-width-break"||F==="soft-hyphen";if(!m){_>t&&o[A]!==null?S(A,0):M(A,_),I&&(x=A+1,C=c-_),A++;continue}if(c+_>s){if(I){E(A,_),T(A+1,0,c-_),A++;continue}if(x>=0){if(b>x||b===x&&v>0){T();continue}T(x,0,C);continue}if(_>t&&o[A]!==null){T(),S(A,0),A++;continue}T();continue}E(A,_),I&&(x=A+1,C=c-_),A++}return m&&T(),u}function hs(e,t,n){if(e.simpleLineWalkFastPath)return gm(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=At(),f=m.lineFitEpsilon,p=t+f,b=0,v=0,x=!1,C=0,R=0,T=0,M=0,D=-1,E=0,S=0,A=null;function _(){D=-1,E=0,S=0,A=null}function F(P=T,H=M,V=v){b++,n?.({startSegmentIndex:C,startGraphemeIndex:R,endSegmentIndex:P,endGraphemeIndex:H,width:V}),v=0,x=!1,_()}function I(P,H){x=!0,C=P,R=0,T=P+1,M=0,v=H}function q(P,H,V){x=!0,C=P,R=H,T=P,M=H+1,v=V}function W(P,H){if(!x){I(P,H);return}v+=H,T=P+1,M=0}function Y(P,H,V,j){if(!H)return;let we=P==="tab"?0:i[V],z=P==="tab"?j:o[V];D=V+1,E=v-j+we,S=v-j+z,A=P}function k(P,H){let V=l[P];for(let j=H;j<V.length;j++){let we=V[j];x?v+we>p?(F(),q(P,j,we)):(v+=we,T=P,M=j+1):q(P,j,we)}x&&T===P&&M===V.length&&(T=P+1,M=0)}function U(P){if(A!=="soft-hyphen")return!1;let H=l[P];if(H==null)return!1;let{fitCount:V,fittedWidth:j}=fm(H,v,t,f,s);return V===0?!1:(v=j,T=P,M=V,_(),V===H.length?(T=P+1,M=0,!0):(F(P,V,j+s),k(P,V),!0))}function ie(P){b++,n?.({startSegmentIndex:P.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:P.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),_()}for(let P=0;P<c.length;P++){let H=c[P];if(H.startSegmentIndex===H.endSegmentIndex){ie(H);continue}x=!1,v=0,C=H.startSegmentIndex,R=0,T=H.startSegmentIndex,M=0,_();let V=H.startSegmentIndex;for(;V<H.endSegmentIndex;){let j=a[V],we=j==="space"||j==="preserved-space"||j==="tab"||j==="zero-width-break"||j==="soft-hyphen",z=j==="tab"?dm(v,u):r[V];if(j==="soft-hyphen"){x&&(T=V+1,M=0,D=V+1,E=v+s,S=v+s,A=j),V++;continue}if(!x){z>t&&l[V]!==null?k(V,0):I(V,z),Y(j,we,V,z),V++;continue}if(v+z>p){let B=v+(j==="tab"?0:i[V]),te=v+(j==="tab"?z:o[V]);if(A==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&E<=p){F(D,0,S);continue}if(A==="soft-hyphen"&&U(V)){V++;continue}if(we&&B<=p){W(V,z),F(V+1,0,te),V++;continue}if(D>=0&&E<=p){if(T>D||T===D&&M>0){F();continue}let K=D;F(K,0,S),V=K;continue}if(z>t&&l[V]!==null){F(),k(V,0),V++;continue}F();continue}W(V,z),Y(j,we,V,z),V++}if(x){let j=D===H.consumedEndSegmentIndex?S:v;F(H.consumedEndSegmentIndex,0,j)}}return b}function bm(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:l,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:c,tabStopAdvance:m}=e,f=At(),p=f.lineFitEpsilon,b=r+p,v=0,x=!1,C=t.segmentIndex,R=t.graphemeIndex,T=-1,M=0,D=0,E=null;function S(){T=-1,M=0,D=0,E=null}function A(k=C,U=R,ie=v){return x?(t.segmentIndex=k,t.graphemeIndex=U,ie):null}function _(k,U){x=!0,C=k+1,R=0,v=U}function F(k,U,ie){x=!0,C=k,R=U+1,v=ie}function I(k,U){if(!x){_(k,U);return}v+=U,C=k+1,R=0}function q(k,U,ie,P){if(!U)return;let H=k==="tab"?0:a[ie],V=k==="tab"?P:l[ie];T=ie+1,M=v-P+H,D=v-P+V,E=k}function W(k,U){let ie=u[k];for(let P=U;P<ie.length;P++){let H=ie[P];if(!x)F(k,P,H);else{if(v+H>b)return A();v+=H,C=k,R=P+1}}return x&&C===k&&R===ie.length&&(C=k+1,R=0),null}function Y(k){if(E!=="soft-hyphen"||T<0)return null;let U=u[k]??null;if(U!==null){let{fitCount:ie,fittedWidth:P}=fm(U,v,r,p,c);if(ie===U.length)return v=P,C=k+1,R=0,S(),null;if(ie>0)return A(k,ie,P+c)}return M<=b?A(T,0,D):null}for(let k=t.segmentIndex;k<i.endSegmentIndex;k++){let U=s[k],ie=U==="space"||U==="preserved-space"||U==="tab"||U==="zero-width-break"||U==="soft-hyphen",P=k===t.segmentIndex?t.graphemeIndex:0,H=U==="tab"?dm(v,m):o[k];if(U==="soft-hyphen"&&P===0){x&&(C=k+1,R=0,T=k+1,M=v+c,D=v+c,E=U);continue}if(!x){if(P>0){let j=W(k,P);if(j!==null)return j}else if(H>r&&u[k]!==null){let j=W(k,0);if(j!==null)return j}else _(k,H);q(U,ie,k,H);continue}if(v+H>b){let j=v+(U==="tab"?0:a[k]),we=v+(U==="tab"?H:l[k]);if(E==="soft-hyphen"&&f.preferEarlySoftHyphenBreak&&M<=b)return A(T,0,D);let z=Y(k);if(z!==null)return z;if(ie&&j<=b)return I(k,H),A(k+1,0,we);if(T>=0&&M<=b)return C>T||C===T&&R>0?A():A(T,0,D);if(H>r&&u[k]!==null){let O=A();if(O!==null)return O;let B=W(k,0);if(B!==null)return B}return A()}I(k,H),q(U,ie,k,H)}return T===i.consumedEndSegmentIndex&&R===0?A(i.consumedEndSegmentIndex,0,D):A(i.consumedEndSegmentIndex,0,v)}function E1(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,l=At().lineFitEpsilon,s=n+l,u=0,c=!1,m=t.segmentIndex,f=t.graphemeIndex,p=-1,b=0;for(let v=t.segmentIndex;v<r.length;v++){let x=r[v],C=i[v],R=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen",T=v===t.segmentIndex?t.graphemeIndex:0,M=o[v];if(!c){if(T>0||x>n&&M!==null){let D=M,E=D[T];c=!0,u=E,m=v,f=T+1;for(let S=T+1;S<D.length;S++){let A=D[S];if(u+A>s)return t.segmentIndex=m,t.graphemeIndex=f,u;u+=A,m=v,f=S+1}m===v&&f===D.length&&(m=v+1,f=0)}else c=!0,u=x,m=v+1,f=0;R&&(p=v+1,b=u-x);continue}if(u+x>s)return R?(t.segmentIndex=v+1,t.graphemeIndex=0,u):p>=0?m>p||m===p&&f>0?(t.segmentIndex=m,t.graphemeIndex=f,u):(t.segmentIndex=p,t.graphemeIndex=0,b):(t.segmentIndex=m,t.graphemeIndex=f,u);u+=x,m=v+1,f=0,R&&(p=v+1,b=u-x)}return c?(t.segmentIndex=m,t.graphemeIndex=f,u):null}function w1(e,t,n){let r=pm(e,t);return r<0?null:e.simpleLineWalkFastPath?E1(e,t,n):bm(e,t,r,n)}function xm(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=pm(e,n);for(;o>=0;){let a=bm(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=A1(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=w1(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var gs=null;function _1(){return gs===null&&(gs=new Intl.Segmenter(void 0,{granularity:"grapheme"})),gs}function C1(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 T1(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,p){r=[m],i=f,o=p,a=Di(m),l=hr.has(m)}function c(m,f){r.push(m),o=o||f;let p=Di(m);m.length===1&&vt.has(m)?a=a||p:a=p,l=!1}for(let m of _1().segment(e)){let f=m.segment,p=Ve(f);if(r.length===0){u(f,m.index,p);continue}if(l||Ni.has(f)||vt.has(f)||t.carryCJKAfterClosingQuote&&p&&a){c(f,p);continue}if(!o&&!p){c(f,p);continue}s(),u(f,m.index,p)}return s(),n}function R1(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=Ve(e[0].text),o=Fi(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=Ve(s.text),c=Fi(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function k1(e,t,n,r){let i=At(),{cache:o,emojiCorrection:a}=cm(t,lm(e.normalized)),l=St("-",at("-",o),a),u=St(" ",at(" ",o),a)*8;if(e.len===0)return C1(n);let c=[],m=[],f=[],p=[],b=e.chunks.length<=1,v=n?[]:null,x=[],C=n?[]:null,R=Array.from({length:e.len});function T(S,A,_,F,I,q,W){I!=="text"&&I!=="space"&&I!=="zero-width-break"&&(b=!1),c.push(A),m.push(_),f.push(F),p.push(I),v?.push(q),x.push(W),C!==null&&C.push(S)}function M(S,A,_,F,I){let q=at(S,o),W=St(S,q,a),Y=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:W,k=A==="space"||A==="zero-width-break"?0:W;if(I&&F&&S.length>1){let U="sum-graphemes";pr(S)?U="pair-context":i.preferPrefixWidthsForBreakableRuns&&(U="segment-prefixes");let ie=um(S,q,o,a,U);T(S,W,Y,k,A,_,ie);return}T(S,W,Y,k,A,_,null)}for(let S=0;S<e.len;S++){R[S]=c.length;let A=e.texts[S],_=e.isWordLike[S],F=e.kinds[S],I=e.starts[S];if(F==="soft-hyphen"){T(A,0,l,l,F,I,null);continue}if(F==="hard-break"){T(A,0,0,0,F,I,null);continue}if(F==="tab"){T(A,0,0,0,F,I,null);continue}let q=at(A,o);if(F==="text"&&q.containsCJK){let W=T1(A,i),Y=r==="keep-all"?R1(W):W;for(let k=0;k<Y.length;k++){let U=Y[k];M(U.text,"text",I+U.start,_,r==="keep-all"||!Ve(U.text))}continue}M(A,F,I,_,!0)}let D=M1(e.chunks,R,c.length),E=v===null?null:jf(e.normalized,v);return C!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:E,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D,segments:C}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:p,simpleLineWalkFastPath:b,segLevels:E,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D}}function M1(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function ym(e,t,n,r){let i=r?.wordBreak??"normal",o=im(e,At(),r?.whiteSpace,i);return k1(o,t,n,i)}function Ii(e,t,n){return ym(e,t,!1,n)}function vm(e,t,n){return ym(e,t,!0,n)}function Pi(e,t,n){let r=hm(e,t);return{lineCount:r,height:r*n}}function F1(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function N1(e,t,n){return e.widths.length===0?0:hs(e,t,r=>{n(F1(r))})}function Sm(e,t){return xm(e,t)}function Am(e){let t=0;return N1(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var L1={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Em(e,t){let n={...L1,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=Ii(e,o),{lineCount:l}=Pi(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}var wm={prepare:Ii,layout:Pi,prepareWithSegments:vm,measureLineStats:Sm,measureNaturalWidth:Am};window.__timelines=window.__timelines||{};Hd();window.__hyperframes={fitTextFontSize:Em,getVariables:$s,pretext:wm,registerRuntimeDataHandler:Vf,setRuntimeData:Ri,clearRuntimeData:ki};function _m(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,qf())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",_m,{once:!0}):_m();})();
|
|
707
|
+
`)}var Os=null,Nv;function Lv(){return Os===null&&(Os=new Intl.Segmenter(Nv,{granularity:"word"})),Os}var Dv=/\p{Script=Arabic}/u,Zi=/\p{M}/u,Wm=/\p{Nd}/u;function Im(e){return Dv.test(e)}function Pm(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 $e(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(Pm(i))return!0;t++;continue}}if(Pm(n))return!0}}return!1}function Iv(e){let t=no(e);return t!==null&&(to.has(t)||_t.has(t))}var Pv=new Set(["\xA0","\u202F","\u2060","\uFEFF"]);function Ov(e){return $e(e)}function Gv(e){let t=no(e);return t!==null&&Pv.has(t)}function eo(e){return!Iv(e)&&!Gv(e)}var to=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"]),Cr=new Set(['"',"(","[","{","\u201C","\u2018","\xAB","\u2039","\uFF08","\u3014","\u3008","\u300A","\u300C","\u300E","\u3010","\u3016","\u3018","\u301A"]),Hs=new Set(["'","\u2019"]),_t=new Set([".",",","!","?",":",";","\u060C","\u061B","\u061F","\u0964","\u0965","\u104A","\u104B","\u104C","\u104D","\u104F",")","]","}","%",'"',"\u201D","\u2019","\xBB","\u203A","\u2026"]),Hv=new Set([":",".","\u060C","\u061B"]),Bv=new Set(["\u104F"]),Uv=new Set(["\u201D","\u2019","\xBB","\u203A","\u300D","\u300F","\u3011","\u300B","\u3009","\u3015","\uFF09"]);function Wv(e){if(Bs(e))return!0;let t=!1;for(let n of e){if(_t.has(n)){t=!0;continue}if(!(t&&Zi.test(n)))return!1}return t}function Vv(e){for(let t of e)if(!to.has(t)&&!_t.has(t))return!1;return e.length>0}function zv(e){if(Bs(e))return!0;for(let t of e)if(!Cr.has(t)&&!Hs.has(t)&&!Zi.test(t))return!1;return e.length>0}function Bs(e){let t=!1;for(let n of e)if(!(n==="\\"||Zi.test(n))){if(Cr.has(n)||_t.has(n)||Hs.has(n)){t=!0;continue}return!1}return t}function Vm(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 no(e){if(e.length===0)return null;let t=Vm(e,e.length);return e.slice(t)}function qv(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Zi.test(r)){n--;continue}if(Cr.has(r)||Hs.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function $v(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\u2014"?e:null}function Om(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function Gm(e,t){return e&&t!==null&&Hv.has(t)}function jv(e){let t=no(e);return t!==null&&Bv.has(t)}function Kv(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 ro(e){let t=e.length;for(;t>0;){let n=Vm(e,t),r=e.slice(n,t);if(Uv.has(r))return!0;if(!_t.has(r))return!1;t=n}return!1}function Yv(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`
|
|
708
|
+
`)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 Xv=/[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;function Be(e){return e.length===1?e[0]:e.join("")}function Jv(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),Be(n)}function Qv(e,t,n,r){if(!Xv.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let d of e){let m=Yv(d,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(d),u+=d.length;continue}o!==null&&i.push({text:Be(a),isWordLike:s,kind:o,start:l}),o=m,a=[d],l=n+u,s=f,u+=d.length}return o!==null&&i.push({text:Be(a),isWordLike:s,kind:o,start:l}),i}function Gs(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Zv=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function e1(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Zv.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function t1(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function n1(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"||!e1(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Gs(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=Be(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function r1(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]),!t1(a))continue;let l=o+1;if(l>=e.len||Gs(e.kinds[l]))continue;let s=[],u=e.starts[l],d=l;for(;d<e.len&&!Gs(e.kinds[d]);)s.push(e.texts[d]),d++;s.length>0&&(t.push(Be(s)),n.push(!0),r.push("text"),i.push(u),o=d-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var i1=new Set([":","-","/","\xD7",",",".","+","\u2013","\u2014"]),Hm=/^[A-Za-z0-9_]+[,:;]*$/,Bm=/[,:;]+$/;function zm(e){for(let t of e)if(Wm.test(t))return!0;return!1}function _r(e){if(e.length===0)return!1;for(let t of e)if(!(Wm.test(t)||i1.has(t)))return!1;return!0}function o1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&_r(a)&&zm(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&_r(e.texts[u]);)s.push(e.texts[u]),u++;t.push(Be(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function a1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Hm.test(a)){let u=[a],d=Bm.test(a),m=o+1;for(;d&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Hm.test(e.texts[m]);){let f=e.texts[m];u.push(f),d=Bm.test(f),m++}t.push(Be(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function s1(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let d=l[u];if(!s)break;(d.length===0||!zm(d)||!_r(d))&&(s=!1)}if(s){let u=0;for(let d=0;d<l.length;d++){let m=l[d],f=d<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function l1(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let d=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)d.push(e.texts[o]),o++;let f=Be(d);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let d=[];for(;o<e.len&&e.kinds[o]==="glue";)d.push(e.texts[o]),o++;let m=Be(d);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(Be(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function u1(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"||!$e(t[o])||!$e(t[o+1]))continue;let a=qv(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 Um(e,t,n){let r=Lv(),i=0,o=[],a=[],l=[],s=[],u=[],d=[],m=[],f=[],h=[],b=[],v=[],x=[];for(let E of r.segment(e))for(let S of Qv(E.segment,E.isWordLike??!1,E.index,n)){let U=function(){d[k]!==null&&(a[k]=[Om(o,d,m,k)],d[k]=null),a[k].push(S.text),l[k]=l[k]||S.isWordLike,f[k]=f[k]||M,h[k]=h[k]||P,b[k]=j,v[k]=J,x[k]=Gm(h[k],H)},A=S.kind==="text",C=$v(S.text,S.isWordLike,S.kind),M=$e(S.text),P=Im(S.text),H=no(S.text),j=ro(S.text),J=jv(S.text),k=i-1;t.carryCJKAfterClosingQuote&&A&&i>0&&s[k]==="text"&&M&&f[k]&&b[k]||A&&i>0&&s[k]==="text"&&Vv(S.text)&&f[k]||A&&i>0&&s[k]==="text"&&v[k]?U():A&&i>0&&s[k]==="text"&&S.isWordLike&&P&&x[k]?(U(),l[k]=!0):C!==null&&i>0&&s[k]==="text"&&d[k]===C?m[k]=(m[k]??1)+1:A&&!S.isWordLike&&i>0&&s[k]==="text"&&(Wv(S.text)||S.text==="-"&&l[k])?U():(o[i]=S.text,a[i]=[S.text],l[i]=S.isWordLike,s[i]=S.kind,u[i]=S.start,d[i]=C,m[i]=C===null?0:1,f[i]=M,h[i]=P,b[i]=j,v[i]=J,x[i]=Gm(P,H),i++)}for(let E=0;E<i;E++){if(d[E]!==null){o[E]=Om(o,d,m,E);continue}o[E]=Be(a[E])}for(let E=1;E<i;E++)s[E]==="text"&&!l[E]&&Bs(o[E])&&s[E-1]==="text"&&(o[E-1]+=o[E],l[E-1]=l[E-1]||l[E],o[E]="");let _=Array.from({length:i},()=>null),T=-1;for(let E=i-1;E>=0;E--){let S=o[E];if(S.length!==0){if(s[E]==="text"&&!l[E]&&zv(S)&&T>=0&&s[T]==="text"){let A=_[T]??[];A.push(S),_[T]=A,u[T]=u[E],o[E]="";continue}T=E}}for(let E=0;E<i;E++){let S=_[E];S!=null&&(o[E]=Jv(S,o[E]))}let R=0;for(let E=0;E<i;E++){let S=o[E];S.length!==0&&(R!==E&&(o[R]=S,l[R]=l[E],s[R]=s[E],u[R]=u[E]),R++)}o.length=R,l.length=R,s.length=R,u.length=R;let F=l1({len:R,texts:o,isWordLike:l,kinds:s,starts:u}),D=u1(a1(s1(o1(r1(n1(F))))));for(let E=0;E<D.len-1;E++){let S=Kv(D.texts[E]);S!==null&&(D.kinds[E]!=="space"&&D.kinds[E]!=="preserved-space"||D.kinds[E+1]!=="text"||!Im(D.texts[E+1])||(D.texts[E]=S.space,D.isWordLike[E]=!1,D.kinds[E]=D.kinds[E]==="preserved-space"?"preserved-space":"space",D.texts[E+1]=S.marks+D.texts[E+1],D.starts[E+1]=D.starts[E]+S.space.length))}return D}function c1(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 d1(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function d(){o!==null&&(t.push(Be(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],h=e.kinds[m],b=e.isWordLike[m],v=e.starts[m];if(h==="text"){let x=Ov(f),_=eo(f);if(o!==null&&s&&u){o.push(f),a=a||b,s=s||x,u=_;continue}d(),o=[f],a=b,l=v,s=x,u=_;continue}d(),t.push(f),n.push(b),r.push(h),i.push(v)}return d(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function qm(e,t,n="normal",r="normal"){let i=kv(n),o=i.mode==="pre-wrap"?Mv(e):Fv(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?d1(Um(o,t,i)):Um(o,t,i);return{normalized:o,chunks:c1(a,i),...a}}var hn=null,$m=new Map,gn=null,f1=96,m1=/\p{Emoji_Presentation}/u,p1=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,Us=null,jm=new Map;function Ws(){if(hn!==null)return hn;if(typeof OffscreenCanvas<"u")return hn=new OffscreenCanvas(1,1).getContext("2d"),hn;if(typeof document<"u")return hn=document.createElement("canvas").getContext("2d"),hn;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function h1(e){let t=$m.get(e);return t||(t=new Map,$m.set(e,t)),t}function dt(e,t){let n=t.get(e);return n===void 0&&(n={width:Ws().measureText(e).width,containsCJK:$e(e)},t.set(e,n)),n}function Rt(){if(gn!==null)return gn;if(typeof navigator>"u")return gn={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},gn;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 gn={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},gn}function g1(e){let t=e.match(/(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function Km(){return Us===null&&(Us=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Us}function b1(e){return m1.test(e)||e.includes("\uFE0F")}function Ym(e){return p1.test(e)}function x1(e,t){let n=jm.get(e);if(n!==void 0)return n;let r=Ws();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 jm.set(e,n),n}function y1(e){let t=0,n=Km();for(let r of n.segment(e))b1(r.segment)&&t++;return t}function v1(e,t){return t.emojiCount===void 0&&(t.emojiCount=y1(e)),t.emojiCount}function Ct(e,t,n){return n===0?t.width:t.width-v1(e,t)*n}function Xm(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Km(),a=[];for(let d of o.segment(e))a.push(d.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let d=[];for(let m of a){let f=dt(m,n);d.push(Ct(m,f,r))}return t.breakableFitAdvances=d,t.breakableFitAdvances}if(i==="pair-context"||a.length>f1){let d=[],m=null,f=0;for(let h of a){let b=dt(h,n),v=Ct(h,b,r);if(m===null)d.push(v);else{let x=m+h,_=dt(x,n);d.push(Ct(x,_,r)-f)}m=h,f=v}return t.breakableFitAdvances=d,t.breakableFitAdvances}let l=[],s="",u=0;for(let d of a){s+=d;let m=dt(s,n),f=Ct(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function Jm(e,t){let n=Ws();n.font=e;let r=h1(e),i=g1(e),o=t?x1(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function S1(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 Qm(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Zm(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function A1(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 ep(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 tp(e,t){if(t.segmentIndex>=e.widths.length)return-1;let n=A1(e,t.segmentIndex);return n<0?-1:ep(e,n,t)}function E1(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:ep(e,r,n)}function np(e,t){return e.simpleLineWalkFastPath?rp(e,t):Vs(e,t)}function rp(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=Rt().lineFitEpsilon,s=t+l,u=0,d=0,m=!1,f=0,h=0,b=0,v=0,x=-1,_=0;function T(){x=-1,_=0}function R(C=b,M=v,P=d){u++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:C,endGraphemeIndex:M,width:P}),d=0,m=!1,T()}function F(C,M){m=!0,f=C,h=0,b=C+1,v=0,d=M}function D(C,M,P){m=!0,f=C,h=M,b=C,v=M+1,d=P}function E(C,M){if(!m){F(C,M);return}d+=M,b=C+1,v=0}function S(C,M){let P=o[C];for(let H=M;H<P.length;H++){let j=P[H];m?d+j>s?(R(),D(C,H,j)):(d+=j,b=C,v=H+1):D(C,H,j)}m&&b===C&&v===P.length&&(b=C+1,v=0)}let A=0;for(;A<r.length&&!(!m&&(A=S1(e,A),A>=r.length));){let C=r[A],M=i[A],P=M==="space"||M==="preserved-space"||M==="tab"||M==="zero-width-break"||M==="soft-hyphen";if(!m){C>t&&o[A]!==null?S(A,0):F(A,C),P&&(x=A+1,_=d-C),A++;continue}if(d+C>s){if(P){E(A,C),R(A+1,0,d-C),A++;continue}if(x>=0){if(b>x||b===x&&v>0){R();continue}R(x,0,_);continue}if(C>t&&o[A]!==null){R(),S(A,0),A++;continue}R();continue}E(A,C),P&&(x=A+1,_=d-C),A++}return m&&R(),u}function Vs(e,t,n){if(e.simpleLineWalkFastPath)return rp(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:d}=e;if(r.length===0||d.length===0)return 0;let m=Rt(),f=m.lineFitEpsilon,h=t+f,b=0,v=0,x=!1,_=0,T=0,R=0,F=0,D=-1,E=0,S=0,A=null;function C(){D=-1,E=0,S=0,A=null}function M(B=R,G=F,W=v){b++,n?.({startSegmentIndex:_,startGraphemeIndex:T,endSegmentIndex:B,endGraphemeIndex:G,width:W}),v=0,x=!1,C()}function P(B,G){x=!0,_=B,T=0,R=B+1,F=0,v=G}function H(B,G,W){x=!0,_=B,T=G,R=B,F=G+1,v=W}function j(B,G){if(!x){P(B,G);return}v+=G,R=B+1,F=0}function J(B,G,W,Z){if(!G)return;let q=B==="tab"?0:i[W],O=B==="tab"?Z:o[W];D=W+1,E=v-Z+q,S=v-Z+O,A=B}function k(B,G){let W=l[B];for(let Z=G;Z<W.length;Z++){let q=W[Z];x?v+q>h?(M(),H(B,Z,q)):(v+=q,R=B,F=Z+1):H(B,Z,q)}x&&R===B&&F===W.length&&(R=B+1,F=0)}function U(B){if(A!=="soft-hyphen")return!1;let G=l[B];if(G==null)return!1;let{fitCount:W,fittedWidth:Z}=Zm(G,v,t,f,s);return W===0?!1:(v=Z,R=B,F=W,C(),W===G.length?(R=B+1,F=0,!0):(M(B,W,Z+s),k(B,W),!0))}function ne(B){b++,n?.({startSegmentIndex:B.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:B.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),C()}for(let B=0;B<d.length;B++){let G=d[B];if(G.startSegmentIndex===G.endSegmentIndex){ne(G);continue}x=!1,v=0,_=G.startSegmentIndex,T=0,R=G.startSegmentIndex,F=0,C();let W=G.startSegmentIndex;for(;W<G.endSegmentIndex;){let Z=a[W],q=Z==="space"||Z==="preserved-space"||Z==="tab"||Z==="zero-width-break"||Z==="soft-hyphen",O=Z==="tab"?Qm(v,u):r[W];if(Z==="soft-hyphen"){x&&(R=W+1,F=0,D=W+1,E=v+s,S=v+s,A=Z),W++;continue}if(!x){O>t&&l[W]!==null?k(W,0):P(W,O),J(Z,q,W,O),W++;continue}if(v+O>h){let ee=v+(Z==="tab"?0:i[W]),me=v+(Z==="tab"?O:o[W]);if(A==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&E<=h){M(D,0,S);continue}if(A==="soft-hyphen"&&U(W)){W++;continue}if(q&&ee<=h){j(W,O),M(W+1,0,me),W++;continue}if(D>=0&&E<=h){if(R>D||R===D&&F>0){M();continue}let ie=D;M(ie,0,S),W=ie;continue}if(O>t&&l[W]!==null){M(),k(W,0),W++;continue}M();continue}j(W,O),J(Z,q,W,O),W++}if(x){let Z=D===G.consumedEndSegmentIndex?S:v;M(G.consumedEndSegmentIndex,0,Z)}}return b}function ip(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:l,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:d,tabStopAdvance:m}=e,f=Rt(),h=f.lineFitEpsilon,b=r+h,v=0,x=!1,_=t.segmentIndex,T=t.graphemeIndex,R=-1,F=0,D=0,E=null;function S(){R=-1,F=0,D=0,E=null}function A(k=_,U=T,ne=v){return x?(t.segmentIndex=k,t.graphemeIndex=U,ne):null}function C(k,U){x=!0,_=k+1,T=0,v=U}function M(k,U,ne){x=!0,_=k,T=U+1,v=ne}function P(k,U){if(!x){C(k,U);return}v+=U,_=k+1,T=0}function H(k,U,ne,B){if(!U)return;let G=k==="tab"?0:a[ne],W=k==="tab"?B:l[ne];R=ne+1,F=v-B+G,D=v-B+W,E=k}function j(k,U){let ne=u[k];for(let B=U;B<ne.length;B++){let G=ne[B];if(!x)M(k,B,G);else{if(v+G>b)return A();v+=G,_=k,T=B+1}}return x&&_===k&&T===ne.length&&(_=k+1,T=0),null}function J(k){if(E!=="soft-hyphen"||R<0)return null;let U=u[k]??null;if(U!==null){let{fitCount:ne,fittedWidth:B}=Zm(U,v,r,h,d);if(ne===U.length)return v=B,_=k+1,T=0,S(),null;if(ne>0)return A(k,ne,B+d)}return F<=b?A(R,0,D):null}for(let k=t.segmentIndex;k<i.endSegmentIndex;k++){let U=s[k],ne=U==="space"||U==="preserved-space"||U==="tab"||U==="zero-width-break"||U==="soft-hyphen",B=k===t.segmentIndex?t.graphemeIndex:0,G=U==="tab"?Qm(v,m):o[k];if(U==="soft-hyphen"&&B===0){x&&(_=k+1,T=0,R=k+1,F=v+d,D=v+d,E=U);continue}if(!x){if(B>0){let Z=j(k,B);if(Z!==null)return Z}else if(G>r&&u[k]!==null){let Z=j(k,0);if(Z!==null)return Z}else C(k,G);H(U,ne,k,G);continue}if(v+G>b){let Z=v+(U==="tab"?0:a[k]),q=v+(U==="tab"?G:l[k]);if(E==="soft-hyphen"&&f.preferEarlySoftHyphenBreak&&F<=b)return A(R,0,D);let O=J(k);if(O!==null)return O;if(ne&&Z<=b)return P(k,G),A(k+1,0,q);if(R>=0&&F<=b)return _>R||_===R&&T>0?A():A(R,0,D);if(G>r&&u[k]!==null){let V=A();if(V!==null)return V;let ee=j(k,0);if(ee!==null)return ee}return A()}P(k,G),H(U,ne,k,G)}return R===i.consumedEndSegmentIndex&&T===0?A(i.consumedEndSegmentIndex,0,D):A(i.consumedEndSegmentIndex,0,v)}function w1(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e,l=Rt().lineFitEpsilon,s=n+l,u=0,d=!1,m=t.segmentIndex,f=t.graphemeIndex,h=-1,b=0;for(let v=t.segmentIndex;v<r.length;v++){let x=r[v],_=i[v],T=_==="space"||_==="preserved-space"||_==="tab"||_==="zero-width-break"||_==="soft-hyphen",R=v===t.segmentIndex?t.graphemeIndex:0,F=o[v];if(!d){if(R>0||x>n&&F!==null){let D=F,E=D[R];d=!0,u=E,m=v,f=R+1;for(let S=R+1;S<D.length;S++){let A=D[S];if(u+A>s)return t.segmentIndex=m,t.graphemeIndex=f,u;u+=A,m=v,f=S+1}m===v&&f===D.length&&(m=v+1,f=0)}else d=!0,u=x,m=v+1,f=0;T&&(h=v+1,b=u-x);continue}if(u+x>s)return T?(t.segmentIndex=v+1,t.graphemeIndex=0,u):h>=0?m>h||m===h&&f>0?(t.segmentIndex=m,t.graphemeIndex=f,u):(t.segmentIndex=h,t.graphemeIndex=0,b):(t.segmentIndex=m,t.graphemeIndex=f,u);u+=x,m=v+1,f=0,T&&(h=v+1,b=u-x)}return d?(t.segmentIndex=m,t.graphemeIndex=f,u):null}function _1(e,t,n){let r=tp(e,t);return r<0?null:e.simpleLineWalkFastPath?w1(e,t,n):ip(e,t,r,n)}function op(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=tp(e,n);for(;o>=0;){let a=ip(e,n,o,t);if(a===null)return{lineCount:r,maxLineWidth:i};r++,a>i&&(i=a),o=E1(e,o,n)}return{lineCount:r,maxLineWidth:i}}for(;;){let o=_1(e,n,t);if(o===null)return{lineCount:r,maxLineWidth:i};r++,o>i&&(i=o)}}var zs=null;function C1(){return zs===null&&(zs=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zs}function R1(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 T1(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,h){r=[m],i=f,o=h,a=ro(m),l=Cr.has(m)}function d(m,f){r.push(m),o=o||f;let h=ro(m);m.length===1&&_t.has(m)?a=a||h:a=h,l=!1}for(let m of C1().segment(e)){let f=m.segment,h=$e(f);if(r.length===0){u(f,m.index,h);continue}if(l||to.has(f)||_t.has(f)||t.carryCJKAfterClosingQuote&&h&&a){d(f,h);continue}if(!o&&!h){d(f,h);continue}s(),u(f,m.index,h)}return s(),n}function k1(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=$e(e[0].text),o=eo(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=$e(s.text),d=eo(s.text);if(i&&o){n.push(s.text),i=i||u,o=d;continue}a(),n=[s.text],r=s.start,i=u,o=d}return a(),t}function F1(e,t,n,r){let i=Rt(),{cache:o,emojiCorrection:a}=Jm(t,Ym(e.normalized)),l=Ct("-",dt("-",o),a),u=Ct(" ",dt(" ",o),a)*8;if(e.len===0)return R1(n);let d=[],m=[],f=[],h=[],b=e.chunks.length<=1,v=n?[]:null,x=[],_=n?[]:null,T=Array.from({length:e.len});function R(S,A,C,M,P,H,j){P!=="text"&&P!=="space"&&P!=="zero-width-break"&&(b=!1),d.push(A),m.push(C),f.push(M),h.push(P),v?.push(H),x.push(j),_!==null&&_.push(S)}function F(S,A,C,M,P){let H=dt(S,o),j=Ct(S,H,a),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:j,k=A==="space"||A==="zero-width-break"?0:j;if(P&&M&&S.length>1){let U="sum-graphemes";_r(S)?U="pair-context":i.preferPrefixWidthsForBreakableRuns&&(U="segment-prefixes");let ne=Xm(S,H,o,a,U);R(S,j,J,k,A,C,ne);return}R(S,j,J,k,A,C,null)}for(let S=0;S<e.len;S++){T[S]=d.length;let A=e.texts[S],C=e.isWordLike[S],M=e.kinds[S],P=e.starts[S];if(M==="soft-hyphen"){R(A,0,l,l,M,P,null);continue}if(M==="hard-break"){R(A,0,0,0,M,P,null);continue}if(M==="tab"){R(A,0,0,0,M,P,null);continue}let H=dt(A,o);if(M==="text"&&H.containsCJK){let j=T1(A,i),J=r==="keep-all"?k1(j):j;for(let k=0;k<J.length;k++){let U=J[k];F(U.text,"text",P+U.start,C,r==="keep-all"||!$e(U.text))}continue}F(A,M,P,C,!0)}let D=M1(e.chunks,T,d.length),E=v===null?null:Dm(e.normalized,v);return _!==null?{widths:d,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:b,segLevels:E,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D,segments:_}:{widths:d,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:b,segLevels:E,breakableFitAdvances:x,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:D}}function M1(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function ap(e,t,n,r){let i=r?.wordBreak??"normal",o=qm(e,Rt(),r?.whiteSpace,i);return F1(o,t,n,i)}function io(e,t,n){return ap(e,t,!1,n)}function sp(e,t,n){return ap(e,t,!0,n)}function oo(e,t,n){let r=np(e,t);return{lineCount:r,height:r*n}}function N1(e){return{width:e.width,start:{segmentIndex:e.startSegmentIndex,graphemeIndex:e.startGraphemeIndex},end:{segmentIndex:e.endSegmentIndex,graphemeIndex:e.endGraphemeIndex}}}function L1(e,t,n){return e.widths.length===0?0:Vs(e,t,r=>{n(N1(r))})}function lp(e,t){return op(e,t)}function up(e){let t=0;return L1(e,Number.POSITIVE_INFINITY,n=>{n.width>t&&(t=n.width)}),t}var D1={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function cp(e,t){let n={...D1,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=io(e,o),{lineCount:l}=oo(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}var dp={prepare:io,layout:oo,prepareWithSegments:sp,measureLineStats:lp,measureNaturalWidth:up};window.__timelines=window.__timelines||{};Cf();window.__hyperframes={fitTextFontSize:cp,getVariables:Fl,pretext:dp,registerRuntimeDataHandler:Fm,setRuntimeData:Ji,clearRuntimeData:Qi};function fp(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Nm())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",fp,{once:!0}):fp();})();
|
|
709
709
|
|