hyperframes 0.8.188 → 0.8.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/{add-UORF6235.js → add-TIKUM2YX.js} +10 -10
  2. package/dist/{animatedGifPrep-23MLSEXF.js → animatedGifPrep-25X4G5IE.js} +3 -3
  3. package/dist/api.js +11 -11
  4. package/dist/{asset-DOKDVHCW.js → asset-TPKLIP4R.js} +2 -2
  5. package/dist/{assetCataloger-CD27MHEY.js → assetCataloger-PQAIV3FI.js} +3 -3
  6. package/dist/{audio-3NMZHNNU.js → audio-6RLPKB5X.js} +9 -9
  7. package/dist/{auth-AWKTSKGC.js → auth-O7QSTP6Y.js} +1 -1
  8. package/dist/{autoUpdate-VBOI4CNU.js → autoUpdate-TIEJODP7.js} +2 -2
  9. package/dist/{backgroundChecks-S4R454YU.js → backgroundChecks-K2AXYDYG.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-EGPYNDHK.js → batchRender-ORVWYJAH.js} +2 -2
  12. package/dist/{beats-YENEQUOA.js → beats-2VTB2ATR.js} +4 -4
  13. package/dist/{benchmark-THSJIQG7.js → benchmark-NLNBL6YR.js} +7 -7
  14. package/dist/{browser-BDMVQ6WJ.js → browser-M5UV6VJB.js} +3 -3
  15. package/dist/{bundleWithLocalizedFonts-3QG722YD.js → bundleWithLocalizedFonts-EDD2XDS2.js} +1 -1
  16. package/dist/{capture-Z6BGCTK3.js → capture-JSYVNFKO.js} +6 -6
  17. package/dist/{capture-WM4XDMFX.js → capture-WHWEE5FE.js} +2 -2
  18. package/dist/{captureCompositionFrame-EMHSAIBZ.js → captureCompositionFrame-JANGQCIA.js} +9 -9
  19. package/dist/{catalog-7TV6UNCG.js → catalog-MPOOKNSZ.js} +10 -10
  20. package/dist/{catch-up-63IUDZRW.js → catch-up-6KZV3UMZ.js} +4 -4
  21. package/dist/{check-7RHZL4DV.js → check-G273NWK7.js} +32 -31
  22. package/dist/{checkBrowser-PF56CT5X.js → checkBrowser-G53E2ZQI.js} +27 -28
  23. package/dist/{chunk-5DPV7LU3.js → chunk-2CYM34M7.js} +1 -1
  24. package/dist/{chunk-FSTLXRIN.js → chunk-37EPEFXM.js} +1 -1
  25. package/dist/{chunk-NMOTNNP2.js → chunk-3OLOVRWS.js} +1 -1
  26. package/dist/{chunk-ZIRIDSDB.js → chunk-3X6LH25W.js} +1 -1
  27. package/dist/{chunk-BU4HRISA.js → chunk-44TJOEH5.js} +90 -23
  28. package/dist/{chunk-YZ73IPW2.js → chunk-4DZ3HBKF.js} +2 -2
  29. package/dist/{chunk-W2KGJHUL.js → chunk-4QFKGRTB.js} +2 -2
  30. package/dist/{chunk-IA2IDJAG.js → chunk-5544QB3U.js} +1 -1
  31. package/dist/{chunk-MTPPEEYZ.js → chunk-565X6Q4X.js} +3 -3
  32. package/dist/{chunk-HPQSUPR7.js → chunk-5HJJEHGE.js} +1 -1
  33. package/dist/{chunk-6OWNUXTU.js → chunk-6RA4TWGV.js} +1 -1
  34. package/dist/{chunk-I7C5GUEQ.js → chunk-74Y43RJZ.js} +3 -3
  35. package/dist/{chunk-57XL23DE.js → chunk-ANYBRVPF.js} +1 -1
  36. package/dist/{chunk-LWY3PFJ7.js → chunk-AQ3L7DVB.js} +1 -1
  37. package/dist/{chunk-6HYPEIH7.js → chunk-ASZ4IQB4.js} +2 -2
  38. package/dist/{chunk-MJKUCR3C.js → chunk-AYBKDHYD.js} +2 -2
  39. package/dist/{chunk-T3OXKSRG.js → chunk-B52BJM5K.js} +2 -2
  40. package/dist/{chunk-JWRT2IXO.js → chunk-B634ZCY2.js} +1 -1
  41. package/dist/{chunk-LWYZN7HS.js → chunk-BZQLTNMB.js} +219 -79
  42. package/dist/{chunk-XPVN4R66.js → chunk-CSYSEPWL.js} +31 -7
  43. package/dist/{chunk-V6NM4KL3.js → chunk-CTF7BYCV.js} +2 -2
  44. package/dist/{chunk-JYC53CW4.js → chunk-E676Y7AY.js} +81 -28
  45. package/dist/{chunk-5OZI55AC.js → chunk-E7TI5PAQ.js} +1 -1
  46. package/dist/{chunk-BWEZDN6U.js → chunk-F45HHA3M.js} +1 -1
  47. package/dist/{chunk-DA4TQFSF.js → chunk-FJF5JBYU.js} +1 -1
  48. package/dist/{chunk-NFHRGHCJ.js → chunk-GBT7P3OQ.js} +3 -3
  49. package/dist/{chunk-UF6RCYA5.js → chunk-GWYMAII7.js} +1 -1
  50. package/dist/{chunk-MXXX6WVC.js → chunk-HNMDLKA4.js} +1 -1
  51. package/dist/{chunk-GYBPAKBM.js → chunk-HQIFMCQN.js} +16 -10
  52. package/dist/{chunk-B2P4JRUJ.js → chunk-HUG47UEE.js} +1 -1
  53. package/dist/{chunk-YCW345M4.js → chunk-HXM2ISEK.js} +119 -8
  54. package/dist/{chunk-OJOZXWLC.js → chunk-IFXOMIBP.js} +3 -3
  55. package/dist/{chunk-6Q5CFUAP.js → chunk-IPEP346Y.js} +1 -1
  56. package/dist/{chunk-FOLMMQF3.js → chunk-JIPUWKLA.js} +12 -12
  57. package/dist/{chunk-44QWRPGE.js → chunk-JZDVIDFH.js} +2 -2
  58. package/dist/{chunk-L243NE72.js → chunk-KLWUB37U.js} +7 -7
  59. package/dist/{chunk-IJYR4TTA.js → chunk-KS4HMJJD.js} +1 -1
  60. package/dist/{chunk-FWVILDOZ.js → chunk-M6FHSQZ3.js} +3 -3
  61. package/dist/{chunk-PQLFJYGP.js → chunk-NDBWI7OA.js} +5 -5
  62. package/dist/{chunk-46VJ2UAV.js → chunk-NSJ5HD6A.js} +5 -5
  63. package/dist/{chunk-KWSEIVR6.js → chunk-OHXHBMF4.js} +1 -1
  64. package/dist/{chunk-X556BGL7.js → chunk-QMFI4N7J.js} +1 -1
  65. package/dist/{chunk-OKSYDQHY.js → chunk-QYQ2EYOI.js} +3 -3
  66. package/dist/{chunk-KY7375C4.js → chunk-R5FS7GFU.js} +1 -1
  67. package/dist/{chunk-FH7WODJH.js → chunk-SGFMCNLY.js} +8 -0
  68. package/dist/{chunk-PMXR3IUH.js → chunk-T37XXYRK.js} +1 -1
  69. package/dist/{chunk-NFLZNSUZ.js → chunk-TFUAKV6O.js} +1 -1
  70. package/dist/{chunk-U6RXZNZE.js → chunk-TMBUBLZB.js} +55 -23
  71. package/dist/{chunk-2DHCCBCN.js → chunk-TPTQHOXU.js} +8 -8
  72. package/dist/{chunk-KDBPZOXK.js → chunk-TREMHDWT.js} +11 -11
  73. package/dist/{chunk-DLFAVRF3.js → chunk-VRQU564T.js} +1 -1
  74. package/dist/{chunk-HKUZCSNZ.js → chunk-WMJJCHVQ.js} +2 -2
  75. package/dist/{chunk-YV4WT7CJ.js → chunk-WYCFMNU3.js} +11 -0
  76. package/dist/{chunk-2WUDFZCR.js → chunk-XJVXROOL.js} +2 -2
  77. package/dist/{chunk-DG4ME554.js → chunk-Z2BW2WJS.js} +1 -1
  78. package/dist/{chunk-6HZ7TSJJ.js → chunk-ZPMF6GAQ.js} +8 -8
  79. package/dist/{clean-43O47OTN.js → clean-PS4VYGQ6.js} +12 -12
  80. package/dist/cli.js +53 -53
  81. package/dist/{cloud-ZFWKFFSU.js → cloud-E47CE5VQ.js} +4 -4
  82. package/dist/{cloudrun-XBBESKEU.js → cloudrun-3J4SQBXE.js} +3 -3
  83. package/dist/{compare-OW4ELTFZ.js → compare-EAKHXBDO.js} +23 -23
  84. package/dist/{component-SDV7LWH6.js → component-QBOXYJJS.js} +3 -3
  85. package/dist/{compositions-DI5QZCEK.js → compositions-QC3EO3MJ.js} +7 -7
  86. package/dist/{delete-QY2NSQ2G.js → delete-TXEOLPC6.js} +2 -2
  87. package/dist/{deploy-MJVC4EFY.js → deploy-3B3WJ6PM.js} +1 -1
  88. package/dist/{dist-RFTGYT26.js → dist-F4UJFK4S.js} +3 -1
  89. package/dist/{doctor-7ZOECPHR.js → doctor-2CRFH4B3.js} +7 -7
  90. package/dist/{events-WIX4JM2K.js → events-GUIOSBIB.js} +3 -3
  91. package/dist/{events-XVQQGECC.js → events-KVTX3QFV.js} +2 -2
  92. package/dist/{feedback-GBYBR6UO.js → feedback-VQIOSTIB.js} +5 -5
  93. package/dist/{ffmpeg-QGQBYMO3.js → ffmpeg-BPCZGXFW.js} +3 -3
  94. package/dist/{figma-2CMKUGJQ.js → figma-QIOKCH26.js} +3 -3
  95. package/dist/fontLocalizeCli.js +5 -5
  96. package/dist/{get-RWCNUOHU.js → get-TU45SNXF.js} +2 -2
  97. package/dist/{gpuPolicy-UGWSN32D.js → gpuPolicy-AWAJBGYY.js} +3 -3
  98. package/dist/{grade-compare-J2MX7HZL.js → grade-compare-LDNUXX3Q.js} +24 -24
  99. package/dist/{help-SH3ID7MV.js → help-YUCHJKKL.js} +1 -1
  100. package/dist/{history-C7V5QH7J.js → history-MMHFUMIG.js} +7 -7
  101. package/dist/hyperframes-player.global.js +1 -1
  102. package/dist/{info-ZN3JJ3IN.js → info-HBHOFSC2.js} +6 -6
  103. package/dist/{init-KRNGSRNH.js → init-3E4GUXIZ.js} +23 -23
  104. package/dist/{inspect-AYDZXTX7.js → inspect-YNUPJVIH.js} +25 -25
  105. package/dist/{installer-N6AIK6XQ.js → installer-WLCRP33K.js} +3 -3
  106. package/dist/{keyframes-2RFUCEDK.js → keyframes-Z47GHCGO.js} +6 -6
  107. package/dist/{lambda-VW3CF6EE.js → lambda-CA4PEUO2.js} +5 -5
  108. package/dist/{layout-OE64APE7.js → layout-YPV6PIKF.js} +25 -25
  109. package/dist/{lint-UXJTX5WS.js → lint-3AVVQ74A.js} +6 -6
  110. package/dist/{list-KOL6JPZJ.js → list-JH52Y735.js} +2 -2
  111. package/dist/{login-MAQXOPDG.js → login-G7NPJUAW.js} +4 -4
  112. package/dist/{manager-3LZKRK7P.js → manager-2LSMMZY4.js} +4 -4
  113. package/dist/{media-treatment-COLSXXQJ.js → media-treatment-BVMMD5EN.js} +9 -9
  114. package/dist/{models-XXWMGOD7.js → models-P3TNRVRV.js} +7 -7
  115. package/dist/{motionShot-RECBNTBZ.js → motionShot-LK62QHNE.js} +13 -13
  116. package/dist/{normalize-audio-LKVGHZWR.js → normalize-audio-Y7BAQ7AR.js} +4 -4
  117. package/dist/{open-UEQVSRKH.js → open-CCFFLAT7.js} +10 -10
  118. package/dist/{parakeetRunner-QVPCZ36U.js → parakeetRunner-N2BWSOSD.js} +8 -8
  119. package/dist/{pipeline-5VSMQBKW.js → pipeline-3VT2DQGU.js} +4 -4
  120. package/dist/{play-MNEABYN4.js → play-G4I5IFHO.js} +15 -15
  121. package/dist/{preflight-ONJ74DWQ.js → preflight-2KU2QLCZ.js} +4 -4
  122. package/dist/{present-GQ24GTYX.js → present-EJ7XHGQO.js} +11 -11
  123. package/dist/{preview-ALL7O4RG.js → preview-O23BYFAY.js} +14 -14
  124. package/dist/{producer-43L2UDF6.js → producer-UJQVLKLP.js} +1 -1
  125. package/dist/{projectConfig-VJXUXK7U.js → projectConfig-QFVIBT37.js} +5 -5
  126. package/dist/{publication-L6E5NTFV.js → publication-4UYGFB2X.js} +1 -1
  127. package/dist/{publish-LCLBJEPR.js → publish-MHLVJLCR.js} +6 -6
  128. package/dist/{remove-background-PDL4KPR4.js → remove-background-N7AHTZWP.js} +5 -5
  129. package/dist/{render-7HVKJ7T4.js → render-6HQV4LZJ.js} +4 -4
  130. package/dist/{render-OPCRLZVL.js → render-CDATEVDJ.js} +10 -10
  131. package/dist/{render-J33ZHR6I.js → render-EI2ODKOP.js} +25 -25
  132. package/dist/{render-batch-ZHHIGXU3.js → render-batch-F7HMC7XH.js} +4 -4
  133. package/dist/{resolver-KNNIMMBM.js → resolver-63DB5JCY.js} +3 -3
  134. package/dist/{sherpa-GI62H3H5.js → sherpa-AK3MTPL3.js} +7 -7
  135. package/dist/{skills-IUTD6VQO.js → skills-EVIDL7PV.js} +5 -5
  136. package/dist/{skillsUpdateCheck-XZE7MJG6.js → skillsUpdateCheck-YCNJYDJO.js} +3 -3
  137. package/dist/{snapshot-XEXTHLZP.js → snapshot-WSYZKR3C.js} +29 -29
  138. package/dist/{src-6STRGCDC.js → src-KTD6WTEV.js} +4 -4
  139. package/dist/{src-ZPIV4PGX.js → src-YNXBU4ZQ.js} +4 -2
  140. package/dist/{staticProjectServer-HJLT7MHE.js → staticProjectServer-D2D3BKBP.js} +13 -11
  141. package/dist/studio/assets/{hyperframes-player-DwWIKKZG.js → hyperframes-player-CkK8Zijf.js} +1 -1
  142. package/dist/studio/assets/{index-Cjwz7_13.js → index-ATnRoBug.js} +1 -1
  143. package/dist/studio/assets/{index-M8lEpS0Q.js → index-B2JcCaRF.js} +4 -4
  144. package/dist/studio/index.html +1 -1
  145. package/dist/{studio-api-OBHEB5ND.js → studio-api-3ZGQPE5J.js} +5 -5
  146. package/dist/{studioServer-KRIZFYML.js → studioServer-VWM4J7ZP.js} +41 -41
  147. package/dist/{telemetry-N5OOVBCP.js → telemetry-BEVI64BB.js} +3 -3
  148. package/dist/{timeline-YUFH65OG.js → timeline-P57FUXJQ.js} +13 -13
  149. package/dist/{tokens-K4VYLSWJ.js → tokens-OUQY6LPD.js} +2 -2
  150. package/dist/{transcribe-GMQXKDYN.js → transcribe-CK66VIU4.js} +6 -6
  151. package/dist/{transcribe-CY4CVO54.js → transcribe-QUPX67KC.js} +12 -12
  152. package/dist/{updateCheck-2625RXK4.js → updateCheck-XZ43CH3L.js} +2 -2
  153. package/dist/{upgrade-6ZY5MSBQ.js → upgrade-7QQNGI7I.js} +2 -2
  154. package/dist/{urlDownloader-PVJWG7V3.js → urlDownloader-ESAEL6YX.js} +2 -2
  155. package/dist/{validate-XSRHEE7E.js → validate-5GZ6KFRU.js} +19 -19
  156. package/dist/{video-MBFHC54F.js → video-AQNVR6PE.js} +3 -3
  157. package/dist/warmCheck.js +32 -33
  158. package/package.json +1 -1
  159. package/dist/chunk-KANNRHY7.js +0 -53
