hyperframes 0.6.17 → 0.6.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -54,7 +54,7 @@ var VERSION;
54
54
  var init_version = __esm({
55
55
  "src/version.ts"() {
56
56
  "use strict";
57
- VERSION = true ? "0.6.17" : "0.0.0-dev";
57
+ VERSION = true ? "0.6.19" : "0.0.0-dev";
58
58
  }
59
59
  });
60
60
 
@@ -7408,7 +7408,7 @@ var RUNTIME_IIFE;
7408
7408
  var init_runtime_inline = __esm({
7409
7409
  "../core/src/generated/runtime-inline.ts"() {
7410
7410
  "use strict";
7411
- RUNTIME_IIFE = '"use strict";(()=>{var $o=Object.create;var dn=Object.defineProperty;var Ko=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Xo=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Jo(e))!Yo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Ko(e,r))||i.enumerable});return t};var es=(t,e,n)=>(n=t!=null?$o(Qo(t)):{},Xo(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Zo(t,typeof e!="symbol"?e+"":e,n);var Ri=Y((ic,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Y(()=>{});var It=Y((sc,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}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(e){if(!this.source)return"";let n=this.source;e==null&&(e=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=h=>l(f(h)),i=h=>p(h),Di&&(o=h=>Di(h))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,h=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,S=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(S,q),M=i(h.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(h)+o(I)+`\n `+M+r("^")}let F=i(h.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(h)+o(l)+`\n `+F+r("^")}return" "+i(h)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Y((ac,Ii)=>{"use strict";var As=/(<)(\\/?style\\b)/gi,Es=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(As,"\\\\3c $2").replace(Es,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fs(t){return t[0].toUpperCase()+t.slice(1)}var pt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Pe(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(Pe(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Pe(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fs(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Ii.exports=pt;pt.default=pt});var ht=Y((lc,Oi)=>{"use strict";var ws=Sn();function bn(t,e){new ws(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Y((uc,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Y((cc,Pi)=>{"use strict";var Ns=It(),Cs=Sn(),Ms=ht(),{isClean:xt,my:Ts}=Ot();function En(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[Ts]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=En(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Ns(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ie(i,this.source.start),Ie(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ie(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new Cs().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Ms){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Pi.exports=gt;gt.default=gt});var bt=Y((dc,Wi)=>{"use strict";var ks=yt(),St=class extends ks{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Y((fc,Hi)=>{"use strict";var _s=yt(),At=class extends _s{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};Hi.exports=At;At.default=At});var We=Y((mc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),Rs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends Rs{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(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Y((pc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Y((hc,er)=>{"use strict";var vs=We(),Zi,Xi,Je=class extends vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Y((xc,tr)=>{var Ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ls=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Bs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ds[Math.random()*64|0];return e};tr.exports={nanoid:Bs,customAlphabet:Ls}});var Ht=Y(()=>{});var qt=Y(()=>{});var Nn=Y(()=>{});var ir=Y(()=>{});var Mn=Y((Nc,sr)=>{"use strict";var{existsSync:Is,readFileSync:Os}=ir(),{dirname:Cn,join:Ps}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Ws(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let u=e.match(n)||e.match(i);if(u)return Ws(e.substr(u[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=Cn(e),Is(e)))return this.mapFile=e,Os(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof rr)return or.fromSourceMap(n).toString();if(n instanceof or)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Ps(Cn(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};sr.exports=Ft;Ft.default=Ft});var wt=Y((Cc,dr)=>{"use strict";var{nanoid:Hs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:qs,SourceMapGenerator:Us}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),zs=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),js=!!(qs&&Us),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[kn]=n,n}var et=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&js){let i=new zs(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Hs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let h=this.fromOffset(a);n=h.line,i=h.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let h=this.fromOffset(u);s=h.line,o=h.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:Rn(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Y((Mc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Y((Tc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Y((kc,yr)=>{"use strict";var gr=We(),Gs=vn(),nt=class extends gr{get selectors(){return Gs.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Y((_c,Sr)=>{"use strict";var Vs=Pt(),$s=bt(),Ks=Et(),Js=wt(),Qs=Mn(),Ys=tt(),Zs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Js.prototype};o.map&&(o.map={...o.map,__proto__:Qs.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Ys(i);if(i.type==="decl")return new Ks(i);if(i.type==="rule")return new Zs(i);if(i.type==="comment")return new $s(i);if(i.type==="atrule")return new Vs(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Y((Rc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),Xs=wt(),ea=!!(Nr&&Gt),ta=!!(jt&&Fr&&Er&&wr),Dn=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),ta&&ea&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(u,a,c)=>{if(this.css+=u,a&&c!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!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(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new Xs(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Ar){let i=Ar(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Y((vc,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,na=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,h,F,E=i.length,S=0,q=[],I=[],M=-1;function X(){return S}function _(w){throw e.error("Unclosed "+w,S)}function N(){return I.length===0&&S>=E}function g(w){if(I.length)return I.pop();if(S>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,S];break}case 40:{if(F=q.length?q.pop()[1]:"",h=i.charCodeAt(S+1),F==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){a=S;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=S;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(S,a+1),S,a],S=a}else S<=M?l=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||na.test(s)?(M=a===-1?E:a,l=["(","(",S]):(l=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=S+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Vt.lastIndex=S+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(S,a+1),S,a],S=a):($t.lastIndex=S+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(S,a+1),S,a],q.push(l),S=a);break}}return S++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Y((Dc,vr)=>{"use strict";var ia=Pt(),ra=bt(),oa=Et(),sa=tt(),_r=zt(),aa=kr(),Rr={empty:!0,space:!0};function la(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new sa,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ia;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),u&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,u]of e.entries()){if(r=u,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new ra;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=aa(this.input)}decl(e,n){let i=new oa;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||la(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let h=l[f][0];if(p.trim().startsWith("!")&&h!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new _r;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){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(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}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(e){if(this.spaces+=e[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(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((h,F)=>h+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};vr.exports=Bn});var Jt=Y((Lc,Lr)=>{"use strict";var ua=We(),ca=wt(),da=Dr();function Kt(t,e){let n=new ca(t,e),i=new da(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ua.registerParse(Kt)});var In=Y((Bc,Br)=>{"use strict";var Mt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Br.exports=Mt;Mt.default=Mt});var Qt=Y((Ic,Ir)=>{"use strict";var fa=In(),Tt=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new fa(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Y((Oc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Y((Wc,Ur)=>{"use strict";var ma=We(),pa=Wt(),ha=Ln(),xa=Jt(),Wr=Qt(),ga=tt(),ya=ht(),{isClean:Le,my:Sa}=Ot(),Pc=On(),ba={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Aa={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},Ea={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=ba[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=class t{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(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=xa;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Sa]&&ma.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Aa[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ea[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Le];){e[Le]=!0;let n=[Hr(e)];for(;n.length>0;){let i=this.visitTick(n);if(kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(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 e=this.result.opts,n=ya;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,u=>{s+=u}),this.result.css=s,this.result}let o=new ha(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 e of this.plugins){let n=this.runOnRoot(e);if(kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Le];)e[Le]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ga.registerLazyResult(qe);pa.registerLazyResult(qe)});var jr=Y((qc,zr)=>{"use strict";var Fa=Ln(),wa=Jt(),Na=Qt(),Ca=ht(),Hc=On(),_t=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 e,n=wa;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=Ca;this.result=new Na(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};zr.exports=_t;_t.default=_t});var Vr=Y((Uc,Gr)=>{"use strict";var Ma=Wt(),Ta=Hn(),ka=jr(),_a=tt(),Qe=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new ka(this,e,n):new Ta(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;_a.registerProcessor(Qe);Ma.registerProcessor(Qe)});var eo=Y((zc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),Ra=We(),va=It(),Jr=Et(),Qr=Wt(),Da=br(),La=wt(),Ba=Hn(),Ia=vn(),Oa=yt(),Pa=Jt(),qn=Vr(),Wa=Qt(),Yr=tt(),Zr=zt(),Ha=ht(),qa=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=Ha;re.parse=Pa;re.fromJSON=Da;re.list=Ia;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=va;re.Declaration=Jr;re.Container=Ra;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=qa;re.AtRule=$r;re.Result=Wa;re.Input=La;re.Rule=Zr;re.Root=Yr;re.Node=Oa;Ba.registerPostcss(re);Xr.exports=re;re.default=re});function D(t,e){if(typeof window>"u")return;let n=window,i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Fe(t){try{window.parent.postMessage(t,"*")}catch(e){D("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ts(o,s)}};return window.addEventListener("message",e),e}function ts(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){D("bridge.flashElements.querySelector",i)}}var fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){D("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){D("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){D("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){D("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){D("runtime.adapters.css.site4",c)}},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:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?n.totalTime(i,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){D("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){D("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){D("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){D("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function pi(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){D("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){D("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(fi(e)||mi(e))&&e.pause()}catch(n){D("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){D("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){D("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){D("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){D("runtime.adapters.waapi.site3",e)}}}}function bi(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,h=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(h)||h<=0)&&f!=null&&(h=Math.max(0,(f-a)/l));let F=Number.isFinite(h)&&h>0?u+h:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:u,mediaStart:a,duration:Number.isFinite(h)&&h>0?h:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function ns(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<n.end&&r>=0){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){D("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let h=f===void 0,F=!h&&Math.abs(p-f)>.5,E=l>3,S=l>.5&&(h||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!S&&!h&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(S||M||X){try{i.currentTime=r}catch(_){D("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){D("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(ns(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var is=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),rs=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){D("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(is)||c(g))}function p(g){return!!g?.closest(rs)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let v=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return v;let J=P.querySelectorAll(`:scope > ${v}`);if(J.length===1)return v;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${v}:nth-of-type(${R+1})`;return v}function h(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,v)=>T.length>v?`${T.slice(0,v-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let v={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!v[le]&&(v[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let v=g.attributes[T];v.name.startsWith("data-")&&(w[v.name]=v.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:h(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function S(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=S(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),v=C[T]??null;return v?(a(v),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:v}),_(),v):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=S(g,A,8);if(!C.length)return[];let T=[],v=Array.isArray(w)?w:[0];for(let P of v){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function ct(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){D("runtime.player.site1",r)}}}function Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function os(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){D("runtime.player.site2",s)}}}function ss(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(e.time())||0);t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=os(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.play()}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(ss(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var as="data-hf-authored-duration",ls="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function us(t){return $e(t.getAttribute("data-duration"))}function cs(t){return $e(t.getAttribute("data-end"))}function ds(t){return $e(t.getAttribute(as))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){let e=(t??"").trim();if(!e)return null;let n=$e(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,h=us(l)??(n?ds(l):null);if(h!=null&&h>0&&(f=h),f==null||f<=0){let F=cs(l)??(n?fs(l):null);if(F!=null){let E=c(l,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){D("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let h=l.parentElement?.closest("[data-composition-id]");return h?c(h,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let h=ms(l.getAttribute("data-start"));if(!h){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(h.kind==="absolute"){let I=Math.max(0,h.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(h.refId);if(!F)return i.set(l,p),p;let E=c(F,0),S=u(F);if(S==null||S<=0){let I=Math.max(0,E+h.offset);return i.set(l,I),I}let q=Math.max(0,E+S+h.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var ps="data-hf-authored-duration",hs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(ps))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(hs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function xs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function gs(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function ys(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ss(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function bs(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return dt(r);let o=t.id;if(o)return dt(o);let s=gs(t);if(s)return dt(s);let u=ys(Ti(t));if(u)return dt(u);let a=Ss(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,h=s(),F=h!=null?Math.max(0,h-Math.max(0,f)):null,E=r(p),S=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,v=(C!=null?f+C:null)??(typeof h=="number"&&Number.isFinite(h)&&h>0?h:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:v==null||!Number.isFinite(v)?k:!Number.isFinite(H)||H>=v?0:Math.max(0,Math.min(k,v-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:bs(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){D("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}xs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Z=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.round(Z*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=es(eo(),1),to=ae.default,jc=ae.default.stringify,Gc=ae.default.fromJSON,Vc=ae.default.plugin,$c=ae.default.parse,Kc=ae.default.list,Jc=ae.default.document,Qc=ae.default.comment,Yc=ae.default.atRule,Zc=ae.default.rule,Xc=ae.default.decl,ed=ae.default.root,td=ae.default.CssSyntaxError,nd=ae.default.Declaration,id=ae.default.Container,rd=ae.default.Processor,od=ae.default.Document,sd=ae.default.Comment,ad=ae.default.Warning,ld=ae.default.AtRule,ud=ae.default.Result,cd=ae.default.Input,dd=ae.default.Rule,fd=ae.default.Root,md=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ua(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,Ua(e)])).filter(Boolean):[]}function za(t){return!!t&&/[\\w-]/.test(t)}function ja(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!za(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Ga(t,e){let n=e?.trim();return n?ja(t,n,`[${no}="${io(n)}"]`):t}function Va(t,e,n,i){let r=Ga(t,i),o=$a(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function $a(t,e,n){let i=Un(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Ka=new Set(["keyframes","-webkit-keyframes","font-face"]);function Ja(t){return t?.type==="atrule"}function Qa(t){let e=t.parent;for(;e;){if(Ja(e)&&Ka.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Qa(u)||(u.selectors=u.selectors.map(a=>Va(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),h=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootIdForms = ${F};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Ya();return{...t,...e}}function jn(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Ya(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Za=8e3,Xa=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function el(t,e){return`${t}__hf${e}`}var tl=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),Za)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var nl=["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 il(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of nl)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return Xa.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function rl(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Yt(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function ol(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function sl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function al(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:sl(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=ol(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=al(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?el(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(h=>h.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headStyles)for(let f of t.headStyles){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let a=[];if(t.headScripts)for(let f of t.headScripts){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),h=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(h);f&&t.host.setAttribute("data-width",f),h&&t.host.setAttribute("data-height",h),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(il(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...rl(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of l){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=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),t.injectedScripts.push(h),f.kind==="external"){let F=await tl(h);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ll(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ul(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function cl(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Kn(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=ul();for(let i of e){let r=null;if(i.wordId&&(r=ll(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let u=cl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*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(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}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:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(!this._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return D("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,h=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=h,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let S=-f/c;l.start(h+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:h,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return D("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){D("webAudioTransport.setRate",r)}}}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){D("runtime.init.site1",d)}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"),window.__timelines=window.__timelines||{};let u=d=>{r.push(d)},a=(d,m,x)=>{let b=x??`${d}:${JSON.stringify(m)}`;o.has(b)||(o.add(b),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},x=[],b=[],y={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:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>x,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:()=>b,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,h=.05,F=100,E=240,S=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 m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(x=>!x.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x),m&&d.style.setProperty("--comp-width",m),x&&d.style.setProperty("--comp-height",x)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(x=>x.hasAttribute("data-duration")||x.hasAttribute("data-end"));for(let x of m){if(d&&x===d)continue;let b=x.getAttribute("data-duration"),y=x.getAttribute("data-end");b!=null&&!x.hasAttribute(ho)&&x.setAttribute(ho,b),y!=null&&!x.hasAttribute(xo)&&x.setAttribute(xo,y),x.removeAttribute("data-duration"),x.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x);let b=Array.from(d.children);for(let y of b){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,x)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:x?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let x=m.getAttribute("data-composition-id");if(x&&m.children.length===0&&document.querySelector(`template#${CSS.escape(x)}-template`)){C=!0;break}}}let T=!w&&!C,v=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let x=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(x)?Math.max(0,x):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let x of d){let b=g(x,0);if(!Number.isFinite(b))continue;let y=J(x);y==null||y<=l||(m=Math.max(m,Math.max(0,b)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},x=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=x.resolveStartForElement(L,0),ne=x.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(b=Math.max(b,Math.max(0,$)+ne))}return b>l?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let x=v(d),b=Se(),y=le(),L=Math.max(b??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(x)?$=Math.max(x,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),x=Se(),b=le(),y=Math.max(x??0,b??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let pe of oe)ue.add(pe.timeline,te(pe.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let pe=ue.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){D("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){D("runtime.init.site3",se)}return pe},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let pe=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){D("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=v(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(pe){D("runtime.init.site5",pe)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Z=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=v(ye);if(!P(Q)&&me.length>0){let se=me.map(Vo=>Vo.compositionId),Ce=$(me),ke=v(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=v(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=v(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),pe=ue?parseFloat(ue):null,be=Math.max(P(pe)?pe:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){D("runtime.init.site6",ke)}let Ce=v(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:b,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:x,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(pe=>pe.compositionId),Q=$(me),ue=v(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,selectedTimelineIds:oe}}}}return{timeline:null}},Z=!1,he=()=>{if(!T)return!1;let d=t.capturedTimeline,m=v(d),x=P(m);if(d&&x&&Z)return!1;let b=W();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return b.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),!0},Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),x=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(x)&&x>0&&Number.isFinite(b)&&b>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:x,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=S(d.error??d.message).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:x.code,details:{category:x.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=S(d.reason).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${x.code}_unhandled_rejection`,details:{category:`${x.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let x of d){let b=()=>{if(!(x instanceof Element))return;let y=x.tagName.toLowerCase(),L=x.getAttribute("src")??x.getAttribute("href")??x.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(x instanceof HTMLImageElement||x instanceof HTMLMediaElement)&&x.currentSrc||null,readyState:x instanceof HTMLMediaElement?x.readyState:null,networkState:x instanceof HTMLMediaElement?x.networkState:null},`${te}:${y}:${L??"unknown"}`)};x.addEventListener("error",b),u(()=>{x.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let x=Array.from(m).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);x.length!==0&&a("runtime_font_load_issue",{failedFamilies:x,totalFaces:Array.from(m).length},`runtime-font-load-issue:${x.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let x=t.capturedTimeline;if(x&&x===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),y&&t.capturedTimeline.play()}catch(L){D("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){he()&&(je(),ce(!0));return}if(z)return;let x=v(t.capturedTimeline),b=d.selectedDurationSeconds??v(d.timeline);P(b)&&(!P(x)||b>=x+h)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:x??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),x=t.mediaForceSyncNextTick;x&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:x,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),x=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||x-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=x,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let x=I(d.getAttribute("data-width")),b=I(d.getAttribute("data-height")),y=x?parseInt(x,10):0,L=b?parseInt(b,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}he();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let x of t.deterministicAdapters){try{d==="discover"&&x.discover(),d==="pause"&&x.pause(),d==="play"&&x.play&&x.play()}catch(b){D("runtime.init.site8",b)}if(d==="discover")try{x.seek({time:m})}catch(b){D("runtime.init.site9",b)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:x})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:x})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,he(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let x=document.querySelectorAll("video, audio");for(let b of x)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){D("runtime.init.site10",y)}},de=wi({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(x){D("runtime.init.site11",x)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let x=Math.max(0,d)/t.canonicalFps;de.seek(x),lt("composition_seeked",{time:x})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement))continue;let b=parseFloat(x.dataset.volume??""),y=Number.isFinite(b)?b:1;x.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),he(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;he()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,x)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(b){D(x,b)}},Go=d=>{let m=window.__timelines??{},x=M()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(m)){if(!y||b===x)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=v(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Ge=d=>{let m=t.capturedTimeline;if(m)try{typeof m.totalTime=="function"?m.totalTime(d,!1):m.seek(d,!1)}catch(x){D("runtime.init.transport.seek",x)}else Go(d);for(let x of t.deterministicAdapters)try{x.seek({time:d})}catch(b){D("runtime.init.transport.adapter",b)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let x=t.capturedTimeline;if(he()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==x&&t.capturedTimeline.pause();let b=j(t.capturedTimeline,0);b>0&&B.setDuration(b),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),x=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),L=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),x=!0):(B.attachAudioSource({el:b,compositionStart:y,mediaStart:$}),x=!0);break}}!x&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement)||!x.isConnected)continue;let b=Number.parseFloat(x.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(x.dataset.duration??""),L=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=L)continue;let te=Number.parseFloat(x.dataset.playbackStart??x.dataset.mediaStart??"0")||0,$=d-b+te;if($>=0)try{x.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let x=M(),b=Number(x?.getAttribute("data-duration")??0);b>0&&B.setDuration(b)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let x=xe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,x,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:x=>{de[m]=x},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){D("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){D("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){D("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){D("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 dl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function fl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let h=dl(p);(h==="R"||h==="AL"||h==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=h;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,h=p!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=h;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=fl(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var ml=/[ \\t\\n\\r\\f]+/g,pl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function hl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function xl(t){if(!pl.test(t))return t;let e=t.replace(ml," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function gl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,yl;function Sl(){return Qn===null&&(Qn=new Intl.Segmenter(yl,{granularity:"word"})),Qn}var bl=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return bl.test(t)}function Ao(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function Re(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function Al(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var El=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Fl(t){return Re(t)}function wl(t){let e=rn(t);return e!==null&&El.has(e)}function tn(t){return!Al(t)&&!wl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Nl=new Set([":",".","\\u060C","\\u061B"]),Cl=new Set(["\\u104F"]),Ml=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Tl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function kl(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function _l(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function Rl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Nl.has(e)}function Dl(t){let e=rn(t);return e!==null&&Cl.has(e)}function Ll(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Ml.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Bl(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Il=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Ol(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Pl(t,e,n,i){if(!Il.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Bl(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Wl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Hl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Wl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function ql(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Ul(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!Hl(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function zl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!ql(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var jl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||jl.has(e)))return!1;return!0}function Gl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Kl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Jl(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Re(e[o])||!Re(e[o+1]))continue;let s=Rl(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Co(t,e,n){let i=Sl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],h=[],F=[],E=[],S=[];for(let N of i.segment(t))for(let g of Pl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,h[R]=h[R]||T,F[R]=P,E[R]=J,S[R]=Fo(h[R],v)},A=g.kind==="text",w=vl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),v=rn(g.text),P=on(g.text),J=Dl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&kl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&S[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Tl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,h[r]=T,F[r]=P,E[r]=J,S[r]=Fo(T,v),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&_l(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Ol(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Kl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Jl(Vl($l(Gl(zl(Ul(X))))));for(let N=0;N<_.len-1;N++){let g=Ll(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Ql(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function Yl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],h=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(h==="text"){let S=Fl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=q;continue}l(),o=[f],s=F,u=E,a=S,c=q;continue}l(),e.push(f),n.push(F),i.push(h),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=hl(n),o=r.mode==="pre-wrap"?gl(t):xl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Yl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Ql(s,r),...s}}var rt=null,Ro=new Map,ot=null,Zl=96,Xl=/\\p{Emoji_Presentation}/u,eu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function tu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function nu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function iu(t){return Xl.test(t)||t.includes("\\uFE0F")}function Lo(t){return eu.test(t)}function ru(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return vo.set(t,n),n}function ou(t){let e=0,n=Do();for(let i of n.segment(t))iu(i.segment)&&e++;return e}function su(t,e){return e.emojiCount===void 0&&(e.emojiCount=ou(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-su(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Zl){let l=[],p=null,f=0;for(let h of s){let F=Oe(h,n),E=ze(h,F,i);if(p===null)l.push(E);else{let S=p+h,q=Oe(S,n);l.push(ze(S,q,i)-f)}p=h,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=tu(t),r=nu(t),o=e?ru(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function au(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function lu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function uu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,h=0,F=0,E=0,S=-1,q=0;function I(){S=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,h=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,h=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let v=C;v<T.length;v++){let P=T[v];p?l+P>a?(M(),_(w,v,P)):(l+=P,F=w,E=v+1):_(w,v,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=au(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(S=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(S>=0){if(F>S||F===S&&E>0){M();continue}M(S,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(S=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,h=e+f,F=0,E=0,S=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,S=!1,w()}function T(V,j){S=!0,q=V,I=0,M=V+1,X=0,E=j}function v(V,j,W){S=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!S){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Z){if(!j)return;let he=V==="tab"?0:r[W],Ne=V==="tab"?Z:o[W];_=W+1,N=E-Z+he,g=E-Z+Ne,A=V}function R(V,j){let W=u[V];for(let Z=j;Z<W.length;Z++){let he=W[Z];S?E+he>h?(C(),v(V,Z,he)):(E+=he,M=V,X=Z+1):v(V,Z,he)}S&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Z}=uu(j,E,e,f,a);return W===0?!1:(E=Z,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Z+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}S=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Z=s[W],he=Z==="space"||Z==="preserved-space"||Z==="tab"||Z==="zero-width-break"||Z==="soft-hyphen",Ne=Z==="tab"?lu(E,c):i[W];if(Z==="soft-hyphen"){S&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Z),W++;continue}if(!S){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Z,he,W,Ne),W++;continue}if(E+Ne>h){let k=E+(Z==="tab"?0:r[W]),O=E+(Z==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=h){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(he&&k<=h){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=h){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Z,he,W,Ne),W++}if(S){let Z=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Z)}}return F}var ni=null;function cu(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function du(t){return t?{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 fu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,h){i=[p],r=f,o=h,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let h=on(p);p.length===1&&Ue.has(p)?s=s||h:s=h,u=!1}for(let p of cu().segment(t)){let f=p.segment,h=Re(f);if(i.length===0){c(f,p.index,h);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&h&&s){l(f,h);continue}if(!o&&!h){l(f,h);continue}a(),c(f,p.index,h)}return a(),n}function mu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function pu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return du(n);let l=[],p=[],f=[],h=[],F=t.chunks.length<=1,E=n?[]:null,S=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,v,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),h.push(T),E?.push(v),S.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let v=Oe(g,o),P=ze(g,v,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,v,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let v=Oe(A,o);if(C==="text"&&v.containsCJK){let P=fu(A,r),J=i==="keep-all"?mu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=hu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function hu(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function xu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return pu(o,e,n,r)}function Ho(t,e,n){return xu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var gu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...gu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
7411
+ RUNTIME_IIFE = '"use strict";(()=>{var $o=Object.create;var dn=Object.defineProperty;var Ko=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Xo=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Jo(e))!Yo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Ko(e,r))||i.enumerable});return t};var es=(t,e,n)=>(n=t!=null?$o(Qo(t)):{},Xo(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Zo(t,typeof e!="symbol"?e+"":e,n);var Ri=Y((ic,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Y(()=>{});var It=Y((sc,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}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(e){if(!this.source)return"";let n=this.source;e==null&&(e=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=h=>l(f(h)),i=h=>p(h),Di&&(o=h=>Di(h))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,h=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,S=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(S,q),M=i(h.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(h)+o(I)+`\n `+M+r("^")}let F=i(h.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(h)+o(l)+`\n `+F+r("^")}return" "+i(h)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Y((ac,Ii)=>{"use strict";var As=/(<)(\\/?style\\b)/gi,Es=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(As,"\\\\3c $2").replace(Es,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fs(t){return t[0].toUpperCase()+t.slice(1)}var pt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(Pe(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(Pe(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(Pe(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fs(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Ii.exports=pt;pt.default=pt});var ht=Y((lc,Oi)=>{"use strict";var ws=Sn();function bn(t,e){new ws(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Y((uc,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Y((cc,Pi)=>{"use strict";var Ns=It(),Cs=Sn(),Ms=ht(),{isClean:xt,my:Ts}=Ot();function En(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[Ts]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=En(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Ns(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ie(i,this.source.start),Ie(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ie(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new Cs().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Ms){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Pi.exports=gt;gt.default=gt});var bt=Y((dc,Wi)=>{"use strict";var ks=yt(),St=class extends ks{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Y((fc,Hi)=>{"use strict";var _s=yt(),At=class extends _s{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};Hi.exports=At;At.default=At});var We=Y((mc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),Rs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends Rs{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(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Y((pc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Y((hc,er)=>{"use strict";var vs=We(),Zi,Xi,Je=class extends vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Y((xc,tr)=>{var Ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ls=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Bs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ds[Math.random()*64|0];return e};tr.exports={nanoid:Bs,customAlphabet:Ls}});var Ht=Y(()=>{});var qt=Y(()=>{});var Nn=Y(()=>{});var ir=Y(()=>{});var Mn=Y((Nc,sr)=>{"use strict";var{existsSync:Is,readFileSync:Os}=ir(),{dirname:Cn,join:Ps}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Ws(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let u=e.match(n)||e.match(i);if(u)return Ws(e.substr(u[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=Cn(e),Is(e)))return this.mapFile=e,Os(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof rr)return or.fromSourceMap(n).toString();if(n instanceof or)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Ps(Cn(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};sr.exports=Ft;Ft.default=Ft});var wt=Y((Cc,dr)=>{"use strict";var{nanoid:Hs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:qs,SourceMapGenerator:Us}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),zs=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),js=!!(qs&&Us),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[kn]=n,n}var et=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&js){let i=new zs(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Hs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let h=this.fromOffset(a);n=h.line,i=h.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let h=this.fromOffset(u);s=h.line,o=h.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:Rn(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Y((Mc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Y((Tc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Y((kc,yr)=>{"use strict";var gr=We(),Gs=vn(),nt=class extends gr{get selectors(){return Gs.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Y((_c,Sr)=>{"use strict";var Vs=Pt(),$s=bt(),Ks=Et(),Js=wt(),Qs=Mn(),Ys=tt(),Zs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Js.prototype};o.map&&(o.map={...o.map,__proto__:Qs.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Ys(i);if(i.type==="decl")return new Ks(i);if(i.type==="rule")return new Zs(i);if(i.type==="comment")return new $s(i);if(i.type==="atrule")return new Vs(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Y((Rc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),Xs=wt(),ea=!!(Nr&&Gt),ta=!!(jt&&Fr&&Er&&wr),Dn=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),ta&&ea&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(u,a,c)=>{if(this.css+=u,a&&c!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!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(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new Xs(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Ar){let i=Ar(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Y((vc,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,na=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,h,F,E=i.length,S=0,q=[],I=[],M=-1;function X(){return S}function _(w){throw e.error("Unclosed "+w,S)}function N(){return I.length===0&&S>=E}function g(w){if(I.length)return I.pop();if(S>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,S];break}case 40:{if(F=q.length?q.pop()[1]:"",h=i.charCodeAt(S+1),F==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){a=S;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=S;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(S,a+1),S,a],S=a}else S<=M?l=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||na.test(s)?(M=a===-1?E:a,l=["(","(",S]):(l=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=S+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Vt.lastIndex=S+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(S,a+1),S,a],S=a):($t.lastIndex=S+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(S,a+1),S,a],q.push(l),S=a);break}}return S++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Y((Dc,vr)=>{"use strict";var ia=Pt(),ra=bt(),oa=Et(),sa=tt(),_r=zt(),aa=kr(),Rr={empty:!0,space:!0};function la(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new sa,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ia;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),u&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,u]of e.entries()){if(r=u,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new ra;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=aa(this.input)}decl(e,n){let i=new oa;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||la(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let h=l[f][0];if(p.trim().startsWith("!")&&h!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new _r;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){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(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}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(e){if(this.spaces+=e[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(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((h,F)=>h+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};vr.exports=Bn});var Jt=Y((Lc,Lr)=>{"use strict";var ua=We(),ca=wt(),da=Dr();function Kt(t,e){let n=new ca(t,e),i=new da(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ua.registerParse(Kt)});var In=Y((Bc,Br)=>{"use strict";var Mt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Br.exports=Mt;Mt.default=Mt});var Qt=Y((Ic,Ir)=>{"use strict";var fa=In(),Tt=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new fa(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Y((Oc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Y((Wc,Ur)=>{"use strict";var ma=We(),pa=Wt(),ha=Ln(),xa=Jt(),Wr=Qt(),ga=tt(),ya=ht(),{isClean:Le,my:Sa}=Ot(),Pc=On(),ba={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Aa={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},Ea={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=ba[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=class t{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(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=xa;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Sa]&&ma.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!Aa[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ea[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Le];){e[Le]=!0;let n=[Hr(e)];for(;n.length>0;){let i=this.visitTick(n);if(kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(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 e=this.result.opts,n=ya;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,u=>{s+=u}),this.result.css=s,this.result}let o=new ha(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 e of this.plugins){let n=this.runOnRoot(e);if(kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Le];)e[Le]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ga.registerLazyResult(qe);pa.registerLazyResult(qe)});var jr=Y((qc,zr)=>{"use strict";var Fa=Ln(),wa=Jt(),Na=Qt(),Ca=ht(),Hc=On(),_t=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 e,n=wa;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=Ca;this.result=new Na(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};zr.exports=_t;_t.default=_t});var Vr=Y((Uc,Gr)=>{"use strict";var Ma=Wt(),Ta=Hn(),ka=jr(),_a=tt(),Qe=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new ka(this,e,n):new Ta(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;_a.registerProcessor(Qe);Ma.registerProcessor(Qe)});var eo=Y((zc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),Ra=We(),va=It(),Jr=Et(),Qr=Wt(),Da=br(),La=wt(),Ba=Hn(),Ia=vn(),Oa=yt(),Pa=Jt(),qn=Vr(),Wa=Qt(),Yr=tt(),Zr=zt(),Ha=ht(),qa=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=Ha;re.parse=Pa;re.fromJSON=Da;re.list=Ia;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=va;re.Declaration=Jr;re.Container=Ra;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=qa;re.AtRule=$r;re.Result=Wa;re.Input=La;re.Rule=Zr;re.Root=Yr;re.Node=Oa;Ba.registerPostcss(re);Xr.exports=re;re.default=re});function D(t,e){if(typeof window>"u")return;let n=window,i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Fe(t){try{window.parent.postMessage(t,"*")}catch(e){D("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ts(o,s)}};return window.addEventListener("message",e),e}function ts(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){D("bridge.flashElements.querySelector",i)}}var fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){D("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){D("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){D("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){D("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){D("runtime.adapters.css.site4",c)}},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:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?n.totalTime(i,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){D("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){D("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){D("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){D("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function pi(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){D("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){D("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(fi(e)||mi(e))&&e.pause()}catch(n){D("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){D("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){D("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){D("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){D("runtime.adapters.waapi.site3",e)}}}}function bi(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,h=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(h)||h<=0)&&f!=null&&(h=Math.max(0,(f-a)/l));let F=Number.isFinite(h)&&h>0?u+h:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:u,mediaStart:a,duration:Number.isFinite(h)&&h>0?h:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function ns(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<n.end&&r>=0){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){D("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let h=f===void 0,F=!h&&Math.abs(p-f)>.5,E=l>3,S=l>.5&&(h||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!S&&!h&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(S||M||X){try{i.currentTime=r}catch(_){D("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){D("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(ns(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var is=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),rs=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){D("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(is)||c(g))}function p(g){return!!g?.closest(rs)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let v=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return v;let J=P.querySelectorAll(`:scope > ${v}`);if(J.length===1)return v;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${v}:nth-of-type(${R+1})`;return v}function h(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,v)=>T.length>v?`${T.slice(0,v-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let v={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!v[le]&&(v[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let v=g.attributes[T];v.name.startsWith("data-")&&(w[v.name]=v.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:h(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function S(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=S(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),v=C[T]??null;return v?(a(v),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:v}),_(),v):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=S(g,A,8);if(!C.length)return[];let T=[],v=Array.isArray(w)?w:[0];for(let P of v){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function ct(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){D("runtime.player.site1",r)}}}function Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function os(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){D("runtime.player.site2",s)}}}function ss(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(e.time())||0);t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=os(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.play()}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(ss(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var as="data-hf-authored-duration",ls="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function us(t){return $e(t.getAttribute("data-duration"))}function cs(t){return $e(t.getAttribute("data-end"))}function ds(t){return $e(t.getAttribute(as))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){let e=(t??"").trim();if(!e)return null;let n=$e(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,h=us(l)??(n?ds(l):null);if(h!=null&&h>0&&(f=h),f==null||f<=0){let F=cs(l)??(n?fs(l):null);if(F!=null){let E=c(l,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){D("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let h=l.parentElement?.closest("[data-composition-id]");return h?c(h,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let h=ms(l.getAttribute("data-start"));if(!h){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(h.kind==="absolute"){let I=Math.max(0,h.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(h.refId);if(!F)return i.set(l,p),p;let E=c(F,0),S=u(F);if(S==null||S<=0){let I=Math.max(0,E+h.offset);return i.set(l,I),I}let q=Math.max(0,E+S+h.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var ps="data-hf-authored-duration",hs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(ps))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(hs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function xs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function gs(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function ys(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Ss(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function bs(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return dt(r);let o=t.id;if(o)return dt(o);let s=gs(t);if(s)return dt(s);let u=ys(Ti(t));if(u)return dt(u);let a=Ss(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,h=s(),F=h!=null?Math.max(0,h-Math.max(0,f)):null,E=r(p),S=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,v=(C!=null?f+C:null)??(typeof h=="number"&&Number.isFinite(h)&&h>0?h:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:v==null||!Number.isFinite(v)?k:!Number.isFinite(H)||H>=v?0:Math.max(0,Math.min(k,v-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:bs(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){D("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}xs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Z=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.round(Z*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=es(eo(),1),to=ae.default,jc=ae.default.stringify,Gc=ae.default.fromJSON,Vc=ae.default.plugin,$c=ae.default.parse,Kc=ae.default.list,Jc=ae.default.document,Qc=ae.default.comment,Yc=ae.default.atRule,Zc=ae.default.rule,Xc=ae.default.decl,ed=ae.default.root,td=ae.default.CssSyntaxError,nd=ae.default.Declaration,id=ae.default.Container,rd=ae.default.Processor,od=ae.default.Document,sd=ae.default.Comment,ad=ae.default.Warning,ld=ae.default.AtRule,ud=ae.default.Result,cd=ae.default.Input,dd=ae.default.Rule,fd=ae.default.Root,md=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ua(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,Ua(e)])).filter(Boolean):[]}function za(t){return!!t&&/[\\w-]/.test(t)}function ja(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!za(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Ga(t,e){let n=e?.trim();return n?ja(t,n,`[${no}="${io(n)}"]`):t}function Va(t,e,n,i){let r=Ga(t,i),o=$a(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function $a(t,e,n){let i=Un(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Ka=new Set(["keyframes","-webkit-keyframes","font-face"]);function Ja(t){return t?.type==="atrule"}function Qa(t){let e=t.parent;for(;e;){if(Ja(e)&&Ka.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Qa(u)||(u.selectors=u.selectors.map(a=>Va(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),h=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootIdForms = ${F};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Ya();return{...t,...e}}function jn(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Ya(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Za=8e3,Xa=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function el(t,e){return`${t}__hf${e}`}var tl=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),Za)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var nl=["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 il(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of nl)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return Xa.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function rl(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Yt(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function ol(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function sl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function al(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:sl(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=ol(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=al(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?el(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(h=>h.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headStyles)for(let f of t.headStyles){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let a=[];if(t.headScripts)for(let f of t.headScripts){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),h=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(h);f&&t.host.setAttribute("data-width",f),h&&t.host.setAttribute("data-height",h),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(il(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...rl(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of l){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=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),t.injectedScripts.push(h),f.kind==="external"){let F=await tl(h);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ll(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ul(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function cl(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Kn(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=ul();for(let i of e){let r=null;if(i.wordId&&(r=ll(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let u=cl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*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(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}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:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(!this._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return D("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,h=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=h,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let S=-f/c;l.start(h+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:h,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return D("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){D("webAudioTransport.setRate",r)}}}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){D("runtime.init.site1",d)}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"),window.__timelines=window.__timelines||{};let u=d=>{r.push(d)},a=(d,m,x)=>{let b=x??`${d}:${JSON.stringify(m)}`;o.has(b)||(o.add(b),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},x=[],b=[],y={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:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>x,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:()=>b,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,h=.05,F=100,E=240,S=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 m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(x=>!x.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x),m&&d.style.setProperty("--comp-width",m),x&&d.style.setProperty("--comp-height",x)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(x=>x.hasAttribute("data-duration")||x.hasAttribute("data-end"));for(let x of m){if(d&&x===d)continue;let b=x.getAttribute("data-duration"),y=x.getAttribute("data-end");b!=null&&!x.hasAttribute(ho)&&x.setAttribute(ho,b),y!=null&&!x.hasAttribute(xo)&&x.setAttribute(xo,y),x.removeAttribute("data-duration"),x.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x);let b=Array.from(d.children);for(let y of b){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,x)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:x?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let x=m.getAttribute("data-composition-id");if(x&&m.children.length===0&&document.querySelector(`template#${CSS.escape(x)}-template`)){C=!0;break}}}let T=!w&&!C,v=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let x=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(x)?Math.max(0,x):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let x of d){let b=g(x,0);if(!Number.isFinite(b))continue;let y=J(x);y==null||y<=l||(m=Math.max(m,Math.max(0,b)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},x=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=x.resolveStartForElement(L,0),ne=x.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(b=Math.max(b,Math.max(0,$)+ne))}return b>l?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let x=v(d),b=Se(),y=le(),L=Math.max(b??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(x)?$=Math.max(x,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),x=Se(),b=le(),y=Math.max(x??0,b??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let pe of oe)ue.add(pe.timeline,te(pe.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let pe=ue.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){D("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){D("runtime.init.site3",se)}return pe},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let pe=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){D("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=v(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(pe){D("runtime.init.site5",pe)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Z=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=v(ye);if(!P(Q)&&me.length>0){let se=me.map(Vo=>Vo.compositionId),Ce=$(me),ke=v(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=v(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=v(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),pe=ue?parseFloat(ue):null,be=Math.max(P(pe)?pe:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){D("runtime.init.site6",ke)}let Ce=v(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:b,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:x,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(pe=>pe.compositionId),Q=$(me),ue=v(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,selectedTimelineIds:oe}}}}return{timeline:null}},Z=!1,he=()=>{if(!T)return!1;let d=t.capturedTimeline,m=v(d),x=P(m);if(d&&x&&Z)return!1;let b=W();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return b.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),!0},Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),x=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(x)&&x>0&&Number.isFinite(b)&&b>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:x,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=S(d.error??d.message).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:x.code,details:{category:x.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=S(d.reason).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${x.code}_unhandled_rejection`,details:{category:`${x.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let x of d){let b=()=>{if(!(x instanceof Element))return;let y=x.tagName.toLowerCase(),L=x.getAttribute("src")??x.getAttribute("href")??x.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(x instanceof HTMLImageElement||x instanceof HTMLMediaElement)&&x.currentSrc||null,readyState:x instanceof HTMLMediaElement?x.readyState:null,networkState:x instanceof HTMLMediaElement?x.networkState:null},`${te}:${y}:${L??"unknown"}`)};x.addEventListener("error",b),u(()=>{x.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let x=Array.from(m).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);x.length!==0&&a("runtime_font_load_issue",{failedFamilies:x,totalFaces:Array.from(m).length},`runtime-font-load-issue:${x.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let x=t.capturedTimeline;if(x&&x===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),y&&t.capturedTimeline.play()}catch(L){D("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){he()&&(je(),ce(!0));return}if(z)return;let x=v(t.capturedTimeline),b=d.selectedDurationSeconds??v(d.timeline);P(b)&&(!P(x)||b>=x+h)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:x??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),x=t.mediaForceSyncNextTick;x&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:x,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),x=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||x-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=x,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let x=I(d.getAttribute("data-width")),b=I(d.getAttribute("data-height")),y=x?parseInt(x,10):0,L=b?parseInt(b,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}he();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let x of t.deterministicAdapters){try{d==="discover"&&x.discover(),d==="pause"&&x.pause(),d==="play"&&x.play&&x.play()}catch(b){D("runtime.init.site8",b)}if(d==="discover")try{x.seek({time:m})}catch(b){D("runtime.init.site9",b)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:x})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:x})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,he(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let x=document.querySelectorAll("video, audio");for(let b of x)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){D("runtime.init.site10",y)}},de=wi({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(x){D("runtime.init.site11",x)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let x=Math.max(0,d)/t.canonicalFps;de.seek(x),lt("composition_seeked",{time:x})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement))continue;let b=parseFloat(x.dataset.volume??""),y=Number.isFinite(b)?b:1;x.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),he(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;he()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,x)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(b){D(x,b)}},Go=d=>{let m=window.__timelines??{},x=M()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(m)){if(!y||b===x)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=v(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Ge=d=>{let m=t.capturedTimeline;if(m)try{typeof m.totalTime=="function"?m.totalTime(d,!1):m.seek(d,!1)}catch(x){D("runtime.init.transport.seek",x)}else Go(d);for(let x of t.deterministicAdapters)try{x.seek({time:d})}catch(b){D("runtime.init.transport.adapter",b)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let x=t.capturedTimeline;if(he()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==x&&t.capturedTimeline.pause();let b=j(t.capturedTimeline,0);b>0&&B.setDuration(b),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),x=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),L=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),x=!0):(B.attachAudioSource({el:b,compositionStart:y,mediaStart:$}),x=!0);break}}!x&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement)||!x.isConnected)continue;let b=Number.parseFloat(x.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(x.dataset.duration??""),L=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=L)continue;let te=Number.parseFloat(x.dataset.playbackStart??x.dataset.mediaStart??"0")||0,$=d-b+te;if($>=0)try{x.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let x=M(),b=Number(x?.getAttribute("data-duration")??0);b>0&&B.setDuration(b)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let x=xe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,x,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:x=>{de[m]=x},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){D("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){D("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){D("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){D("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 dl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function fl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let h=dl(p);(h==="R"||h==="AL"||h==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=h;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,h=p!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=h;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=fl(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var ml=/[ \\t\\n\\r\\f]+/g,pl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function hl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function xl(t){if(!pl.test(t))return t;let e=t.replace(ml," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function gl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,yl;function Sl(){return Qn===null&&(Qn=new Intl.Segmenter(yl,{granularity:"word"})),Qn}var bl=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return bl.test(t)}function Ao(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function Re(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function Al(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var El=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Fl(t){return Re(t)}function wl(t){let e=rn(t);return e!==null&&El.has(e)}function tn(t){return!Al(t)&&!wl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Nl=new Set([":",".","\\u060C","\\u061B"]),Cl=new Set(["\\u104F"]),Ml=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Tl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function kl(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function _l(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function Rl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Nl.has(e)}function Dl(t){let e=rn(t);return e!==null&&Cl.has(e)}function Ll(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Ml.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Bl(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Il=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Ol(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Pl(t,e,n,i){if(!Il.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Bl(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Wl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Hl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Wl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function ql(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Ul(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!Hl(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function zl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!ql(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var jl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||jl.has(e)))return!1;return!0}function Gl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Kl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Jl(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!Re(e[o])||!Re(e[o+1]))continue;let s=Rl(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Co(t,e,n){let i=Sl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],h=[],F=[],E=[],S=[];for(let N of i.segment(t))for(let g of Pl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,h[R]=h[R]||T,F[R]=P,E[R]=J,S[R]=Fo(h[R],v)},A=g.kind==="text",w=vl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),v=rn(g.text),P=on(g.text),J=Dl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&kl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&S[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Tl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,h[r]=T,F[r]=P,E[r]=J,S[r]=Fo(T,v),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&_l(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Ol(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Kl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Jl(Vl($l(Gl(zl(Ul(X))))));for(let N=0;N<_.len-1;N++){let g=Ll(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Ql(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function Yl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],h=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(h==="text"){let S=Fl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=q;continue}l(),o=[f],s=F,u=E,a=S,c=q;continue}l(),e.push(f),n.push(F),i.push(h),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=hl(n),o=r.mode==="pre-wrap"?gl(t):xl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Yl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Ql(s,r),...s}}var rt=null,Ro=new Map,ot=null,Zl=96,Xl=/\\p{Emoji_Presentation}/u,eu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function tu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function nu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function iu(t){return Xl.test(t)||t.includes("\\uFE0F")}function Lo(t){return eu.test(t)}function ru(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return vo.set(t,n),n}function ou(t){let e=0,n=Do();for(let i of n.segment(t))iu(i.segment)&&e++;return e}function su(t,e){return e.emojiCount===void 0&&(e.emojiCount=ou(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-su(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Zl){let l=[],p=null,f=0;for(let h of s){let F=Oe(h,n),E=ze(h,F,i);if(p===null)l.push(E);else{let S=p+h,q=Oe(S,n);l.push(ze(S,q,i)-f)}p=h,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=tu(t),r=nu(t),o=e?ru(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function au(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function lu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function uu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,h=0,F=0,E=0,S=-1,q=0;function I(){S=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,h=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,h=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let v=C;v<T.length;v++){let P=T[v];p?l+P>a?(M(),_(w,v,P)):(l+=P,F=w,E=v+1):_(w,v,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=au(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(S=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(S>=0){if(F>S||F===S&&E>0){M();continue}M(S,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(S=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,h=e+f,F=0,E=0,S=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,S=!1,w()}function T(V,j){S=!0,q=V,I=0,M=V+1,X=0,E=j}function v(V,j,W){S=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!S){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Z){if(!j)return;let he=V==="tab"?0:r[W],Ne=V==="tab"?Z:o[W];_=W+1,N=E-Z+he,g=E-Z+Ne,A=V}function R(V,j){let W=u[V];for(let Z=j;Z<W.length;Z++){let he=W[Z];S?E+he>h?(C(),v(V,Z,he)):(E+=he,M=V,X=Z+1):v(V,Z,he)}S&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Z}=uu(j,E,e,f,a);return W===0?!1:(E=Z,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Z+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}S=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Z=s[W],he=Z==="space"||Z==="preserved-space"||Z==="tab"||Z==="zero-width-break"||Z==="soft-hyphen",Ne=Z==="tab"?lu(E,c):i[W];if(Z==="soft-hyphen"){S&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Z),W++;continue}if(!S){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Z,he,W,Ne),W++;continue}if(E+Ne>h){let k=E+(Z==="tab"?0:r[W]),O=E+(Z==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=h){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(he&&k<=h){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=h){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Z,he,W,Ne),W++}if(S){let Z=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Z)}}return F}var ni=null;function cu(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function du(t){return t?{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 fu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,h){i=[p],r=f,o=h,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let h=on(p);p.length===1&&Ue.has(p)?s=s||h:s=h,u=!1}for(let p of cu().segment(t)){let f=p.segment,h=Re(f);if(i.length===0){c(f,p.index,h);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&h&&s){l(f,h);continue}if(!o&&!h){l(f,h);continue}a(),c(f,p.index,h)}return a(),n}function mu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function pu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return du(n);let l=[],p=[],f=[],h=[],F=t.chunks.length<=1,E=n?[]:null,S=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,v,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),h.push(T),E?.push(v),S.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let v=Oe(g,o),P=ze(g,v,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,v,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let v=Oe(A,o);if(C==="text"&&v.containsCJK){let P=fu(A,r),J=i==="keep-all"?mu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=hu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function hu(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function xu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return pu(o,e,n,r)}function Ho(t,e,n){return xu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var gu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...gu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
7412
7412
  }
7413
7413
  });