@@ -1,4 +1,4 @@
1
- "use strict";var HyperframesPlayer=(()=>{var Ge=Object.defineProperty;var ti=Object.getOwnPropertyDescriptor;var ni=Object.getOwnPropertyNames;var ii=Object.prototype.hasOwnProperty;var ri=(t,e)=>{for(var n in e)Ge(t,n,{get:e[n],enumerable:!0})},oi=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ni(e))!ii.call(t,r)&&r!==n&&Ge(t,r,{get:()=>e[r],enumerable:!(i=ti(e,r))||i.enumerable});return t};var ai=t=>oi(Ge({},"__esModule",{value:!0}),t);var Zr={};ri(Zr,{HyperframesPlayer:()=>He,SPEED_PRESETS:()=>ut,formatSpeed:()=>se,formatTime:()=>Ce});var Ct=t=>t!==null&&Number.isFinite(t)&&t>0;function ve(t){let e=t.clipEndsSeconds.filter(i=>i===null).length;if(Ct(t.authoredDurationSeconds))return{seconds:t.authoredDurationSeconds,source:"authored",pendingClips:e};let n=t.clipEndsSeconds.filter(Ct);return n.length>0?{seconds:Math.max(...n),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var si="http://www.w3.org/1999/xhtml";function Dt(t){return t!=null&&t.nodeType===1}function We(t){return Dt(t)&&t.namespaceURI===si}function Be(t,e){return We(t)&&t.localName===e}function ui(t){return Be(t,"video")}function li(t){return Be(t,"audio")}function M(t){return ui(t)||li(t)}function $e(t){return Be(t,"img")}function Ae(t){if(t==null||t.trim()==="")return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function Se(t=document){let e=t.querySelector('[data-composition-id][data-root="true"]');return We(e)?e:t.querySelector("[data-composition-id]")}var V=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),ro=Object.freeze([V.start,V.duration,V.trackIndex]),oo=Object.freeze([V.derivedEnd]),ao=Object.freeze([V.derivedEnd,V.legacyTrack]);function ze(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Nt=t=>{let e=ze(t);return e!==null&&e>=0?e:null};function Pt(t){return Nt(t("data-playback-start"))??Nt(t("data-media-start"))??0}var K=.1,J=10;function je(t){return Number.isFinite(t)&&t>0?Math.max(K,Math.min(J,t)):1}function Lt(t,e=1){let n=Number.parseFloat(t("data-playback-rate")??"");return je(Number.isFinite(n)&&n>0?n:e)}function qe(t){let e=ze(t("data-duration"));return e!==null&&e>0?e:null}function Ot(t,e){let n=qe(t);if(n!==null)return n;let i=ze(t("data-end"));return i!==null?i-e:null}var di=3;function Ye(t,e,n){return Number.isFinite(t)?Math.max(0,t-e)/je(n):null}function Xe(t){let{tag:e,authoredDurationSeconds:n,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=t;if(n!==null&&n>0)return{seconds:n,source:"authored"};if(e==="img")return{seconds:di,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Ye(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Vt="data-fx-chain",uo=Vt.slice(5);var Z=(t="frequency",e="Frequency",n=1e3,i=20,r=2e4)=>({kind:"number",key:t,label:e,unit:"Hz",min:i,max:r,step:1,default:n,scale:"log",automatable:!0}),Ke=(t=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:t,scale:"log",automatable:!0,hint:e}),Ee=(t=-40,e=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:t,max:e,step:.1,default:n,automatable:!0}),Ft={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Ut=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[Z("frequency","Frequency",1e3),Ee(-40,40,0),Ke(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[Z("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[Z("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[Z("frequency","Cutoff",300,20,2e4),Ke(.707),Ft],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[Z("frequency","Cutoff",8e3,100,2e4),Ke(.707),Ft],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times, a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],lo=new Map(Ut.map(t=>[t.id,t]));var co=Ut.map(t=>t.id);function ci(t){return 10**(t/20)}var Ht=ci(12);var Ze="data-automation",vo=Ze.slice(5),Je=1,pi=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Wt(t){if(t===Te)return{kind:"volume"};if(t===Re)return{kind:"rate"};let e=t.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===fi){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,n,i]=e;return!n||!i?null:{kind:"fx",nodeId:n,param:i}}var fi="preset";var hi={min:0,max:Ht,step:.01,unit:"",label:"Volume",scale:"linear",default:1};var bi={min:K,max:J,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function Q(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let e=Number(t);return Number.isFinite(e)?e:null}return null}function gi(t){let e=Q(t);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Bt(t,e){let n=Q(t),i=Q(e);if(n===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(n),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function _i(t){let e=gi(t?.curve),n=Bt(t?.viaX,t?.viaY);return{...e?{curve:e}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function yi(t,e){let n=Q(t?.t),i=Q(t?.v);if(n===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,n),v:r,..._i(t)}}function vi(t,e){let n=t.map(r=>yi(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of n)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,pi)}function Ai(t){let e=[];for(let n of t.lanes){if(!Wt(n.target))continue;let i=n.target===Te?hi:n.target===Re?bi:null,r=vi(n.points??[],i);r.length>0&&e.push({target:n.target,points:r})}return{version:Je,lanes:e}}function $t(t){let e;try{e=JSON.parse(t)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let n=e;if(n.version!==Je)throw new I(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new I("Automation is missing a `lanes` array.");let i=n.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Wt(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Ai({version:Je,lanes:i})}function Si(t,e){return e?Math.pow(t,Math.pow(2,2*e)):t}function Ei(t,e){let n=t-.5,i=e-.5,r=.999,o=1e6,a=n>0?n/(r-t):n<0?-n/(t-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:t+n/u,cy:e+i/u,w:u}}function Ti(t,e,n){let{cx:i,cy:r,w:o}=Ei(e,n),a=2-2*o,s=t*a-1+2*o*i,u=-t*a-2*o*i,d=Ri(s,u,t),m=1-d,g=m*m+2*o*d*m+d*d;return g>0?(2*o*r*d*m+d*d)/g:t}function Ri(t,e,n){if(Math.abs(t)<1e-12)return Math.abs(e)<1e-12?n:-n/e;let i=Math.sqrt(Math.max(0,e*e-4*t*n)),r=(-e+i)/(2*t),o=(-e-i)/(2*t),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):n}function xi(t,e){let n=Bt(e.viaX,e.viaY);return n?Ti(Math.min(1,Math.max(0,t)),n.x,n.y):Si(t,e.curve)}function wi(t,e,n,i){return i==="log"&&t>0&&e>0?Math.exp(Math.log(t)+(Math.log(e)-Math.log(t))*n):t+(e-t)*n}function xe(t,e,n="linear"){let i=t.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],d=i[s],m=d.t-u.t;return m<=0?d.v:wi(u.v,d.v,xi((e-u.t)/m,u),n)}var we=new Map,ki=64;function zt(t,e=Te){let n=`${e}\0${t}`,i=we.get(n);if(i!==void 0)return i;let r=null;try{r=$t(t).lanes.find(o=>o.target===e)??null}catch{r=null}return we.size>ki&&we.clear(),we.set(n,r),r}var jt=48,qt=new WeakMap;function Mi(t){let e=t.points,n=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let m=xe(t,d,"log");r.push(u),o.push(o[o.length-1]+(m+xe(t,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=jt;g+=1)a(Math.max(d,0)+(m-d)*g/jt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:n,lastRate:i}}function Ii(t){let e=qt.get(t);return e||(e=Mi(t),qt.set(t,e)),e}function Ci(t){return typeof t!="number"&&t.points.length>0}function Di(t,e,n){let i=0,r=t.length-1;for(;r-i>1;){let o=i+r>>1;t[o]<=n?i=o:r=o}return e[i]+(e[r]-e[i])*(n-t[i])/(t[r]-t[i])}function Qe(t,e){if(typeof t=="number")return e/t;if(!Ci(t))return e;let{ts:n,ss:i,firstRate:r,lastRate:o}=Ii(t),a=n.length-1;return e<=0?e/r:e>=i[a]?n[a]+(e-i[a])/o:Di(i,n,e)}function Ni(t){return t?zt(t,Re):null}function Yt(t,e){return Ni(t)??e}var wo=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Mo=Object.freeze([v.start,v.duration,v.trackIndex]),Io=Object.freeze([v.derivedEnd]),Co=Object.freeze([v.derivedEnd,v.legacyTrack]);function C(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Jt=/^[A-Za-z0-9_.:-]+$/;function Zt(t,e){let n=t.charCodeAt(e);return n>=48&&n<=57}function Xt(t,e){let n=e;for(;n>=0&&Zt(t,n);)n--;return n}function Pi(t,e){let n=e;for(;n>=0&&(t[n]??"").trim()==="";)n--;return n}function Li(t){let e=t.length-1;if(!Zt(t,e))return null;let n=Xt(t,e);return t[n]==="."&&(n=Xt(t,n-1)),n+1}function Oi(t){let e=Li(t);if(e==null)return null;let n=Pi(t,e-1),i=t[n];if(i!=="+"&&i!=="-")return null;let r=t.slice(0,n).trim();if(!Jt.test(r))return null;let o=Number(t.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function ee(t){let e=(t??"").trim();if(!e)return null;let n=C(e);if(n!=null)return{kind:"absolute",value:n};if(Jt.test(e))return{kind:"reference",refId:e,offset:0};let i=Oi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(t,e,n,i){t.push({code:e,attribute:n,value:i})}function Fi(t,e,n,i){if(e==null||e.trim()==="")return n.defaultStart===void 0?0:n.defaultStart;if(!t)return T(i,"invalid-start",v.start,e),null;if(t.kind==="absolute")return Math.max(0,t.value);let r=n.resolveReferenceEnd?.(t.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+t.offset)}var Vi=1e-9;function Ui(t,e){return Math.abs(t-e)<=Vi}function Hi(t,e,n){let i=C(t);if(i==null){T(n,"deprecated-end",v.derivedEnd,t),T(n,"invalid-end",v.derivedEnd,t);return}if(e==null){T(n,"deprecated-end",v.derivedEnd,t);return}Ui(i,e)||(T(n,"deprecated-end",v.derivedEnd,t),T(n,"conflicting-end",v.derivedEnd,t))}function Gi(t,e,n){let i=C(t);return i==null||i<0?(T(n,"invalid-duration",v.duration,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Wi(t,e,n){T(n,"deprecated-end",v.derivedEnd,t);let i=C(t);return i==null?(T(n,"invalid-end",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(n,"end-before-start",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Bi(t,e,n){let i=t.getAttribute(v.duration),r=t.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Wi(r,e,n);let o=Gi(i,e,n);return r!=null&&Hi(r,o.end,n),o}function Kt(t,e,n,i){let r=C(t);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,t),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:n}}function $i(t,e){let n=t.getAttribute(v.trackIndex),i=t.getAttribute(v.legacyTrack);if(n==null&&i==null)return{trackIndex:0,trackSource:"default"};if(n==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Kt(i,v.legacyTrack,"legacy-layer",e);let r=Kt(n??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=C(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function et(t,e={}){let n=[],i=t.getAttribute(v.start),r=ee(i),o=Fi(r,i,e,n),a=Bi(t,o,n),s=$i(t,n);return{startExpression:r,start:o,...a,...s,diagnostics:n}}function P(t){return C(t)}function te(t){return Lt(e=>t.getAttribute(e),M(t)?t.defaultPlaybackRate:1)}function tt(t){return Yt(t.getAttribute("data-automation"),te(t))}function nt(t){return Pt(e=>t.getAttribute(e))}function U(t,e){return zi(e,nt(t),tt(t))}function it(t){let e=Xe({tag:"video",authoredDurationSeconds:qe(n=>t.getAttribute(n)),sourceDurationSeconds:Number.isFinite(t.duration)?t.duration:null,mediaStartSeconds:nt(t),playbackRate:te(t)});return e.source==="media"?U(t,t.duration):e.seconds}function ke(t,e=0){return!$e(t)||!t.hasAttribute("data-start")&&!t.hasAttribute("data-track-index")?null:Xe({tag:"img",authoredDurationSeconds:Ot(n=>t.getAttribute(n),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function zi(t,e,n){return typeof n=="number"?Ye(t,e,n):Number.isFinite(t)?Qe(n,Math.max(0,t-e)):null}function Qt(){return globalThis}function ne(t,e){if(typeof window>"u")return;let n=Qt(),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)}var ji=t=>t.paused?.()===!0?(t.startTime?.()??0)+(t.totalDuration?.()??0)/Math.abs(t.timeScale?.()||1):0;function ie(t){try{if(typeof t?.duration!="function")return null;let e=t.getChildren?.(!1,!1,!0),n=Array.isArray(e)?e:[],i=Math.max(Number(t.duration()),...n.map(ji));return Number.isFinite(i)?i:null}catch(e){return ne("runtime.timelineDuration",e),null}}var en="data-hf-authored-duration",tn="data-hf-authored-end";function re(t){if(t==null||typeof t=="string"&&t.trim()==="")return null;let e=typeof t=="number"?t:Number(t);return Number.isFinite(e)?e:null}function Me(t){let e=re(t.start);if(e==null)return null;let n=Math.max(0,e),i=re(t.duration),r=re(t.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=re(t.end),s=re(t.authoredEnd),u=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:u==null?null:u-n,end:u}}var H=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),jo=Object.freeze([H.start,H.duration,H.trackIndex]),qo=Object.freeze([H.derivedEnd]),Yo=Object.freeze([H.derivedEnd,H.legacyTrack]);function qi(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var nn=t=>{let e=qi(t);return e!==null&&e>=0?e:null};function Yi(t){return nn(t("data-playback-start"))??nn(t("data-media-start"))??0}var rn="data-hf-media-start-basis";function on(t){return t?.trim().toLowerCase()==="global"?"global":"local"}function Xi(t){return on(t.basis)==="global"?t.authoredStart:t.hostStart+t.authoredStart}function an(t){return un(t)?Xi({authoredStart:t.authoredStart,hostStart:t.hostStart,basis:t.basis}):t.ordinaryStart()}function sn(t){return un(t)&&on(t.basis)==="global"}function un(t){return!t.hasAutoStart&&t.authoredStart!=null&&t.hostStart!==0}function rt(t){return Yi(e=>t.getAttribute(e))}function ln(t,e){return t-rt(e)}function G(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=t.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>n?l.getAttribute(f):null,d=l=>Me({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Me({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(ie(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=d(l)??m(M(l)?U(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||ee(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>ln(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},D=(l,f)=>{let _=ee(l.getAttribute("data-start"));if(!_){let X=A(l);return X?R(X,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let w=s(_.refId);if(!w)return f;let L=R(w,0),be=y(w)??0,ge=Math.min(0,S(l,0));return Math.max(ge,L+be+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let w=D(l,f);return r.set(l,w),w}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:P(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(rn)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return an({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||rt(_)<=0)continue;let w=R(_,0),L=d(_);f.push({start:w,end:L?w+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>M(l)&&sn(k(l))}}function dn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var cn=7200,ot=1/60,oe=t=>t!==null&&t>ot?t:null;function Ki(t){return{width:Ae(t.getAttribute("data-width")),height:Ae(t.getAttribute("data-height"))}}function Ji(t,e){let n=[];for(let i of t.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=ot||n.push(Math.max(0,r)+o)}return oe(ve({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function Zi(t,e){let n=[];for(let r of t.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==t)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let i=P(t.getAttribute("data-duration"));return oe(ve({authoredDurationSeconds:null,clipEndsSeconds:[i,...n]}).seconds)}var Qi=t=>t.hasAttribute("data-composition-id")||t.hasAttribute("data-composition-src");function er(t,e,{unregisteredLottie:n}){let i=[];for(let o of t.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(M(o)||Qi(o))&&i.push(null)}(n||t.querySelector("[data-lottie-src]"))&&i.push(null);let r=ve({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function tr(t){if(t.declared!==null&&Number.isFinite(t.declared)&&t.declared>0)return t.declared;let e=oe(t.timeline()),n=Math.max(0,...t.floors().map(u=>u??0)),i=Number.isFinite(t.fallback)&&t.fallback>ot?t.fallback:0,r=Math.max(n,i),a=e!==null&&e>=cn&&oe(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):oe(n)!==null?s=r:i>0?s=i:s=t.derived(),s>0?s:0}function mn(t){let e=Se(t);if(!e)return null;let n=G({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:t}),i=tr({declared:P(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[Ji(t,{mediaStart:n.resolveMediaStartForElement,mediaDuration:it}),Zi(e,n)],fallback:0,derived:()=>er(e,n,{unregisteredLottie:!1}).seconds??0});return{...Ki(e),fps:dn().canonicalFps,durationSeconds:i}}var pn="hyperframes-studio-preview";var fn="__hfPreviewErrors";function hn(t){return t.hasRuntime||t.runtimeInjected?!1:!!(t.hasNestedCompositions||t.hasTimelines&&t.attempts>=5)}function W(t){return typeof t=="object"&&t!==null}function bn(t){return W(t)&&typeof t.getDuration=="function"}function gn(t){return W(t)&&typeof t.duration=="function"&&typeof t.time=="function"&&typeof t.seek=="function"&&typeof t.play=="function"&&typeof t.pause=="function"}var B="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.188/dist/hyperframe.runtime.iife.js";function ae(t){if(t===null)return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function nr(t){let e=t?.querySelector("[data-composition-id][data-width][data-height]")??t?.querySelector("[data-width][data-height]");if(!e)return null;let n=ae(e.getAttribute("data-width")),i=ae(e.getAttribute("data-height"));return n!==null&&i!==null?{width:n,height:i}:null}function ir(t){return Array.isArray(t)?t.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ie=class{constructor(e,n){this._iframe=e;this._callbacks=n}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let n=null;try{n=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(n={kind:"error",message:i instanceof Error?i.message:String(i)})}n??=this._deadlineOutcome(e),n&&(this.stop(),n.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(n.message)):this._callbacks.onReady(n.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let n=this._iframe.contentWindow;if(!n)return null;let i=ir(Reflect.get(n,fn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(n,"__timelines"),a=this.hasRuntimeBridge(n);if(hn({hasRuntime:a,hasTimelines:W(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(n,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,n){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=n?mn(n)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:nr(n)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return W(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let n=e.createElement("script");n.src=this._callbacks.resolveRuntimeUrl?.()??B,this._runtimeScript=n,n.onerror=()=>{this._runtimeScript!==n||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+n.src))},(e.head||e.documentElement).appendChild(n),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let n=Reflect.get(e,"__timelines");if(!W(n))return null;let i=Object.keys(n);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in n?r:i[i.length-1],a=n[o];return gn(a)?a:null}_resolvePlaybackDurationAdapter(e){let n=Reflect.get(e,"__player");if(bn(n))return{kind:"runtime",getDuration:()=>n.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var _n=`
1
+ "use strict";var HyperframesPlayer=(()=>{var Ge=Object.defineProperty;var ti=Object.getOwnPropertyDescriptor;var ni=Object.getOwnPropertyNames;var ii=Object.prototype.hasOwnProperty;var ri=(t,e)=>{for(var n in e)Ge(t,n,{get:e[n],enumerable:!0})},oi=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ni(e))!ii.call(t,r)&&r!==n&&Ge(t,r,{get:()=>e[r],enumerable:!(i=ti(e,r))||i.enumerable});return t};var ai=t=>oi(Ge({},"__esModule",{value:!0}),t);var Zr={};ri(Zr,{HyperframesPlayer:()=>He,SPEED_PRESETS:()=>ut,formatSpeed:()=>se,formatTime:()=>Ce});var Ct=t=>t!==null&&Number.isFinite(t)&&t>0;function ve(t){let e=t.clipEndsSeconds.filter(i=>i===null).length;if(Ct(t.authoredDurationSeconds))return{seconds:t.authoredDurationSeconds,source:"authored",pendingClips:e};let n=t.clipEndsSeconds.filter(Ct);return n.length>0?{seconds:Math.max(...n),source:"derived",pendingClips:e}:{seconds:null,source:"unresolved",pendingClips:e,reason:e>0?"every clip's length is still pending":"no authored duration and no clip with a length"}}var si="http://www.w3.org/1999/xhtml";function Dt(t){return t!=null&&t.nodeType===1}function We(t){return Dt(t)&&t.namespaceURI===si}function Be(t,e){return We(t)&&t.localName===e}function ui(t){return Be(t,"video")}function li(t){return Be(t,"audio")}function M(t){return ui(t)||li(t)}function $e(t){return Be(t,"img")}function Ae(t){if(t==null||t.trim()==="")return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function Se(t=document){let e=t.querySelector('[data-composition-id][data-root="true"]');return We(e)?e:t.querySelector("[data-composition-id]")}var V=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),ro=Object.freeze([V.start,V.duration,V.trackIndex]),oo=Object.freeze([V.derivedEnd]),ao=Object.freeze([V.derivedEnd,V.legacyTrack]);function ze(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Nt=t=>{let e=ze(t);return e!==null&&e>=0?e:null};function Pt(t){return Nt(t("data-playback-start"))??Nt(t("data-media-start"))??0}var K=.1,J=10;function je(t){return Number.isFinite(t)&&t>0?Math.max(K,Math.min(J,t)):1}function Lt(t,e=1){let n=Number.parseFloat(t("data-playback-rate")??"");return je(Number.isFinite(n)&&n>0?n:e)}function qe(t){let e=ze(t("data-duration"));return e!==null&&e>0?e:null}function Ot(t,e){let n=qe(t);if(n!==null)return n;let i=ze(t("data-end"));return i!==null?i-e:null}var di=3;function Ye(t,e,n){return Number.isFinite(t)?Math.max(0,t-e)/je(n):null}function Xe(t){let{tag:e,authoredDurationSeconds:n,sourceDurationSeconds:i,mediaStartSeconds:r,playbackRate:o}=t;if(n!==null&&n>0)return{seconds:n,source:"authored"};if(e==="img")return{seconds:di,source:"default"};if(i===null)return{seconds:null,source:"pending",reason:"source duration not yet probed"};let a=Ye(i,r,o);return a===null?{seconds:null,source:"pending",reason:"source reported a non-finite duration"}:{seconds:a,source:"media"}}var Vt="data-fx-chain",uo=Vt.slice(5);var Z=(t="frequency",e="Frequency",n=1e3,i=20,r=2e4)=>({kind:"number",key:t,label:e,unit:"Hz",min:i,max:r,step:1,default:n,scale:"log",automatable:!0}),Ke=(t=.707,e="Bandwidth: higher is narrower.")=>({kind:"number",key:"q",label:"Q",unit:"",min:.1,max:20,step:.01,default:t,scale:"log",automatable:!0,hint:e}),Ee=(t=-40,e=40,n=0)=>({kind:"number",key:"gain",label:"Gain",unit:"dB",min:t,max:e,step:.1,default:n,automatable:!0}),Ft={kind:"enum",key:"poles",label:"Slope",options:[{value:"1",label:"6 dB/oct"},{value:"2",label:"12 dB/oct"}],default:"2",hint:"Two poles is the usual biquad; one pole is gentler."},Ut=[{id:"gain",label:"Gain",group:"dynamics",description:"Raise or lower the whole signal. Automate it to duck under something else.",params:[Ee(-60,12,0)],web:"gain-node"},{id:"peaking",label:"Peaking EQ",group:"filter",description:"Boost or cut a band, leaving everything either side alone.",params:[Z("frequency","Frequency",1e3),Ee(-40,40,0),Ke(1)],web:"biquad-peaking"},{id:"lowshelf",label:"Low Shelf",group:"filter",description:"Lift or drop everything below the corner frequency.",params:[Z("frequency","Frequency",200,20,2e3),Ee(-40,40,0)],web:"biquad-lowshelf"},{id:"highshelf",label:"High Shelf",group:"filter",description:"Lift or drop everything above the corner frequency.",params:[Z("frequency","Frequency",4e3,500,2e4),Ee(-40,40,0)],web:"biquad-highshelf"},{id:"highpass",label:"High-pass",group:"filter",description:"Remove low frequencies: the usual fix for rumble on a voice.",params:[Z("frequency","Cutoff",300,20,2e4),Ke(.707),Ft],web:"biquad-highpass"},{id:"lowpass",label:"Low-pass",group:"filter",description:"Remove high frequencies, which darkens or muffles a track.",params:[Z("frequency","Cutoff",8e3,100,2e4),Ke(.707),Ft],web:"biquad-lowpass"},{id:"compressor",label:"Compressor",group:"dynamics",description:"Pull loud parts down so the quiet ones can come up.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-60,max:0,step:.5,default:-24,hint:"Level above which the compressor starts working."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:4},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:2e3,step:.1,default:20,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:250,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83,hint:"1 is a hard corner; higher eases into it."},{kind:"number",key:"makeup",label:"Makeup",unit:"dB",min:0,max:36,step:.1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1,hint:"Below 1 blends the dry signal back in."}],web:"worklet-compressor"},{id:"limiter",label:"Limiter",group:"dynamics",description:"Peak limiter that follows the signal's level. It has no lookahead, so a fast peak or an inter-sample peak can pass the ceiling; use the true-peak limiter for a delivery limit.",params:[{kind:"number",key:"limit",label:"Ceiling",unit:"dB",min:-24,max:0,step:.1,default:-1},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.1,max:80,step:.1,default:5},{kind:"number",key:"release",label:"Release",unit:"ms",min:1,max:8e3,step:1,default:50,scale:"log"},{kind:"number",key:"level_out",label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0}],web:"worklet-limiter"},{id:"truepeak",label:"True-peak limiter",group:"dynamics",description:"Lookahead limiter that holds a 4x estimate of the inter-sample peak at a dBTP ceiling; full-band noise can land up to about 1.7 dB above it. Adds lookahead plus about 0.3 ms of latency.",params:[{kind:"number",key:"ceiling",label:"Ceiling",unit:"dBTP",min:-24,max:0,step:.1,default:-1,hint:"Target true peak, measured on a 4x oversampled signal. Dense full-band sound can end up to about 1.7 dB above it."},{kind:"number",key:"lookahead",label:"Lookahead",unit:"ms",min:.5,max:10,step:.1,default:3,hint:"How far ahead the gain starts falling. Longer is smoother and adds the same latency."},{kind:"number",key:"release",label:"Release",unit:"ms",min:10,max:2e3,step:1,default:80,scale:"log"}],web:"worklet-truepeak"},{id:"gate",label:"Noise Gate",group:"dynamics",description:"Silence the track when it drops below the threshold.",params:[{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-80,max:0,step:.5,default:-35},{kind:"number",key:"range",label:"Range",unit:"dB",min:-80,max:0,step:.5,default:-24,hint:"How far down the gate pulls when closed."},{kind:"number",key:"ratio",label:"Ratio",unit:":1",min:1,max:20,step:.1,default:10},{kind:"number",key:"attack",label:"Attack",unit:"ms",min:.01,max:9e3,step:.1,default:1,scale:"log"},{kind:"number",key:"release",label:"Release",unit:"ms",min:.01,max:9e3,step:1,default:100,scale:"log"},{kind:"number",key:"knee",label:"Knee",unit:"",min:1,max:8,step:.01,default:2.83}],web:"worklet-gate"},{id:"saturate",label:"Saturation",group:"nonlinear",description:"Soft-clip the waveform for warmth or outright distortion.",params:[{kind:"enum",key:"type",label:"Curve",options:[{value:"tanh",label:"Tanh"},{value:"atan",label:"Arctan"},{value:"cubic",label:"Cubic"},{value:"exp",label:"Exponential"},{value:"alg",label:"Algebraic"},{value:"quintic",label:"Quintic"},{value:"sin",label:"Sine"},{value:"erf",label:"Error function"},{value:"hard",label:"Hard clip"}],default:"tanh"},{kind:"number",key:"threshold",label:"Threshold",unit:"dB",min:-40,max:0,step:.1,default:-6},{kind:"number",key:"output",automatable:!0,label:"Output",unit:"dB",min:-24,max:24,step:.1,default:0},{kind:"number",key:"oversample",label:"Oversample",unit:"x",min:1,max:8,step:1,default:4,hint:"Higher costs more but keeps aliasing down."}],web:"waveshaper"},{id:"bitcrush",label:"Bitcrush",group:"nonlinear",description:"Drop bit depth and sample rate for a lo-fi, digital sound.",params:[{kind:"number",key:"bits",label:"Bit depth",unit:"bit",min:1,max:32,step:.1,default:8},{kind:"number",key:"samples",label:"Sample hold",unit:"x",min:1,max:250,step:1,default:1,hint:"Repeats each sample N times, a crude downsample."},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-bitcrush"},{id:"pitchshift",label:"Pitch shift",group:"time",description:"Shifts pitch up or down without changing playback speed. Adds ~50 ms of latency.",params:[{kind:"number",key:"semitones",label:"Semitones",unit:"st",min:-12,max:12,step:1,default:0},{kind:"number",key:"mix",label:"Mix",unit:"",min:0,max:1,step:.01,default:1}],web:"worklet-pitchshift"},{id:"delay",label:"Delay",group:"time",description:"Repeating echoes behind the dry signal.",params:[{kind:"number",key:"time",automatable:!0,label:"Time",unit:"ms",min:1,max:5e3,step:1,default:250,scale:"log"},{kind:"number",key:"feedback",automatable:!0,label:"Feedback",unit:"",min:.01,max:.95,step:.01,default:.35},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.4}],web:"delay-feedback"},{id:"chorus",label:"Chorus",group:"time",description:"Detuned copies of the signal for width and thickness.",params:[{kind:"number",key:"delay",automatable:!0,label:"Delay",unit:"ms",min:1,max:100,step:.1,default:7},{kind:"number",key:"depth",automatable:!0,label:"Depth",unit:"ms",min:0,max:10,step:.01,default:2},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.01,max:10,step:.01,default:1},{kind:"number",key:"mix",automatable:!0,label:"Mix",unit:"",min:0,max:1,step:.01,default:.5}],web:"chorus-lfo"},{id:"phaser",label:"Phaser",group:"time",description:"Sweeping notches moving through the spectrum.",params:[{kind:"number",key:"in_gain",automatable:!0,label:"Input",unit:"",min:0,max:1,step:.01,default:.4},{kind:"number",key:"out_gain",automatable:!0,label:"Output",unit:"",min:0,max:2,step:.01,default:.74},{kind:"number",key:"delay",label:"Delay",unit:"ms",min:.1,max:5,step:.1,default:3},{kind:"number",key:"decay",label:"Decay",unit:"",min:0,max:.99,step:.01,default:.4},{kind:"number",key:"speed",automatable:!0,label:"Rate",unit:"Hz",min:.1,max:2,step:.01,default:.5},{kind:"enum",key:"type",label:"Waveform",options:[{value:"0",label:"Triangular"},{value:"1",label:"Sinusoidal"}],default:"0"}],web:"allpass-phaser"},{id:"reverb",label:"Reverb",group:"time",description:"Room tail. Both ends convolve the same generated impulse, so preview matches render.",params:[{kind:"number",key:"size",label:"Room size",unit:"",min:.05,max:1,step:.01,default:.7},{kind:"number",key:"damping",label:"Damping",unit:"",min:0,max:1,step:.01,default:.5,hint:"Higher rolls the top off the tail faster."},{kind:"number",key:"wet",automatable:!0,label:"Wet",unit:"",min:0,max:1,step:.01,default:.35},{kind:"number",key:"dry",automatable:!0,label:"Dry",unit:"",min:0,max:1,step:.01,default:.7}],web:"convolver"}],lo=new Map(Ut.map(t=>[t.id,t]));var co=Ut.map(t=>t.id);function ci(t){return 10**(t/20)}var Ht=ci(12);var Ze="data-automation",vo=Ze.slice(5),Je=1,pi=512,I=class extends Error{constructor(e){super(e),this.name="AudioAutomationError"}},Te="volume",Re="rate";function Wt(t){if(t===Te)return{kind:"volume"};if(t===Re)return{kind:"rate"};let e=t.split(".");if(e.length===3&&e[0]==="fx"&&e[1]===fi){let r=e[2];return r?{kind:"preset",presetId:r}:null}if(e.length!==3||e[0]!=="fx")return null;let[,n,i]=e;return!n||!i?null:{kind:"fx",nodeId:n,param:i}}var fi="preset";var hi={min:0,max:Ht,step:.01,unit:"",label:"Volume",scale:"linear",default:1};var bi={min:K,max:J,step:.05,unit:"x",label:"Speed",scale:"log",default:1};function Q(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let e=Number(t);return Number.isFinite(e)?e:null}return null}function gi(t){let e=Q(t);return e===null||e===0?0:Math.min(1,Math.max(-1,e))}function Bt(t,e){let n=Q(t),i=Q(e);if(n===null||i===null)return null;let r=s=>Math.min(.999,Math.max(.001,s)),o=r(n),a=r(i);return Math.abs(o-a)<1e-6?null:{x:o,y:a}}function _i(t){let e=gi(t?.curve),n=Bt(t?.viaX,t?.viaY);return{...e?{curve:e}:{},...n?{viaX:n.x,viaY:n.y}:{}}}function yi(t,e){let n=Q(t?.t),i=Q(t?.v);if(n===null||i===null)return null;let r=e?Math.min(e.max,Math.max(e.min,i)):i;return{t:Math.max(0,n),v:r,..._i(t)}}function vi(t,e){let n=t.map(r=>yi(r,e)).filter(r=>r!==null).sort((r,o)=>r.t-o.t),i=[];for(let r of n)i.length>0&&i[i.length-1].t===r.t?i[i.length-1]=r:i.push(r);return i.slice(0,pi)}function Ai(t){let e=[];for(let n of t.lanes){if(!Wt(n.target))continue;let i=n.target===Te?hi:n.target===Re?bi:null,r=vi(n.points??[],i);r.length>0&&e.push({target:n.target,points:r})}return{version:Je,lanes:e}}function $t(t){let e;try{e=JSON.parse(t)}catch(r){throw new I(`Automation is not valid JSON: ${r.message}`)}if(typeof e!="object"||e===null)throw new I("Automation must be a JSON object.");let n=e;if(n.version!==Je)throw new I(`Unsupported automation version: ${String(n.version)}`);if(!Array.isArray(n.lanes))throw new I("Automation is missing a `lanes` array.");let i=n.lanes.map((r,o)=>{if(typeof r!="object"||r===null)throw new I(`Lane ${o} is not an object.`);let a=r;if(typeof a.target!="string"||!Wt(a.target))throw new I(`Lane ${o} has an unreadable target: ${String(a.target)}`);if(!Array.isArray(a.points))throw new I(`Lane ${o} is missing a \`points\` array.`);return{target:a.target,points:a.points}});return Ai({version:Je,lanes:i})}function Si(t,e){return e?Math.pow(t,Math.pow(2,2*e)):t}function Ei(t,e){let n=t-.5,i=e-.5,r=.999,o=1e6,a=n>0?n/(r-t):n<0?-n/(t-(1-r)):0,s=i>0?i/(r-e):i<0?-i/(e-(1-r)):0,u=Math.min(o,Math.max(1,a,s));return{cx:t+n/u,cy:e+i/u,w:u}}function Ti(t,e,n){let{cx:i,cy:r,w:o}=Ei(e,n),a=2-2*o,s=t*a-1+2*o*i,u=-t*a-2*o*i,d=Ri(s,u,t),m=1-d,g=m*m+2*o*d*m+d*d;return g>0?(2*o*r*d*m+d*d)/g:t}function Ri(t,e,n){if(Math.abs(t)<1e-12)return Math.abs(e)<1e-12?n:-n/e;let i=Math.sqrt(Math.max(0,e*e-4*t*n)),r=(-e+i)/(2*t),o=(-e-i)/(2*t),a=s=>s>=-1e-9&&s<=1+1e-9;return a(r)?Math.min(1,Math.max(0,r)):a(o)?Math.min(1,Math.max(0,o)):n}function xi(t,e){let n=Bt(e.viaX,e.viaY);return n?Ti(Math.min(1,Math.max(0,t)),n.x,n.y):Si(t,e.curve)}function wi(t,e,n,i){return i==="log"&&t>0&&e>0?Math.exp(Math.log(t)+(Math.log(e)-Math.log(t))*n):t+(e-t)*n}function xe(t,e,n="linear"){let i=t.points;if(i.length===0)return 0;let r=i[0];if(e<=r.t)return r.v;let o=i[i.length-1];if(e>=o.t)return o.v;let a=0,s=i.length-1;for(;s-a>1;){let g=a+s>>1;i[g].t<=e?a=g:s=g}let u=i[a],d=i[s],m=d.t-u.t;return m<=0?d.v:wi(u.v,d.v,xi((e-u.t)/m,u),n)}var we=new Map,ki=64;function zt(t,e=Te){let n=`${e}\0${t}`,i=we.get(n);if(i!==void 0)return i;let r=null;try{r=$t(t).lanes.find(o=>o.target===e)??null}catch{r=null}return we.size>ki&&we.clear(),we.set(n,r),r}var jt=48,qt=new WeakMap;function Mi(t){let e=t.points,n=e[0].v,i=e[e.length-1].v,r=[0],o=[0],a=u=>{let d=r[r.length-1];if(u<=d)return;let m=xe(t,d,"log");r.push(u),o.push(o[o.length-1]+(m+xe(t,u,"log"))/2*(u-d))},s=Math.max(0,e[0].t);a(s);for(let u=1;u<e.length;u+=1){let d=e[u-1].t,m=e[u].t;if(!(m<=0))for(let g=1;g<=jt;g+=1)a(Math.max(d,0)+(m-d)*g/jt)}return{ts:Float64Array.from(r),ss:Float64Array.from(o),firstRate:n,lastRate:i}}function Ii(t){let e=qt.get(t);return e||(e=Mi(t),qt.set(t,e)),e}function Ci(t){return typeof t!="number"&&t.points.length>0}function Di(t,e,n){let i=0,r=t.length-1;for(;r-i>1;){let o=i+r>>1;t[o]<=n?i=o:r=o}return e[i]+(e[r]-e[i])*(n-t[i])/(t[r]-t[i])}function Qe(t,e){if(typeof t=="number")return e/t;if(!Ci(t))return e;let{ts:n,ss:i,firstRate:r,lastRate:o}=Ii(t),a=n.length-1;return e<=0?e/r:e>=i[a]?n[a]+(e-i[a])/o:Di(i,n,e)}function Ni(t){return t?zt(t,Re):null}function Yt(t,e){return Ni(t)??e}var wo=[{id:"montage",label:"Montage",points:[[0,.9],[.15,.3],[.5,2.5],[.85,.3],[1,.9]]},{id:"hero",label:"Hero",points:[[0,1],[.25,1.6],[.5,.25],[.75,1.6],[1,1]]},{id:"bullet",label:"Bullet",points:[[0,3],[.4,3],[.5,.15],[.6,3],[1,3]]},{id:"jump-cut",label:"Jump cut",points:[[0,.5],[.24,.5],[.26,3],[.5,3],[.52,.5],[.74,.5],[.76,3],[1,3]]},{id:"flash-in",label:"Flash in",points:[[0,.3],[.6,.6],[1,5]]},{id:"flash-out",label:"Flash out",points:[[0,5],[.4,.6],[1,.3]]},{id:"ramp-in",label:"Ramp in",points:[[0,.5],[1,1]]},{id:"ramp-out",label:"Ramp out",points:[[0,1],[1,.5]]},{id:"slowmo-middle",label:"Slow-mo middle",points:[[0,1],[1/3,.35],[2/3,.35],[1,1]]}];var v=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),Mo=Object.freeze([v.start,v.duration,v.trackIndex]),Io=Object.freeze([v.derivedEnd]),Co=Object.freeze([v.derivedEnd,v.legacyTrack]);function C(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var Jt=/^[A-Za-z0-9_.:-]+$/;function Zt(t,e){let n=t.charCodeAt(e);return n>=48&&n<=57}function Xt(t,e){let n=e;for(;n>=0&&Zt(t,n);)n--;return n}function Pi(t,e){let n=e;for(;n>=0&&(t[n]??"").trim()==="";)n--;return n}function Li(t){let e=t.length-1;if(!Zt(t,e))return null;let n=Xt(t,e);return t[n]==="."&&(n=Xt(t,n-1)),n+1}function Oi(t){let e=Li(t);if(e==null)return null;let n=Pi(t,e-1),i=t[n];if(i!=="+"&&i!=="-")return null;let r=t.slice(0,n).trim();if(!Jt.test(r))return null;let o=Number(t.slice(e));return Number.isFinite(o)?{refId:r,operator:i,magnitude:o}:null}function ee(t){let e=(t??"").trim();if(!e)return null;let n=C(e);if(n!=null)return{kind:"absolute",value:n};if(Jt.test(e))return{kind:"reference",refId:e,offset:0};let i=Oi(e);return i?{kind:"reference",refId:i.refId,offset:i.operator==="-"?-i.magnitude:i.magnitude}:null}function T(t,e,n,i){t.push({code:e,attribute:n,value:i})}function Fi(t,e,n,i){if(e==null||e.trim()==="")return n.defaultStart===void 0?0:n.defaultStart;if(!t)return T(i,"invalid-start",v.start,e),null;if(t.kind==="absolute")return Math.max(0,t.value);let r=n.resolveReferenceEnd?.(t.refId);return r==null||!Number.isFinite(r)?(T(i,"unresolved-start-reference",v.start,e),null):Math.max(0,r+t.offset)}var Vi=1e-9;function Ui(t,e){return Math.abs(t-e)<=Vi}function Hi(t,e,n){let i=C(t);if(i==null){T(n,"deprecated-end",v.derivedEnd,t),T(n,"invalid-end",v.derivedEnd,t);return}if(e==null){T(n,"deprecated-end",v.derivedEnd,t);return}Ui(i,e)||(T(n,"deprecated-end",v.derivedEnd,t),T(n,"conflicting-end",v.derivedEnd,t))}function Gi(t,e,n){let i=C(t);return i==null||i<0?(T(n,"invalid-duration",v.duration,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i,end:e==null?null:e+i,durationSource:"duration"}}function Wi(t,e,n){T(n,"deprecated-end",v.derivedEnd,t);let i=C(t);return i==null?(T(n,"invalid-end",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):e==null?{duration:null,end:i,durationSource:"legacy-end"}:i<e?(T(n,"end-before-start",v.derivedEnd,t),{duration:null,end:null,durationSource:"invalid"}):{duration:i-e,end:i,durationSource:"legacy-end"}}function Bi(t,e,n){let i=t.getAttribute(v.duration),r=t.getAttribute(v.derivedEnd);if(i==null)return r==null?{duration:null,end:null,durationSource:"missing"}:Wi(r,e,n);let o=Gi(i,e,n);return r!=null&&Hi(r,o.end,n),o}function Kt(t,e,n,i){let r=C(t);return r==null||!Number.isInteger(r)?(T(i,"invalid-track-index",e,t),{trackIndex:0,trackSource:"invalid"}):{trackIndex:r,trackSource:n}}function $i(t,e){let n=t.getAttribute(v.trackIndex),i=t.getAttribute(v.legacyTrack);if(n==null&&i==null)return{trackIndex:0,trackSource:"default"};if(n==null&&i!=null)return T(e,"deprecated-layer",v.legacyTrack,i),Kt(i,v.legacyTrack,"legacy-layer",e);let r=Kt(n??"",v.trackIndex,"track-index",e);if(i==null)return r;T(e,"deprecated-layer",v.legacyTrack,i);let o=C(i);return o!=null&&o!==r.trackIndex&&T(e,"conflicting-layer",v.legacyTrack,i),r}function et(t,e={}){let n=[],i=t.getAttribute(v.start),r=ee(i),o=Fi(r,i,e,n),a=Bi(t,o,n),s=$i(t,n);return{startExpression:r,start:o,...a,...s,diagnostics:n}}function P(t){return C(t)}function te(t){return Lt(e=>t.getAttribute(e),M(t)?t.defaultPlaybackRate:1)}function tt(t){return Yt(t.getAttribute("data-automation"),te(t))}function nt(t){return Pt(e=>t.getAttribute(e))}function U(t,e){return zi(e,nt(t),tt(t))}function it(t){let e=Xe({tag:"video",authoredDurationSeconds:qe(n=>t.getAttribute(n)),sourceDurationSeconds:Number.isFinite(t.duration)?t.duration:null,mediaStartSeconds:nt(t),playbackRate:te(t)});return e.source==="media"?U(t,t.duration):e.seconds}function ke(t,e=0){return!$e(t)||!t.hasAttribute("data-start")&&!t.hasAttribute("data-track-index")?null:Xe({tag:"img",authoredDurationSeconds:Ot(n=>t.getAttribute(n),e),sourceDurationSeconds:null,mediaStartSeconds:0,playbackRate:1}).seconds}function zi(t,e,n){return typeof n=="number"?Ye(t,e,n):Number.isFinite(t)?Qe(n,Math.max(0,t-e)):null}function Qt(){return globalThis}function ne(t,e){if(typeof window>"u")return;let n=Qt(),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)}var ji=t=>t.paused?.()===!0?(t.startTime?.()??0)+(t.totalDuration?.()??0)/Math.abs(t.timeScale?.()||1):0;function ie(t){try{if(typeof t?.duration!="function")return null;let e=t.getChildren?.(!1,!1,!0),n=Array.isArray(e)?e:[],i=Math.max(Number(t.duration()),...n.map(ji));return Number.isFinite(i)?i:null}catch(e){return ne("runtime.timelineDuration",e),null}}var en="data-hf-authored-duration",tn="data-hf-authored-end";function re(t){if(t==null||typeof t=="string"&&t.trim()==="")return null;let e=typeof t=="number"?t:Number(t);return Number.isFinite(e)?e:null}function Me(t){let e=re(t.start);if(e==null)return null;let n=Math.max(0,e),i=re(t.duration),r=re(t.authoredDuration),o=i!=null&&i>0?i:r!=null&&r>0?r:null;if(o!=null)return{start:n,duration:o,end:n+o};let a=re(t.end),s=re(t.authoredEnd),u=a!=null&&a>n?a:s!=null&&s>n?s:null;return{start:n,duration:u==null?null:u-n,end:u}}var H=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),jo=Object.freeze([H.start,H.duration,H.trackIndex]),qo=Object.freeze([H.derivedEnd]),Yo=Object.freeze([H.derivedEnd,H.legacyTrack]);function qi(t){if(t==null||t.trim()==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}var nn=t=>{let e=qi(t);return e!==null&&e>=0?e:null};function Yi(t){return nn(t("data-playback-start"))??nn(t("data-media-start"))??0}var rn="data-hf-media-start-basis";function on(t){return t?.trim().toLowerCase()==="global"?"global":"local"}function Xi(t){return on(t.basis)==="global"?t.authoredStart:t.hostStart+t.authoredStart}function an(t){return un(t)?Xi({authoredStart:t.authoredStart,hostStart:t.hostStart,basis:t.basis}):t.ordinaryStart()}function sn(t){return un(t)&&on(t.basis)==="global"}function un(t){return!t.hasAutoStart&&t.authoredStart!=null&&t.hostStart!==0}function rt(t){return Yi(e=>t.getAttribute(e))}function ln(t,e){return t-rt(e)}function G(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=t.documentRef??document,r=new WeakMap,o=new WeakMap,a=new Set,s=l=>{let f=i.getElementById(l);return f||(Array.from(i.querySelectorAll("[data-composition-id]")).find(_=>_.getAttribute("data-composition-id")===l)??null)},u=(l,f)=>n?l.getAttribute(f):null,d=l=>Me({start:0,duration:l.getAttribute("data-duration"),authoredDuration:u(l,"data-hf-authored-duration")})?.duration??Me({start:R(l,0),end:l.getAttribute("data-end"),authoredEnd:u(l,"data-hf-authored-end")})?.duration??null,m=l=>l!=null&&Number.isFinite(l)&&l>0?l:null,g=l=>{let f=l.getAttribute("data-composition-id");return f?m(ie(e[f])):null},y=l=>{let f=o.get(l);if(f!==void 0)return f;let _=d(l)??m(M(l)?U(l,l.duration):null)??m(ke(l))??g(l);return o.set(l,_),_},h=l=>l.hasAttribute("data-composition-src")||l.hasAttribute("data-composition-id")||l.hasAttribute("data-composition-file"),A=l=>{let f=l.parentElement;return!f||!l.hasAttribute("data-composition-id")||ee(l.getAttribute("data-start"))?null:h(f)?f:null},b=(l,f)=>ln(R(l,f),A(l)??l),S=(l,f)=>{let _=l.hasAttribute("data-composition-id")?l.parentElement?.closest("[data-composition-id]"):l.closest("[data-composition-id]");return _?b(_,f):0},D=(l,f)=>{let _=ee(l.getAttribute("data-start"));if(!_){let X=A(l);return X?R(X,f):f}if(_.kind==="absolute")return S(l,f)+Math.max(0,_.value);let w=s(_.refId);if(!w)return f;let L=R(w,0),be=y(w)??0,ge=Math.min(0,S(l,0));return Math.max(ge,L+be+_.offset)},R=(l,f)=>{let _=r.get(l);if(_!==void 0)return _??f;if(a.has(l))return f;a.add(l);try{let w=D(l,f);return r.set(l,w),w}finally{a.delete(l)}},k=l=>{let f=l.closest("[data-composition-id]");return{authoredStart:P(l.getAttribute("data-start")),hostStart:f?b(f,0):0,hasAutoStart:l.hasAttribute("data-hf-auto-start"),basis:l.getAttribute(rn)}};return{resolveStartForElement:(l,f=0)=>R(l,Math.max(0,f)),resolveDurationForElement:l=>y(l),resolveMediaStartForElement:l=>{let f=k(l);return an({...f,ordinaryStart:()=>R(l,f.hostStart)})},resolveHostStartForElement:l=>S(l,0),resolveHostSlotsForElement:l=>{let f=[];for(let _=l.parentElement;_;_=_.parentElement){if(!h(_)||A(_)||rt(_)<=0)continue;let w=R(_,0),L=d(_);f.push({start:w,end:L?w+L:1/0})}return f},isRootGlobalMediaStartForElement:l=>M(l)&&sn(k(l))}}function dn(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var cn=7200,ot=1/60,oe=t=>t!==null&&t>ot?t:null;function Ki(t){return{width:Ae(t.getAttribute("data-width")),height:Ae(t.getAttribute("data-height"))}}function Ji(t,e){let n=[];for(let i of t.querySelectorAll("video[data-start], audio[data-start]")){let r=e.mediaStart(i);if(!Number.isFinite(r))continue;let o=e.mediaDuration(i);o==null||o<=ot||n.push(Math.max(0,r)+o)}return oe(ve({authoredDurationSeconds:null,clipEndsSeconds:n}).seconds)}function Zi(t,e){let n=[];for(let r of t.querySelectorAll("[data-composition-id][data-start]")){if(r.parentElement?.closest("[data-composition-id]")!==t)continue;let o=e.resolveStartForElement(r,0),a=e.resolveDurationForElement(r);!Number.isFinite(o)||a==null||a<=0||n.push(Math.max(0,o)+a)}let i=P(t.getAttribute("data-duration"));return oe(ve({authoredDurationSeconds:null,clipEndsSeconds:[i,...n]}).seconds)}var Qi=t=>t.hasAttribute("data-composition-id")||t.hasAttribute("data-composition-src");function er(t,e,{unregisteredLottie:n}){let i=[];for(let o of t.querySelectorAll("[data-start]")){let a=e.resolveStartForElement(o,0);if(!Number.isFinite(a))continue;let s=e.resolveDurationForElement(o);s!=null?i.push(Math.max(0,a)+s):(M(o)||Qi(o))&&i.push(null)}(n||t.querySelector("[data-lottie-src]"))&&i.push(null);let r=ve({authoredDurationSeconds:null,clipEndsSeconds:i});return r.pendingClips>0?{...r,seconds:null,source:"unresolved",reason:"a clip's length is pending"}:r}function tr(t){if(t.declared!==null&&Number.isFinite(t.declared)&&t.declared>0)return t.declared;let e=oe(t.timeline()),n=Math.max(0,...t.floors().map(u=>u??0)),i=Number.isFinite(t.fallback)&&t.fallback>ot?t.fallback:0,r=Math.max(n,i),a=e!==null&&e>=cn&&oe(r)!==null?null:e,s;return a!==null?s=Math.max(a,r):oe(n)!==null?s=r:i>0?s=i:s=t.derived(),s>0?s:0}function mn(t){let e=Se(t);if(!e)return null;let n=G({timelineRegistry:{},includeAuthoredTimingAttrs:!0,documentRef:t}),i=tr({declared:P(e.getAttribute("data-duration")),timeline:()=>null,floors:()=>[Ji(t,{mediaStart:n.resolveMediaStartForElement,mediaDuration:it}),Zi(e,n)],fallback:0,derived:()=>er(e,n,{unregisteredLottie:!1}).seconds??0});return{...Ki(e),fps:dn().canonicalFps,durationSeconds:i}}var pn="hyperframes-studio-preview";var fn="__hfPreviewErrors";function hn(t){return t.hasRuntime||t.runtimeInjected?!1:!!(t.hasNestedCompositions||t.hasTimelines&&t.attempts>=5)}function W(t){return typeof t=="object"&&t!==null}function bn(t){return W(t)&&typeof t.getDuration=="function"}function gn(t){return W(t)&&typeof t.duration=="function"&&typeof t.time=="function"&&typeof t.seek=="function"&&typeof t.play=="function"&&typeof t.pause=="function"}var B="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.8.189/dist/hyperframe.runtime.iife.js";function ae(t){if(t===null)return null;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:null}function nr(t){let e=t?.querySelector("[data-composition-id][data-width][data-height]")??t?.querySelector("[data-width][data-height]");if(!e)return null;let n=ae(e.getAttribute("data-width")),i=ae(e.getAttribute("data-height"));return n!==null&&i!==null?{width:n,height:i}:null}function ir(t){return Array.isArray(t)?t.find(e=>typeof e=="string"&&e.trim()!==""&&e!=="[object Event]")??null:null}var Ie=class{constructor(e,n){this._iframe=e;this._callbacks=n}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;_runtimeScript=null;_failure=null;get failed(){return this._failure!==null&&this._failure.document===this._iframe.contentDocument}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._failure=null,this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;let n=null;try{n=this._poll(e)}catch(i){i instanceof DOMException&&i.name==="SecurityError"||(n={kind:"error",message:i instanceof Error?i.message:String(i)})}n??=this._deadlineOutcome(e),n&&(this.stop(),n.kind==="error"?(this._failure={document:this._iframe.contentDocument},this._callbacks.onError(n.message)):this._callbacks.onReady(n.result))},200)}_deadlineOutcome(e){return e<40||this._callbacks.hostOwnsDeadline?.()?null:{kind:"error",message:"Composition timeline not found after 8s"}}_poll(e){let n=this._iframe.contentWindow;if(!n)return null;let i=ir(Reflect.get(n,fn));if(i!==null)return{kind:"error",message:i};let r=this._iframe.contentDocument,o=Reflect.get(n,"__timelines"),a=this.hasRuntimeBridge(n);if(hn({hasRuntime:a,hasTimelines:W(o)&&Object.keys(o).length>0,hasNestedCompositions:!!r?.querySelector("[data-composition-src]"),runtimeInjected:this._runtimeInjected,attempts:e}))return this._injectRuntime(),null;if(this._runtimeInjected&&!a)return null;let s=this._resolveReadyResult(n,r);return s?{kind:"ready",result:s}:null}_resolveReadyResult(e,n){let i=this._resolvePlaybackDurationAdapter(e)??{kind:"document",getDuration:()=>0},r=i.getDuration();if(!Number.isFinite(r)||r<=0){if(i.kind==="direct-timeline")return null;r=n?mn(n)?.durationSeconds??0:0}return r<=0?null:{duration:r,adapter:{...i,getDuration:()=>r},compositionSize:nr(n)}}stop(){this._runtimeScript&&(this._runtimeScript.onerror=null,this._runtimeScript=null),this.failed||(this._failure=null),this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return W(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let n=e.createElement("script");n.src=this._callbacks.resolveRuntimeUrl?.()??B,this._runtimeScript=n,n.onerror=()=>{this._runtimeScript!==n||this._iframe.contentDocument!==e||(this.stop(),this._failure={document:e},this._callbacks.onError("HyperFrames runtime failed to load from "+n.src))},(e.head||e.documentElement).appendChild(n),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let n=Reflect.get(e,"__timelines");if(!W(n))return null;let i=Object.keys(n);if(i.length===0)return null;let r=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=r&&r in n?r:i[i.length-1],a=n[o];return gn(a)?a:null}_resolvePlaybackDurationAdapter(e){let n=Reflect.get(e,"__player");if(bn(n))return{kind:"runtime",getDuration:()=>n.getDuration()};let i=this._resolveDirectTimelineAdapterFromWindow(e);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}};var _n=`
2
2
  :host {
3
3
  display: block;
4
4
  position: relative;
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-FSTLXRIN.js";
9
+ } from "./chunk-37EPEFXM.js";
10
10
  import {
11
11
  formatBytes,
12
12
  label
@@ -14,8 +14,8 @@ import {
14
14
  import {
15
15
  ensureDOMParser
16
16
  } from "./chunk-442JNXRM.js";
17
- import "./chunk-6Q5CFUAP.js";
18
- import "./chunk-PMXR3IUH.js";
17
+ import "./chunk-IPEP346Y.js";
18
+ import "./chunk-T37XXYRK.js";
19
19
  import "./chunk-VWG7OQKU.js";
20
20
  import {
21
21
  defineCommand
@@ -25,7 +25,7 @@ import "./chunk-JVBRJMOP.js";
25
25
  import {
26
26
  c
27
27
  } from "./chunk-ZTZA4UWZ.js";
28
- import "./chunk-YV4WT7CJ.js";
28
+ import "./chunk-WYCFMNU3.js";
29
29
  import "./chunk-RQVDTPGD.js";
30
30
  import "./chunk-BPX7LZG6.js";
31
31
  import "./chunk-VC76R6W2.js";
@@ -48,12 +48,12 @@ import "./chunk-I5JRXMCV.js";
48
48
  import "./chunk-W2LGJSEN.js";
49
49
  import {
50
50
  withMeta
51
- } from "./chunk-KWSEIVR6.js";
51
+ } from "./chunk-OHXHBMF4.js";
52
52
  import "./chunk-K4WIOZFP.js";
53
53
  import "./chunk-XUXGIA7H.js";
54
54
  import "./chunk-WERLJGIC.js";
55
55
  import "./chunk-ISN5GRYI.js";
56
- import "./chunk-6HYPEIH7.js";
56
+ import "./chunk-ASZ4IQB4.js";
57
57
  import "./chunk-KNU5COPB.js";
58
58
  import "./chunk-M2WBOQ2Q.js";
59
59
 
@@ -6,24 +6,24 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  gateRegistryItemsCompatibility
9
- } from "./chunk-57XL23DE.js";
9
+ } from "./chunk-ANYBRVPF.js";
10
10
  import {
11
11
  copyDirSync
12
12
  } from "./chunk-CIWX5UKC.js";
13
13
  import {
14
14
  initialModelForLanguage
15
- } from "./chunk-I7C5GUEQ.js";
16
- import "./chunk-NFLZNSUZ.js";
15
+ } from "./chunk-74Y43RJZ.js";
16
+ import "./chunk-TFUAKV6O.js";
17
17
  import {
18
18
  DEFAULT_MODEL,
19
19
  hasFFmpeg
20
- } from "./chunk-6OWNUXTU.js";
20
+ } from "./chunk-6RA4TWGV.js";
21
21
  import "./chunk-WQ6ZXHFQ.js";
22
22
  import {
23
23
  findFFmpeg,
24
24
  findFFprobe,
25
25
  getFFmpegInstallHint
26
- } from "./chunk-NMOTNNP2.js";
26
+ } from "./chunk-3OLOVRWS.js";
27
27
  import {
28
28
  Ee,
29
29
  R,
@@ -43,19 +43,19 @@ import {
43
43
  listRegistryItems,
44
44
  loadAllItems,
45
45
  resolveItemWithDependencies
46
- } from "./chunk-DLFAVRF3.js";
46
+ } from "./chunk-VRQU564T.js";
47
47
  import "./chunk-JHOCK3DG.js";
48
48
  import {
49
49
  installItem
50
- } from "./chunk-HKUZCSNZ.js";
51
- import "./chunk-HPQSUPR7.js";
50
+ } from "./chunk-WMJJCHVQ.js";
51
+ import "./chunk-5HJJEHGE.js";
52
52
  import "./chunk-AWDFDFI3.js";
53
53
  import "./chunk-P6LJ4Y32.js";
54
54
  import "./chunk-GMECXFAN.js";
55
55
  import {
56
56
  trackInitTemplate
57
- } from "./chunk-6Q5CFUAP.js";
58
- import "./chunk-PMXR3IUH.js";
57
+ } from "./chunk-IPEP346Y.js";
58
+ import "./chunk-T37XXYRK.js";
59
59
  import "./chunk-VWG7OQKU.js";
60
60
  import {
61
61
  defineCommand,
@@ -70,9 +70,9 @@ import {
70
70
  c,
71
71
  isColorSupported
72
72
  } from "./chunk-ZTZA4UWZ.js";
73
- import "./chunk-YCW345M4.js";
73
+ import "./chunk-HXM2ISEK.js";
74
74
  import "./chunk-IZCW2NKT.js";
75
- import "./chunk-YV4WT7CJ.js";
75
+ import "./chunk-WYCFMNU3.js";
76
76
  import "./chunk-RQVDTPGD.js";
77
77
  import "./chunk-SMF6YAUL.js";
78
78
  import "./chunk-BPX7LZG6.js";
@@ -111,7 +111,7 @@ import "./chunk-WERLJGIC.js";
111
111
  import "./chunk-ISN5GRYI.js";
112
112
  import {
113
113
  VERSION
114
- } from "./chunk-6HYPEIH7.js";
114
+ } from "./chunk-ASZ4IQB4.js";
115
115
  import "./chunk-KNU5COPB.js";
116
116
  import "./chunk-UOFAE5RF.js";
117
117
  import {
@@ -701,7 +701,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
701
701
  "utf-8"
702
702
  );
703
703
  if (!existsSync2(resolve(destDir, "hyperframes.json"))) {
704
- const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-VJXUXK7U.js");
704
+ const { createProjectConfig, DEFAULT_PROJECT_CONFIG } = await import("./projectConfig-QFVIBT37.js");
705
705
  const { normalizeSkillSlug } = await import("./skill-ZHVLH7KX.js");
706
706
  const skill = normalizeSkillSlug(authoringSkill);
707
707
  createProjectConfig(
@@ -722,7 +722,7 @@ async function scaffoldProject(destDir, name, templateId, media, tailwind = fals
722
722
  }
723
723
  }
724
724
  async function keepSkillsCurrent(destDir) {
725
- const { updateSkills } = await import("./skills-IUTD6VQO.js");
725
+ const { updateSkills } = await import("./skills-EVIDL7PV.js");
726
726
  console.log();
727
727
  console.log(c.bold("Checking AI coding skills against GitHub..."));
728
728
  try {
@@ -926,17 +926,17 @@ var init_default = defineCommand({
926
926
  if (audioPath) {
927
927
  sourceFilePath2 = audioPath;
928
928
  copyFileSync(audioPath, resolve(destDir2, basename(audioPath)));
929
- const { getMediaDurationSeconds } = await import("./transcribe-GMQXKDYN.js");
929
+ const { getMediaDurationSeconds } = await import("./transcribe-CK66VIU4.js");
930
930
  videoDuration2 = getMediaDurationSeconds(audioPath) ?? void 0;
931
931
  console.log(`Audio: ${basename(audioPath)}`);
932
932
  }
933
933
  if (sourceFilePath2 && !skipTranscribe) {
934
934
  try {
935
- const { ensureWhisper, ensureModel } = await import("./manager-3LZKRK7P.js");
935
+ const { ensureWhisper, ensureModel } = await import("./manager-2LSMMZY4.js");
936
936
  await ensureWhisper();
937
937
  await ensureModel(initialTranscriptionModel);
938
938
  console.log("Transcribing...");
939
- const { transcribe: runTranscribe } = await import("./transcribe-GMQXKDYN.js");
939
+ const { transcribe: runTranscribe } = await import("./transcribe-CK66VIU4.js");
940
940
  const result = await runTranscribe(sourceFilePath2, destDir2, {
941
941
  model: modelFlag,
942
942
  language: languageFlag
@@ -1082,7 +1082,7 @@ var init_default = defineCommand({
1082
1082
  mkdirSync(destDir, { recursive: true });
1083
1083
  sourceFilePath = audioPath;
1084
1084
  copyFileSync(audioPath, resolve(destDir, basename(audioPath)));
1085
- const { getMediaDurationSeconds } = await import("./transcribe-GMQXKDYN.js");
1085
+ const { getMediaDurationSeconds } = await import("./transcribe-CK66VIU4.js");
1086
1086
  videoDuration = getMediaDurationSeconds(audioPath) ?? void 0;
1087
1087
  R.info(`Audio copied to ${c.accent(basename(audioPath))}`);
1088
1088
  }
@@ -1092,7 +1092,7 @@ var init_default = defineCommand({
1092
1092
  initialValue: true
1093
1093
  });
1094
1094
  if (!q(transcribeChoice) && transcribeChoice) {
1095
- const { findWhisper } = await import("./manager-3LZKRK7P.js");
1095
+ const { findWhisper } = await import("./manager-2LSMMZY4.js");
1096
1096
  const needsInstall = findWhisper() === void 0;
1097
1097
  if (needsInstall) {
1098
1098
  R.info(c.dim("whisper-cpp not found \u2014 installing automatically..."));
@@ -1102,7 +1102,7 @@ var init_default = defineCommand({
1102
1102
  needsInstall ? "Installing whisper-cpp (this may take a moment)..." : "Preparing transcription..."
1103
1103
  );
1104
1104
  try {
1105
- const { ensureWhisper, ensureModel } = await import("./manager-3LZKRK7P.js");
1105
+ const { ensureWhisper, ensureModel } = await import("./manager-2LSMMZY4.js");
1106
1106
  await ensureWhisper({
1107
1107
  onProgress: (msg) => spin2.message(msg)
1108
1108
  });
@@ -1110,7 +1110,7 @@ var init_default = defineCommand({
1110
1110
  onProgress: (msg) => spin2.message(msg)
1111
1111
  });
1112
1112
  spin2.message("Transcribing audio...");
1113
- const { transcribe: runTranscribe } = await import("./transcribe-GMQXKDYN.js");
1113
+ const { transcribe: runTranscribe } = await import("./transcribe-CK66VIU4.js");
1114
1114
  const transcribeResult = await runTranscribe(sourceFilePath, destDir, {
1115
1115
  model: modelFlag,
1116
1116
  language: languageFlag,
@@ -1188,7 +1188,7 @@ ${c.dim("Use --example blank for offline use.")}`
1188
1188
  }
1189
1189
  R.info("Opening studio preview...");
1190
1190
  try {
1191
- const previewCmd = await import("./preview-ALL7O4RG.js").then((m) => m.default);
1191
+ const previewCmd = await import("./preview-O23BYFAY.js").then((m) => m.default);
1192
1192
  await runCommand(previewCmd, { rawArgs: [destDir] });
1193
1193
  } catch {
1194
1194
  }
@@ -6,45 +6,45 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createInspectCommand
9
- } from "./chunk-2DHCCBCN.js";
10
- import "./chunk-FSTLXRIN.js";
11
- import "./chunk-XPVN4R66.js";
12
- import "./chunk-LWY3PFJ7.js";
9
+ } from "./chunk-TPTQHOXU.js";
10
+ import "./chunk-37EPEFXM.js";
11
+ import "./chunk-CSYSEPWL.js";
12
+ import "./chunk-AQ3L7DVB.js";
13
13
  import "./chunk-X7MTZ4T2.js";
14
14
  import "./chunk-XUHOIDKG.js";
15
- import "./chunk-6HZ7TSJJ.js";
16
- import "./chunk-5DPV7LU3.js";
15
+ import "./chunk-ZPMF6GAQ.js";
16
+ import "./chunk-2CYM34M7.js";
17
17
  import "./chunk-6JR2XUEE.js";
18
18
  import "./chunk-EI7FP7F3.js";
19
- import "./chunk-U6RXZNZE.js";
20
- import "./chunk-LWYZN7HS.js";
19
+ import "./chunk-TMBUBLZB.js";
20
+ import "./chunk-BZQLTNMB.js";
21
21
  import "./chunk-ALVXFXUG.js";
22
- import "./chunk-KDBPZOXK.js";
23
- import "./chunk-FH7WODJH.js";
24
- import "./chunk-MXXX6WVC.js";
22
+ import "./chunk-TREMHDWT.js";
23
+ import "./chunk-HNMDLKA4.js";
25
24
  import "./chunk-MOEGCMKI.js";
26
- import "./chunk-MTPPEEYZ.js";
25
+ import "./chunk-565X6Q4X.js";
27
26
  import "./chunk-DKPNNYBZ.js";
28
- import "./chunk-B2P4JRUJ.js";
27
+ import "./chunk-HUG47UEE.js";
29
28
  import "./chunk-K2FLNJVB.js";
30
- import "./chunk-442JNXRM.js";
31
29
  import "./chunk-EHSBBBR2.js";
32
- import "./chunk-T3OXKSRG.js";
33
- import "./chunk-DG4ME554.js";
30
+ import "./chunk-SGFMCNLY.js";
31
+ import "./chunk-442JNXRM.js";
32
+ import "./chunk-B52BJM5K.js";
33
+ import "./chunk-Z2BW2WJS.js";
34
34
  import "./chunk-XT7X6QCP.js";
35
35
  import "./chunk-4YYJOFKS.js";
36
36
  import "./chunk-HVW7ABXD.js";
37
- import "./chunk-DLFAVRF3.js";
37
+ import "./chunk-VRQU564T.js";
38
38
  import "./chunk-JHOCK3DG.js";
39
- import "./chunk-HKUZCSNZ.js";
40
- import "./chunk-HPQSUPR7.js";
39
+ import "./chunk-WMJJCHVQ.js";
40
+ import "./chunk-5HJJEHGE.js";
41
41
  import "./chunk-AWDFDFI3.js";
42
42
  import "./chunk-P6LJ4Y32.js";
43
43
  import "./chunk-GMECXFAN.js";
44
44
  import "./chunk-7L37AB57.js";
45
45
  import "./chunk-EOVYQ3IG.js";
46
- import "./chunk-6Q5CFUAP.js";
47
- import "./chunk-PMXR3IUH.js";
46
+ import "./chunk-IPEP346Y.js";
47
+ import "./chunk-T37XXYRK.js";
48
48
  import "./chunk-VWG7OQKU.js";
49
49
  import "./chunk-S3S4TGEH.js";
50
50
  import "./chunk-54HJ63Q2.js";
@@ -53,9 +53,9 @@ import "./chunk-ZTZA4UWZ.js";
53
53
  import "./chunk-KLIKCX6Q.js";
54
54
  import "./chunk-EVMY7IPL.js";
55
55
  import "./chunk-7FMUTGOH.js";
56
- import "./chunk-YCW345M4.js";
56
+ import "./chunk-HXM2ISEK.js";
57
57
  import "./chunk-IZCW2NKT.js";
58
- import "./chunk-YV4WT7CJ.js";
58
+ import "./chunk-WYCFMNU3.js";
59
59
  import "./chunk-RQVDTPGD.js";
60
60
  import "./chunk-SMF6YAUL.js";
61
61
  import "./chunk-BPX7LZG6.js";
@@ -80,12 +80,12 @@ import "./chunk-SDYDNHEE.js";
80
80
  import "./chunk-IXLUTE6N.js";
81
81
  import "./chunk-I5JRXMCV.js";
82
82
  import "./chunk-W2LGJSEN.js";
83
- import "./chunk-KWSEIVR6.js";
83
+ import "./chunk-OHXHBMF4.js";
84
84
  import "./chunk-K4WIOZFP.js";
85
85
  import "./chunk-XUXGIA7H.js";
86
86
  import "./chunk-WERLJGIC.js";
87
87
  import "./chunk-ISN5GRYI.js";
88
- import "./chunk-6HYPEIH7.js";
88
+ import "./chunk-ASZ4IQB4.js";
89
89
  import "./chunk-KNU5COPB.js";
90
90
  import "./chunk-KGPLIH7B.js";
91
91
  import "./chunk-M2WBOQ2Q.js";
@@ -10,12 +10,12 @@ import {
10
10
  prepareItem,
11
11
  publishItem,
12
12
  recordRewrittenInstall
13
- } from "./chunk-HKUZCSNZ.js";
14
- import "./chunk-HPQSUPR7.js";
13
+ } from "./chunk-WMJJCHVQ.js";
14
+ import "./chunk-5HJJEHGE.js";
15
15
  import "./chunk-AWDFDFI3.js";
16
16
  import "./chunk-P6LJ4Y32.js";
17
17
  import "./chunk-GMECXFAN.js";
18
- import "./chunk-YV4WT7CJ.js";
18
+ import "./chunk-WYCFMNU3.js";
19
19
  import "./chunk-RQVDTPGD.js";
20
20
  import "./chunk-BPX7LZG6.js";
21
21
  import "./chunk-VC76R6W2.js";
@@ -6,13 +6,13 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-FSTLXRIN.js";
9
+ } from "./chunk-37EPEFXM.js";
10
10
  import "./chunk-K2FLNJVB.js";
11
11
  import {
12
12
  ensureDOMParser
13
13
  } from "./chunk-442JNXRM.js";
14
- import "./chunk-6Q5CFUAP.js";
15
- import "./chunk-PMXR3IUH.js";
14
+ import "./chunk-IPEP346Y.js";
15
+ import "./chunk-T37XXYRK.js";
16
16
  import "./chunk-VWG7OQKU.js";
17
17
  import {
18
18
  defineCommand
@@ -43,12 +43,12 @@ import {
43
43
  import "./chunk-W2LGJSEN.js";
44
44
  import {
45
45
  withMeta
46
- } from "./chunk-KWSEIVR6.js";
46
+ } from "./chunk-OHXHBMF4.js";
47
47
  import "./chunk-K4WIOZFP.js";
48
48
  import "./chunk-XUXGIA7H.js";
49
49
  import "./chunk-WERLJGIC.js";
50
50
  import "./chunk-ISN5GRYI.js";
51
- import "./chunk-6HYPEIH7.js";
51
+ import "./chunk-ASZ4IQB4.js";
52
52
  import "./chunk-KNU5COPB.js";
53
53
  import {
54
54
  __toESM
@@ -2514,7 +2514,7 @@ function printOnionShotSaved(saved, elementCount) {
2514
2514
  console.log();
2515
2515
  }
2516
2516
  async function runOnionShot(comps, allComps, projectDir, entryFile, args) {
2517
- const { captureMotionPathShot } = await import("./motionShot-RECBNTBZ.js");
2517
+ const { captureMotionPathShot } = await import("./motionShot-LK62QHNE.js");
2518
2518
  const requests = collectShotSelectors(args.selector ? allComps : comps);
2519
2519
  const guardError = onionShotGuardError(projectDir, requests, args.ghost ?? false);
2520
2520
  if (guardError) {
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-2R5ZKWSV.js";
14
14
  import {
15
15
  defaultCloudFps
16
- } from "./chunk-B2P4JRUJ.js";
16
+ } from "./chunk-HUG47UEE.js";
17
17
  import {
18
18
  defineCommand
19
19
  } from "./chunk-S3S4TGEH.js";
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  DISTRIBUTED_FPS,
28
28
  isDistributedFps
29
- } from "./chunk-YV4WT7CJ.js";
29
+ } from "./chunk-WYCFMNU3.js";
30
30
  import "./chunk-RQVDTPGD.js";
31
31
  import "./chunk-BPX7LZG6.js";
32
32
  import "./chunk-VC76R6W2.js";
@@ -244,7 +244,7 @@ var lambda_default = defineCommand({
244
244
  }
245
245
  switch (subcommand) {
246
246
  case "deploy": {
247
- const { runDeploy } = await import("./deploy-MJVC4EFY.js");
247
+ const { runDeploy } = await import("./deploy-3B3WJ6PM.js");
248
248
  const { parseReservedConcurrency } = await import("./sam-FHJ7IL7T.js");
249
249
  await runDeploy({
250
250
  stackName,
@@ -302,7 +302,7 @@ var lambda_default = defineCommand({
302
302
  );
303
303
  failCommand();
304
304
  }
305
- const { runRender } = await import("./render-7HVKJ7T4.js");
305
+ const { runRender } = await import("./render-6HQV4LZJ.js");
306
306
  const renderResolution = parseOutputResolution(args["output-resolution"]);
307
307
  await runRender({
308
308
  projectDir,
@@ -358,7 +358,7 @@ var lambda_default = defineCommand({
358
358
  );
359
359
  failCommand();
360
360
  }
361
- const { runRenderBatch } = await import("./render-batch-ZHHIGXU3.js");
361
+ const { runRenderBatch } = await import("./render-batch-F7HMC7XH.js");
362
362
  const batchResolution = parseOutputResolution(args["output-resolution"]);
363
363
  await runRenderBatch({
364
364
  projectDir,