7414
7414
 
@@ -11438,7 +11438,7 @@ import { get as httpsGet } from "https";
11438
11438
  import { pipeline } from "stream/promises";
11439
11439
  function downloadFile(url, dest) {
11440
11440
  const tmp = `${dest}.tmp`;
11441
- return new Promise((resolve43, reject) => {
11441
+ return new Promise((resolve45, reject) => {
11442
11442
  const follow = (u) => {
11443
11443
  httpsGet(u, (res) => {
11444
11444
  if (res.statusCode === 301 || res.statusCode === 302) {
@@ -11455,7 +11455,7 @@ function downloadFile(url, dest) {
11455
11455
  const file = createWriteStream(tmp);
11456
11456
  pipeline(res, file).then(() => {
11457
11457
  renameSync(tmp, dest);
11458
- resolve43();
11458
+ resolve45();
11459
11459
  }).catch((err) => {
11460
11460
  try {
11461
11461
  unlinkSync(tmp);
@@ -12180,7 +12180,7 @@ function hasNpx() {
12180
12180
  }
12181
12181
  }
12182
12182
  function runSkillsAdd(repo) {
12183
- return new Promise((resolve43, reject) => {
12183
+ return new Promise((resolve45, reject) => {
12184
12184
  const child = spawn("npx", ["skills", "add", repo, "--all"], {
12185
12185
  stdio: "inherit",
12186
12186
  timeout: 12e4,
@@ -12194,7 +12194,7 @@ function runSkillsAdd(repo) {
12194
12194
  env: { ...process.env, GIT_CLONE_PROTECTION_ACTIVE: "0" }
12195
12195
  });
12196
12196
  child.on("close", (code, signal) => {
12197
- if (code === 0) resolve43();
12197
+ if (code === 0) resolve45();
12198
12198
  else if (signal === "SIGINT" || code === 130) process.exit(0);
12199
12199
  else reject(new Error(`npx skills add exited with code ${code}`));
12200
12200
  });
@@ -13109,7 +13109,7 @@ function computePeaks(floats, count) {
13109
13109
  return peaks.map((p2) => p2 / maxPeak);
13110
13110
  }
13111
13111
  function decodeAudioPeaks(audioPath) {
13112
- return new Promise((resolve43, reject) => {
13112
+ return new Promise((resolve45, reject) => {
13113
13113
  const proc = spawn3(
13114
13114
  "ffmpeg",
13115
13115
  [
@@ -13142,7 +13142,7 @@ function decodeAudioPeaks(audioPath) {
13142
13142
  return;
13143
13143
  }
13144
13144
  const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + numSamples * 4);
13145
- resolve43(computePeaks(new Float32Array(ab), PEAK_COUNT));
13145
+ resolve45(computePeaks(new Float32Array(ab), PEAK_COUNT));
13146
13146
  });
13147
13147
  proc.on("error", reject);
13148
13148
  });
@@ -16617,10 +16617,10 @@ function compareDocumentPosition(nodeA, nodeB) {
16617
16617
  function uniqueSort(nodes) {
16618
16618
  nodes = nodes.filter((node, i2, arr) => !arr.includes(node, i2 + 1));
16619
16619
  nodes.sort((a, b2) => {
16620
- const relative10 = compareDocumentPosition(a, b2);
16621
- if (relative10 & DocumentPosition.PRECEDING) {
16620
+ const relative11 = compareDocumentPosition(a, b2);
16621
+ if (relative11 & DocumentPosition.PRECEDING) {
16622
16622
  return -1;
16623
- } else if (relative10 & DocumentPosition.FOLLOWING) {
16623
+ } else if (relative11 & DocumentPosition.FOLLOWING) {
16624
16624
  return 1;
16625
16625
  }
16626
16626
  return 0;
@@ -17082,8 +17082,8 @@ var init_custom_element_registry = __esm({
17082
17082
  } : (element) => element.localName === localName;
17083
17083
  registry.set(localName, { Class, check });
17084
17084
  if (waiting.has(localName)) {
17085
- for (const resolve43 of waiting.get(localName))
17086
- resolve43(Class);
17085
+ for (const resolve45 of waiting.get(localName))
17086
+ resolve45(Class);
17087
17087
  waiting.delete(localName);
17088
17088
  }
17089
17089
  ownerDocument.querySelectorAll(
@@ -17123,13 +17123,13 @@ var init_custom_element_registry = __esm({
17123
17123
  */
17124
17124
  whenDefined(localName) {
17125
17125
  const { registry, waiting } = this;
17126
- return new Promise((resolve43) => {
17126
+ return new Promise((resolve45) => {
17127
17127
  if (registry.has(localName))
17128
- resolve43(registry.get(localName).Class);
17128
+ resolve45(registry.get(localName).Class);
17129
17129
  else {
17130
17130
  if (!waiting.has(localName))
17131
17131
  waiting.set(localName, []);
17132
- waiting.get(localName).push(resolve43);
17132
+ waiting.get(localName).push(resolve45);
17133
17133
  }
17134
17134
  });
17135
17135
  }
@@ -29355,7 +29355,7 @@ var init_screenshotService = __esm({
29355
29355
  import { existsSync as existsSync19, mkdirSync as mkdirSync10, writeFileSync as writeFileSync11 } from "fs";
29356
29356
  import { join as join23 } from "path";
29357
29357
  async function driveWarmupTicks(options, state) {
29358
- const sleep2 = options.sleep ?? realSleep;
29358
+ const sleep3 = options.sleep ?? realSleep;
29359
29359
  while (true) {
29360
29360
  if (options.lockWarmupTicks) {
29361
29361
  if (state.ticks >= LOCKED_WARMUP_TICKS) return;
@@ -29367,7 +29367,7 @@ async function driveWarmupTicks(options, state) {
29367
29367
  state.ticks += 1;
29368
29368
  } catch {
29369
29369
  }
29370
- await sleep2(options.intervalMs);
29370
+ await sleep3(options.intervalMs);
29371
29371
  }
29372
29372
  }
29373
29373
  async function waitForCloseWithTimeout(promise) {
@@ -29378,10 +29378,10 @@ async function waitForCloseWithTimeout(promise) {
29378
29378
  () => void 0,
29379
29379
  () => void 0
29380
29380
  ),
29381
- new Promise((resolve43) => {
29381
+ new Promise((resolve45) => {
29382
29382
  timer = setTimeout(() => {
29383
29383
  timedOut = true;
29384
- resolve43();
29384
+ resolve45();
29385
29385
  }, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
29386
29386
  })
29387
29387
  ]);
@@ -29479,7 +29479,7 @@ async function pollPageExpression(page, expression, timeoutMs, intervalMs = 100)
29479
29479
  while (Date.now() < deadline) {
29480
29480
  const ready = Boolean(await page.evaluate(expression));
29481
29481
  if (ready) return true;
29482
- await new Promise((resolve43) => setTimeout(resolve43, intervalMs));
29482
+ await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
29483
29483
  }
29484
29484
  return Boolean(await page.evaluate(expression));
29485
29485
  }
@@ -29496,7 +29496,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
29496
29496
  const deadline = Date.now() + timeoutMs;
29497
29497
  while (Date.now() < deadline) {
29498
29498
  if (await check()) return true;
29499
- await new Promise((resolve43) => setTimeout(resolve43, intervalMs));
29499
+ await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
29500
29500
  }
29501
29501
  return check();
29502
29502
  }
@@ -29530,7 +29530,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
29530
29530
  page.evaluate(
29531
29531
  `Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
29532
29532
  ),
29533
- new Promise((resolve43) => setTimeout(() => resolve43(false), timeoutMs))
29533
+ new Promise((resolve45) => setTimeout(() => resolve45(false), timeoutMs))
29534
29534
  ]);
29535
29535
  if (!ready) {
29536
29536
  throw new Error(
@@ -29883,14 +29883,14 @@ var init_frameCapture = __esm({
29883
29883
  BROWSER_CONSOLE_BUFFER_SIZE = 200;
29884
29884
  CAPTURE_SESSION_CLOSE_TIMEOUT_MS = 5e3;
29885
29885
  LOCKED_WARMUP_TICKS = 60;
29886
- realSleep = (ms) => new Promise((resolve43) => setTimeout(resolve43, ms));
29886
+ realSleep = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
29887
29887
  }
29888
29888
  });
29889
29889
 
29890
29890
  // ../engine/src/utils/gpuEncoder.ts
29891
29891
  import { spawn as spawn4 } from "child_process";
29892
29892
  async function detectGpuEncoder() {
29893
- return new Promise((resolve43) => {
29893
+ return new Promise((resolve45) => {
29894
29894
  const ffmpeg = spawn4("ffmpeg", ["-encoders"], {
29895
29895
  stdio: ["pipe", "pipe", "pipe"]
29896
29896
  });
@@ -29899,13 +29899,13 @@ async function detectGpuEncoder() {
29899
29899
  stdout2 += data.toString();
29900
29900
  });
29901
29901
  ffmpeg.on("close", () => {
29902
- if (stdout2.includes("h264_nvenc")) resolve43("nvenc");
29903
- else if (stdout2.includes("h264_videotoolbox")) resolve43("videotoolbox");
29904
- else if (stdout2.includes("h264_vaapi")) resolve43("vaapi");
29905
- else if (stdout2.includes("h264_qsv")) resolve43("qsv");
29906
- else resolve43(null);
29902
+ if (stdout2.includes("h264_nvenc")) resolve45("nvenc");
29903
+ else if (stdout2.includes("h264_videotoolbox")) resolve45("videotoolbox");
29904
+ else if (stdout2.includes("h264_vaapi")) resolve45("vaapi");
29905
+ else if (stdout2.includes("h264_qsv")) resolve45("qsv");
29906
+ else resolve45(null);
29907
29907
  });
29908
- ffmpeg.on("error", () => resolve43(null));
29908
+ ffmpeg.on("error", () => resolve45(null));
29909
29909
  });
29910
29910
  }
29911
29911
  async function getCachedGpuEncoder() {
@@ -30026,7 +30026,7 @@ async function runFfmpeg(args, opts) {
30026
30026
  const signal = opts?.signal;
30027
30027
  const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
30028
30028
  const onStderr = opts?.onStderr;
30029
- return new Promise((resolve43) => {
30029
+ return new Promise((resolve45) => {
30030
30030
  const ffmpeg = spawn5("ffmpeg", args);
30031
30031
  let stderr = "";
30032
30032
  const onAbort = () => {
@@ -30052,7 +30052,7 @@ async function runFfmpeg(args, opts) {
30052
30052
  ffmpeg.on("close", (code) => {
30053
30053
  clearTimeout(timer);
30054
30054
  if (signal) signal.removeEventListener("abort", onAbort);
30055
- resolve43({
30055
+ resolve45({
30056
30056
  success: !signal?.aborted && code === 0,
30057
30057
  exitCode: code,
30058
30058
  stderr,
@@ -30062,7 +30062,7 @@ async function runFfmpeg(args, opts) {
30062
30062
  ffmpeg.on("error", (err) => {
30063
30063
  clearTimeout(timer);
30064
30064
  if (signal) signal.removeEventListener("abort", onAbort);
30065
- resolve43({
30065
+ resolve45({
30066
30066
  success: false,
30067
30067
  exitCode: null,
30068
30068
  stderr: err.message,
@@ -30293,7 +30293,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30293
30293
  const inputPath = join24(framesDir, framePattern);
30294
30294
  const inputArgs = ["-framerate", fpsToFfmpegArg(options.fps), "-i", inputPath];
30295
30295
  const args = buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder);
30296
- return new Promise((resolve43) => {
30296
+ return new Promise((resolve45) => {
30297
30297
  const ffmpeg = spawn6("ffmpeg", args);
30298
30298
  let stderr = "";
30299
30299
  const onAbort = () => {
@@ -30318,7 +30318,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30318
30318
  if (signal) signal.removeEventListener("abort", onAbort);
30319
30319
  const durationMs = Date.now() - startTime;
30320
30320
  if (signal?.aborted) {
30321
- resolve43({
30321
+ resolve45({
30322
30322
  success: false,
30323
30323
  outputPath,
30324
30324
  durationMs,
@@ -30329,7 +30329,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30329
30329
  return;
30330
30330
  }
30331
30331
  if (code !== 0) {
30332
- resolve43({
30332
+ resolve45({
30333
30333
  success: false,
30334
30334
  outputPath,
30335
30335
  durationMs,
@@ -30340,12 +30340,12 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
30340
30340
  return;
30341
30341
  }
30342
30342
  const fileSize = existsSync20(outputPath) ? statSync6(outputPath).size : 0;
30343
- resolve43({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
30343
+ resolve45({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
30344
30344
  });
30345
30345
  ffmpeg.on("error", (err) => {
30346
30346
  clearTimeout(timer);
30347
30347
  if (signal) signal.removeEventListener("abort", onAbort);
30348
- resolve43({
30348
+ resolve45({
30349
30349
  success: false,
30350
30350
  outputPath,
30351
30351
  durationMs: Date.now() - startTime,
@@ -30403,18 +30403,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
30403
30403
  let gpuEncoder = null;
30404
30404
  if (options.useGpu) gpuEncoder = await getCachedGpuEncoder();
30405
30405
  const args = buildEncoderArgs(options, inputArgs, chunkPath, gpuEncoder);
30406
- const chunkResult = await new Promise((resolve43) => {
30406
+ const chunkResult = await new Promise((resolve45) => {
30407
30407
  const ffmpeg = spawn6("ffmpeg", args);
30408
30408
  let stderr = "";
30409
30409
  ffmpeg.stderr.on("data", (d2) => {
30410
30410
  stderr += d2.toString();
30411
30411
  });
30412
30412
  ffmpeg.on("close", (code) => {
30413
- if (code === 0) resolve43({ success: true });
30414
- else resolve43({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
30413
+ if (code === 0) resolve45({ success: true });
30414
+ else resolve45({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
30415
30415
  });
30416
30416
  ffmpeg.on("error", (err) => {
30417
- resolve43({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
30417
+ resolve45({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
30418
30418
  });
30419
30419
  });
30420
30420
  if (!chunkResult.success) {
@@ -30444,18 +30444,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
30444
30444
  "-y",
30445
30445
  outputPath
30446
30446
  ];
30447
- const concatResult = await new Promise((resolve43) => {
30447
+ const concatResult = await new Promise((resolve45) => {
30448
30448
  const ffmpeg = spawn6("ffmpeg", concatArgs);
30449
30449
  let stderr = "";
30450
30450
  ffmpeg.stderr.on("data", (d2) => {
30451
30451
  stderr += d2.toString();
30452
30452
  });
30453
30453
  ffmpeg.on("close", (code) => {
30454
- if (code === 0) resolve43({ success: true });
30455
- else resolve43({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
30454
+ if (code === 0) resolve45({ success: true });
30455
+ else resolve45({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
30456
30456
  });
30457
30457
  ffmpeg.on("error", (err) => {
30458
- resolve43({ success: false, error: `Chunk concat error: ${err.message}` });
30458
+ resolve45({ success: false, error: `Chunk concat error: ${err.message}` });
30459
30459
  });
30460
30460
  });
30461
30461
  if (!concatResult.success) {
@@ -30557,37 +30557,37 @@ import { dirname as dirname8 } from "path";
30557
30557
  function createFrameReorderBuffer(startFrame, endFrame) {
30558
30558
  let cursor = startFrame;
30559
30559
  const pending = /* @__PURE__ */ new Map();
30560
- const enqueueAt = (frame, resolve43) => {
30560
+ const enqueueAt = (frame, resolve45) => {
30561
30561
  const list = pending.get(frame);
30562
30562
  if (list === void 0) {
30563
- pending.set(frame, [resolve43]);
30563
+ pending.set(frame, [resolve45]);
30564
30564
  } else {
30565
- list.push(resolve43);
30565
+ list.push(resolve45);
30566
30566
  }
30567
30567
  };
30568
30568
  const flushAt = (frame) => {
30569
30569
  const list = pending.get(frame);
30570
30570
  if (list === void 0) return;
30571
30571
  pending.delete(frame);
30572
- for (const resolve43 of list) resolve43();
30572
+ for (const resolve45 of list) resolve45();
30573
30573
  };
30574
- const waitForFrame = (frame) => new Promise((resolve43) => {
30574
+ const waitForFrame = (frame) => new Promise((resolve45) => {
30575
30575
  if (frame === cursor) {
30576
- resolve43();
30576
+ resolve45();
30577
30577
  return;
30578
30578
  }
30579
- enqueueAt(frame, resolve43);
30579
+ enqueueAt(frame, resolve45);
30580
30580
  });
30581
30581
  const advanceTo = (frame) => {
30582
30582
  cursor = frame;
30583
30583
  flushAt(frame);
30584
30584
  };
30585
- const waitForAllDone = () => new Promise((resolve43) => {
30585
+ const waitForAllDone = () => new Promise((resolve45) => {
30586
30586
  if (cursor >= endFrame) {
30587
- resolve43();
30587
+ resolve45();
30588
30588
  return;
30589
30589
  }
30590
- enqueueAt(endFrame, resolve43);
30590
+ enqueueAt(endFrame, resolve45);
30591
30591
  });
30592
30592
  return { waitForFrame, advanceTo, waitForAllDone };
30593
30593
  }
@@ -30768,7 +30768,7 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
30768
30768
  let stderr = "";
30769
30769
  let exitCode = null;
30770
30770
  let exitPromiseResolve = null;
30771
- const exitPromise = new Promise((resolve43) => exitPromiseResolve = resolve43);
30771
+ const exitPromise = new Promise((resolve45) => exitPromiseResolve = resolve45);
30772
30772
  ffmpeg.stderr?.on("data", (data) => {
30773
30773
  stderr += data.toString();
30774
30774
  });
@@ -30828,8 +30828,8 @@ Process error: ${err.message}`;
30828
30828
  if (signal) signal.removeEventListener("abort", onAbort);
30829
30829
  const stdin = ffmpeg.stdin;
30830
30830
  if (stdin && !stdin.destroyed) {
30831
- await new Promise((resolve43) => {
30832
- stdin.end(() => resolve43());
30831
+ await new Promise((resolve45) => {
30832
+ stdin.end(() => resolve45());
30833
30833
  });
30834
30834
  }
30835
30835
  await exitPromise;
@@ -30873,7 +30873,7 @@ import { spawn as spawn8 } from "child_process";
30873
30873
  import { readFileSync as readFileSync18 } from "fs";
30874
30874
  import { extname as extname5 } from "path";
30875
30875
  function runFfprobe(args) {
30876
- return new Promise((resolve43, reject) => {
30876
+ return new Promise((resolve45, reject) => {
30877
30877
  const proc = spawn8("ffprobe", args);
30878
30878
  let stdout2 = "";
30879
30879
  let stderr = "";
@@ -30887,7 +30887,7 @@ function runFfprobe(args) {
30887
30887
  if (code !== 0) {
30888
30888
  reject(new Error(`[FFmpeg] ffprobe exited with code ${code}: ${stderr}`));
30889
30889
  } else {
30890
- resolve43(stdout2);
30890
+ resolve45(stdout2);
30891
30891
  }
30892
30892
  });
30893
30893
  proc.on("error", (err) => {
@@ -31738,9 +31738,165 @@ var init_staticGuard = __esm({
31738
31738
  }
31739
31739
  });
31740
31740
 
31741
+ // ../core/src/compiler/inlineSubCompositions.ts
31742
+ function defaultBuildScopeSelector(compId) {
31743
+ const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
31744
+ return `[data-composition-id="${escaped}"]`;
31745
+ }
31746
+ function inlineSubCompositions(document2, hosts, options) {
31747
+ const {
31748
+ resolveHtml,
31749
+ parseHtml: parseHtml2,
31750
+ hostIdentityMap,
31751
+ rewriteInlineStyles = false,
31752
+ flattenInnerRoot,
31753
+ readVariableDefaults,
31754
+ parseHostVariables,
31755
+ buildScopeSelector = defaultBuildScopeSelector,
31756
+ scriptErrorLabel = "[HyperFrames] composition script error:",
31757
+ onMissingComposition
31758
+ } = options;
31759
+ const styles = [];
31760
+ const scripts = [];
31761
+ const externalScriptSrcs = [];
31762
+ const variablesByComp = {};
31763
+ for (const hostEl of hosts) {
31764
+ const src = hostEl.getAttribute("data-composition-src");
31765
+ if (!src) continue;
31766
+ const compHtml = resolveHtml(src);
31767
+ if (compHtml == null) {
31768
+ if (onMissingComposition) {
31769
+ onMissingComposition(src);
31770
+ }
31771
+ continue;
31772
+ }
31773
+ const compDoc = parseHtml2(compHtml);
31774
+ let compId;
31775
+ let runtimeCompId;
31776
+ if (hostIdentityMap) {
31777
+ const identity = hostIdentityMap.get(hostEl);
31778
+ compId = identity?.authoredCompositionId || null;
31779
+ runtimeCompId = identity?.runtimeCompositionId || compId || "";
31780
+ } else {
31781
+ compId = hostEl.getAttribute("data-composition-id") || null;
31782
+ runtimeCompId = compId || "";
31783
+ }
31784
+ const contentRoot = compDoc.querySelector("template");
31785
+ const contentHtml = contentRoot ? contentRoot.innerHTML || "" : compDoc.body?.innerHTML || "";
31786
+ const contentDoc = parseHtml2(contentHtml);
31787
+ const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
31788
+ const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || "";
31789
+ const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
31790
+ const scopeCompId = compId || inferredCompId;
31791
+ const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
31792
+ if (readVariableDefaults && parseHostVariables && runtimeCompId) {
31793
+ const mergedVariables = {
31794
+ ...readVariableDefaults(compDoc.documentElement),
31795
+ ...parseHostVariables(hostEl)
31796
+ };
31797
+ if (Object.keys(mergedVariables).length > 0) {
31798
+ variablesByComp[runtimeCompId] = mergedVariables;
31799
+ }
31800
+ }
31801
+ if (!contentRoot && compDoc.head) {
31802
+ for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
31803
+ const css = rewriteCssAssetUrls(s2.textContent || "", src);
31804
+ styles.push(
31805
+ scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope || void 0, authoredRootId) : css
31806
+ );
31807
+ }
31808
+ for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
31809
+ const externalSrc = (s2.getAttribute("src") || "").trim();
31810
+ if (externalSrc && !externalScriptSrcs.includes(externalSrc)) {
31811
+ externalScriptSrcs.push(externalSrc);
31812
+ }
31813
+ }
31814
+ }
31815
+ for (const s2 of [...contentDoc.querySelectorAll("style")]) {
31816
+ const css = rewriteCssAssetUrls(s2.textContent || "", src);
31817
+ styles.push(
31818
+ scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope || void 0, authoredRootId) : css
31819
+ );
31820
+ s2.remove();
31821
+ }
31822
+ for (const s2 of [...contentDoc.querySelectorAll("script")]) {
31823
+ const externalSrc = (s2.getAttribute("src") || "").trim();
31824
+ if (externalSrc) {
31825
+ if (!externalScriptSrcs.includes(externalSrc)) {
31826
+ externalScriptSrcs.push(externalSrc);
31827
+ }
31828
+ } else {
31829
+ scripts.push(
31830
+ scopeCompId ? wrapScopedCompositionScript(
31831
+ s2.textContent || "",
31832
+ scopeCompId,
31833
+ scriptErrorLabel,
31834
+ runtimeScope || void 0,
31835
+ runtimeCompId || scopeCompId,
31836
+ authoredRootId
31837
+ ) : `(function(){ try { ${s2.textContent || ""} } catch (_err) { console.error(${JSON.stringify(scriptErrorLabel)}, _err); } })();`
31838
+ );
31839
+ }
31840
+ s2.remove();
31841
+ }
31842
+ const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
31843
+ rewriteAssetPaths(
31844
+ assetEls,
31845
+ src,
31846
+ (el, attr) => el.getAttribute(attr),
31847
+ (el, attr, val) => {
31848
+ el.setAttribute(attr, val);
31849
+ }
31850
+ );
31851
+ if (rewriteInlineStyles) {
31852
+ const styledEls = innerRoot ? innerRoot.querySelectorAll("[style]") : contentDoc.querySelectorAll("[style]");
31853
+ rewriteInlineStyleAssetUrls(
31854
+ styledEls,
31855
+ src,
31856
+ (el) => el.getAttribute("style"),
31857
+ (el, val) => {
31858
+ el.setAttribute("style", val);
31859
+ }
31860
+ );
31861
+ }
31862
+ if (innerRoot) {
31863
+ const innerW = innerRoot.getAttribute("data-width");
31864
+ const innerH = innerRoot.getAttribute("data-height");
31865
+ if (innerW && !hostEl.getAttribute("data-width")) hostEl.setAttribute("data-width", innerW);
31866
+ if (innerH && !hostEl.getAttribute("data-height")) {
31867
+ hostEl.setAttribute("data-height", innerH);
31868
+ }
31869
+ }
31870
+ if (innerRoot) {
31871
+ innerRoot.setAttribute("data-composition-file", src);
31872
+ for (const child of [...innerRoot.querySelectorAll("style, script")]) child.remove();
31873
+ if (flattenInnerRoot) {
31874
+ const prepared = flattenInnerRoot(innerRoot);
31875
+ hostEl.innerHTML = prepared.outerHTML || "";
31876
+ } else {
31877
+ hostEl.innerHTML = compId ? innerRoot.innerHTML || "" : innerRoot.outerHTML || "";
31878
+ }
31879
+ } else {
31880
+ for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
31881
+ const bodyHtml = contentDoc.body?.innerHTML || "";
31882
+ hostEl.innerHTML = bodyHtml || contentDoc.documentElement?.outerHTML || "";
31883
+ }
31884
+ hostEl.setAttribute("data-composition-file", src);
31885
+ hostEl.removeAttribute("data-composition-src");
31886
+ }
31887
+ return { styles, scripts, externalScriptSrcs, variablesByComp };
31888
+ }
31889
+ var init_inlineSubCompositions = __esm({
31890
+ "../core/src/compiler/inlineSubCompositions.ts"() {
31891
+ "use strict";
31892
+ init_rewriteSubCompPaths();
31893
+ init_compositionScoping();
31894
+ }
31895
+ });
31896
+
31741
31897
  // ../core/src/compiler/htmlBundler.ts
31742
31898
  import { readFileSync as readFileSync19, existsSync as existsSync23 } from "fs";
31743
- import { join as join26, resolve as resolve14, isAbsolute as isAbsolute3, sep as sep3 } from "path";
31899
+ import { join as join26, resolve as resolve14, relative as relative3, dirname as dirname9, isAbsolute as isAbsolute3, sep as sep3 } from "path";
31744
31900
  import { transformSync } from "esbuild";
31745
31901
  function safePath(projectDir, relativePath) {
31746
31902
  const resolved = resolve14(projectDir, relativePath);
@@ -31794,6 +31950,70 @@ function safeReadFile(filePath) {
31794
31950
  return null;
31795
31951
  }
31796
31952
  }
31953
+ function withCommentsStripped(css, fn) {
31954
+ const comments = [];
31955
+ const stripped = css.replace(CSS_COMMENT_RE, (m2) => {
31956
+ const idx = comments.length;
31957
+ comments.push(m2);
31958
+ return `/*__hf_c${idx}__*/`;
31959
+ });
31960
+ const result = fn(stripped);
31961
+ const restore = (s2) => {
31962
+ let out = s2;
31963
+ for (let i2 = 0; i2 < comments.length; i2++) {
31964
+ out = out.replace(`/*__hf_c${i2}__*/`, comments[i2]);
31965
+ }
31966
+ return out;
31967
+ };
31968
+ return { result, restore };
31969
+ }
31970
+ function rebaseCssUrls(css, cssFileDir, projectDir) {
31971
+ const resolvedRoot = resolve14(projectDir);
31972
+ const resolvedDir = resolve14(cssFileDir);
31973
+ if (resolvedDir === resolvedRoot) return css;
31974
+ return css.replace(REBASE_URL_RE, (full, quote, urlValue) => {
31975
+ if (!urlValue || !isRelativeUrl(urlValue)) return full;
31976
+ const { basePath, suffix } = splitUrlSuffix(urlValue.trim());
31977
+ if (!basePath) return full;
31978
+ const absolutePath = resolve14(resolvedDir, basePath);
31979
+ const rebased = relative3(resolvedRoot, absolutePath).split(sep3).join("/");
31980
+ if (rebased === basePath) return full;
31981
+ return `url(${quote || ""}${rebased}${suffix}${quote || ""})`;
31982
+ });
31983
+ }
31984
+ function inlineCssFile(css, cssFileDir, projectDir, visited = /* @__PURE__ */ new Set()) {
31985
+ const { result: strippedCss, restore: restoreComments } = withCommentsStripped(css, (s2) => s2);
31986
+ const importPlaceholders = [];
31987
+ const withPlaceholders = strippedCss.replace(
31988
+ CSS_IMPORT_RE,
31989
+ (full, _q1, urlPath, _q2, barePath, mediaQuery) => {
31990
+ const importPath = urlPath ?? barePath;
31991
+ if (!importPath || !isRelativeUrl(importPath)) return full;
31992
+ const resolved = resolve14(cssFileDir, importPath);
31993
+ const normalizedBase = resolve14(projectDir) + sep3;
31994
+ if (!resolved.startsWith(normalizedBase)) return full;
31995
+ if (visited.has(resolved)) return "";
31996
+ const content = safeReadFile(resolved);
31997
+ if (content == null) return full;
31998
+ visited.add(resolved);
31999
+ const inlined = inlineCssFile(content, dirname9(resolved), projectDir, visited);
32000
+ const trimmedMedia = (mediaQuery || "").trim();
32001
+ const block = trimmedMedia ? `@media ${trimmedMedia} {
32002
+ ${inlined}
32003
+ }
32004
+ ` : inlined + "\n";
32005
+ const idx = importPlaceholders.length;
32006
+ importPlaceholders.push(block);
32007
+ return `/*__hf_import_${idx}__*/`;
32008
+ }
32009
+ );
32010
+ let rebased = rebaseCssUrls(withPlaceholders, cssFileDir, projectDir);
32011
+ rebased = restoreComments(rebased);
32012
+ for (let i2 = 0; i2 < importPlaceholders.length; i2++) {
32013
+ rebased = rebased.replace(`/*__hf_import_${i2}__*/`, importPlaceholders[i2]);
32014
+ }
32015
+ return rebased;
32016
+ }
31797
32017
  function safeReadFileBuffer(filePath) {
31798
32018
  if (!existsSync23(filePath)) return null;
31799
32019
  try {
@@ -32107,9 +32327,10 @@ async function bundleToSingleHtml(projectDir, options) {
32107
32327
  const href = el.getAttribute("href");
32108
32328
  if (!href || !isRelativeUrl(href)) continue;
32109
32329
  const cssPath = safePath(projectDir, href);
32110
- const css = cssPath ? safeReadFile(cssPath) : null;
32330
+ if (!cssPath) continue;
32331
+ const css = safeReadFile(cssPath);
32111
32332
  if (css == null) continue;
32112
- localCssChunks.push(css);
32333
+ localCssChunks.push(inlineCssFile(css, dirname9(cssPath), projectDir));
32113
32334
  if (!cssAnchorPlaced) {
32114
32335
  const anchor = document2.createElement("style");
32115
32336
  anchor.setAttribute("data-hf-bundled-local-css", "1");
@@ -32160,118 +32381,35 @@ async function bundleToSingleHtml(projectDir, options) {
32160
32381
  document2.body.appendChild(script);
32161
32382
  }
32162
32383
  }
32163
- const compStyleChunks = [];
32164
- const compScriptChunks = [];
32165
- const compExternalScriptSrcs = [];
32166
- const compVariablesByComp = {};
32167
32384
  const trackedCompositionHosts = getBundledTrackedCompositionHosts(document2);
32168
32385
  const hostIdentityByElement = assignBundledRuntimeCompositionIds(trackedCompositionHosts);
32169
32386
  const subCompositionHosts = trackedCompositionHosts.filter(
32170
32387
  (host) => host.hasAttribute("data-composition-src")
32171
32388
  );
32172
- for (const hostEl of subCompositionHosts) {
32173
- const src = hostEl.getAttribute("data-composition-src");
32174
- if (!src || !isRelativeUrl(src)) continue;
32175
- const compPath = safePath(projectDir, src);
32176
- const compHtml = compPath ? safeReadFile(compPath) : null;
32177
- if (compHtml == null) {
32178
- console.warn(`[Bundler] Composition file not found: ${src}`);
32179
- continue;
32180
- }
32181
- const compDoc = parseHTMLContent(compHtml);
32182
- const hostIdentity = hostIdentityByElement.get(hostEl);
32183
- const compId = hostIdentity?.authoredCompositionId || null;
32184
- const runtimeCompId = hostIdentity?.runtimeCompositionId || compId || "";
32185
- const contentRoot = compDoc.querySelector("template");
32186
- const contentHtml = contentRoot ? contentRoot.innerHTML || "" : compDoc.body.innerHTML || "";
32187
- const contentDoc = parseHTMLContent(contentHtml);
32188
- const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
32189
- const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || "";
32190
- const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
32191
- const scopeCompId = compId || inferredCompId;
32192
- const runtimeScope = runtimeCompId ? cssAttributeSelector("data-composition-id", runtimeCompId) : "";
32193
- const mergedVariables = runtimeCompId ? {
32194
- ...readDeclaredDefaults(compDoc.documentElement),
32195
- ...parseHostVariableValues(hostEl)
32196
- } : {};
32197
- if (runtimeCompId && Object.keys(mergedVariables).length > 0) {
32198
- compVariablesByComp[runtimeCompId] = mergedVariables;
32199
- }
32200
- if (!contentRoot && compDoc.head) {
32201
- for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
32202
- const css = rewriteCssAssetUrls(s2.textContent || "", src);
32203
- compStyleChunks.push(
32204
- scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope, authoredRootId) : css
32205
- );
32206
- }
32207
- for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
32208
- const externalSrc = (s2.getAttribute("src") || "").trim();
32209
- if (externalSrc && !compExternalScriptSrcs.includes(externalSrc)) {
32210
- compExternalScriptSrcs.push(externalSrc);
32211
- }
32212
- }
32213
- }
32214
- for (const s2 of [...contentDoc.querySelectorAll("style")]) {
32215
- const css = rewriteCssAssetUrls(s2.textContent || "", src);
32216
- compStyleChunks.push(
32217
- scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope, authoredRootId) : css
32218
- );
32219
- s2.remove();
32220
- }
32221
- for (const s2 of [...contentDoc.querySelectorAll("script")]) {
32222
- const externalSrc = (s2.getAttribute("src") || "").trim();
32223
- if (externalSrc) {
32224
- if (!compExternalScriptSrcs.includes(externalSrc)) {
32225
- compExternalScriptSrcs.push(externalSrc);
32226
- }
32227
- } else {
32228
- compScriptChunks.push(
32229
- scopeCompId ? wrapScopedCompositionScript(
32230
- s2.textContent || "",
32231
- scopeCompId,
32232
- "[HyperFrames] composition script error:",
32233
- runtimeScope,
32234
- runtimeCompId || scopeCompId,
32235
- authoredRootId
32236
- ) : `(function(){ try { ${s2.textContent || ""} } catch (_err) { console.error('[HyperFrames] composition script error:', _err); } })();`
32237
- );
32238
- }
32239
- s2.remove();
32240
- }
32241
- const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
32242
- rewriteAssetPaths(
32243
- assetEls,
32244
- src,
32245
- (el, attr) => el.getAttribute(attr),
32246
- (el, attr, val) => {
32247
- el.setAttribute(attr, val);
32248
- }
32249
- );
32250
- const styledEls = innerRoot ? innerRoot.querySelectorAll("[style]") : contentDoc.querySelectorAll("[style]");
32251
- rewriteInlineStyleAssetUrls(
32252
- styledEls,
32253
- src,
32254
- (el) => el.getAttribute("style"),
32255
- (el, val) => {
32256
- el.setAttribute("style", val);
32257
- }
32258
- );
32259
- if (innerRoot) {
32260
- const innerW = innerRoot.getAttribute("data-width");
32261
- const innerH = innerRoot.getAttribute("data-height");
32262
- if (innerW && !hostEl.getAttribute("data-width")) hostEl.setAttribute("data-width", innerW);
32263
- if (innerH && !hostEl.getAttribute("data-height")) hostEl.setAttribute("data-height", innerH);
32264
- innerRoot.setAttribute("data-composition-file", src);
32265
- for (const child of [...innerRoot.querySelectorAll("style, script")]) child.remove();
32266
- const preparedInnerRoot = prepareFlattenedInnerRoot(innerRoot);
32267
- hostEl.innerHTML = preparedInnerRoot.outerHTML || "";
32268
- } else {
32269
- for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
32270
- hostEl.innerHTML = contentDoc.body.innerHTML || "";
32389
+ const subCompResult = inlineSubCompositions(document2, subCompositionHosts, {
32390
+ resolveHtml: (srcPath) => {
32391
+ if (!isRelativeUrl(srcPath)) return null;
32392
+ const compPath = safePath(projectDir, srcPath);
32393
+ return compPath ? safeReadFile(compPath) : null;
32394
+ },
32395
+ parseHtml: parseHTMLContent,
32396
+ hostIdentityMap: hostIdentityByElement,
32397
+ rewriteInlineStyles: true,
32398
+ flattenInnerRoot: prepareFlattenedInnerRoot,
32399
+ readVariableDefaults: readDeclaredDefaults,
32400
+ parseHostVariables: parseHostVariableValues,
32401
+ buildScopeSelector: (compId) => cssAttributeSelector("data-composition-id", compId),
32402
+ scriptErrorLabel: "[HyperFrames] composition script error:",
32403
+ onMissingComposition: (srcPath) => {
32404
+ console.warn(`[Bundler] Composition file not found: ${srcPath}`);
32271
32405
  }
32272
- hostEl.setAttribute("data-composition-file", src);
32273
- hostEl.removeAttribute("data-composition-src");
32274
- }
32406
+ });
32407
+ const compStyleChunks = [...subCompResult.styles];
32408
+ const compScriptChunks = [...subCompResult.scripts];
32409
+ const compExternalScriptSrcs = [...subCompResult.externalScriptSrcs];
32410
+ const compVariablesByComp = {
32411
+ ...subCompResult.variablesByComp
32412
+ };
32275
32413
  const candidateInlineHosts = trackedCompositionHosts.filter(
32276
32414
  (host) => !host.hasAttribute("data-composition-src")
32277
32415
  );
@@ -32409,18 +32547,21 @@ async function bundleToSingleHtml(projectDir, options) {
32409
32547
  }
32410
32548
  return document2.toString();
32411
32549
  }
32412
- var DEFAULT_RUNTIME_SCRIPT_URL, FLATTENED_INNER_ROOT_STRIP_ATTRS;
32550
+ var DEFAULT_RUNTIME_SCRIPT_URL, CSS_IMPORT_RE, REBASE_URL_RE, CSS_COMMENT_RE, FLATTENED_INNER_ROOT_STRIP_ATTRS;
32413
32551
  var init_htmlBundler = __esm({
32414
32552
  "../core/src/compiler/htmlBundler.ts"() {
32415
32553
  "use strict";
32416
32554
  init_htmlCompiler();
32417
32555
  init_htmlDocument();
32418
- init_rewriteSubCompPaths();
32419
32556
  init_compositionScoping();
32420
32557
  init_staticGuard();
32421
32558
  init_runtime_inline();
32422
32559
  init_getVariables();
32560
+ init_inlineSubCompositions();
32423
32561
  DEFAULT_RUNTIME_SCRIPT_URL = "";
32562
+ CSS_IMPORT_RE = /@import\s+(?:url\(\s*(["']?)([^)"']+)\1\s*\)|(["'])([^"']+)\3)\s*([^;]*);\s*/g;
32563
+ REBASE_URL_RE = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
32564
+ CSS_COMMENT_RE = /\/\*[\s\S]*?\*\//g;
32424
32565
  FLATTENED_INNER_ROOT_STRIP_ATTRS = [
32425
32566
  "data-composition-id",
32426
32567
  "data-composition-file",
@@ -32448,6 +32589,7 @@ __export(compiler_exports, {
32448
32589
  injectDurations: () => injectDurations,
32449
32590
  injectScriptsAtHeadStart: () => injectScriptsAtHeadStart,
32450
32591
  injectScriptsIntoHtml: () => injectScriptsIntoHtml,
32592
+ inlineSubCompositions: () => inlineSubCompositions,
32451
32593
  parseHTMLContent: () => parseHTMLContent,
32452
32594
  scopeCssToComposition: () => scopeCssToComposition,
32453
32595
  shouldClampMediaDuration: () => shouldClampMediaDuration,
@@ -32464,6 +32606,7 @@ var init_compiler = __esm({
32464
32606
  init_htmlDocument();
32465
32607
  init_staticGuard();
32466
32608
  init_compositionScoping();
32609
+ init_inlineSubCompositions();
32467
32610
  }
32468
32611
  });
32469
32612
 
@@ -32675,7 +32818,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
32675
32818
  args.push("-q:v", format === "jpg" ? String(Math.ceil((100 - quality) / 3)) : "0");
32676
32819
  if (format === "png") args.push("-compression_level", "6");
32677
32820
  args.push("-y", outputPattern);
32678
- return new Promise((resolve43, reject) => {
32821
+ return new Promise((resolve45, reject) => {
32679
32822
  const ffmpeg = spawn9("ffmpeg", args);
32680
32823
  let stderr = "";
32681
32824
  const onAbort = () => {
@@ -32710,7 +32853,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
32710
32853
  files.forEach((file, index) => {
32711
32854
  framePaths.set(index, join28(videoOutputDir, file));
32712
32855
  });
32713
- resolve43({
32856
+ resolve45({
32714
32857
  videoId,
32715
32858
  srcPath: videoPath,
32716
32859
  outputDir: videoOutputDir,
@@ -33645,7 +33788,7 @@ var init_videoFrameInjector = __esm({
33645
33788
 
33646
33789
  // ../engine/src/services/audioMixer.ts
33647
33790
  import { existsSync as existsSync26, mkdirSync as mkdirSync16, rmSync as rmSync6 } from "fs";
33648
- import { isAbsolute as isAbsolute5, join as join29, dirname as dirname9 } from "path";
33791
+ import { isAbsolute as isAbsolute5, join as join29, dirname as dirname10 } from "path";
33649
33792
  function parseAudioElements(html) {
33650
33793
  const elements = [];
33651
33794
  const { document: document2 } = parseHTML(unwrapTemplate(html));
@@ -33695,7 +33838,7 @@ function parseAudioElements(html) {
33695
33838
  }
33696
33839
  async function extractAudioFromVideo(videoPath, outputPath, options, signal, config) {
33697
33840
  const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
33698
- const outputDir = dirname9(outputPath);
33841
+ const outputDir = dirname10(outputPath);
33699
33842
  if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
33700
33843
  const args = ["-i", videoPath];
33701
33844
  if (options?.startTime !== void 0) args.push("-ss", String(options.startTime));
@@ -33722,7 +33865,7 @@ async function extractAudioFromVideo(videoPath, outputPath, options, signal, con
33722
33865
  }
33723
33866
  async function prepareAudioTrack(srcPath, outputPath, mediaStart, duration, signal, config) {
33724
33867
  const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
33725
- const outputDir = dirname9(outputPath);
33868
+ const outputDir = dirname10(outputPath);
33726
33869
  if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
33727
33870
  const args = [
33728
33871
  "-ss",
@@ -33758,7 +33901,7 @@ async function prepareAudioTrack(srcPath, outputPath, mediaStart, duration, sign
33758
33901
  }
33759
33902
  async function generateSilence(outputPath, duration, signal, config) {
33760
33903
  const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
33761
- const outputDir = dirname9(outputPath);
33904
+ const outputDir = dirname10(outputPath);
33762
33905
  if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
33763
33906
  const args = [
33764
33907
  "-f",
@@ -33801,7 +33944,7 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
33801
33944
  error: result2.error
33802
33945
  };
33803
33946
  }
33804
- const outputDir = dirname9(outputPath);
33947
+ const outputDir = dirname10(outputPath);
33805
33948
  if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
33806
33949
  const inputs = [];
33807
33950
  const filterParts = [];
@@ -34288,11 +34431,11 @@ function createFileServer(options) {
34288
34431
  headers: { "Content-Type": contentType }
34289
34432
  });
34290
34433
  });
34291
- return new Promise((resolve43) => {
34434
+ return new Promise((resolve45) => {
34292
34435
  const server = serve({ fetch: app.fetch, port }, (info) => {
34293
34436
  const actualPort = info.port;
34294
34437
  const url = `http://localhost:${actualPort}`;
34295
- resolve43({
34438
+ resolve45({
34296
34439
  url,
34297
34440
  port: actualPort,
34298
34441
  close: () => server.close()
@@ -36378,7 +36521,7 @@ var init_deterministicFonts = __esm({
36378
36521
  // ../producer/src/services/hyperframeRuntimeLoader.ts
36379
36522
  import { createHash as createHash5 } from "crypto";
36380
36523
  import { existsSync as existsSync31, readFileSync as readFileSync22 } from "fs";
36381
- import { dirname as dirname10, resolve as resolve16 } from "path";
36524
+ import { dirname as dirname11, resolve as resolve16 } from "path";
36382
36525
  import { fileURLToPath as fileURLToPath2 } from "url";
36383
36526
  function resolveHyperframeManifestPath() {
36384
36527
  if (process.env.PRODUCER_HYPERFRAME_MANIFEST_PATH) {
@@ -36414,7 +36557,7 @@ function resolveVerifiedHyperframeRuntime() {
36414
36557
  `[HyperframeRuntimeLoader] Invalid manifest at ${manifestPath}; missing iife artifact or sha256.`
36415
36558
  );
36416
36559
  }
36417
- const runtimePath = resolve16(dirname10(manifestPath), runtimeFileName);
36560
+ const runtimePath = resolve16(dirname11(manifestPath), runtimeFileName);
36418
36561
  if (!existsSync31(runtimePath)) {
36419
36562
  throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
36420
36563
  }
@@ -36437,7 +36580,7 @@ var PRODUCER_DIR, SIBLING_MANIFEST_PATH, MODULE_RELATIVE_MANIFEST_PATH, CWD_RELA
36437
36580
  var init_hyperframeRuntimeLoader = __esm({
36438
36581
  "../producer/src/services/hyperframeRuntimeLoader.ts"() {
36439
36582
  "use strict";
36440
- PRODUCER_DIR = dirname10(fileURLToPath2(import.meta.url));
36583
+ PRODUCER_DIR = dirname11(fileURLToPath2(import.meta.url));
36441
36584
  SIBLING_MANIFEST_PATH = resolve16(PRODUCER_DIR, "hyperframe.manifest.json");
36442
36585
  MODULE_RELATIVE_MANIFEST_PATH = resolve16(
36443
36586
  PRODUCER_DIR,
@@ -36667,10 +36810,10 @@ function createFileServer2(options) {
36667
36810
  headers: { "Content-Type": contentType }
36668
36811
  });
36669
36812
  });
36670
- return new Promise((resolve43) => {
36813
+ return new Promise((resolve45) => {
36671
36814
  const connections = /* @__PURE__ */ new Set();
36672
36815
  const server = serve2({ fetch: app.fetch, port }, (info) => {
36673
- resolve43({
36816
+ resolve45({
36674
36817
  url: `http://localhost:${info.port}`,
36675
36818
  port: info.port,
36676
36819
  addPreHeadScript: (script) => {
@@ -36971,11 +37114,11 @@ import {
36971
37114
  isAbsolute as nodeIsAbsolute
36972
37115
  } from "path";
36973
37116
  function isPathInside2(childPath, parentPath, options = {}) {
36974
- const resolvePath = options.pathModule?.resolve ?? nodeResolve;
37117
+ const resolvePath3 = options.pathModule?.resolve ?? nodeResolve;
36975
37118
  const relativePath = options.pathModule?.relative ?? nodeRelative;
36976
37119
  const isPathAbsolute = options.pathModule?.isAbsolute ?? nodeIsAbsolute;
36977
- const absChild = resolvePath(childPath);
36978
- const absParent = resolvePath(parentPath);
37120
+ const absChild = resolvePath3(childPath);
37121
+ const absParent = resolvePath3(parentPath);
36979
37122
  if (absChild === absParent) return true;
36980
37123
  const rel = relativePath(absParent, absChild);
36981
37124
  return rel !== "" && !rel.startsWith("..") && !isPathAbsolute(rel);
@@ -37007,7 +37150,7 @@ var init_paths = __esm({
37007
37150
 
37008
37151
  // ../producer/src/services/render/shared.ts
37009
37152
  import { copyFileSync as copyFileSync2, cpSync, existsSync as existsSync33, mkdirSync as mkdirSync19, symlinkSync, writeFileSync as writeFileSync15 } from "fs";
37010
- import { basename as basename4, dirname as dirname11, isAbsolute as isAbsolute6, join as join36, relative as relative3, resolve as resolve18 } from "path";
37153
+ import { basename as basename4, dirname as dirname12, isAbsolute as isAbsolute6, join as join36, relative as relative4, resolve as resolve18 } from "path";
37011
37154
  function projectBrowserEndToCompositionTimeline(existingStart, browserStart, browserEnd) {
37012
37155
  return browserEnd + (existingStart - browserStart);
37013
37156
  }
@@ -37048,7 +37191,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
37048
37191
  writeFileSync15(join36(compileDir, "index.html"), compiled.html, "utf-8");
37049
37192
  for (const [srcPath, html] of compiled.subCompositions) {
37050
37193
  const outPath = join36(compileDir, srcPath);
37051
- mkdirSync19(dirname11(outPath), { recursive: true });
37194
+ mkdirSync19(dirname12(outPath), { recursive: true });
37052
37195
  writeFileSync15(outPath, html, "utf-8");
37053
37196
  }
37054
37197
  for (const [relativePath, absolutePath] of compiled.externalAssets) {
@@ -37057,7 +37200,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
37057
37200
  console.warn(`[Render] Skipping external asset with unsafe path: ${relativePath}`);
37058
37201
  continue;
37059
37202
  }
37060
- mkdirSync19(dirname11(outPath), { recursive: true });
37203
+ mkdirSync19(dirname12(outPath), { recursive: true });
37061
37204
  copyFileSync2(absolutePath, outPath);
37062
37205
  }
37063
37206
  if (includeSummary) {
@@ -37108,7 +37251,7 @@ function createCompiledFrameSrcResolver(compiledDir) {
37108
37251
  return (framePath) => {
37109
37252
  const resolvedFramePath = resolve18(framePath);
37110
37253
  if (!isPathInside2(resolvedFramePath, compiledRoot)) return null;
37111
- const relativePath = relative3(compiledRoot, resolvedFramePath);
37254
+ const relativePath = relative4(compiledRoot, resolvedFramePath);
37112
37255
  if (!relativePath || relativePath.startsWith("..") || isAbsolute6(relativePath)) {
37113
37256
  return null;
37114
37257
  }
@@ -37187,9 +37330,9 @@ var init_shared = __esm({
37187
37330
  materializePathModule = {
37188
37331
  resolve: resolve18,
37189
37332
  join: join36,
37190
- dirname: dirname11,
37333
+ dirname: dirname12,
37191
37334
  basename: basename4,
37192
- relative: relative3,
37335
+ relative: relative4,
37193
37336
  isAbsolute: isAbsolute6
37194
37337
  };
37195
37338
  materializeFileSystem = {
@@ -37730,7 +37873,7 @@ var init_urlDownloader2 = __esm({
37730
37873
 
37731
37874
  // ../producer/src/services/htmlCompiler.ts
37732
37875
  import { readFileSync as readFileSync24, existsSync as existsSync34, mkdirSync as mkdirSync20 } from "fs";
37733
- import { join as join38, dirname as dirname12, resolve as resolve19 } from "path";
37876
+ import { join as join38, dirname as dirname13, resolve as resolve19 } from "path";
37734
37877
  function dedupeElementsById(elements) {
37735
37878
  const deduped = /* @__PURE__ */ new Map();
37736
37879
  for (const element of elements) {
@@ -37890,7 +38033,7 @@ async function parseSubCompositions(html, projectDir, downloadDir, parentOffset
37890
38033
  workItems.map(async (item) => {
37891
38034
  const { html: compiledSub } = await compileHtmlFile(
37892
38035
  item.rawSubHtml,
37893
- dirname12(item.filePath),
38036
+ dirname13(item.filePath),
37894
38037
  downloadDir
37895
38038
  );
37896
38039
  const nested = await parseSubCompositions(
@@ -38052,107 +38195,31 @@ function coalesceHeadStylesAndBodyScripts2(html) {
38052
38195
  }
38053
38196
  return document2.toString();
38054
38197
  }
38055
- function inlineSubCompositions(html, subCompositions, projectDir) {
38198
+ function inlineSubCompositions2(html, subCompositions, projectDir) {
38056
38199
  const { document: document2 } = parseHTML(html);
38057
38200
  const head = document2.querySelector("head");
38058
38201
  const body = document2.querySelector("body");
38059
- const hosts = document2.querySelectorAll("[data-composition-src]");
38202
+ const hosts = Array.from(document2.querySelectorAll("[data-composition-src]"));
38060
38203
  if (!hosts.length) return html;
38061
- const collectedStyles = [];
38062
- const collectedScripts = [];
38063
- const collectedExternalScriptSrcs = [];
38064
- for (const host of hosts) {
38065
- const srcPath = host.getAttribute("data-composition-src");
38066
- if (!srcPath) continue;
38067
- let compHtml = subCompositions.get(srcPath) || null;
38068
- if (!compHtml) {
38069
- const filePath = resolve19(projectDir, srcPath);
38070
- if (existsSync34(filePath)) {
38071
- compHtml = readFileSync24(filePath, "utf-8");
38072
- }
38073
- }
38074
- if (!compHtml) {
38075
- continue;
38076
- }
38077
- const compDoc = parseHTML(compHtml).document;
38078
- const compId = host.getAttribute("data-composition-id");
38079
- const templateEl = compDoc.querySelector("template");
38080
- const bodyEl = compDoc.querySelector("body");
38081
- const contentHtml = templateEl ? templateEl.innerHTML || "" : bodyEl ? bodyEl.innerHTML || "" : compDoc.toString();
38082
- const contentDoc = parseHTML(contentHtml).document;
38083
- const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
38084
- const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || null;
38085
- if (!templateEl) {
38086
- const compHead = compDoc.querySelector("head");
38087
- if (compHead) {
38088
- for (const styleEl of compHead.querySelectorAll("style")) {
38089
- const css = rewriteCssAssetUrls(styleEl.textContent || "", srcPath);
38090
- const scopeId = compId || inferredCompId;
38091
- if (scopeId && css.trim()) {
38092
- collectedStyles.push(scopeCssToComposition(css, scopeId));
38093
- } else {
38094
- collectedStyles.push(css);
38095
- }
38096
- }
38097
- for (const scriptEl of compHead.querySelectorAll("script")) {
38098
- const src = (scriptEl.getAttribute("src") || "").trim();
38099
- if (src && !collectedExternalScriptSrcs.includes(src)) {
38100
- collectedExternalScriptSrcs.push(src);
38204
+ const result = inlineSubCompositions(
38205
+ document2,
38206
+ hosts,
38207
+ {
38208
+ resolveHtml: (srcPath) => {
38209
+ let compHtml = subCompositions.get(srcPath) || null;
38210
+ if (!compHtml) {
38211
+ const filePath = resolve19(projectDir, srcPath);
38212
+ if (existsSync34(filePath)) {
38213
+ compHtml = readFileSync24(filePath, "utf-8");
38101
38214
  }
38102
38215
  }
38103
- }
38104
- }
38105
- for (const styleEl of contentDoc.querySelectorAll("style")) {
38106
- const css = rewriteCssAssetUrls(styleEl.textContent || "", srcPath);
38107
- const scopeId = compId || inferredCompId;
38108
- if (scopeId && css.trim()) {
38109
- collectedStyles.push(scopeCssToComposition(css, scopeId));
38110
- } else {
38111
- collectedStyles.push(css);
38112
- }
38113
- styleEl.remove();
38114
- }
38115
- for (const scriptEl of contentDoc.querySelectorAll("script")) {
38116
- const src = (scriptEl.getAttribute("src") || "").trim();
38117
- if (src) {
38118
- if (!collectedExternalScriptSrcs.includes(src)) {
38119
- collectedExternalScriptSrcs.push(src);
38120
- }
38121
- scriptEl.remove();
38122
- continue;
38123
- }
38124
- const content = (scriptEl.textContent || "").trim();
38125
- if (content) {
38126
- const scriptMountCompId = compId || inferredCompId || "";
38127
- collectedScripts.push(
38128
- scriptMountCompId ? wrapScopedCompositionScript(
38129
- content,
38130
- scriptMountCompId,
38131
- "[Compiler] Composition script failed"
38132
- ) : `(function(){ try { ${content} } catch (_err) { console.error("[Compiler] Composition script failed", _err); } })()`
38133
- );
38134
- }
38135
- scriptEl.remove();
38136
- }
38137
- const rewriteTarget = innerRoot || contentDoc;
38138
- rewriteAssetPaths(
38139
- rewriteTarget.querySelectorAll("[src], [href]"),
38140
- srcPath,
38141
- (el, attr) => (el.getAttribute(attr) || "").trim(),
38142
- (el, attr, val) => el.setAttribute(attr, val)
38143
- );
38144
- if (innerRoot) {
38145
- const innerW = innerRoot.getAttribute("data-width");
38146
- const innerH = innerRoot.getAttribute("data-height");
38147
- if (innerW && !host.getAttribute("data-width")) host.setAttribute("data-width", innerW);
38148
- if (innerH && !host.getAttribute("data-height")) host.setAttribute("data-height", innerH);
38149
- innerRoot.querySelectorAll("style, script").forEach((el) => el.remove());
38150
- host.innerHTML = compId ? innerRoot.innerHTML || "" : innerRoot.outerHTML || "";
38151
- } else {
38152
- contentDoc.querySelectorAll("style, script").forEach((el) => el.remove());
38153
- host.innerHTML = contentDoc.toString();
38216
+ return compHtml;
38217
+ },
38218
+ parseHtml: (htmlStr) => parseHTML(htmlStr).document,
38219
+ scriptErrorLabel: "[Compiler] Composition script failed"
38154
38220
  }
38155
- host.removeAttribute("data-composition-src");
38221
+ );
38222
+ for (const host of hosts) {
38156
38223
  const hostW = host.getAttribute("data-width");
38157
38224
  const hostH = host.getAttribute("data-height");
38158
38225
  if (hostW && hostH) {
@@ -38168,18 +38235,18 @@ function inlineSubCompositions(html, subCompositions, projectDir) {
38168
38235
  }
38169
38236
  }
38170
38237
  }
38171
- if (collectedStyles.length && head) {
38238
+ if (result.styles.length && head) {
38172
38239
  const styleEl = document2.createElement("style");
38173
- styleEl.textContent = collectedStyles.join("\n\n");
38240
+ styleEl.textContent = result.styles.join("\n\n");
38174
38241
  head.appendChild(styleEl);
38175
38242
  }
38176
- if (collectedExternalScriptSrcs.length && body) {
38243
+ if (result.externalScriptSrcs.length && body) {
38177
38244
  const existingScriptSrcs = new Set(
38178
38245
  Array.from(document2.querySelectorAll("script[src]")).map(
38179
38246
  (el) => (el.getAttribute("src") || "").trim()
38180
38247
  )
38181
38248
  );
38182
- for (const src of collectedExternalScriptSrcs) {
38249
+ for (const src of result.externalScriptSrcs) {
38183
38250
  if (!existingScriptSrcs.has(src)) {
38184
38251
  const scriptEl = document2.createElement("script");
38185
38252
  scriptEl.setAttribute("src", src);
@@ -38188,9 +38255,9 @@ function inlineSubCompositions(html, subCompositions, projectDir) {
38188
38255
  }
38189
38256
  }
38190
38257
  }
38191
- if (collectedScripts.length && body) {
38258
+ if (result.scripts.length && body) {
38192
38259
  const scriptEl = document2.createElement("script");
38193
- scriptEl.textContent = collectedScripts.join("\n;\n");
38260
+ scriptEl.textContent = result.scripts.join("\n;\n");
38194
38261
  body.appendChild(scriptEl);
38195
38262
  }
38196
38263
  return document2.toString();
@@ -38327,7 +38394,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
38327
38394
  subCompositions
38328
38395
  } = await parseSubCompositions(compiledHtml, projectDir, downloadDir);
38329
38396
  const fullHtml = ensureFullDocument(compiledHtml);
38330
- const inlinedHtml = inlineSubCompositions(fullHtml, subCompositions, projectDir);
38397
+ const inlinedHtml = inlineSubCompositions2(fullHtml, subCompositions, projectDir);
38331
38398
  const sanitizedHtml = inlinedHtml.replace(
38332
38399
  /(<(?:video|audio)\b[^>]*?)\s+preload\s*=\s*["']none["']/gi,
38333
38400
  "$1"
@@ -40032,7 +40099,7 @@ var init_captureHdrSequentialLoop = __esm({
40032
40099
  // ../producer/src/services/shaderTransitionWorkerPool.ts
40033
40100
  import { Worker } from "worker_threads";
40034
40101
  import { fileURLToPath as fileURLToPath3, pathToFileURL } from "url";
40035
- import { dirname as dirname13, join as join45 } from "path";
40102
+ import { dirname as dirname14, join as join45 } from "path";
40036
40103
  import { createRequire } from "module";
40037
40104
  import { existsSync as existsSync36 } from "fs";
40038
40105
  import { cpus as cpus3 } from "os";
@@ -40045,7 +40112,7 @@ function resolveWorkerEntry(explicit) {
40045
40112
  const isTs = override.endsWith(".ts");
40046
40113
  return { path: override, isTs };
40047
40114
  }
40048
- const moduleDir = dirname13(fileURLToPath3(import.meta.url));
40115
+ const moduleDir = dirname14(fileURLToPath3(import.meta.url));
40049
40116
  const jsPath = join45(moduleDir, "shaderTransitionWorker.js");
40050
40117
  if (existsSync36(jsPath)) return { path: jsPath, isTs: false };
40051
40118
  const tsPath = join45(moduleDir, "shaderTransitionWorker.ts");
@@ -40180,8 +40247,8 @@ async function createShaderTransitionWorkerPool(opts) {
40180
40247
  if (terminated) {
40181
40248
  throw new Error("shader-blend pool already terminated");
40182
40249
  }
40183
- return new Promise((resolve43, reject) => {
40184
- const task = traceEnabled ? { req, resolve: resolve43, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve43, reject };
40250
+ return new Promise((resolve45, reject) => {
40251
+ const task = traceEnabled ? { req, resolve: resolve45, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve45, reject };
40185
40252
  const idle = slots.find((s2) => !s2.busy);
40186
40253
  if (idle) {
40187
40254
  queue.unshift(task);
@@ -40914,7 +40981,7 @@ import {
40914
40981
  copyFileSync as copyFileSync4,
40915
40982
  appendFileSync
40916
40983
  } from "fs";
40917
- import { join as join49, dirname as dirname14, resolve as resolve20 } from "path";
40984
+ import { join as join49, dirname as dirname15, resolve as resolve20 } from "path";
40918
40985
  import { randomUUID as randomUUID2 } from "crypto";
40919
40986
  import { fileURLToPath as fileURLToPath4 } from "url";
40920
40987
  function sampleDirectoryBytes(dir) {
@@ -41595,10 +41662,10 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
41595
41662
  return document2.toString();
41596
41663
  }
41597
41664
  async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSignal) {
41598
- const moduleDir = dirname14(fileURLToPath4(import.meta.url));
41665
+ const moduleDir = dirname15(fileURLToPath4(import.meta.url));
41599
41666
  const producerRoot = process.env.PRODUCER_RENDERS_DIR ? resolve20(process.env.PRODUCER_RENDERS_DIR, "..") : resolve20(moduleDir, "../..");
41600
41667
  const debugDir = join49(producerRoot, ".debug");
41601
- const workDir = job.config.debug ? join49(debugDir, job.id) : join49(dirname14(outputPath), `work-${job.id}`);
41668
+ const workDir = job.config.debug ? join49(debugDir, job.id) : join49(dirname15(outputPath), `work-${job.id}`);
41602
41669
  const pipelineStart = Date.now();
41603
41670
  const log2 = job.config.logger ?? defaultLogger;
41604
41671
  let fileServer = null;
@@ -42290,10 +42357,10 @@ var init_semaphore = __esm({
42290
42357
  this.active++;
42291
42358
  return () => this.release();
42292
42359
  }
42293
- return new Promise((resolve43) => {
42360
+ return new Promise((resolve45) => {
42294
42361
  this.queue.push(() => {
42295
42362
  this.active++;
42296
- resolve43(() => this.release());
42363
+ resolve45(() => this.release());
42297
42364
  });
42298
42365
  });
42299
42366
  }
@@ -42324,7 +42391,7 @@ import {
42324
42391
  rmSync as rmSync10,
42325
42392
  createReadStream
42326
42393
  } from "fs";
42327
- import { resolve as resolve22, dirname as dirname15, join as join51 } from "path";
42394
+ import { resolve as resolve22, dirname as dirname16, join as join51 } from "path";
42328
42395
  import { tmpdir as tmpdir3 } from "os";
42329
42396
  import { parseArgs as parseArgs2 } from "util";
42330
42397
  import crypto2 from "crypto";
@@ -42501,7 +42568,7 @@ function createRenderHandlers(options = {}) {
42501
42568
  rendersDir,
42502
42569
  log2
42503
42570
  );
42504
- const outputDir = dirname15(absoluteOutputPath);
42571
+ const outputDir = dirname16(absoluteOutputPath);
42505
42572
  if (!existsSync41(outputDir)) mkdirSync25(outputDir, { recursive: true });
42506
42573
  const release2 = await renderSemaphore.acquire();
42507
42574
  log2.info("render started", {
@@ -42612,7 +42679,7 @@ function createRenderHandlers(options = {}) {
42612
42679
  rendersDir,
42613
42680
  log2
42614
42681
  );
42615
- const outputDir = dirname15(absoluteOutputPath);
42682
+ const outputDir = dirname16(absoluteOutputPath);
42616
42683
  if (!existsSync41(outputDir)) mkdirSync25(outputDir, { recursive: true });
42617
42684
  log2.info("render-stream started", { requestId, projectDir: input.projectDir });
42618
42685
  const job = createRenderJob({
@@ -42913,7 +42980,7 @@ var init_runtimeEnvSnapshot = __esm({
42913
42980
 
42914
42981
  // ../producer/src/services/render/stages/freezePlan.ts
42915
42982
  import { existsSync as existsSync42, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync17, writeFileSync as writeFileSync20 } from "fs";
42916
- import { join as join52, relative as relative4, resolve as resolve23 } from "path";
42983
+ import { join as join52, relative as relative5, resolve as resolve23 } from "path";
42917
42984
  function stripUndefined(value) {
42918
42985
  if (Array.isArray(value)) return value.map(stripUndefined);
42919
42986
  if (value !== null && typeof value === "object") {
@@ -42939,7 +43006,7 @@ function listPlanFiles(planDir) {
42939
43006
  walk(full);
42940
43007
  } else if (entry.isFile()) {
42941
43008
  results.push({
42942
- planRelativePath: relative4(rootResolved, full).split(/[\\/]+/).join("/"),
43009
+ planRelativePath: relative5(rootResolved, full).split(/[\\/]+/).join("/"),
42943
43010
  absolutePath: full
42944
43011
  });
42945
43012
  }
@@ -43109,7 +43176,7 @@ var init_planValidation = __esm({
43109
43176
 
43110
43177
  // ../producer/src/services/distributed/shared.ts
43111
43178
  import { execFile as execFileCallback } from "child_process";
43112
- import { dirname as dirname16, join as join53 } from "path";
43179
+ import { dirname as dirname17, join as join53 } from "path";
43113
43180
  import { existsSync as existsSync43, readFileSync as readFileSync29 } from "fs";
43114
43181
  import { fileURLToPath as fileURLToPath5 } from "url";
43115
43182
  import { promisify as promisify2 } from "util";
@@ -43144,7 +43211,7 @@ function buildSyntheticRenderJob(input) {
43144
43211
  }
43145
43212
  function readProducerVersion() {
43146
43213
  if (cachedProducerVersion !== null) return cachedProducerVersion;
43147
- const startDir = dirname16(fileURLToPath5(import.meta.url));
43214
+ const startDir = dirname17(fileURLToPath5(import.meta.url));
43148
43215
  let current = startDir;
43149
43216
  for (let i2 = 0; i2 < 10; i2++) {
43150
43217
  const candidate = join53(current, "package.json");
@@ -43158,7 +43225,7 @@ function readProducerVersion() {
43158
43225
  } catch {
43159
43226
  }
43160
43227
  }
43161
- const parent = dirname16(current);
43228
+ const parent = dirname17(current);
43162
43229
  if (parent === current) break;
43163
43230
  current = parent;
43164
43231
  }
@@ -43189,7 +43256,7 @@ import {
43189
43256
  statSync as statSync15,
43190
43257
  writeFileSync as writeFileSync21
43191
43258
  } from "fs";
43192
- import { join as join54, relative as relative5, sep as sep6 } from "path";
43259
+ import { join as join54, relative as relative6, sep as sep6 } from "path";
43193
43260
  function formatBytes(bytes) {
43194
43261
  if (bytes < 1024) return `${bytes} B`;
43195
43262
  if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KiB`;
@@ -43374,7 +43441,7 @@ async function plan(projectDir, config, planDir) {
43374
43441
  recursive: true,
43375
43442
  dereference: true,
43376
43443
  filter: (src) => {
43377
- const rel = relative5(projectDir, src);
43444
+ const rel = relative6(projectDir, src);
43378
43445
  if (rel === "" || rel.startsWith("..")) return true;
43379
43446
  const firstSegment = rel.split(sep6, 1)[0];
43380
43447
  return firstSegment === void 0 || !PLAN_PROJECT_DIR_SKIP_SEGMENTS.has(firstSegment);
@@ -44118,7 +44185,7 @@ async function defaultRunFfmpeg(args) {
44118
44185
  };
44119
44186
  }
44120
44187
  function runFfprobeJson(args) {
44121
- return new Promise((resolve43, reject) => {
44188
+ return new Promise((resolve45, reject) => {
44122
44189
  const proc = spawn10("ffprobe", args);
44123
44190
  let stdout2 = "";
44124
44191
  let stderr = "";
@@ -44141,7 +44208,7 @@ function runFfprobeJson(args) {
44141
44208
  return;
44142
44209
  }
44143
44210
  try {
44144
- resolve43(JSON.parse(stdout2));
44211
+ resolve45(JSON.parse(stdout2));
44145
44212
  } catch (err) {
44146
44213
  reject(new Error(`Failed to parse ffprobe output: ${err.message}`));
44147
44214
  }
@@ -44168,7 +44235,7 @@ import {
44168
44235
  statSync as statSync16,
44169
44236
  writeFileSync as writeFileSync23
44170
44237
  } from "fs";
44171
- import { dirname as dirname17, join as join56 } from "path";
44238
+ import { dirname as dirname18, join as join56 } from "path";
44172
44239
  async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
44173
44240
  const start = Date.now();
44174
44241
  const log2 = options?.logger ?? defaultLogger;
@@ -44196,8 +44263,8 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
44196
44263
  if (plan2.dimensions.format === "png-sequence") {
44197
44264
  return mergePngFrameDirs(chunkPaths, outputPath, plan2.totalFrames, audioPath, start);
44198
44265
  }
44199
- if (!existsSync46(dirname17(outputPath))) {
44200
- mkdirSync29(dirname17(outputPath), { recursive: true });
44266
+ if (!existsSync46(dirname18(outputPath))) {
44267
+ mkdirSync29(dirname18(outputPath), { recursive: true });
44201
44268
  }
44202
44269
  const workDir = `${outputPath}.assemble-work`;
44203
44270
  if (existsSync46(workDir)) rmSync13(workDir, { recursive: true, force: true });
@@ -44809,13 +44876,13 @@ __export(preview_exports, {
44809
44876
  });
44810
44877
  import { spawn as spawn11 } from "child_process";
44811
44878
  import { existsSync as existsSync48, lstatSync as lstatSync2, symlinkSync as symlinkSync2, unlinkSync as unlinkSync5, readlinkSync, mkdirSync as mkdirSync30 } from "fs";
44812
- import { resolve as resolve25, dirname as dirname18, basename as basename6, join as join58 } from "path";
44879
+ import { resolve as resolve25, dirname as dirname19, basename as basename6, join as join58 } from "path";
44813
44880
  import { fileURLToPath as fileURLToPath6 } from "url";
44814
44881
  import { createRequire as createRequire2 } from "module";
44815
44882
  async function runDevMode(dir, options) {
44816
44883
  const thisFile = fileURLToPath6(import.meta.url);
44817
- const repoRoot = resolve25(dirname18(thisFile), "..", "..", "..", "..");
44818
- const projectsDir = join58(repoRoot, "packages", "studio", "data", "projects");
44884
+ const repoRoot2 = resolve25(dirname19(thisFile), "..", "..", "..", "..");
44885
+ const projectsDir = join58(repoRoot2, "packages", "studio", "data", "projects");
44819
44886
  const pName = options?.projectName ?? basename6(dir);
44820
44887
  const symlinkPath = join58(projectsDir, pName);
44821
44888
  mkdirSync30(projectsDir, { recursive: true });
@@ -44841,7 +44908,7 @@ async function runDevMode(dir, options) {
44841
44908
  ge(c2.bold("hyperframes preview"));
44842
44909
  const s2 = ft();
44843
44910
  s2.start("Starting studio...");
44844
- const studioPkgDir = join58(repoRoot, "packages", "studio");
44911
+ const studioPkgDir = join58(repoRoot2, "packages", "studio");
44845
44912
  const child = spawn11("bun", ["run", "dev"], {
44846
44913
  cwd: studioPkgDir,
44847
44914
  stdio: ["ignore", "pipe", "pipe"]
@@ -44884,8 +44951,8 @@ async function runDevMode(dir, options) {
44884
44951
  }
44885
44952
  });
44886
44953
  }
44887
- return new Promise((resolve43) => {
44888
- child.on("close", () => resolve43());
44954
+ return new Promise((resolve45) => {
44955
+ child.on("close", () => resolve45());
44889
44956
  });
44890
44957
  }
44891
44958
  function hasLocalStudio(dir) {
@@ -44899,7 +44966,7 @@ function hasLocalStudio(dir) {
44899
44966
  }
44900
44967
  async function runLocalStudioMode(dir, options) {
44901
44968
  const req = createRequire2(join58(dir, "package.json"));
44902
- const studioPkgPath = dirname18(req.resolve("@hyperframes/studio/package.json"));
44969
+ const studioPkgPath = dirname19(req.resolve("@hyperframes/studio/package.json"));
44903
44970
  const pName = options?.projectName ?? basename6(dir);
44904
44971
  const projectsDir = join58(studioPkgPath, "data", "projects");
44905
44972
  const symlinkPath = join58(projectsDir, pName);
@@ -44959,8 +45026,8 @@ async function runLocalStudioMode(dir, options) {
44959
45026
  }
44960
45027
  });
44961
45028
  }
44962
- return new Promise((resolve43) => {
44963
- child.on("close", () => resolve43());
45029
+ return new Promise((resolve45) => {
45030
+ child.on("close", () => resolve45());
44964
45031
  });
44965
45032
  }
44966
45033
  async function runEmbeddedMode(dir, startPort, options) {
@@ -45208,7 +45275,7 @@ import {
45208
45275
  readFileSync as readFileSync33,
45209
45276
  readdirSync as readdirSync21
45210
45277
  } from "fs";
45211
- import { resolve as resolve26, basename as basename7, join as join59, dirname as dirname19 } from "path";
45278
+ import { resolve as resolve26, basename as basename7, join as join59, dirname as dirname20 } from "path";
45212
45279
  import { fileURLToPath as fileURLToPath7 } from "url";
45213
45280
  import { execFileSync as execFileSync5, spawn as spawn12 } from "child_process";
45214
45281
  function probeVideo(filePath) {
@@ -45277,7 +45344,7 @@ function transcodeToMp4(inputPath, outputPath) {
45277
45344
  });
45278
45345
  }
45279
45346
  function resolveAssetDir(devSegments, builtSegments) {
45280
- const base = dirname19(fileURLToPath7(import.meta.url));
45347
+ const base = dirname20(fileURLToPath7(import.meta.url));
45281
45348
  const devPath = resolve26(base, ...devSegments);
45282
45349
  const builtPath = resolve26(base, ...builtSegments);
45283
45350
  return existsSync49(devPath) ? devPath : builtPath;
@@ -46063,7 +46130,7 @@ __export(add_exports, {
46063
46130
  runAdd: () => runAdd
46064
46131
  });
46065
46132
  import { existsSync as existsSync50 } from "fs";
46066
- import { resolve as resolve27, relative as relative6 } from "path";
46133
+ import { resolve as resolve27, relative as relative7 } from "path";
46067
46134
  function remapTarget(item, originalTarget, paths) {
46068
46135
  if (item.type === "hyperframes:block") {
46069
46136
  const blocksDir = paths.blocks.replace(/\/+$/, "");
@@ -46205,7 +46272,7 @@ var init_add = __esm({
46205
46272
  console.log("");
46206
46273
  console.log(`${c2.success("\u2713")} Added ${c2.accent(result.name)} (${result.type})`);
46207
46274
  for (const file of result.written) {
46208
- console.log(` ${c2.dim(relative6(projectDir, file))}`);
46275
+ console.log(` ${c2.dim(relative7(projectDir, file))}`);
46209
46276
  }
46210
46277
  if (result.snippet) {
46211
46278
  console.log("");
@@ -46478,9 +46545,9 @@ __export(play_exports, {
46478
46545
  examples: () => examples5
46479
46546
  });
46480
46547
  import { existsSync as existsSync52, readFileSync as readFileSync34 } from "fs";
46481
- import { resolve as resolve30, dirname as dirname20 } from "path";
46548
+ import { resolve as resolve30, dirname as dirname21 } from "path";
46482
46549
  function commandDir() {
46483
- return dirname20(new URL(import.meta.url).pathname);
46550
+ return dirname21(new URL(import.meta.url).pathname);
46484
46551
  }
46485
46552
  function resolveRuntimePath2() {
46486
46553
  const d2 = commandDir();
@@ -46711,7 +46778,7 @@ var init_play = __esm({
46711
46778
  });
46712
46779
 
46713
46780
  // src/utils/publishProject.ts
46714
- import { basename as basename9, join as join60, relative as relative7 } from "path";
46781
+ import { basename as basename9, join as join60, relative as relative8 } from "path";
46715
46782
  import { readdirSync as readdirSync22, readFileSync as readFileSync35, statSync as statSync19 } from "fs";
46716
46783
  import AdmZip from "adm-zip";
46717
46784
  function isRecord2(value) {
@@ -46813,7 +46880,7 @@ function collectProjectFiles(rootDir, currentDir, paths) {
46813
46880
  for (const entry of readdirSync22(currentDir, { withFileTypes: true })) {
46814
46881
  if (shouldIgnoreSegment(entry.name)) continue;
46815
46882
  const absolutePath = join60(currentDir, entry.name);
46816
- const relativePath = relative7(rootDir, absolutePath).replaceAll("\\", "/");
46883
+ const relativePath = relative8(rootDir, absolutePath).replaceAll("\\", "/");
46817
46884
  if (!relativePath) continue;
46818
46885
  if (entry.isDirectory()) {
46819
46886
  collectProjectFiles(rootDir, absolutePath, paths);
@@ -47186,7 +47253,7 @@ __export(render_exports, {
47186
47253
  });
47187
47254
  import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync36, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
47188
47255
  import { cpus as cpus4, freemem as freemem3, tmpdir as tmpdir4 } from "os";
47189
- import { resolve as resolve32, dirname as dirname21, join as join62, basename as basename11 } from "path";
47256
+ import { resolve as resolve32, dirname as dirname22, join as join62, basename as basename11 } from "path";
47190
47257
  import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
47191
47258
  function formatFpsParseError(input, reason) {
47192
47259
  switch (reason) {
@@ -47377,7 +47444,7 @@ async function renderDocker(projectDir, outputPath, options) {
47377
47444
  );
47378
47445
  process.exit(1);
47379
47446
  }
47380
- const outputDir = dirname21(outputPath);
47447
+ const outputDir = dirname22(outputPath);
47381
47448
  const outputFilename = basename11(outputPath);
47382
47449
  const dockerArgs = buildDockerRunArgs({
47383
47450
  imageTag,
@@ -47797,7 +47864,7 @@ var init_render2 = __esm({
47797
47864
  const datePart = now.toISOString().slice(0, 10);
47798
47865
  const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
47799
47866
  const outputPath = args.output ? resolve32(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
47800
- mkdirSync32(dirname21(outputPath), { recursive: true });
47867
+ mkdirSync32(dirname22(outputPath), { recursive: true });
47801
47868
  const useDocker = args.docker ?? false;
47802
47869
  const useGpu = args.gpu ?? false;
47803
47870
  const browserGpuArg = args["browser-gpu"];
@@ -48213,7 +48280,7 @@ var init_lint3 = __esm({
48213
48280
  // src/utils/staticProjectServer.ts
48214
48281
  import { createServer } from "http";
48215
48282
  import { existsSync as existsSync54, readFileSync as readFileSync37 } from "fs";
48216
- import { isAbsolute as isAbsolute8, relative as relative8, resolve as resolve33 } from "path";
48283
+ import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve33 } from "path";
48217
48284
  async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
48218
48285
  const server = createServer((req, res) => {
48219
48286
  const url = req.url ?? "/";
@@ -48223,7 +48290,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
48223
48290
  return;
48224
48291
  }
48225
48292
  const filePath = resolve33(projectDir, decodeURIComponent(url).replace(/^\//, ""));
48226
- const rel = relative8(projectDir, filePath);
48293
+ const rel = relative9(projectDir, filePath);
48227
48294
  if (rel.startsWith("..") || isAbsolute8(rel)) {
48228
48295
  res.writeHead(403);
48229
48296
  res.end();
@@ -48408,7 +48475,7 @@ __export(layout_exports, {
48408
48475
  examples: () => examples9
48409
48476
  });
48410
48477
  import { existsSync as existsSync55, readFileSync as readFileSync38 } from "fs";
48411
- import { dirname as dirname22, join as join63 } from "path";
48478
+ import { dirname as dirname23, join as join63 } from "path";
48412
48479
  import { fileURLToPath as fileURLToPath8 } from "url";
48413
48480
  async function getCompositionDuration2(page) {
48414
48481
  return page.evaluate(() => {
@@ -48460,7 +48527,7 @@ async function seekTo(page, time) {
48460
48527
  if (!fonts?.ready) return Promise.resolve();
48461
48528
  return Promise.race([
48462
48529
  fonts.ready.then(() => void 0),
48463
- new Promise((resolve43) => setTimeout(resolve43, 500))
48530
+ new Promise((resolve45) => setTimeout(resolve45, 500))
48464
48531
  ]);
48465
48532
  }).catch(() => {
48466
48533
  });
@@ -48520,7 +48587,7 @@ async function runLayoutAudit(projectDir, opts) {
48520
48587
  if (!fonts?.ready) return Promise.resolve();
48521
48588
  return Promise.race([
48522
48589
  fonts.ready.then(() => void 0),
48523
- new Promise((resolve43) => setTimeout(resolve43, 750))
48590
+ new Promise((resolve45) => setTimeout(resolve45, 750))
48524
48591
  ]);
48525
48592
  }).catch(() => {
48526
48593
  });
@@ -48725,7 +48792,7 @@ var init_layout2 = __esm({
48725
48792
  init_updateCheck();
48726
48793
  init_layoutAudit();
48727
48794
  __filename = fileURLToPath8(import.meta.url);
48728
- __dirname2 = dirname22(__filename);
48795
+ __dirname2 = dirname23(__filename);
48729
48796
  SEEK_SETTLE_MS = 120;
48730
48797
  INSPECT_SCHEMA_VERSION = 1;
48731
48798
  examples9 = [
@@ -48863,7 +48930,7 @@ __export(compositions_exports, {
48863
48930
  parseSubComposition: () => parseSubComposition
48864
48931
  });
48865
48932
  import { existsSync as existsSync56, readFileSync as readFileSync40 } from "fs";
48866
- import { resolve as resolve34, dirname as dirname23 } from "path";
48933
+ import { resolve as resolve34, dirname as dirname24 } from "path";
48867
48934
  function countRenderableDescendants(root) {
48868
48935
  return Array.from(root.querySelectorAll("*")).filter(
48869
48936
  (el) => !NON_RENDERED_TAGS.has(el.tagName.toLowerCase())
@@ -49002,7 +49069,7 @@ var init_compositions = __esm({
49002
49069
  const project = resolveProject(args.dir);
49003
49070
  const html = readFileSync40(project.indexPath, "utf-8");
49004
49071
  ensureDOMParser();
49005
- const compositions = parseCompositions(html, dirname23(project.indexPath));
49072
+ const compositions = parseCompositions(html, dirname24(project.indexPath));
49006
49073
  if (compositions.length === 0) {
49007
49074
  console.log(`${c2.success("\u25C7")} ${c2.accent(project.name)} \u2014 no compositions found`);
49008
49075
  return;
@@ -49840,12 +49907,12 @@ async function runPipeline(options, session, media, format, bgFormat) {
49840
49907
  const drains = [];
49841
49908
  if (!fgWroteFully) {
49842
49909
  drains.push(
49843
- new Promise((resolve43) => fg.proc.stdin.once("drain", () => resolve43()))
49910
+ new Promise((resolve45) => fg.proc.stdin.once("drain", () => resolve45()))
49844
49911
  );
49845
49912
  }
49846
49913
  if (!bgWroteFully && bg) {
49847
49914
  drains.push(
49848
- new Promise((resolve43) => bg.proc.stdin.once("drain", () => resolve43()))
49915
+ new Promise((resolve45) => bg.proc.stdin.once("drain", () => resolve45()))
49849
49916
  );
49850
49917
  }
49851
49918
  await Promise.all(drains);
@@ -49878,11 +49945,11 @@ ${decoder.getStderr().slice(-400)}`
49878
49945
  return processed;
49879
49946
  }
49880
49947
  function waitForExit(proc, label2, getStderr) {
49881
- return new Promise((resolve43, reject) => {
49948
+ return new Promise((resolve45, reject) => {
49882
49949
  proc.on("error", reject);
49883
49950
  proc.on("exit", (code, signal) => {
49884
49951
  if (code === 0 && !signal) {
49885
- resolve43();
49952
+ resolve45();
49886
49953
  return;
49887
49954
  }
49888
49955
  const cause = signal ? `killed by ${signal}` : `exited with code ${code}`;
@@ -50383,7 +50450,7 @@ __export(synthesize_exports, {
50383
50450
  });
50384
50451
  import { execFileSync as execFileSync7 } from "child_process";
50385
50452
  import { existsSync as existsSync62, writeFileSync as writeFileSync28, mkdirSync as mkdirSync35, readdirSync as readdirSync25, unlinkSync as unlinkSync6 } from "fs";
50386
- import { join as join69, dirname as dirname24, basename as basename12 } from "path";
50453
+ import { join as join69, dirname as dirname25, basename as basename12 } from "path";
50387
50454
  import { homedir as homedir11 } from "os";
50388
50455
  function findPython() {
50389
50456
  for (const name of ["python3", "python"]) {
@@ -50461,7 +50528,7 @@ async function synthesize(text, outputPath, options) {
50461
50528
  ensureVoices({ onProgress: options?.onProgress })
50462
50529
  ]);
50463
50530
  const scriptPath = ensureSynthScript();
50464
- mkdirSync35(dirname24(outputPath), { recursive: true });
50531
+ mkdirSync35(dirname25(outputPath), { recursive: true });
50465
50532
  options?.onProgress?.(`Generating speech with voice ${voice} (${lang})...`);
50466
50533
  try {
50467
50534
  const stdout2 = execFileSync7(
@@ -50752,11 +50819,11 @@ __export(docs_exports, {
50752
50819
  examples: () => examples18
50753
50820
  });
50754
50821
  import { readFileSync as readFileSync42, existsSync as existsSync64 } from "fs";
50755
- import { resolve as resolve39, dirname as dirname25, join as join70 } from "path";
50822
+ import { resolve as resolve39, dirname as dirname26, join as join70 } from "path";
50756
50823
  import { fileURLToPath as fileURLToPath9 } from "url";
50757
50824
  function docsDir() {
50758
50825
  const thisFile = fileURLToPath9(import.meta.url);
50759
- const dir = dirname25(thisFile);
50826
+ const dir = dirname26(thisFile);
50760
50827
  const devPath = resolve39(dir, "..", "docs");
50761
50828
  const builtPath = resolve39(dir, "docs");
50762
50829
  return existsSync64(devPath) ? devPath : builtPath;
@@ -51353,7 +51420,7 @@ __export(validate_exports, {
51353
51420
  shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
51354
51421
  });
51355
51422
  import { existsSync as existsSync65, readFileSync as readFileSync43 } from "fs";
51356
- import { join as join71, dirname as dirname26 } from "path";
51423
+ import { join as join71, dirname as dirname27 } from "path";
51357
51424
  import { fileURLToPath as fileURLToPath10 } from "url";
51358
51425
  function shouldIgnoreRequestFailure(url, errorText) {
51359
51426
  if (errorText !== "net::ERR_ABORTED") return false;
@@ -51524,7 +51591,7 @@ var init_validate = __esm({
51524
51591
  init_colors();
51525
51592
  init_updateCheck();
51526
51593
  __filename2 = fileURLToPath10(import.meta.url);
51527
- __dirname3 = dirname26(__filename2);
51594
+ __dirname3 = dirname27(__filename2);
51528
51595
  CONTRAST_SAMPLES = 5;
51529
51596
  SEEK_SETTLE_MS2 = 150;
51530
51597
  MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
@@ -51630,7 +51697,7 @@ __export(snapshot_exports, {
51630
51697
  import { spawn as spawn15 } from "child_process";
51631
51698
  import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync44, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
51632
51699
  import { tmpdir as tmpdir5 } from "os";
51633
- import { resolve as resolve40, join as join72, relative as relative9, isAbsolute as isAbsolute9 } from "path";
51700
+ import { resolve as resolve40, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
51634
51701
  async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
51635
51702
  const tmp = mkdtempSync3(join72(tmpdir5(), "hf-snapshot-frame-"));
51636
51703
  const outPath = join72(tmp, "frame.png");
@@ -51815,7 +51882,7 @@ async function captureSnapshots(projectDir, opts) {
51815
51882
  const url = new URL(v2.src);
51816
51883
  const decodedPath = decodeURIComponent(url.pathname).replace(/^\//, "");
51817
51884
  const candidate = resolve40(projectDir, decodedPath);
51818
- const rel = relative9(projectDir, candidate);
51885
+ const rel = relative10(projectDir, candidate);
51819
51886
  if (!rel.startsWith("..") && !isAbsolute9(rel) && existsSync66(candidate)) {
51820
51887
  filePath = candidate;
51821
51888
  }
@@ -53407,7 +53474,7 @@ var require_p_retry = __commonJS({
53407
53474
  return error;
53408
53475
  };
53409
53476
  var isNetworkError = (errorMessage) => networkErrorMsgs.includes(errorMessage);
53410
- var pRetry2 = (input, options) => new Promise((resolve43, reject) => {
53477
+ var pRetry2 = (input, options) => new Promise((resolve45, reject) => {
53411
53478
  options = {
53412
53479
  onFailedAttempt: () => {
53413
53480
  },
@@ -53417,7 +53484,7 @@ var require_p_retry = __commonJS({
53417
53484
  const operation = retry.operation(options);
53418
53485
  operation.attempt(async (attemptNumber) => {
53419
53486
  try {
53420
- resolve43(await input(attemptNumber));
53487
+ resolve45(await input(attemptNumber));
53421
53488
  } catch (error) {
53422
53489
  if (!(error instanceof Error)) {
53423
53490
  reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
@@ -53953,8 +54020,8 @@ var require_retry3 = __commonJS({
53953
54020
  }
53954
54021
  const delay = getNextRetryDelay(config);
53955
54022
  err.config.retryConfig.currentRetryAttempt += 1;
53956
- const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve43) => {
53957
- setTimeout(resolve43, delay);
54023
+ const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve45) => {
54024
+ setTimeout(resolve45, delay);
53958
54025
  });
53959
54026
  if (config.onRetryAttempt) {
53960
54027
  await config.onRetryAttempt(err);
@@ -54862,8 +54929,8 @@ var require_helpers = __commonJS({
54862
54929
  function req(url, opts = {}) {
54863
54930
  const href = typeof url === "string" ? url : url.href;
54864
54931
  const req2 = (href.startsWith("https:") ? https2 : http4).request(url, opts);
54865
- const promise = new Promise((resolve43, reject) => {
54866
- req2.once("response", resolve43).once("error", reject).end();
54932
+ const promise = new Promise((resolve45, reject) => {
54933
+ req2.once("response", resolve45).once("error", reject).end();
54867
54934
  });
54868
54935
  req2.then = promise.then.bind(promise);
54869
54936
  return req2;
@@ -55040,7 +55107,7 @@ var require_parse_proxy_response = __commonJS({
55040
55107
  var debug_1 = __importDefault(require_src2());
55041
55108
  var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
55042
55109
  function parseProxyResponse(socket) {
55043
- return new Promise((resolve43, reject) => {
55110
+ return new Promise((resolve45, reject) => {
55044
55111
  let buffersLength = 0;
55045
55112
  const buffers = [];
55046
55113
  function read() {
@@ -55106,7 +55173,7 @@ var require_parse_proxy_response = __commonJS({
55106
55173
  }
55107
55174
  debug("got proxy server response: %o %o", firstLine, headers);
55108
55175
  cleanup();
55109
- resolve43({
55176
+ resolve45({
55110
55177
  connect: {
55111
55178
  statusCode,
55112
55179
  statusText,
@@ -55350,7 +55417,7 @@ var require_ponyfill_es2018 = __commonJS({
55350
55417
  return new originalPromise(executor);
55351
55418
  }
55352
55419
  function promiseResolvedWith(value) {
55353
- return newPromise((resolve43) => resolve43(value));
55420
+ return newPromise((resolve45) => resolve45(value));
55354
55421
  }
55355
55422
  function promiseRejectedWith(reason) {
55356
55423
  return originalPromiseReject(reason);
@@ -55520,8 +55587,8 @@ var require_ponyfill_es2018 = __commonJS({
55520
55587
  return new TypeError("Cannot " + name + " a stream using a released reader");
55521
55588
  }
55522
55589
  function defaultReaderClosedPromiseInitialize(reader) {
55523
- reader._closedPromise = newPromise((resolve43, reject) => {
55524
- reader._closedPromise_resolve = resolve43;
55590
+ reader._closedPromise = newPromise((resolve45, reject) => {
55591
+ reader._closedPromise_resolve = resolve45;
55525
55592
  reader._closedPromise_reject = reject;
55526
55593
  });
55527
55594
  }
@@ -55695,8 +55762,8 @@ var require_ponyfill_es2018 = __commonJS({
55695
55762
  }
55696
55763
  let resolvePromise;
55697
55764
  let rejectPromise;
55698
- const promise = newPromise((resolve43, reject) => {
55699
- resolvePromise = resolve43;
55765
+ const promise = newPromise((resolve45, reject) => {
55766
+ resolvePromise = resolve45;
55700
55767
  rejectPromise = reject;
55701
55768
  });
55702
55769
  const readRequest = {
@@ -55801,8 +55868,8 @@ var require_ponyfill_es2018 = __commonJS({
55801
55868
  const reader = this._reader;
55802
55869
  let resolvePromise;
55803
55870
  let rejectPromise;
55804
- const promise = newPromise((resolve43, reject) => {
55805
- resolvePromise = resolve43;
55871
+ const promise = newPromise((resolve45, reject) => {
55872
+ resolvePromise = resolve45;
55806
55873
  rejectPromise = reject;
55807
55874
  });
55808
55875
  const readRequest = {
@@ -56821,8 +56888,8 @@ var require_ponyfill_es2018 = __commonJS({
56821
56888
  }
56822
56889
  let resolvePromise;
56823
56890
  let rejectPromise;
56824
- const promise = newPromise((resolve43, reject) => {
56825
- resolvePromise = resolve43;
56891
+ const promise = newPromise((resolve45, reject) => {
56892
+ resolvePromise = resolve45;
56826
56893
  rejectPromise = reject;
56827
56894
  });
56828
56895
  const readIntoRequest = {
@@ -57134,10 +57201,10 @@ var require_ponyfill_es2018 = __commonJS({
57134
57201
  wasAlreadyErroring = true;
57135
57202
  reason = void 0;
57136
57203
  }
57137
- const promise = newPromise((resolve43, reject) => {
57204
+ const promise = newPromise((resolve45, reject) => {
57138
57205
  stream._pendingAbortRequest = {
57139
57206
  _promise: void 0,
57140
- _resolve: resolve43,
57207
+ _resolve: resolve45,
57141
57208
  _reject: reject,
57142
57209
  _reason: reason,
57143
57210
  _wasAlreadyErroring: wasAlreadyErroring
@@ -57154,9 +57221,9 @@ var require_ponyfill_es2018 = __commonJS({
57154
57221
  if (state === "closed" || state === "errored") {
57155
57222
  return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));
57156
57223
  }
57157
- const promise = newPromise((resolve43, reject) => {
57224
+ const promise = newPromise((resolve45, reject) => {
57158
57225
  const closeRequest = {
57159
- _resolve: resolve43,
57226
+ _resolve: resolve45,
57160
57227
  _reject: reject
57161
57228
  };
57162
57229
  stream._closeRequest = closeRequest;
@@ -57169,9 +57236,9 @@ var require_ponyfill_es2018 = __commonJS({
57169
57236
  return promise;
57170
57237
  }
57171
57238
  function WritableStreamAddWriteRequest(stream) {
57172
- const promise = newPromise((resolve43, reject) => {
57239
+ const promise = newPromise((resolve45, reject) => {
57173
57240
  const writeRequest = {
57174
- _resolve: resolve43,
57241
+ _resolve: resolve45,
57175
57242
  _reject: reject
57176
57243
  };
57177
57244
  stream._writeRequests.push(writeRequest);
@@ -57787,8 +57854,8 @@ var require_ponyfill_es2018 = __commonJS({
57787
57854
  return new TypeError("Cannot " + name + " a stream using a released writer");
57788
57855
  }
57789
57856
  function defaultWriterClosedPromiseInitialize(writer) {
57790
- writer._closedPromise = newPromise((resolve43, reject) => {
57791
- writer._closedPromise_resolve = resolve43;
57857
+ writer._closedPromise = newPromise((resolve45, reject) => {
57858
+ writer._closedPromise_resolve = resolve45;
57792
57859
  writer._closedPromise_reject = reject;
57793
57860
  writer._closedPromiseState = "pending";
57794
57861
  });
@@ -57824,8 +57891,8 @@ var require_ponyfill_es2018 = __commonJS({
57824
57891
  writer._closedPromiseState = "resolved";
57825
57892
  }
57826
57893
  function defaultWriterReadyPromiseInitialize(writer) {
57827
- writer._readyPromise = newPromise((resolve43, reject) => {
57828
- writer._readyPromise_resolve = resolve43;
57894
+ writer._readyPromise = newPromise((resolve45, reject) => {
57895
+ writer._readyPromise_resolve = resolve45;
57829
57896
  writer._readyPromise_reject = reject;
57830
57897
  });
57831
57898
  writer._readyPromiseState = "pending";
@@ -57912,7 +57979,7 @@ var require_ponyfill_es2018 = __commonJS({
57912
57979
  source._disturbed = true;
57913
57980
  let shuttingDown = false;
57914
57981
  let currentWrite = promiseResolvedWith(void 0);
57915
- return newPromise((resolve43, reject) => {
57982
+ return newPromise((resolve45, reject) => {
57916
57983
  let abortAlgorithm;
57917
57984
  if (signal !== void 0) {
57918
57985
  abortAlgorithm = () => {
@@ -58057,7 +58124,7 @@ var require_ponyfill_es2018 = __commonJS({
58057
58124
  if (isError) {
58058
58125
  reject(error);
58059
58126
  } else {
58060
- resolve43(void 0);
58127
+ resolve45(void 0);
58061
58128
  }
58062
58129
  return null;
58063
58130
  }
@@ -58338,8 +58405,8 @@ var require_ponyfill_es2018 = __commonJS({
58338
58405
  let branch1;
58339
58406
  let branch2;
58340
58407
  let resolveCancelPromise;
58341
- const cancelPromise = newPromise((resolve43) => {
58342
- resolveCancelPromise = resolve43;
58408
+ const cancelPromise = newPromise((resolve45) => {
58409
+ resolveCancelPromise = resolve45;
58343
58410
  });
58344
58411
  function pullAlgorithm() {
58345
58412
  if (reading) {
@@ -58430,8 +58497,8 @@ var require_ponyfill_es2018 = __commonJS({
58430
58497
  let branch1;
58431
58498
  let branch2;
58432
58499
  let resolveCancelPromise;
58433
- const cancelPromise = newPromise((resolve43) => {
58434
- resolveCancelPromise = resolve43;
58500
+ const cancelPromise = newPromise((resolve45) => {
58501
+ resolveCancelPromise = resolve45;
58435
58502
  });
58436
58503
  function forwardReaderError(thisReader) {
58437
58504
  uponRejection(thisReader._closedPromise, (r2) => {
@@ -59211,8 +59278,8 @@ var require_ponyfill_es2018 = __commonJS({
59211
59278
  const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
59212
59279
  const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
59213
59280
  let startPromise_resolve;
59214
- const startPromise = newPromise((resolve43) => {
59215
- startPromise_resolve = resolve43;
59281
+ const startPromise = newPromise((resolve45) => {
59282
+ startPromise_resolve = resolve45;
59216
59283
  });
59217
59284
  InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
59218
59285
  SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
@@ -59305,8 +59372,8 @@ var require_ponyfill_es2018 = __commonJS({
59305
59372
  if (stream._backpressureChangePromise !== void 0) {
59306
59373
  stream._backpressureChangePromise_resolve();
59307
59374
  }
59308
- stream._backpressureChangePromise = newPromise((resolve43) => {
59309
- stream._backpressureChangePromise_resolve = resolve43;
59375
+ stream._backpressureChangePromise = newPromise((resolve45) => {
59376
+ stream._backpressureChangePromise_resolve = resolve45;
59310
59377
  });
59311
59378
  stream._backpressure = backpressure;
59312
59379
  }
@@ -59474,8 +59541,8 @@ var require_ponyfill_es2018 = __commonJS({
59474
59541
  return controller._finishPromise;
59475
59542
  }
59476
59543
  const readable = stream._readable;
59477
- controller._finishPromise = newPromise((resolve43, reject) => {
59478
- controller._finishPromise_resolve = resolve43;
59544
+ controller._finishPromise = newPromise((resolve45, reject) => {
59545
+ controller._finishPromise_resolve = resolve45;
59479
59546
  controller._finishPromise_reject = reject;
59480
59547
  });
59481
59548
  const cancelPromise = controller._cancelAlgorithm(reason);
@@ -59501,8 +59568,8 @@ var require_ponyfill_es2018 = __commonJS({
59501
59568
  return controller._finishPromise;
59502
59569
  }
59503
59570
  const readable = stream._readable;
59504
- controller._finishPromise = newPromise((resolve43, reject) => {
59505
- controller._finishPromise_resolve = resolve43;
59571
+ controller._finishPromise = newPromise((resolve45, reject) => {
59572
+ controller._finishPromise_resolve = resolve45;
59506
59573
  controller._finishPromise_reject = reject;
59507
59574
  });
59508
59575
  const flushPromise = controller._flushAlgorithm();
@@ -59532,8 +59599,8 @@ var require_ponyfill_es2018 = __commonJS({
59532
59599
  return controller._finishPromise;
59533
59600
  }
59534
59601
  const writable = stream._writable;
59535
- controller._finishPromise = newPromise((resolve43, reject) => {
59536
- controller._finishPromise_resolve = resolve43;
59602
+ controller._finishPromise = newPromise((resolve45, reject) => {
59603
+ controller._finishPromise_resolve = resolve45;
59537
59604
  controller._finishPromise_reject = reject;
59538
59605
  });
59539
59606
  const cancelPromise = controller._cancelAlgorithm(reason);
@@ -61502,7 +61569,7 @@ import zlib from "zlib";
61502
61569
  import Stream2, { PassThrough as PassThrough2, pipeline as pump } from "stream";
61503
61570
  import { Buffer as Buffer3 } from "buffer";
61504
61571
  async function fetch3(url, options_) {
61505
- return new Promise((resolve43, reject) => {
61572
+ return new Promise((resolve45, reject) => {
61506
61573
  const request = new Request2(url, options_);
61507
61574
  const { parsedURL, options } = getNodeRequestOptions(request);
61508
61575
  if (!supportedSchemas.has(parsedURL.protocol)) {
@@ -61511,7 +61578,7 @@ async function fetch3(url, options_) {
61511
61578
  if (parsedURL.protocol === "data:") {
61512
61579
  const data = dist_default3(request.url);
61513
61580
  const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
61514
- resolve43(response2);
61581
+ resolve45(response2);
61515
61582
  return;
61516
61583
  }
61517
61584
  const send = (parsedURL.protocol === "https:" ? https : http3).request;
@@ -61633,7 +61700,7 @@ async function fetch3(url, options_) {
61633
61700
  if (responseReferrerPolicy) {
61634
61701
  requestOptions.referrerPolicy = responseReferrerPolicy;
61635
61702
  }
61636
- resolve43(fetch3(new Request2(locationURL, requestOptions)));
61703
+ resolve45(fetch3(new Request2(locationURL, requestOptions)));
61637
61704
  finalize();
61638
61705
  return;
61639
61706
  }
@@ -61666,7 +61733,7 @@ async function fetch3(url, options_) {
61666
61733
  const codings = headers.get("Content-Encoding");
61667
61734
  if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
61668
61735
  response = new Response2(body, responseOptions);
61669
- resolve43(response);
61736
+ resolve45(response);
61670
61737
  return;
61671
61738
  }
61672
61739
  const zlibOptions = {
@@ -61680,7 +61747,7 @@ async function fetch3(url, options_) {
61680
61747
  }
61681
61748
  });
61682
61749
  response = new Response2(body, responseOptions);
61683
- resolve43(response);
61750
+ resolve45(response);
61684
61751
  return;
61685
61752
  }
61686
61753
  if (codings === "deflate" || codings === "x-deflate") {
@@ -61704,12 +61771,12 @@ async function fetch3(url, options_) {
61704
61771
  });
61705
61772
  }
61706
61773
  response = new Response2(body, responseOptions);
61707
- resolve43(response);
61774
+ resolve45(response);
61708
61775
  });
61709
61776
  raw.once("end", () => {
61710
61777
  if (!response) {
61711
61778
  response = new Response2(body, responseOptions);
61712
- resolve43(response);
61779
+ resolve45(response);
61713
61780
  }
61714
61781
  });
61715
61782
  return;
@@ -61721,11 +61788,11 @@ async function fetch3(url, options_) {
61721
61788
  }
61722
61789
  });
61723
61790
  response = new Response2(body, responseOptions);
61724
- resolve43(response);
61791
+ resolve45(response);
61725
61792
  return;
61726
61793
  }
61727
61794
  response = new Response2(body, responseOptions);
61728
- resolve43(response);
61795
+ resolve45(response);
61729
61796
  });
61730
61797
  writeToStream(request_, request).catch(reject);
61731
61798
  });
@@ -67807,7 +67874,7 @@ var require_jwtaccess = __commonJS({
67807
67874
  }
67808
67875
  }
67809
67876
  fromStreamAsync(inputStream) {
67810
- return new Promise((resolve43, reject) => {
67877
+ return new Promise((resolve45, reject) => {
67811
67878
  if (!inputStream) {
67812
67879
  reject(new Error("Must pass in a stream containing the service account auth settings."));
67813
67880
  }
@@ -67816,7 +67883,7 @@ var require_jwtaccess = __commonJS({
67816
67883
  try {
67817
67884
  const data = JSON.parse(s2);
67818
67885
  this.fromJSON(data);
67819
- resolve43();
67886
+ resolve45();
67820
67887
  } catch (err) {
67821
67888
  reject(err);
67822
67889
  }
@@ -68055,7 +68122,7 @@ var require_jwtclient = __commonJS({
68055
68122
  }
68056
68123
  }
68057
68124
  fromStreamAsync(inputStream) {
68058
- return new Promise((resolve43, reject) => {
68125
+ return new Promise((resolve45, reject) => {
68059
68126
  if (!inputStream) {
68060
68127
  throw new Error("Must pass in a stream containing the service account auth settings.");
68061
68128
  }
@@ -68064,7 +68131,7 @@ var require_jwtclient = __commonJS({
68064
68131
  try {
68065
68132
  const data = JSON.parse(s2);
68066
68133
  this.fromJSON(data);
68067
- resolve43();
68134
+ resolve45();
68068
68135
  } catch (e3) {
68069
68136
  reject(e3);
68070
68137
  }
@@ -68197,7 +68264,7 @@ var require_refreshclient = __commonJS({
68197
68264
  }
68198
68265
  }
68199
68266
  async fromStreamAsync(inputStream) {
68200
- return new Promise((resolve43, reject) => {
68267
+ return new Promise((resolve45, reject) => {
68201
68268
  if (!inputStream) {
68202
68269
  return reject(new Error("Must pass in a stream containing the user refresh token."));
68203
68270
  }
@@ -68206,7 +68273,7 @@ var require_refreshclient = __commonJS({
68206
68273
  try {
68207
68274
  const data = JSON.parse(s2);
68208
68275
  this.fromJSON(data);
68209
- return resolve43();
68276
+ return resolve45();
68210
68277
  } catch (err) {
68211
68278
  return reject(err);
68212
68279
  }
@@ -70039,7 +70106,7 @@ var require_pluggable_auth_handler = __commonJS({
70039
70106
  * @return A promise that resolves with the executable response.
70040
70107
  */
70041
70108
  retrieveResponseFromExecutable(envMap) {
70042
- return new Promise((resolve43, reject) => {
70109
+ return new Promise((resolve45, reject) => {
70043
70110
  const child = childProcess.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
70044
70111
  env: { ...process.env, ...Object.fromEntries(envMap) }
70045
70112
  });
@@ -70061,7 +70128,7 @@ var require_pluggable_auth_handler = __commonJS({
70061
70128
  try {
70062
70129
  const responseJson = JSON.parse(output);
70063
70130
  const response = new executable_response_1.ExecutableResponse(responseJson);
70064
- return resolve43(response);
70131
+ return resolve45(response);
70065
70132
  } catch (error) {
70066
70133
  if (error instanceof executable_response_1.ExecutableResponseError) {
70067
70134
  return reject(error);
@@ -70964,7 +71031,7 @@ var require_googleauth = __commonJS({
70964
71031
  }
70965
71032
  }
70966
71033
  fromStreamAsync(inputStream, options) {
70967
- return new Promise((resolve43, reject) => {
71034
+ return new Promise((resolve45, reject) => {
70968
71035
  if (!inputStream) {
70969
71036
  throw new Error("Must pass in a stream containing the Google auth settings.");
70970
71037
  }
@@ -70974,7 +71041,7 @@ var require_googleauth = __commonJS({
70974
71041
  try {
70975
71042
  const data = JSON.parse(chunks.join(""));
70976
71043
  const r2 = this._cacheClientFromJSON(data, options);
70977
- return resolve43(r2);
71044
+ return resolve45(r2);
70978
71045
  } catch (err) {
70979
71046
  if (!this.keyFilename)
70980
71047
  throw err;
@@ -70984,7 +71051,7 @@ var require_googleauth = __commonJS({
70984
71051
  });
70985
71052
  this.cachedCredential = client;
70986
71053
  this.setGapicJWTValues(client);
70987
- return resolve43(client);
71054
+ return resolve45(client);
70988
71055
  }
70989
71056
  } catch (err) {
70990
71057
  return reject(err);
@@ -71020,17 +71087,17 @@ var require_googleauth = __commonJS({
71020
71087
  * Run the Google Cloud SDK command that prints the default project ID
71021
71088
  */
71022
71089
  async getDefaultServiceProjectId() {
71023
- return new Promise((resolve43) => {
71090
+ return new Promise((resolve45) => {
71024
71091
  (0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout2) => {
71025
71092
  if (!err && stdout2) {
71026
71093
  try {
71027
71094
  const projectId = JSON.parse(stdout2).configuration.properties.core.project;
71028
- resolve43(projectId);
71095
+ resolve45(projectId);
71029
71096
  return;
71030
71097
  } catch (e3) {
71031
71098
  }
71032
71099
  }
71033
- resolve43(null);
71100
+ resolve45(null);
71034
71101
  });
71035
71102
  });
71036
71103
  }
@@ -78873,14 +78940,14 @@ function __asyncValues(o) {
78873
78940
  }, i2);
78874
78941
  function verb(n) {
78875
78942
  i2[n] = o[n] && function(v2) {
78876
- return new Promise(function(resolve43, reject) {
78877
- v2 = o[n](v2), settle(resolve43, reject, v2.done, v2.value);
78943
+ return new Promise(function(resolve45, reject) {
78944
+ v2 = o[n](v2), settle(resolve45, reject, v2.done, v2.value);
78878
78945
  });
78879
78946
  };
78880
78947
  }
78881
- function settle(resolve43, reject, d2, v2) {
78948
+ function settle(resolve45, reject, d2, v2) {
78882
78949
  Promise.resolve(v2).then(function(v3) {
78883
- resolve43({ value: v3, done: d2 });
78950
+ resolve45({ value: v3, done: d2 });
78884
78951
  }, reject);
78885
78952
  }
78886
78953
  }
@@ -89370,8 +89437,8 @@ var init_node4 = __esm({
89370
89437
  const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
89371
89438
  let onopenResolve = () => {
89372
89439
  };
89373
- const onopenPromise = new Promise((resolve43) => {
89374
- onopenResolve = resolve43;
89440
+ const onopenPromise = new Promise((resolve45) => {
89441
+ onopenResolve = resolve45;
89375
89442
  });
89376
89443
  const callbacks = params.callbacks;
89377
89444
  const onopenAwaitedCallback = function() {
@@ -89577,8 +89644,8 @@ var init_node4 = __esm({
89577
89644
  }
89578
89645
  let onopenResolve = () => {
89579
89646
  };
89580
- const onopenPromise = new Promise((resolve43) => {
89581
- onopenResolve = resolve43;
89647
+ const onopenPromise = new Promise((resolve45) => {
89648
+ onopenResolve = resolve45;
89582
89649
  });
89583
89650
  const callbacks = params.callbacks;
89584
89651
  const onopenAwaitedCallback = function() {
@@ -91926,7 +91993,7 @@ var init_node4 = __esm({
91926
91993
  return void 0;
91927
91994
  }
91928
91995
  };
91929
- sleep$1 = (ms) => new Promise((resolve43) => setTimeout(resolve43, ms));
91996
+ sleep$1 = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
91930
91997
  FallbackEncoder = ({ headers, body }) => {
91931
91998
  return {
91932
91999
  bodyHeaders: {
@@ -92435,8 +92502,8 @@ ${underline2}`);
92435
92502
  };
92436
92503
  APIPromise = class _APIPromise extends Promise {
92437
92504
  constructor(client, responsePromise, parseResponse = defaultParseResponse) {
92438
- super((resolve43) => {
92439
- resolve43(null);
92505
+ super((resolve45) => {
92506
+ resolve45(null);
92440
92507
  });
92441
92508
  this.responsePromise = responsePromise;
92442
92509
  this.parseResponse = parseResponse;
@@ -94894,11 +94961,11 @@ var init_capture2 = __esm({
94894
94961
  } catch (err) {
94895
94962
  const errMsg = err instanceof Error ? err.message : String(err);
94896
94963
  try {
94897
- const { mkdirSync: mkdirSync42, writeFileSync: writeFileSync35 } = await import("fs");
94898
- mkdirSync42(outputDir, { recursive: true });
94964
+ const { mkdirSync: mkdirSync43, writeFileSync: writeFileSync36 } = await import("fs");
94965
+ mkdirSync43(outputDir, { recursive: true });
94899
94966
  const isTimeout = /timeout|timed out/i.test(errMsg);
94900
94967
  const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
94901
- writeFileSync35(
94968
+ writeFileSync36(
94902
94969
  `${outputDir}/BLOCKED.md`,
94903
94970
  `# Capture Failed
94904
94971
 
@@ -94930,6 +94997,1136 @@ URL: ${url}
94930
94997
  }
94931
94998
  });
94932
94999
 
95000
+ // src/commands/lambda/state.ts
95001
+ var state_exports = {};
95002
+ __export(state_exports, {
95003
+ DEFAULT_STACK_NAME: () => DEFAULT_STACK_NAME,
95004
+ deleteStackOutputs: () => deleteStackOutputs,
95005
+ listStackNames: () => listStackNames,
95006
+ readStackOutputs: () => readStackOutputs,
95007
+ requireStack: () => requireStack,
95008
+ stateFilePath: () => stateFilePath,
95009
+ writeStackOutputs: () => writeStackOutputs
95010
+ });
95011
+ import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync48, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
95012
+ import { dirname as dirname28, join as join80 } from "path";
95013
+ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
95014
+ return join80(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
95015
+ }
95016
+ function writeStackOutputs(outputs, cwd = process.cwd()) {
95017
+ const path2 = stateFilePath(outputs.stackName, cwd);
95018
+ mkdirSync41(dirname28(path2), { recursive: true });
95019
+ writeFileSync35(path2, JSON.stringify(outputs, null, 2) + "\n");
95020
+ return path2;
95021
+ }
95022
+ function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
95023
+ const path2 = stateFilePath(stackName, cwd);
95024
+ if (!existsSync69(path2)) return null;
95025
+ try {
95026
+ return JSON.parse(readFileSync48(path2, "utf-8"));
95027
+ } catch {
95028
+ return null;
95029
+ }
95030
+ }
95031
+ function deleteStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
95032
+ const path2 = stateFilePath(stackName, cwd);
95033
+ if (existsSync69(path2)) rmSync16(path2);
95034
+ }
95035
+ function listStackNames(cwd = process.cwd()) {
95036
+ const dir = join80(cwd, STATE_DIR_NAME);
95037
+ if (!existsSync69(dir)) return [];
95038
+ return readdirSync28(dir).filter((f3) => f3.startsWith(STATE_FILE_PREFIX) && f3.endsWith(".json")).map((f3) => f3.slice(STATE_FILE_PREFIX.length, -".json".length));
95039
+ }
95040
+ function requireStack(stackName, cwd = process.cwd()) {
95041
+ const stack = readStackOutputs(stackName, cwd);
95042
+ if (!stack) {
95043
+ const known = listStackNames(cwd);
95044
+ let hint = `Run \`hyperframes lambda deploy${stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${stackName}`}\` first.`;
95045
+ if (known.length) {
95046
+ hint += ` Known stacks here: ${known.join(", ")}.`;
95047
+ }
95048
+ console.error(
95049
+ `[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${hint}`
95050
+ );
95051
+ process.exit(1);
95052
+ }
95053
+ return stack;
95054
+ }
95055
+ var STATE_DIR_NAME, STATE_FILE_PREFIX, DEFAULT_STACK_NAME;
95056
+ var init_state = __esm({
95057
+ "src/commands/lambda/state.ts"() {
95058
+ "use strict";
95059
+ STATE_DIR_NAME = ".hyperframes";
95060
+ STATE_FILE_PREFIX = "lambda-stack-";
95061
+ DEFAULT_STACK_NAME = "hyperframes-default";
95062
+ }
95063
+ });
95064
+
95065
+ // src/commands/lambda/sam.ts
95066
+ import { execFileSync as execFileSync9, spawnSync as spawnSync4 } from "child_process";
95067
+ import { existsSync as existsSync70 } from "fs";
95068
+ import { join as join81 } from "path";
95069
+ function assertSamAvailable() {
95070
+ try {
95071
+ execFileSync9("sam", ["--version"], { stdio: "ignore" });
95072
+ } catch {
95073
+ throw new Error(
95074
+ "`sam` CLI not found on PATH. Install AWS SAM CLI from https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html and retry."
95075
+ );
95076
+ }
95077
+ }
95078
+ function assertAwsCliAvailable() {
95079
+ try {
95080
+ execFileSync9("aws", ["--version"], { stdio: "ignore" });
95081
+ } catch {
95082
+ throw new Error(
95083
+ "`aws` CLI not found on PATH. Install from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html and configure credentials before retrying."
95084
+ );
95085
+ }
95086
+ }
95087
+ function locateSamTemplate(repoRoot2) {
95088
+ const candidate = join81(repoRoot2, "examples", "aws-lambda", "template.yaml");
95089
+ if (!existsSync70(candidate)) {
95090
+ throw new Error(
95091
+ `[lambda] SAM template not found at ${candidate}. If you're running from an installed package, point --sam-template at your local copy of examples/aws-lambda/template.yaml.`
95092
+ );
95093
+ }
95094
+ return candidate;
95095
+ }
95096
+ function samDeploy(opts) {
95097
+ assertSamAvailable();
95098
+ const paramOverrides = [
95099
+ `ChromeSource=${opts.chromeSource ?? "sparticuz"}`,
95100
+ `ReservedConcurrency=${opts.reservedConcurrency ?? -1}`
95101
+ ];
95102
+ if (opts.lambdaMemoryMb !== void 0) {
95103
+ paramOverrides.push(`LambdaMemoryMb=${opts.lambdaMemoryMb}`);
95104
+ }
95105
+ const args = [
95106
+ "deploy",
95107
+ "--stack-name",
95108
+ opts.stackName,
95109
+ "--region",
95110
+ opts.region,
95111
+ "--resolve-s3",
95112
+ "--capabilities",
95113
+ "CAPABILITY_IAM",
95114
+ "--no-confirm-changeset",
95115
+ "--no-fail-on-empty-changeset",
95116
+ "--parameter-overrides",
95117
+ ...paramOverrides
95118
+ ];
95119
+ if (opts.awsProfile) {
95120
+ args.push("--profile", opts.awsProfile);
95121
+ }
95122
+ const samDir = join81(opts.repoRoot, "examples", "aws-lambda");
95123
+ const result = spawnSync4("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
95124
+ if (result.status !== 0) {
95125
+ throw new Error(`[lambda] sam deploy exited with code ${result.status ?? "unknown"}`);
95126
+ }
95127
+ }
95128
+ function samDelete(opts) {
95129
+ assertSamAvailable();
95130
+ const args = ["delete", "--stack-name", opts.stackName, "--region", opts.region, "--no-prompts"];
95131
+ if (opts.awsProfile) {
95132
+ args.push("--profile", opts.awsProfile);
95133
+ }
95134
+ const samDir = join81(opts.repoRoot, "examples", "aws-lambda");
95135
+ const result = spawnSync4("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
95136
+ if (result.status !== 0) {
95137
+ throw new Error(`[lambda] sam delete exited with code ${result.status ?? "unknown"}`);
95138
+ }
95139
+ }
95140
+ function fetchStackOutputs(opts) {
95141
+ assertAwsCliAvailable();
95142
+ const args = [
95143
+ "cloudformation",
95144
+ "describe-stacks",
95145
+ "--stack-name",
95146
+ opts.stackName,
95147
+ "--region",
95148
+ opts.region,
95149
+ "--query",
95150
+ "Stacks[0].Outputs",
95151
+ "--output",
95152
+ "json"
95153
+ ];
95154
+ if (opts.awsProfile) {
95155
+ args.unshift("--profile", opts.awsProfile);
95156
+ }
95157
+ const out = execFileSync9("aws", args, { encoding: "utf-8" });
95158
+ const parsed = JSON.parse(out);
95159
+ const byKey = new Map(parsed.map((o) => [o.OutputKey, o.OutputValue]));
95160
+ const bucketName = byKey.get("RenderBucketName");
95161
+ const functionName = byKey.get("RenderFunctionArn");
95162
+ const stateMachineArn = byKey.get("RenderStateMachineArn");
95163
+ if (!bucketName || !functionName || !stateMachineArn) {
95164
+ throw new Error(
95165
+ `[lambda] stack ${opts.stackName} is missing one of RenderBucketName/RenderFunctionArn/RenderStateMachineArn. Got keys: ${[...byKey.keys()].join(", ")}`
95166
+ );
95167
+ }
95168
+ return {
95169
+ bucketName,
95170
+ // RenderFunctionArn is the full ARN; the Lambda function name is the
95171
+ // last colon-segment, which downstream `getRenderProgress` calls use
95172
+ // for cost math + CloudWatch lookups.
95173
+ functionName: functionName.split(":").pop() ?? functionName,
95174
+ stateMachineArn
95175
+ };
95176
+ }
95177
+ var init_sam = __esm({
95178
+ "src/commands/lambda/sam.ts"() {
95179
+ "use strict";
95180
+ }
95181
+ });
95182
+
95183
+ // src/commands/lambda/repoRoot.ts
95184
+ import { existsSync as existsSync71 } from "fs";
95185
+ import { dirname as dirname29, resolve as resolve43 } from "path";
95186
+ import { fileURLToPath as fileURLToPath11 } from "url";
95187
+ function repoRoot() {
95188
+ const override = process.env.HYPERFRAMES_REPO_ROOT;
95189
+ if (override && existsSync71(resolve43(override, "packages", "aws-lambda", "package.json"))) {
95190
+ return override;
95191
+ }
95192
+ let dir = dirname29(fileURLToPath11(import.meta.url));
95193
+ for (let depth = 0; depth < 12; depth++) {
95194
+ if (existsSync71(resolve43(dir, "packages", "aws-lambda", "package.json"))) {
95195
+ return dir;
95196
+ }
95197
+ const parent = dirname29(dir);
95198
+ if (parent === dir) break;
95199
+ dir = parent;
95200
+ }
95201
+ throw new Error(
95202
+ "[hyperframes lambda] could not find the repo root (no packages/aws-lambda/ above this CLI's source). Run `hyperframes lambda` from within a hyperframes checkout, or set HYPERFRAMES_REPO_ROOT explicitly."
95203
+ );
95204
+ }
95205
+ var init_repoRoot = __esm({
95206
+ "src/commands/lambda/repoRoot.ts"() {
95207
+ "use strict";
95208
+ }
95209
+ });
95210
+
95211
+ // src/commands/lambda/deploy.ts
95212
+ var deploy_exports = {};
95213
+ __export(deploy_exports, {
95214
+ runDeploy: () => runDeploy
95215
+ });
95216
+ import { spawnSync as spawnSync5 } from "child_process";
95217
+ import { existsSync as existsSync72 } from "fs";
95218
+ import { join as join82, resolve as resolve44 } from "path";
95219
+ async function runDeploy(args = {}) {
95220
+ const resolved = {
95221
+ stackName: args.stackName ?? DEFAULT_STACK_NAME,
95222
+ region: args.region ?? process.env.AWS_REGION ?? DEFAULT_REGION,
95223
+ awsProfile: args.awsProfile ?? process.env.AWS_PROFILE,
95224
+ reservedConcurrency: args.reservedConcurrency ?? DEFAULT_CONCURRENCY,
95225
+ chromeSource: args.chromeSource ?? "sparticuz",
95226
+ lambdaMemoryMb: args.lambdaMemoryMb ?? DEFAULT_MEMORY_MB,
95227
+ skipBuild: args.skipBuild ?? false
95228
+ };
95229
+ const root = repoRoot();
95230
+ locateSamTemplate(root);
95231
+ if (!resolved.skipBuild) {
95232
+ console.log(c2.dim("\u2192 Building handler ZIP"));
95233
+ buildHandlerZip(root);
95234
+ } else {
95235
+ const zip = join82(root, "packages", "aws-lambda", "dist", "handler.zip");
95236
+ if (!existsSync72(zip)) {
95237
+ throw new Error(
95238
+ `--skip-build set but ${zip} does not exist. Run \`bun run --cwd packages/aws-lambda build:zip\` first or drop --skip-build.`
95239
+ );
95240
+ }
95241
+ }
95242
+ console.log(c2.dim(`\u2192 sam deploy (stack=${resolved.stackName} region=${resolved.region})`));
95243
+ samDeploy({
95244
+ repoRoot: root,
95245
+ stackName: resolved.stackName,
95246
+ region: resolved.region,
95247
+ awsProfile: resolved.awsProfile,
95248
+ reservedConcurrency: resolved.reservedConcurrency,
95249
+ lambdaMemoryMb: resolved.lambdaMemoryMb,
95250
+ chromeSource: resolved.chromeSource
95251
+ });
95252
+ console.log(c2.dim("\u2192 Reading stack outputs"));
95253
+ const outputs = fetchStackOutputs({
95254
+ stackName: resolved.stackName,
95255
+ region: resolved.region,
95256
+ awsProfile: resolved.awsProfile
95257
+ });
95258
+ const statePath = writeStackOutputs({
95259
+ stackName: resolved.stackName,
95260
+ region: resolved.region,
95261
+ bucketName: outputs.bucketName,
95262
+ stateMachineArn: outputs.stateMachineArn,
95263
+ functionName: outputs.functionName,
95264
+ lambdaMemoryMb: resolved.lambdaMemoryMb,
95265
+ deployedAt: (/* @__PURE__ */ new Date()).toISOString()
95266
+ });
95267
+ console.log();
95268
+ console.log(c2.success("Stack deployed."));
95269
+ console.log(` ${c2.dim("Bucket:")} ${outputs.bucketName}`);
95270
+ console.log(` ${c2.dim("State machine:")} ${outputs.stateMachineArn}`);
95271
+ console.log(` ${c2.dim("Function:")} ${outputs.functionName}`);
95272
+ console.log(` ${c2.dim("State file:")} ${resolve44(statePath)}`);
95273
+ console.log();
95274
+ console.log(c2.dim(`Render with: hyperframes lambda render <project-dir>`));
95275
+ }
95276
+ function buildHandlerZip(root) {
95277
+ const result = spawnSync5(
95278
+ "bun",
95279
+ ["run", "--cwd", join82(root, "packages", "aws-lambda"), "build:zip"],
95280
+ { stdio: "inherit" }
95281
+ );
95282
+ if (result.status !== 0) {
95283
+ throw new Error(
95284
+ `[lambda deploy] handler ZIP build exited with code ${result.status ?? "unknown"}`
95285
+ );
95286
+ }
95287
+ }
95288
+ var DEFAULT_REGION, DEFAULT_MEMORY_MB, DEFAULT_CONCURRENCY;
95289
+ var init_deploy = __esm({
95290
+ "src/commands/lambda/deploy.ts"() {
95291
+ "use strict";
95292
+ init_colors();
95293
+ init_sam();
95294
+ init_repoRoot();
95295
+ init_state();
95296
+ DEFAULT_REGION = "us-east-1";
95297
+ DEFAULT_MEMORY_MB = 10240;
95298
+ DEFAULT_CONCURRENCY = 8;
95299
+ }
95300
+ });
95301
+
95302
+ // src/commands/lambda/sites.ts
95303
+ var sites_exports = {};
95304
+ __export(sites_exports, {
95305
+ runSitesCreate: () => runSitesCreate
95306
+ });
95307
+ import { resolve as resolvePath } from "path";
95308
+ async function loadSDK() {
95309
+ return import("@hyperframes/aws-lambda/sdk");
95310
+ }
95311
+ async function runSitesCreate(args) {
95312
+ const stack = requireStack(args.stackName);
95313
+ const projectDir = resolvePath(args.projectDir);
95314
+ const { deploySite } = await loadSDK();
95315
+ const handle = await deploySite({
95316
+ projectDir,
95317
+ bucketName: stack.bucketName,
95318
+ region: stack.region,
95319
+ siteId: args.siteId
95320
+ });
95321
+ if (args.json) {
95322
+ console.log(JSON.stringify(handle, null, 2));
95323
+ return;
95324
+ }
95325
+ console.log(
95326
+ c2.success(handle.uploaded ? "Site uploaded." : "Site already up to date (skipped upload).")
95327
+ );
95328
+ console.log(` ${c2.dim("Site ID:")} ${handle.siteId}`);
95329
+ console.log(` ${c2.dim("S3 URI:")} ${handle.projectS3Uri}`);
95330
+ console.log(` ${c2.dim("Bytes:")} ${handle.bytes}`);
95331
+ console.log(` ${c2.dim("Uploaded at:")} ${handle.uploadedAt}`);
95332
+ console.log();
95333
+ console.log(
95334
+ c2.dim(
95335
+ `Render with: hyperframes lambda render ${args.projectDir} --site-id=${handle.siteId}` + (args.stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${args.stackName}`)
95336
+ )
95337
+ );
95338
+ }
95339
+ var init_sites = __esm({
95340
+ "src/commands/lambda/sites.ts"() {
95341
+ "use strict";
95342
+ init_colors();
95343
+ init_state();
95344
+ }
95345
+ });
95346
+
95347
+ // src/commands/lambda/render.ts
95348
+ var render_exports2 = {};
95349
+ __export(render_exports2, {
95350
+ runRender: () => runRender
95351
+ });
95352
+ import { resolve as resolvePath2 } from "path";
95353
+ async function loadSDK2() {
95354
+ return import("@hyperframes/aws-lambda/sdk");
95355
+ }
95356
+ async function runRender(args) {
95357
+ const stack = requireStack(args.stackName);
95358
+ const projectDir = resolvePath2(args.projectDir);
95359
+ const config = {
95360
+ fps: args.fps,
95361
+ width: args.width,
95362
+ height: args.height,
95363
+ format: args.format,
95364
+ codec: args.codec,
95365
+ quality: args.quality,
95366
+ chunkSize: args.chunkSize,
95367
+ maxParallelChunks: args.maxParallelChunks,
95368
+ runtimeCap: "lambda"
95369
+ };
95370
+ const siteHandle = args.siteId ? {
95371
+ siteId: args.siteId,
95372
+ bucketName: stack.bucketName,
95373
+ projectS3Uri: `s3://${stack.bucketName}/sites/${args.siteId}/project.tar.gz`,
95374
+ bytes: 0,
95375
+ uploadedAt: "",
95376
+ uploaded: false
95377
+ } : void 0;
95378
+ const { renderToLambda } = await loadSDK2();
95379
+ const handle = await renderToLambda({
95380
+ projectDir: siteHandle ? void 0 : projectDir,
95381
+ siteHandle,
95382
+ bucketName: stack.bucketName,
95383
+ stateMachineArn: stack.stateMachineArn,
95384
+ region: stack.region,
95385
+ config,
95386
+ executionName: args.executionName,
95387
+ outputKey: args.outputKey
95388
+ });
95389
+ if (args.json) {
95390
+ if (args.wait) {
95391
+ await waitForCompletion(handle.executionArn, stack, args.waitIntervalMs, args.json);
95392
+ } else {
95393
+ console.log(JSON.stringify(handle, null, 2));
95394
+ }
95395
+ return;
95396
+ }
95397
+ console.log(c2.success("Render started."));
95398
+ console.log(` ${c2.dim("Render ID:")} ${handle.renderId}`);
95399
+ console.log(` ${c2.dim("Execution ARN:")} ${handle.executionArn}`);
95400
+ console.log(` ${c2.dim("Output S3 URI:")} ${handle.outputS3Uri}`);
95401
+ console.log(` ${c2.dim("Project S3:")} ${handle.projectS3Uri}`);
95402
+ console.log(` ${c2.dim("Stack state:")} ${stateFilePath(args.stackName)}`);
95403
+ console.log();
95404
+ if (args.wait) {
95405
+ await waitForCompletion(handle.executionArn, stack, args.waitIntervalMs, args.json);
95406
+ return;
95407
+ }
95408
+ console.log(c2.dim(`Poll with: hyperframes lambda progress ${handle.renderId}`));
95409
+ }
95410
+ async function waitForCompletion(executionArn, stack, intervalMs, json) {
95411
+ const { getRenderProgress } = await loadSDK2();
95412
+ let lastRendered = -1;
95413
+ while (true) {
95414
+ const progress = await getRenderProgress({
95415
+ executionArn,
95416
+ region: stack.region,
95417
+ defaultMemorySizeMb: stack.lambdaMemoryMb
95418
+ });
95419
+ if (!json && progress.framesRendered !== lastRendered) {
95420
+ lastRendered = progress.framesRendered;
95421
+ const total = progress.totalFrames ?? "?";
95422
+ const pct = Math.round(progress.overallProgress * 100);
95423
+ console.log(
95424
+ ` ${c2.dim(`[${progress.status}]`)} ${pct}% \u2022 ${progress.framesRendered}/${total} frames \u2022 ${progress.costs.displayCost}`
95425
+ );
95426
+ }
95427
+ if (progress.status !== "RUNNING") {
95428
+ if (json) {
95429
+ console.log(JSON.stringify(progress, null, 2));
95430
+ } else if (progress.status === "SUCCEEDED" && progress.outputFile) {
95431
+ console.log();
95432
+ console.log(c2.success("Render complete."));
95433
+ console.log(` ${c2.dim("Output:")} ${progress.outputFile.s3Uri}`);
95434
+ console.log(` ${c2.dim("Size:")} ${progress.outputFile.bytes ?? "?"} bytes`);
95435
+ console.log(` ${c2.dim("Total cost:")} ${progress.costs.displayCost}`);
95436
+ } else {
95437
+ console.log();
95438
+ console.log(c2.error(`Render ended with status ${progress.status}.`));
95439
+ for (const err of progress.errors) {
95440
+ console.log(` ${c2.dim(err.state)}: ${err.error} \u2014 ${err.cause}`);
95441
+ }
95442
+ process.exitCode = 1;
95443
+ }
95444
+ return;
95445
+ }
95446
+ await sleep2(intervalMs);
95447
+ }
95448
+ }
95449
+ function sleep2(ms) {
95450
+ return new Promise((res) => setTimeout(res, ms));
95451
+ }
95452
+ var init_render3 = __esm({
95453
+ "src/commands/lambda/render.ts"() {
95454
+ "use strict";
95455
+ init_colors();
95456
+ init_state();
95457
+ }
95458
+ });
95459
+
95460
+ // src/commands/lambda/progress.ts
95461
+ var progress_exports = {};
95462
+ __export(progress_exports, {
95463
+ runProgress: () => runProgress
95464
+ });
95465
+ async function runProgress(args) {
95466
+ const stack = requireStack(args.stackName);
95467
+ const executionArn = args.target.startsWith("arn:") ? args.target : executionArnFromName(stack.stateMachineArn, args.target);
95468
+ const { getRenderProgress } = await import("@hyperframes/aws-lambda/sdk");
95469
+ const progress = await getRenderProgress({
95470
+ executionArn,
95471
+ region: stack.region,
95472
+ defaultMemorySizeMb: stack.lambdaMemoryMb
95473
+ });
95474
+ if (args.json) {
95475
+ console.log(JSON.stringify(progress, null, 2));
95476
+ return;
95477
+ }
95478
+ const pct = Math.round(progress.overallProgress * 100);
95479
+ console.log(`${c2.dim("Status:")} ${statusColor(progress.status)}`);
95480
+ console.log(`${c2.dim("Progress:")} ${pct}%`);
95481
+ console.log(
95482
+ `${c2.dim("Frames:")} ${progress.framesRendered}${progress.totalFrames === null ? "" : ` / ${progress.totalFrames}`}`
95483
+ );
95484
+ console.log(`${c2.dim("Lambdas:")} ${progress.lambdasInvoked}`);
95485
+ console.log(
95486
+ `${c2.dim("Cost:")} ${progress.costs.displayCost} (Lambda $${progress.costs.breakdown.lambdaUsd.toFixed(4)} + SFN $${progress.costs.breakdown.stepFunctionsUsd.toFixed(4)})`
95487
+ );
95488
+ if (progress.outputFile) {
95489
+ console.log(`${c2.dim("Output:")} ${progress.outputFile.s3Uri}`);
95490
+ }
95491
+ if (progress.errors.length > 0) {
95492
+ console.log();
95493
+ console.log(c2.error("Errors:"));
95494
+ for (const err of progress.errors) {
95495
+ console.log(` ${c2.dim(err.state)}: ${err.error} \u2014 ${err.cause}`);
95496
+ }
95497
+ }
95498
+ if (progress.fatalErrorEncountered) {
95499
+ process.exitCode = 1;
95500
+ }
95501
+ }
95502
+ function executionArnFromName(stateMachineArn, name) {
95503
+ return stateMachineArn.replace(":stateMachine:", ":execution:") + `:${name}`;
95504
+ }
95505
+ function statusColor(status) {
95506
+ switch (status) {
95507
+ case "SUCCEEDED":
95508
+ return c2.success(status);
95509
+ case "FAILED":
95510
+ case "TIMED_OUT":
95511
+ case "ABORTED":
95512
+ return c2.error(status);
95513
+ default:
95514
+ return status;
95515
+ }
95516
+ }
95517
+ var init_progress2 = __esm({
95518
+ "src/commands/lambda/progress.ts"() {
95519
+ "use strict";
95520
+ init_colors();
95521
+ init_state();
95522
+ }
95523
+ });
95524
+
95525
+ // src/commands/lambda/destroy.ts
95526
+ var destroy_exports = {};
95527
+ __export(destroy_exports, {
95528
+ runDestroy: () => runDestroy
95529
+ });
95530
+ async function runDestroy(args) {
95531
+ const stack = requireStack(args.stackName);
95532
+ console.log(c2.dim(`\u2192 sam delete (stack=${stack.stackName} region=${stack.region})`));
95533
+ samDelete({
95534
+ repoRoot: repoRoot(),
95535
+ stackName: stack.stackName,
95536
+ region: stack.region,
95537
+ awsProfile: args.awsProfile ?? process.env.AWS_PROFILE
95538
+ });
95539
+ deleteStackOutputs(args.stackName);
95540
+ console.log();
95541
+ console.log(c2.success("Stack torn down."));
95542
+ console.log(
95543
+ c2.dim(
95544
+ `Note: the render bucket "${stack.bucketName}" was deployed with Retain \u2014 empty + delete it via the AWS console or CLI if you want to fully reclaim storage.`
95545
+ )
95546
+ );
95547
+ }
95548
+ var init_destroy = __esm({
95549
+ "src/commands/lambda/destroy.ts"() {
95550
+ "use strict";
95551
+ init_colors();
95552
+ init_state();
95553
+ init_sam();
95554
+ init_repoRoot();
95555
+ }
95556
+ });
95557
+
95558
+ // src/commands/lambda/policies.ts
95559
+ var policies_exports = {};
95560
+ __export(policies_exports, {
95561
+ REQUIRED_ACTIONS: () => REQUIRED_ACTIONS,
95562
+ allRequiredActions: () => allRequiredActions,
95563
+ buildPolicyDocument: () => buildPolicyDocument,
95564
+ buildRoleTrustPolicy: () => buildRoleTrustPolicy,
95565
+ runPolicies: () => runPolicies,
95566
+ validatePolicy: () => validatePolicy
95567
+ });
95568
+ import { readFileSync as readFileSync49 } from "fs";
95569
+ function allRequiredActions() {
95570
+ const set = /* @__PURE__ */ new Set();
95571
+ for (const group of Object.values(REQUIRED_ACTIONS)) {
95572
+ for (const action of group) set.add(action);
95573
+ }
95574
+ return [...set].sort();
95575
+ }
95576
+ function buildPolicyDocument() {
95577
+ return {
95578
+ Version: "2012-10-17",
95579
+ Statement: [
95580
+ {
95581
+ Effect: "Allow",
95582
+ Action: allRequiredActions(),
95583
+ Resource: "*"
95584
+ }
95585
+ ]
95586
+ };
95587
+ }
95588
+ function buildRoleTrustPolicy() {
95589
+ return {
95590
+ Version: "2012-10-17",
95591
+ Statement: [
95592
+ {
95593
+ Effect: "Allow",
95594
+ Principal: { Service: "cloudformation.amazonaws.com" },
95595
+ Action: "sts:AssumeRole"
95596
+ }
95597
+ ]
95598
+ };
95599
+ }
95600
+ async function runPolicies(args) {
95601
+ switch (args.verb) {
95602
+ case "user": {
95603
+ const doc = buildPolicyDocument();
95604
+ console.log(JSON.stringify(doc, null, 2));
95605
+ if (!args.json) {
95606
+ console.error(
95607
+ c2.dim(
95608
+ "\n# Attach the above as an inline policy to the IAM user/role that runs `hyperframes lambda *`.\n# Scope `Resource` to your stack's ARNs after the first successful deploy."
95609
+ )
95610
+ );
95611
+ }
95612
+ return;
95613
+ }
95614
+ case "role": {
95615
+ const trust = buildRoleTrustPolicy();
95616
+ const inline = buildPolicyDocument();
95617
+ const wrapped = {
95618
+ TrustRelationship: trust,
95619
+ InlinePolicy: inline
95620
+ };
95621
+ console.log(JSON.stringify(wrapped, null, 2));
95622
+ return;
95623
+ }
95624
+ case "validate": {
95625
+ if (!args.inputPath) {
95626
+ const msg = "[lambda policies validate] usage: hyperframes lambda policies validate <policy.json>";
95627
+ if (args.json) {
95628
+ console.log(JSON.stringify({ ok: false, error: msg }, null, 2));
95629
+ process.exitCode = 1;
95630
+ return;
95631
+ }
95632
+ throw new Error(msg);
95633
+ }
95634
+ let result;
95635
+ try {
95636
+ result = validatePolicy(args.inputPath);
95637
+ } catch (err) {
95638
+ const msg = err instanceof Error ? err.message : String(err);
95639
+ if (args.json) {
95640
+ console.log(JSON.stringify({ ok: false, error: msg }, null, 2));
95641
+ process.exitCode = 1;
95642
+ return;
95643
+ }
95644
+ console.error(c2.error(`Failed to validate ${args.inputPath}: ${msg}`));
95645
+ process.exitCode = 1;
95646
+ return;
95647
+ }
95648
+ if (args.json) {
95649
+ console.log(JSON.stringify({ ok: result.missing.length === 0, ...result }, null, 2));
95650
+ if (result.missing.length > 0) process.exitCode = 1;
95651
+ return;
95652
+ }
95653
+ for (const warning of result.warnings) {
95654
+ console.warn(c2.dim(`Warning: ${warning}`));
95655
+ }
95656
+ if (result.missing.length === 0) {
95657
+ console.log(c2.success(`Policy covers all ${result.required.length} required actions.`));
95658
+ return;
95659
+ }
95660
+ console.log(c2.error(`Policy is missing ${result.missing.length} required action(s):`));
95661
+ for (const action of result.missing) {
95662
+ console.log(` \u2022 ${action}`);
95663
+ }
95664
+ console.log();
95665
+ console.log(
95666
+ c2.dim("Run `hyperframes lambda policies user` to print the full required policy.")
95667
+ );
95668
+ process.exitCode = 1;
95669
+ return;
95670
+ }
95671
+ }
95672
+ }
95673
+ function validatePolicy(policyPath) {
95674
+ const raw = readFileSync49(policyPath, "utf-8");
95675
+ const parsed = JSON.parse(raw);
95676
+ const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
95677
+ parsed.Statement
95678
+ ] : [];
95679
+ const grantedPatterns = [];
95680
+ const warnings = [];
95681
+ for (const stmt of statements) {
95682
+ if (stmt.Effect !== "Allow") continue;
95683
+ if (stmt.NotAction !== void 0) {
95684
+ warnings.push(
95685
+ "Allow statement uses NotAction; the validator only checks positive Action grants, so this statement is being ignored. Convert to an explicit Action list to validate it."
95686
+ );
95687
+ continue;
95688
+ }
95689
+ if (stmt.NotResource !== void 0) {
95690
+ warnings.push(
95691
+ "Allow statement uses NotResource; resource-scoping is not modelled by this validator. Treating the statement as fully granted on its Action set."
95692
+ );
95693
+ }
95694
+ const actions = stmt.Action;
95695
+ if (typeof actions === "string") {
95696
+ grantedPatterns.push(actions);
95697
+ } else if (Array.isArray(actions)) {
95698
+ for (const a of actions) if (typeof a === "string") grantedPatterns.push(a);
95699
+ }
95700
+ }
95701
+ for (const pattern of grantedPatterns) {
95702
+ if (hasMidStringWildcard(pattern)) {
95703
+ warnings.push(
95704
+ `Action pattern ${JSON.stringify(pattern)} contains a mid-string wildcard the validator can't expand; only end-anchored wildcards (\`*\`, \`service:*\`, \`prefix*\`) are honoured.`
95705
+ );
95706
+ }
95707
+ }
95708
+ const required = allRequiredActions();
95709
+ const granted = [];
95710
+ const missing = [];
95711
+ for (const action of required) {
95712
+ if (grantedPatterns.some((pattern) => actionMatches(pattern, action))) {
95713
+ granted.push(action);
95714
+ } else {
95715
+ missing.push(action);
95716
+ }
95717
+ }
95718
+ return { required, granted, missing, warnings };
95719
+ }
95720
+ function hasMidStringWildcard(pattern) {
95721
+ if (pattern === "*") return false;
95722
+ if (pattern.endsWith(":*")) return false;
95723
+ if (pattern.endsWith("*") && !pattern.slice(0, -1).includes("*")) return false;
95724
+ return pattern.includes("*") || pattern.includes("?");
95725
+ }
95726
+ function actionMatches(pattern, action) {
95727
+ if (pattern === "*") return true;
95728
+ if (pattern === action) return true;
95729
+ if (pattern.endsWith(":*")) {
95730
+ const service = pattern.slice(0, -2);
95731
+ return action.startsWith(`${service}:`);
95732
+ }
95733
+ if (pattern.endsWith("*")) {
95734
+ return action.startsWith(pattern.slice(0, -1));
95735
+ }
95736
+ return false;
95737
+ }
95738
+ var REQUIRED_ACTIONS;
95739
+ var init_policies = __esm({
95740
+ "src/commands/lambda/policies.ts"() {
95741
+ "use strict";
95742
+ init_colors();
95743
+ REQUIRED_ACTIONS = {
95744
+ cloudformation: [
95745
+ "cloudformation:CreateChangeSet",
95746
+ "cloudformation:CreateStack",
95747
+ "cloudformation:DeleteChangeSet",
95748
+ "cloudformation:DeleteStack",
95749
+ "cloudformation:DescribeChangeSet",
95750
+ "cloudformation:DescribeStackEvents",
95751
+ "cloudformation:DescribeStackResource",
95752
+ "cloudformation:DescribeStackResources",
95753
+ "cloudformation:DescribeStacks",
95754
+ "cloudformation:ExecuteChangeSet",
95755
+ "cloudformation:GetTemplate",
95756
+ "cloudformation:GetTemplateSummary",
95757
+ "cloudformation:ListStacks",
95758
+ "cloudformation:UpdateStack",
95759
+ "cloudformation:ValidateTemplate"
95760
+ ],
95761
+ cloudwatchAlarms: [
95762
+ "cloudwatch:DeleteAlarms",
95763
+ "cloudwatch:DescribeAlarms",
95764
+ "cloudwatch:PutMetricAlarm"
95765
+ ],
95766
+ iam: [
95767
+ "iam:AttachRolePolicy",
95768
+ "iam:CreateRole",
95769
+ "iam:DeleteRole",
95770
+ "iam:DeleteRolePolicy",
95771
+ "iam:DetachRolePolicy",
95772
+ "iam:GetRole",
95773
+ "iam:GetRolePolicy",
95774
+ "iam:PassRole",
95775
+ "iam:PutRolePolicy",
95776
+ "iam:TagRole",
95777
+ "iam:UntagRole"
95778
+ ],
95779
+ lambda: [
95780
+ "lambda:AddPermission",
95781
+ "lambda:CreateFunction",
95782
+ "lambda:DeleteFunction",
95783
+ "lambda:GetFunction",
95784
+ "lambda:GetFunctionConfiguration",
95785
+ "lambda:InvokeFunction",
95786
+ "lambda:ListFunctions",
95787
+ "lambda:PutFunctionConcurrency",
95788
+ "lambda:RemovePermission",
95789
+ "lambda:TagResource",
95790
+ "lambda:UntagResource",
95791
+ "lambda:UpdateFunctionCode",
95792
+ "lambda:UpdateFunctionConfiguration"
95793
+ ],
95794
+ logs: [
95795
+ "logs:CreateLogGroup",
95796
+ "logs:DeleteLogGroup",
95797
+ "logs:DescribeLogGroups",
95798
+ "logs:PutRetentionPolicy",
95799
+ "logs:TagResource"
95800
+ ],
95801
+ s3Bucket: [
95802
+ "s3:CreateBucket",
95803
+ "s3:DeleteBucket",
95804
+ "s3:DeleteBucketPolicy",
95805
+ "s3:GetBucketLocation",
95806
+ "s3:GetBucketPolicy",
95807
+ "s3:GetBucketTagging",
95808
+ "s3:GetBucketVersioning",
95809
+ "s3:GetLifecycleConfiguration",
95810
+ "s3:ListAllMyBuckets",
95811
+ "s3:ListBucket",
95812
+ "s3:PutBucketPolicy",
95813
+ "s3:PutBucketTagging",
95814
+ "s3:PutBucketVersioning",
95815
+ "s3:PutLifecycleConfiguration",
95816
+ "s3:PutPublicAccessBlock"
95817
+ ],
95818
+ s3Object: ["s3:DeleteObject", "s3:GetObject", "s3:PutObject"],
95819
+ states: [
95820
+ "states:CreateStateMachine",
95821
+ "states:DeleteStateMachine",
95822
+ "states:DescribeExecution",
95823
+ "states:DescribeStateMachine",
95824
+ "states:GetExecutionHistory",
95825
+ "states:ListExecutions",
95826
+ "states:ListStateMachines",
95827
+ "states:StartExecution",
95828
+ "states:StopExecution",
95829
+ "states:TagResource",
95830
+ "states:UntagResource",
95831
+ "states:UpdateStateMachine"
95832
+ ]
95833
+ };
95834
+ }
95835
+ });
95836
+
95837
+ // src/commands/lambda.ts
95838
+ var lambda_exports = {};
95839
+ __export(lambda_exports, {
95840
+ default: () => lambda_default,
95841
+ examples: () => examples24
95842
+ });
95843
+ function parseIntFlag(raw) {
95844
+ if (raw === void 0 || raw === null || raw === "") return void 0;
95845
+ const n = Number.parseInt(String(raw), 10);
95846
+ return Number.isFinite(n) ? n : void 0;
95847
+ }
95848
+ function parsePositiveInt(raw, flagName) {
95849
+ const n = parseIntFlag(raw);
95850
+ if (n === void 0) return void 0;
95851
+ if (!Number.isInteger(n) || n < 1) {
95852
+ throw new Error(`[lambda] ${flagName} must be a positive integer; got ${n}`);
95853
+ }
95854
+ return n;
95855
+ }
95856
+ function parseEnum(raw, allowed, errorPrefix, defaultValue) {
95857
+ if (raw === void 0 || raw === null || raw === "") return defaultValue;
95858
+ const s2 = String(raw);
95859
+ if (allowed.includes(s2)) return s2;
95860
+ throw new Error(`${errorPrefix} must be ${allowed.join("|")}; got ${s2}`);
95861
+ }
95862
+ var examples24, HELP, lambda_default, FORMATS, CODECS, QUALITIES2, CHROME_SOURCES, parseFormat, parseCodec, parseQuality, parseChromeSource;
95863
+ var init_lambda = __esm({
95864
+ "src/commands/lambda.ts"() {
95865
+ "use strict";
95866
+ init_dist();
95867
+ init_colors();
95868
+ examples24 = [
95869
+ ["Deploy the Lambda render stack to AWS", "hyperframes lambda deploy"],
95870
+ [
95871
+ "Render a composition on the deployed stack",
95872
+ "hyperframes lambda render ./my-project --width 1920 --height 1080"
95873
+ ],
95874
+ [
95875
+ "Render and stream progress until done",
95876
+ "hyperframes lambda render ./my-project --width 1920 --height 1080 --wait"
95877
+ ],
95878
+ ["Check progress for a started render", "hyperframes lambda progress hf-render-abcd1234"],
95879
+ [
95880
+ "Pre-upload a project so multiple renders share the upload",
95881
+ "hyperframes lambda sites create ./my-project"
95882
+ ],
95883
+ ["Tear the stack down", "hyperframes lambda destroy"],
95884
+ ["Print the IAM policy the CLI needs", "hyperframes lambda policies user"],
95885
+ [
95886
+ "Validate a checked-in IAM policy still covers the CLI",
95887
+ "hyperframes lambda policies validate ./infra/iam/hyperframes.json"
95888
+ ]
95889
+ ];
95890
+ HELP = `
95891
+ ${c2.bold("hyperframes lambda")} ${c2.dim("<subcommand> [args]")}
95892
+
95893
+ Deploy + drive distributed video renders on AWS Lambda.
95894
+
95895
+ ${c2.bold("SUBCOMMANDS:")}
95896
+ ${c2.accent("deploy")} ${c2.dim("Provision the Lambda + Step Functions + S3 stack via SAM")}
95897
+ ${c2.accent("sites create")} ${c2.dim("Tar + upload a project to S3 (reusable across renders)")}
95898
+ ${c2.accent("render")} ${c2.dim("Start a distributed render (returns a renderId)")}
95899
+ ${c2.accent("progress")} ${c2.dim("Print progress + cost for an in-flight or finished render")}
95900
+ ${c2.accent("destroy")} ${c2.dim("Tear the stack down (S3 bucket is retained)")}
95901
+ ${c2.accent("policies")} ${c2.dim("Print or validate the IAM permissions the CLI needs")}
95902
+
95903
+ ${c2.bold("FIRST RUN:")}
95904
+ ${c2.accent("hyperframes lambda deploy")}
95905
+ ${c2.accent("hyperframes lambda render ./my-project --width 1920 --height 1080 --wait")}
95906
+
95907
+ ${c2.bold("REQUIREMENTS:")}
95908
+ \u2022 AWS CLI configured (env vars, ~/.aws/credentials, or SSO)
95909
+ \u2022 AWS SAM CLI installed (https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html)
95910
+ \u2022 bun on PATH (used to build the handler ZIP)
95911
+ `;
95912
+ lambda_default = defineCommand({
95913
+ meta: { name: "lambda", description: "Deploy and drive renders on AWS Lambda" },
95914
+ args: {
95915
+ subcommand: {
95916
+ type: "positional",
95917
+ required: false,
95918
+ description: "deploy | sites | render | progress | destroy | policies"
95919
+ },
95920
+ target: {
95921
+ type: "positional",
95922
+ required: false,
95923
+ description: "Subcommand-specific positional (project dir, render id, policies verb, etc.)"
95924
+ },
95925
+ extra: {
95926
+ type: "positional",
95927
+ required: false,
95928
+ description: "Extra positional (e.g. `sites create <projectDir>` or `policies validate <policy.json>`)"
95929
+ },
95930
+ // Stack identity
95931
+ "stack-name": {
95932
+ type: "string",
95933
+ description: "CloudFormation stack name (default: hyperframes-default)"
95934
+ },
95935
+ region: { type: "string", description: "AWS region (default: AWS_REGION env or us-east-1)" },
95936
+ profile: { type: "string", description: "AWS profile name (default: AWS_PROFILE env)" },
95937
+ // deploy
95938
+ concurrency: { type: "string", description: "Lambda reserved concurrency (default: 8)" },
95939
+ "chrome-source": {
95940
+ type: "string",
95941
+ description: "sparticuz | chrome-headless-shell (default: sparticuz)"
95942
+ },
95943
+ memory: { type: "string", description: "Lambda memory MB (default: 10240)" },
95944
+ "skip-build": { type: "boolean", description: "Reuse existing handler.zip (deploy)" },
95945
+ // sites / render
95946
+ "site-id": { type: "string", description: "Explicit site id (overrides content hash)" },
95947
+ width: { type: "string", description: "Render width in pixels" },
95948
+ height: { type: "string", description: "Render height in pixels" },
95949
+ fps: { type: "string", description: "Render fps (24 | 30 | 60)" },
95950
+ format: { type: "string", description: "mp4 | mov | png-sequence (default: mp4)" },
95951
+ codec: { type: "string", description: "h264 | h265 (mp4 only)" },
95952
+ quality: { type: "string", description: "draft | standard | high" },
95953
+ "chunk-size": { type: "string", description: "Frames per chunk (default: 240)" },
95954
+ "max-parallel-chunks": { type: "string", description: "Max concurrent chunks (default: 16)" },
95955
+ "execution-name": {
95956
+ type: "string",
95957
+ description: "Step Functions execution name (default: hf-render-<uuid>)"
95958
+ },
95959
+ "output-key": {
95960
+ type: "string",
95961
+ description: "Final output S3 key (default: renders/<exec>/output.<ext>)"
95962
+ },
95963
+ wait: { type: "boolean", description: "Block until the render finishes" },
95964
+ "wait-interval-ms": {
95965
+ type: "string",
95966
+ description: "Poll cadence in ms when --wait is set (default: 5000)"
95967
+ },
95968
+ // shared
95969
+ json: { type: "boolean", description: "Emit machine-readable JSON" }
95970
+ },
95971
+ async run({ args }) {
95972
+ const subcommand = args.subcommand;
95973
+ if (!subcommand) {
95974
+ console.log(HELP);
95975
+ return;
95976
+ }
95977
+ const stackName = args["stack-name"] ?? // Lazy-imported so the dispatcher doesn't pull state.ts (and its
95978
+ // node:fs deps) on every CLI invocation — only on lambda runs.
95979
+ (await Promise.resolve().then(() => (init_state(), state_exports))).DEFAULT_STACK_NAME;
95980
+ const profileFlag = args.profile;
95981
+ if (profileFlag) process.env.AWS_PROFILE = profileFlag;
95982
+ const regionFlag = args.region;
95983
+ if (regionFlag) process.env.AWS_REGION = regionFlag;
95984
+ const verbsNeedingSDK = /* @__PURE__ */ new Set(["deploy", "sites", "render", "progress", "destroy"]);
95985
+ if (verbsNeedingSDK.has(subcommand)) {
95986
+ try {
95987
+ await import("@hyperframes/aws-lambda/sdk");
95988
+ } catch (err) {
95989
+ if (err.code === "ERR_MODULE_NOT_FOUND") {
95990
+ console.error(
95991
+ `${c2.error("@hyperframes/aws-lambda is not installed.")} The ${c2.accent(`hyperframes lambda ${subcommand}`)} command needs it at runtime.
95992
+ Install it alongside the CLI:
95993
+ ${c2.accent("npm install -g @hyperframes/aws-lambda")}
95994
+ Or, for an opt-in dev setup:
95995
+ ${c2.accent("npm install @hyperframes/aws-lambda")}`
95996
+ );
95997
+ process.exit(1);
95998
+ }
95999
+ throw err;
96000
+ }
96001
+ }
96002
+ switch (subcommand) {
96003
+ case "deploy": {
96004
+ const { runDeploy: runDeploy2 } = await Promise.resolve().then(() => (init_deploy(), deploy_exports));
96005
+ await runDeploy2({
96006
+ stackName,
96007
+ region: args.region,
96008
+ awsProfile: args.profile,
96009
+ reservedConcurrency: parsePositiveInt(args.concurrency, "--concurrency"),
96010
+ chromeSource: parseChromeSource(args["chrome-source"]),
96011
+ lambdaMemoryMb: parsePositiveInt(args.memory, "--memory"),
96012
+ skipBuild: Boolean(args["skip-build"])
96013
+ });
96014
+ return;
96015
+ }
96016
+ case "sites": {
96017
+ if (args.target !== "create") {
96018
+ console.error(
96019
+ `[lambda sites] unknown verb "${String(args.target)}". Only "create" is supported.`
96020
+ );
96021
+ process.exit(1);
96022
+ }
96023
+ const projectDir = args.extra;
96024
+ if (!projectDir) {
96025
+ console.error(
96026
+ "[lambda sites create] usage: hyperframes lambda sites create <projectDir>"
96027
+ );
96028
+ process.exit(1);
96029
+ }
96030
+ const { runSitesCreate: runSitesCreate2 } = await Promise.resolve().then(() => (init_sites(), sites_exports));
96031
+ await runSitesCreate2({
96032
+ projectDir,
96033
+ stackName,
96034
+ siteId: args["site-id"],
96035
+ json: Boolean(args.json)
96036
+ });
96037
+ return;
96038
+ }
96039
+ case "render": {
96040
+ const projectDir = args.target;
96041
+ if (!projectDir) {
96042
+ console.error(
96043
+ "[lambda render] usage: hyperframes lambda render <projectDir> --width <px> --height <px>"
96044
+ );
96045
+ process.exit(1);
96046
+ }
96047
+ const width = parsePositiveInt(args.width, "--width");
96048
+ const height = parsePositiveInt(args.height, "--height");
96049
+ if (width === void 0 || height === void 0) {
96050
+ console.error("[lambda render] --width and --height are required.");
96051
+ process.exit(1);
96052
+ }
96053
+ const fpsRaw = parseIntFlag(args.fps) ?? 30;
96054
+ if (fpsRaw !== 24 && fpsRaw !== 30 && fpsRaw !== 60) {
96055
+ console.error(`[lambda render] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
96056
+ process.exit(1);
96057
+ }
96058
+ const { runRender: runRender2 } = await Promise.resolve().then(() => (init_render3(), render_exports2));
96059
+ await runRender2({
96060
+ projectDir,
96061
+ stackName,
96062
+ siteId: args["site-id"],
96063
+ fps: fpsRaw,
96064
+ width,
96065
+ height,
96066
+ format: parseFormat(args.format),
96067
+ codec: parseCodec(args.codec),
96068
+ quality: parseQuality(args.quality),
96069
+ chunkSize: parsePositiveInt(args["chunk-size"], "--chunk-size"),
96070
+ maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
96071
+ executionName: args["execution-name"],
96072
+ outputKey: args["output-key"],
96073
+ json: Boolean(args.json),
96074
+ wait: Boolean(args.wait),
96075
+ waitIntervalMs: parsePositiveInt(args["wait-interval-ms"], "--wait-interval-ms") ?? 5e3
96076
+ });
96077
+ return;
96078
+ }
96079
+ case "progress": {
96080
+ const target = args.target;
96081
+ if (!target) {
96082
+ console.error(
96083
+ "[lambda progress] usage: hyperframes lambda progress <renderId | executionArn>"
96084
+ );
96085
+ process.exit(1);
96086
+ }
96087
+ const { runProgress: runProgress2 } = await Promise.resolve().then(() => (init_progress2(), progress_exports));
96088
+ await runProgress2({ target, stackName, json: Boolean(args.json) });
96089
+ return;
96090
+ }
96091
+ case "destroy": {
96092
+ const { runDestroy: runDestroy2 } = await Promise.resolve().then(() => (init_destroy(), destroy_exports));
96093
+ await runDestroy2({ stackName, awsProfile: args.profile });
96094
+ return;
96095
+ }
96096
+ case "policies": {
96097
+ const verb = args.target;
96098
+ if (verb !== "role" && verb !== "user" && verb !== "validate") {
96099
+ console.error(
96100
+ `[lambda policies] usage: hyperframes lambda policies <role|user|validate> [args]`
96101
+ );
96102
+ process.exit(1);
96103
+ }
96104
+ const { runPolicies: runPolicies2 } = await Promise.resolve().then(() => (init_policies(), policies_exports));
96105
+ await runPolicies2({
96106
+ verb,
96107
+ inputPath: args.extra,
96108
+ json: Boolean(args.json)
96109
+ });
96110
+ return;
96111
+ }
96112
+ default:
96113
+ console.error(`${c2.error("Unknown subcommand:")} ${subcommand}
96114
+ ${HELP}`);
96115
+ process.exit(1);
96116
+ }
96117
+ }
96118
+ });
96119
+ FORMATS = ["mp4", "mov", "png-sequence"];
96120
+ CODECS = ["h264", "h265"];
96121
+ QUALITIES2 = ["draft", "standard", "high"];
96122
+ CHROME_SOURCES = ["sparticuz", "chrome-headless-shell"];
96123
+ parseFormat = (raw) => parseEnum(raw, FORMATS, "[lambda render] --format", "mp4");
96124
+ parseCodec = (raw) => parseEnum(raw, CODECS, "[lambda render] --codec", void 0);
96125
+ parseQuality = (raw) => parseEnum(raw, QUALITIES2, "[lambda render] --quality", void 0);
96126
+ parseChromeSource = (raw) => parseEnum(raw, CHROME_SOURCES, "[lambda deploy] --chrome-source", "sparticuz");
96127
+ }
96128
+ });
96129
+
94933
96130
  // src/telemetry/index.ts
94934
96131
  var telemetry_exports2 = {};
94935
96132
  __export(telemetry_exports2, {
@@ -95062,9 +96259,9 @@ __export(autoUpdate_exports, {
95062
96259
  scheduleBackgroundInstall: () => scheduleBackgroundInstall
95063
96260
  });
95064
96261
  import { spawn as spawn16 } from "child_process";
95065
- import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync41, openSync as openSync2 } from "fs";
96262
+ import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync42, openSync as openSync2 } from "fs";
95066
96263
  import { homedir as homedir12 } from "os";
95067
- import { join as join80 } from "path";
96264
+ import { join as join83 } from "path";
95068
96265
  import { compareVersions as compareVersions2 } from "compare-versions";
95069
96266
  function isAutoInstallDisabled() {
95070
96267
  if (isDevMode()) return true;
@@ -95079,15 +96276,15 @@ function majorOf(version) {
95079
96276
  }
95080
96277
  function log(line) {
95081
96278
  try {
95082
- mkdirSync41(CONFIG_DIR2, { recursive: true, mode: 448 });
96279
+ mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
95083
96280
  appendFileSync2(LOG_FILE, `${(/* @__PURE__ */ new Date()).toISOString()} ${line}
95084
96281
  `, { mode: 384 });
95085
96282
  } catch {
95086
96283
  }
95087
96284
  }
95088
96285
  function launchDetachedInstall(installCommand, version) {
95089
- mkdirSync41(CONFIG_DIR2, { recursive: true, mode: 448 });
95090
- const configFile = join80(CONFIG_DIR2, "config.json");
96286
+ mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
96287
+ const configFile = join83(CONFIG_DIR2, "config.json");
95091
96288
  const nodeScript = `
95092
96289
  const { exec } = require("node:child_process");
95093
96290
  const { readFileSync, renameSync, writeFileSync } = require("node:fs");
@@ -95206,8 +96403,8 @@ var init_autoUpdate = __esm({
95206
96403
  init_config();
95207
96404
  init_env();
95208
96405
  init_installerDetection();
95209
- CONFIG_DIR2 = join80(homedir12(), ".hyperframes");
95210
- LOG_FILE = join80(CONFIG_DIR2, "auto-update.log");
96406
+ CONFIG_DIR2 = join83(homedir12(), ".hyperframes");
96407
+ LOG_FILE = join83(CONFIG_DIR2, "auto-update.log");
95211
96408
  PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
95212
96409
  }
95213
96410
  });
@@ -95285,10 +96482,10 @@ function renderRootHelp() {
95285
96482
  lines.push(`Run ${c2.cyan("hyperframes <command> --help")} for more information about a command.`);
95286
96483
  return lines.join("\n");
95287
96484
  }
95288
- function formatExamples(examples24) {
96485
+ function formatExamples(examples25) {
95289
96486
  const lines = [];
95290
96487
  lines.push(c2.bold("Examples:"));
95291
- for (const [comment, command2] of examples24) {
96488
+ for (const [comment, command2] of examples25) {
95292
96489
  lines.push(` ${c2.gray(`# ${comment}`)}`);
95293
96490
  lines.push(` ${command2}`);
95294
96491
  lines.push("");
@@ -95305,9 +96502,9 @@ async function showUsage2(cmd, parent) {
95305
96502
  console.log(usage + "\n");
95306
96503
  const name = meta?.name;
95307
96504
  if (name) {
95308
- const examples24 = STATIC_EXAMPLES[name] ?? await loadExamples(name);
95309
- if (examples24) {
95310
- console.log(formatExamples(examples24) + "\n");
96505
+ const examples25 = STATIC_EXAMPLES[name] ?? await loadExamples(name);
96506
+ if (examples25) {
96507
+ console.log(formatExamples(examples25) + "\n");
95311
96508
  }
95312
96509
  }
95313
96510
  }
@@ -95355,6 +96552,10 @@ var init_help = __esm({
95355
96552
  ["upgrade", "Check for updates and show upgrade instructions"]
95356
96553
  ]
95357
96554
  },
96555
+ {
96556
+ title: "Deploy",
96557
+ commands: [["lambda", "Deploy and drive distributed renders on AWS Lambda"]]
96558
+ },
95358
96559
  {
95359
96560
  title: "AI & Integrations",
95360
96561
  commands: [
@@ -95391,17 +96592,17 @@ var init_help = __esm({
95391
96592
  // src/cli.ts
95392
96593
  init_version();
95393
96594
  init_dist();
95394
- import { dirname as dirname27, join as join81 } from "path";
95395
- import { fileURLToPath as fileURLToPath11 } from "url";
95396
- import { existsSync as existsSync69 } from "fs";
96595
+ import { dirname as dirname30, join as join84 } from "path";
96596
+ import { fileURLToPath as fileURLToPath12 } from "url";
96597
+ import { existsSync as existsSync73 } from "fs";
95397
96598
  (() => {
95398
- const here = dirname27(fileURLToPath11(import.meta.url));
95399
- const shader = join81(here, "shaderTransitionWorker.js");
95400
- const png = join81(here, "pngDecodeBlitWorker.js");
95401
- if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync69(shader)) {
96599
+ const here = dirname30(fileURLToPath12(import.meta.url));
96600
+ const shader = join84(here, "shaderTransitionWorker.js");
96601
+ const png = join84(here, "pngDecodeBlitWorker.js");
96602
+ if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync73(shader)) {
95402
96603
  process.env.HF_SHADER_WORKER_ENTRY = shader;
95403
96604
  }
95404
- if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync69(png)) {
96605
+ if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync73(png)) {
95405
96606
  process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY = png;
95406
96607
  }
95407
96608
  })();
@@ -95438,7 +96639,8 @@ var subCommands = {
95438
96639
  telemetry: () => Promise.resolve().then(() => (init_telemetry(), telemetry_exports)).then((m2) => m2.default),
95439
96640
  validate: () => Promise.resolve().then(() => (init_validate(), validate_exports)).then((m2) => m2.default),
95440
96641
  snapshot: () => Promise.resolve().then(() => (init_snapshot(), snapshot_exports)).then((m2) => m2.default),
95441
- capture: () => Promise.resolve().then(() => (init_capture2(), capture_exports2)).then((m2) => m2.default)
96642
+ capture: () => Promise.resolve().then(() => (init_capture2(), capture_exports2)).then((m2) => m2.default),
96643
+ lambda: () => Promise.resolve().then(() => (init_lambda(), lambda_exports)).then((m2) => m2.default)
95442
96644
  };
95443
96645
  var main = defineCommand({
95444
96646
  meta: {