@bendyline/gezel-service 1.0.7 → 1.1.0

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 (237) hide show
  1. package/dist/bin/gezeld.js +6253 -3616
  2. package/dist/handboek-content/whats-new/1.26224.md +1 -0
  3. package/dist/handboek-content/whats-new/1.26226.md +1 -0
  4. package/dist/handboek-content/whats-new/1.26231.md +1 -0
  5. package/dist/handboek-content/whats-new/1.26234.md +1 -0
  6. package/dist/handboek-content/whats-new/1.26237.md +1 -0
  7. package/dist/handboek-content/whats-new/1.26244.md +2 -1
  8. package/dist/handboek-content/whats-new/1.26247.md +88 -0
  9. package/dist/handboek-content/whats-new/whats-new-index.md +1 -0
  10. package/dist/index-store/static-index-worker.js +17 -1
  11. package/dist/index.d.ts +473 -209
  12. package/dist/index.js +6251 -3614
  13. package/dist/memory/embed-worker.js +58 -2
  14. package/dist/memory/image-embed-worker.js +8 -0
  15. package/dist/providers/llama-cpp/gguf-metadata-worker.js +2 -0
  16. package/dist/providers/mlx/python/gezel_mlx_server.py +18 -18
  17. package/dist/ui/assets/AmbientDashboardCard-Cf5fi_fY.js +1 -0
  18. package/dist/ui/assets/{AudioEngineSettings-BDrNIGGm.js → AudioEngineSettings-D3L7HOHe.js} +1 -1
  19. package/dist/ui/assets/{BenchmarksView-CHyujjs8.js → BenchmarksView-B68hrLCl.js} +1 -1
  20. package/dist/ui/assets/CatalogBrowser-DEM9t7Es.js +1 -0
  21. package/dist/ui/assets/{ChannelsSettings-Be_W1mr8.js → ChannelsSettings-DtK_k0Ul.js} +1 -1
  22. package/dist/ui/assets/ChatTimelineView-CQ4Sf4Ip.js +7 -0
  23. package/dist/ui/assets/ConfirmDialog-Dt1ed4Fh.js +1 -0
  24. package/dist/ui/assets/ConnectedAppsPanel-Cl8LEkrt.js +1 -0
  25. package/dist/ui/assets/CraftbookEditor-DEQRlQ2p.js +1 -0
  26. package/dist/ui/assets/{CraftbookScriptEditorView-DXIZYZT3.js → CraftbookScriptEditorView-DhXkkIdK.js} +1 -1
  27. package/dist/ui/assets/{CraftbookTabContent-Bm7t_b37.js → CraftbookTabContent-_oIdpQTG.js} +1 -1
  28. package/dist/ui/assets/{CraftbookToolsetSetup-DTEA-3K3.js → CraftbookToolsetSetup-BKg136L1.js} +1 -1
  29. package/dist/ui/assets/{CraftbooksView-C4X99TTe.js → CraftbooksView-Dm2zH-nW.js} +2 -2
  30. package/dist/ui/assets/{DiffpackReviewView-ClcNxtmF.js → DiffpackReviewView-EFLGJnwr.js} +1 -1
  31. package/dist/ui/assets/DocumentDetail-ClDRj2N-.js +1 -0
  32. package/dist/ui/assets/DocumentsView-ny9oieg2.js +1 -0
  33. package/dist/ui/assets/DropdownMenu-S4d9-3j3.js +1 -0
  34. package/dist/ui/assets/Ds4Settings-CeWlm5Vf.js +1 -0
  35. package/dist/ui/assets/EmbeddedChat-Hjrrgpao.js +1 -0
  36. package/dist/ui/assets/{FaceRecognitionCard-D3hdc7uU.js → FaceRecognitionCard-D7ufKqjI.js} +1 -1
  37. package/dist/ui/assets/FileMapView-DRjf59RH.js +1 -0
  38. package/dist/ui/assets/{FoldersSettings-BcNzl4vT.js → FoldersSettings-DDUhaFio.js} +1 -1
  39. package/dist/ui/assets/GezelDetail-Cph6pVGb.js +1 -0
  40. package/dist/ui/assets/{GezelJsonEditor-fOvYclu9.js → GezelJsonEditor-7vDGyBib.js} +1 -1
  41. package/dist/ui/assets/{GezellenView-BTzhHrxi.js → GezellenView-DQhcO1CP.js} +1 -1
  42. package/dist/ui/assets/{GildeUpdatesCard-Bq6XEpLP.js → GildeUpdatesCard-UKKNm_U8.js} +1 -1
  43. package/dist/ui/assets/{GithubSignInChip-CnlTCG8G.js → GithubSignInChip-DjM3qZsL.js} +1 -1
  44. package/dist/ui/assets/{HandboekMediaProvider-BfQW8_Nr.js → HandboekMediaProvider-DixaXTAH.js} +1 -1
  45. package/dist/ui/assets/HandboekView-BeNQqho9.js +1 -0
  46. package/dist/ui/assets/HistoryView-E2szGNGS.js +1 -0
  47. package/dist/ui/assets/{HomeView-CB_5TJIp.css → HomeView-CNeqCFPc.css} +1 -1
  48. package/dist/ui/assets/HomeView-CkiS3DXy.js +1 -0
  49. package/dist/ui/assets/{ImageEngineSettings-BpMfQy4f.js → ImageEngineSettings-BCKT7Gvi.js} +1 -1
  50. package/dist/ui/assets/{ImageRecognitionSettings-Ct-7-Oas.js → ImageRecognitionSettings-DD6syFez.js} +1 -1
  51. package/dist/ui/assets/IncompleteDownloads-BiPaaahS.js +1 -0
  52. package/dist/ui/assets/InstallProgressRow-DyKOI4MU.js +1 -0
  53. package/dist/ui/assets/KnowledgeCatalogsCard-B132vzRa.js +1 -0
  54. package/dist/ui/assets/KnowledgeView-CtPuIlN4.js +1 -0
  55. package/dist/ui/assets/LlamaCppSettings-D6zHcu4W.js +1 -0
  56. package/dist/ui/assets/{MarkdownField-D-0Zw7gM.js → MarkdownField-CK8K3fzj.js} +1 -1
  57. package/dist/ui/assets/MemoriesTree-DzjXzIrM.js +1 -0
  58. package/dist/ui/assets/{MicrophoneSettings-BIaFxyY_.js → MicrophoneSettings-1FH83SCq.js} +1 -1
  59. package/dist/ui/assets/MlxSettings-BYxUqFnJ.js +1 -0
  60. package/dist/ui/assets/ModelPicker-DoXPfQkQ.js +1 -0
  61. package/dist/ui/assets/{NewScriptDialog-D-gkY8TS.js → NewScriptDialog-C5X-7PMt.js} +1 -1
  62. package/dist/ui/assets/NewTaskDialog-Cyqtmigv.js +2 -0
  63. package/dist/ui/assets/{OllamaSettings-oIE2Mech.js → OllamaSettings-DkjmA-sB.js} +1 -1
  64. package/dist/ui/assets/ProjectChat-YEqUME6k.js +5 -0
  65. package/dist/ui/assets/{ProjectConnectionsTab-BZqp-oKI.js → ProjectConnectionsTab-dFCJpW93.js} +1 -1
  66. package/dist/ui/assets/ProjectGitStatusBar-CjZxG54t.js +1 -0
  67. package/dist/ui/assets/{ProjectGithubView-w8suLCsA.js → ProjectGithubView-CQ4-tmPx.js} +1 -1
  68. package/dist/ui/assets/{ProjectMailTab-DGo7eyB8.js → ProjectMailTab-NaScsZJf.js} +1 -1
  69. package/dist/ui/assets/ProjectOverviewView-ChjxbQas.js +1 -0
  70. package/dist/ui/assets/{ProjectTimeline-DRe3D9qY.js → ProjectTimeline-BZpdCisR.js} +1 -1
  71. package/dist/ui/assets/ProjectsView-J77ECk6V.js +7 -0
  72. package/dist/ui/assets/{RecommendedBadge-BKiDixnB.js → RecommendedBadge-D0m68PAu.js} +1 -1
  73. package/dist/ui/assets/{RemoteServersPanel-DGyl6-Rg.js → RemoteServersPanel-BdLOoORu.js} +1 -1
  74. package/dist/ui/assets/ScriptEditorTabs-BFvIiDFZ.js +2 -0
  75. package/dist/ui/assets/ScriptEditorView-B09rm1vz.js +5 -0
  76. package/dist/ui/assets/{ScriptsView-WQc28TmQ.js → ScriptsView-BvNAJXpo.js} +1 -1
  77. package/dist/ui/assets/{SecurityComplianceSettings-DsMEA4J3.js → SecurityComplianceSettings-DzGOnptO.js} +1 -1
  78. package/dist/ui/assets/SessionSwitcher-6okzcxT7.js +1 -0
  79. package/dist/ui/assets/SettingsView-Dur4dLhW.js +3 -0
  80. package/dist/ui/assets/SquisqIntegration-6v3yNOIP.js +2 -0
  81. package/dist/ui/assets/{StorageCleanupDialog-DHqwyMZZ.js → StorageCleanupDialog-OQlomMJD.js} +1 -1
  82. package/dist/ui/assets/{StorageUsageCard-CdT6SU51.js → StorageUsageCard-f6c6qTbM.js} +1 -1
  83. package/dist/ui/assets/Tabs-jE0Z5Tzd.js +1 -0
  84. package/dist/ui/assets/TaskTabContent-0w3kAUWR.js +1 -0
  85. package/dist/ui/assets/TasksView-BVMT4BAY.js +1 -0
  86. package/dist/ui/assets/{TerminalCodeEditor-77pBm6f3.js → TerminalCodeEditor-DO7zLKy-.js} +2 -2
  87. package/dist/ui/assets/ToolsetsEditor-Bb1wD5mV.js +8 -0
  88. package/dist/ui/assets/TransformToolbarButton-BWYkEB0d.js +5 -0
  89. package/dist/ui/assets/UnrecognizedModels-HtdMZUqK.js +1 -0
  90. package/dist/ui/assets/{VideoEngineSettings-DzMeINuv.js → VideoEngineSettings-Dq8Nw_tK.js} +1 -1
  91. package/dist/ui/assets/{WorkspaceIndexPane-DU4yd4Ai.js → WorkspaceIndexPane-fpDz4MwZ.js} +1 -1
  92. package/dist/ui/assets/{api-BX5xXiFs.js → api-BPraLwsh.js} +1 -1
  93. package/dist/ui/assets/chat-thread-memory-Be48zsyG.js +1 -0
  94. package/dist/ui/assets/chunk-6ECMNUIP-DDVjPyfK.js +15 -0
  95. package/dist/ui/assets/{chunk-6N2J7C2B-B5QIrD9m.js → chunk-6N2J7C2B-CsppiLVr.js} +1 -1
  96. package/dist/ui/assets/{chunk-A6N6IN3I-DXok09eC.js → chunk-A6N6IN3I-ofeM4l8g.js} +1 -1
  97. package/dist/ui/assets/chunk-B7GEAZBI-Divd2h1k.js +1 -0
  98. package/dist/ui/assets/chunk-DXYWKZ52-BXcAlClu.js +1 -0
  99. package/dist/ui/assets/chunk-FLR2ARKC-D7wrvQgT.js +2 -0
  100. package/dist/ui/assets/chunk-IIQYS2YH-DKZhWMpn.js +1 -0
  101. package/dist/ui/assets/{chunk-ILCJ3WFD-WRukZ7R1.js → chunk-ILCJ3WFD-CLZxw4Ge.js} +3 -3
  102. package/dist/ui/assets/chunk-OBADJV7C-CDVOcmYt.js +1 -0
  103. package/dist/ui/assets/chunk-Q77KNJIN-BIDRf0aP.js +6 -0
  104. package/dist/ui/assets/chunk-S5PCVMKU-Df5XzhSE.js +6 -0
  105. package/dist/ui/assets/chunk-UBFT2CDQ-FexGDigd.js +31 -0
  106. package/dist/ui/assets/{chunk-USU6HTKB-D5FmDzJU.js → chunk-USU6HTKB-B_p-YcDp.js} +1 -1
  107. package/dist/ui/assets/chunk-VKXOZTYP-BoVvWSBR.js +5 -0
  108. package/dist/ui/assets/{chunk-6RQOV3B3-CwvKotJw.js → chunk-VPWPEMZJ-DRKoa_j0.js} +1 -1
  109. package/dist/ui/assets/{chunk-WATAOG4Y-DXg2lov5.js → chunk-WATAOG4Y-C1EXVPmG.js} +1 -1
  110. package/dist/ui/assets/{container-B7jJtK5V.js → container-Ce94efbg.js} +1 -1
  111. package/dist/ui/assets/csv-62UGQMzZ.js +1 -0
  112. package/dist/ui/assets/data-B2kHjlc5.js +1 -0
  113. package/dist/ui/assets/dist-B9-VrAP8.js +2 -0
  114. package/dist/ui/assets/dist-BaHut5iX.js +2 -0
  115. package/dist/ui/assets/dist-BqGwkOe5.js +225 -0
  116. package/dist/ui/assets/dist-ZnIgkoEi.js +4 -0
  117. package/dist/ui/assets/{dist-BHl1ZAVG.js → dist-l6uUFZMV.js} +2 -2
  118. package/dist/ui/assets/dist-pLLFUPO-.js +1 -0
  119. package/dist/ui/assets/{doc-s6H7T0IO.js → doc-Dr5K49bx.js} +28 -28
  120. package/dist/ui/assets/document-companion-BQk2kS0F.js +1 -0
  121. package/dist/ui/assets/document-import-QoM9UxJr.js +1 -0
  122. package/dist/ui/assets/docx-sXa1Rf41.js +2 -0
  123. package/dist/ui/assets/{epub-B98SgHBz.js → epub-RopMP0ec.js} +4 -4
  124. package/dist/ui/assets/{export-options-Bu-tI6og.js → export-options-f7PKjEBb.js} +1 -1
  125. package/dist/ui/assets/extract-UTAOG7LV-4WDRw1o4.js +1 -0
  126. package/dist/ui/assets/file-browser-c2tf4MIb.js +5 -0
  127. package/dist/ui/assets/html-BGVOMhkv.js +253 -0
  128. package/dist/ui/assets/icons-DWaUNQbT.js +1 -0
  129. package/dist/ui/assets/images-JLBFCDD4-6JitW0hD.js +1 -0
  130. package/dist/ui/assets/index-B8NcxqcR.css +1 -0
  131. package/dist/ui/assets/index-C0DYtvfg.js +34 -0
  132. package/dist/ui/assets/index-J8TOMdvV.js +2 -0
  133. package/dist/ui/assets/{infer-kCLH1C8z.js → infer-LEGOsu64.js} +2 -2
  134. package/dist/ui/assets/ironcalc-BAi5gOlE.js +3 -0
  135. package/dist/ui/assets/layouts-2A7QNF6Y-CVwP7noP.js +1 -0
  136. package/dist/ui/assets/{mail-link-CI6YD6k2.js → mail-link-DXkmCd5b.js} +1 -1
  137. package/dist/ui/assets/markdown-baseline-9B52XlX2.js +1 -0
  138. package/dist/ui/assets/{markdown-Bi9b5f5Y.js → markdown-ryKA_OmY.js} +1 -1
  139. package/dist/ui/assets/materialize-A34OZGEU-xNNKzytx.js +1 -0
  140. package/dist/ui/assets/model-inventory-ykSm_IT5.js +1 -0
  141. package/dist/ui/assets/{model-quantization-BDzrELN_.js → model-quantization-CLO7XLoF.js} +1 -1
  142. package/dist/ui/assets/{monaco-base-BiVSa1J-.js → monaco-base-B1H1U1Sw.js} +1 -1
  143. package/dist/ui/assets/{monaco-setup-UeltVkg_.js → monaco-setup-DjhrGQui.js} +1 -1
  144. package/dist/ui/assets/{new-project-meta-0xhggGA_.js → new-project-meta-_f9sfcRX.js} +1 -1
  145. package/dist/ui/assets/outside-in-D73N1g_b.js +3 -0
  146. package/dist/ui/assets/{pdf-DgTjy3rN.js → pdf-BOjVDlCK.js} +3 -3
  147. package/dist/ui/assets/{pending-drafts-YVW6X55O.js → pending-drafts-B11MKQ9R.js} +1 -1
  148. package/dist/ui/assets/{poppetje-Ce-02Aqi.js → poppetje-DLB8uevw.js} +2 -2
  149. package/dist/ui/assets/pptx-BuxyNxQh.js +6 -0
  150. package/dist/ui/assets/primitives-CWrGZpPI.js +41 -0
  151. package/dist/ui/assets/run-export-ChaMXrKS.js +23 -0
  152. package/dist/ui/assets/squisq-formats-aAdypXoy.js +1 -0
  153. package/dist/ui/assets/standalone-source-q_Zzd1bd.js +11 -0
  154. package/dist/ui/assets/storage-D8pE2zg0.js +1 -0
  155. package/dist/ui/assets/styles-BhnF3s2q.css +1 -0
  156. package/dist/ui/assets/styles-CKVKwqoQ.js +550 -0
  157. package/dist/ui/assets/table-fcouR4db.js +1 -0
  158. package/dist/ui/assets/{terminal-monaco-setup-DNoK2tN4.js → terminal-monaco-setup-BAzrVzeR.js} +1 -1
  159. package/dist/ui/assets/{useCompactLayout-BarJPYcv.js → useCompactLayout-Dtolvzye.js} +0 -0
  160. package/dist/ui/assets/{useCopilotAvailability-BH1nLXQI.js → useCopilotAvailability-3xZvKgTF.js} +1 -1
  161. package/dist/ui/assets/{useDiffpacks-CK8W_OD_.js → useDiffpacks-Dsnr0wtX.js} +1 -1
  162. package/dist/ui/assets/{useGitSync-DWxX5-7K.js → useGitSync-BCTptQsp.js} +1 -1
  163. package/dist/ui/assets/{useShowWorkInProgressFeatures-DwwviLRO.js → useShowWorkInProgressFeatures-BhDNuQiU.js} +1 -1
  164. package/dist/ui/assets/{useTotalRamBytes-WoN_mi-V.js → useTotalRamBytes-DIx-_pf8.js} +1 -1
  165. package/dist/ui/assets/wasm-DdxEDD2H.js +1 -0
  166. package/dist/ui/assets/wasm_bg-DW9Xt_vt.wasm +0 -0
  167. package/dist/ui/assets/xlsx-DyBGuAO1.js +4 -0
  168. package/dist/ui/index.html +19 -18
  169. package/package.json +11 -11
  170. package/dist/ui/assets/AmbientDashboardCard-C1Ee-FKZ.js +0 -1
  171. package/dist/ui/assets/CatalogBrowser-Bz8ZtxPn.js +0 -1
  172. package/dist/ui/assets/ChatTimelineView-Do9EryEH.js +0 -7
  173. package/dist/ui/assets/ConfirmDialog-BHFs6vmJ.js +0 -1
  174. package/dist/ui/assets/ConnectedAppsPanel-BtMayq0R.js +0 -1
  175. package/dist/ui/assets/CraftbookEditor-D5jTzWwF.js +0 -1
  176. package/dist/ui/assets/DocumentDetail-CPU51d04.js +0 -1
  177. package/dist/ui/assets/DocumentsView-B6OyjvJ0.js +0 -1
  178. package/dist/ui/assets/DropdownMenu-D5fCzIrh.js +0 -1
  179. package/dist/ui/assets/Ds4Settings-CrUM_KGP.js +0 -1
  180. package/dist/ui/assets/EmbeddedChat-ue9ia-WY.js +0 -1
  181. package/dist/ui/assets/FileMapView-CxvfDLGA.js +0 -1
  182. package/dist/ui/assets/GezelDetail-DHuqBK55.js +0 -1
  183. package/dist/ui/assets/HandboekView-CPnnyj29.js +0 -1
  184. package/dist/ui/assets/HistoryView-B4VAfEMe.js +0 -1
  185. package/dist/ui/assets/HomeView-ccH60J6f.js +0 -1
  186. package/dist/ui/assets/KnowledgeCatalogsCard-Bi5Rx9Iz.js +0 -1
  187. package/dist/ui/assets/KnowledgeView-DAwjwLZo.js +0 -1
  188. package/dist/ui/assets/LlamaCppSettings-Ceyk9pDP.js +0 -1
  189. package/dist/ui/assets/MemoriesTree-BKZEPJpm.js +0 -1
  190. package/dist/ui/assets/MlxSettings-CG3wfuc3.js +0 -1
  191. package/dist/ui/assets/ModelPicker-CCBVjLMS.js +0 -1
  192. package/dist/ui/assets/NewPathDialog-D4jnNBfP.js +0 -1
  193. package/dist/ui/assets/NewTaskDialog-Ox9D612Z.js +0 -2
  194. package/dist/ui/assets/ProjectChat-DMwKnkW-.js +0 -5
  195. package/dist/ui/assets/ProjectGitStatusBar-C6bkCSby.js +0 -1
  196. package/dist/ui/assets/ProjectOverviewView-NNwXd_QQ.js +0 -1
  197. package/dist/ui/assets/ProjectsView-SBPgYOq8.js +0 -7
  198. package/dist/ui/assets/ScriptEditorTabs-paocQ6dj.js +0 -2
  199. package/dist/ui/assets/ScriptEditorView-N9zSLqqi.js +0 -5
  200. package/dist/ui/assets/SessionSwitcher-C8te7YSe.js +0 -1
  201. package/dist/ui/assets/SettingsView-Brl4JQkW.js +0 -3
  202. package/dist/ui/assets/Tabs-BAY1Q79B.js +0 -1
  203. package/dist/ui/assets/TaskTabContent-CNPJ4DQj.js +0 -1
  204. package/dist/ui/assets/TasksView-DuMjFS8S.js +0 -1
  205. package/dist/ui/assets/ToolsetsEditor-BdxHnIBj.js +0 -8
  206. package/dist/ui/assets/TransformToolbarButton-CVg5nz36.js +0 -5
  207. package/dist/ui/assets/UnrecognizedModels-Cw9Ku_bW.js +0 -1
  208. package/dist/ui/assets/chat-thread-memory-CZGcwgGo.js +0 -1
  209. package/dist/ui/assets/chunk-6ECMNUIP-C1kohb1U.js +0 -15
  210. package/dist/ui/assets/chunk-AONELFLA-Cv2nS9ga.js +0 -1
  211. package/dist/ui/assets/chunk-IIQYS2YH-Dxg6MAfT.js +0 -1
  212. package/dist/ui/assets/chunk-MIKKUKOD-XIkmalSN.js +0 -31
  213. package/dist/ui/assets/chunk-NNJLSQPW-DJA6camf.js +0 -5
  214. package/dist/ui/assets/chunk-S5PCVMKU-DbCZ5AUH.js +0 -6
  215. package/dist/ui/assets/csv-xmd1_Aqd.js +0 -4
  216. package/dist/ui/assets/dist-BPx-FyRH.js +0 -222
  217. package/dist/ui/assets/dist-Bvo52IGx.js +0 -1
  218. package/dist/ui/assets/dist-D5aoNQwk.js +0 -2
  219. package/dist/ui/assets/docx-Cj4A9MhC.js +0 -2
  220. package/dist/ui/assets/extract-UTAOG7LV-C4b7ycaL.js +0 -1
  221. package/dist/ui/assets/file-browser-80qWoVju.js +0 -5
  222. package/dist/ui/assets/html-C9TlzI57.js +0 -253
  223. package/dist/ui/assets/icons-C9dD-bDi.js +0 -1
  224. package/dist/ui/assets/images-ESPQKVTW-D7SgdVJ_.js +0 -1
  225. package/dist/ui/assets/index-D1m4Wx8V.css +0 -1
  226. package/dist/ui/assets/index-DXWR4qW1.js +0 -34
  227. package/dist/ui/assets/layouts-2A7QNF6Y-De2t-YXl.js +0 -1
  228. package/dist/ui/assets/markdown-baseline-HMqF2ChK.js +0 -1
  229. package/dist/ui/assets/outside-in-BFVUUcLa.js +0 -3
  230. package/dist/ui/assets/pptx-6ChgUEf4.js +0 -6
  231. package/dist/ui/assets/primitives-DEsn1shf.js +0 -41
  232. package/dist/ui/assets/run-export-BrYhHj1O.js +0 -23
  233. package/dist/ui/assets/standalone-source-D6mbpa3h.js +0 -11
  234. package/dist/ui/assets/storage-fn4FCEVK.js +0 -1
  235. package/dist/ui/assets/styles-C0EoNJbk.css +0 -1
  236. package/dist/ui/assets/styles-CKr_yrbn.js +0 -541
  237. package/dist/ui/assets/xlsx-DH7sTb3W.js +0 -4
@@ -0,0 +1,5 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,t as n}from"./jsx-runtime-CEpd2cAX.js";import{t as r}from"./react-dom-OL4w_gzs.js";import{C as i,I as a,P as o,Q as s,S as c,Z as l,ft as u,gt as d,j as f,pt as p,st as m}from"./doc-Dr5K49bx.js";import{f as h,n as g,o as _}from"./chunk-BAOV476U-CEOFYt8X.js";import{o as v,s as y}from"./chunk-4VOD55SX-BFSSw0c8.js";import{O as b,d as x,n as S,o as C,r as w}from"./chunk-GAZKTT4R-BkP6-w3z.js";import{n as T}from"./chunk-UBFT2CDQ-FexGDigd.js";import{c as E,s as ee}from"./markdown-ryKA_OmY.js";import{a as D,i as O,o as k}from"./schemas-JY4jmLbC.js";import{Q as te,R as A,V as j,X as M,Z as ne,z as re}from"./chunk-6ECMNUIP-DDVjPyfK.js";import{t as ie}from"./chunk-TT6ENR6T-CaYjVwjm.js";var N=e(t(),1);function P(e,t){return{renderClips:e,activeIds:(0,N.useMemo)(()=>{let n=new Set;for(let r of e)t>=r.absoluteStart&&t<r.absoluteEnd&&n.add(r.id);return n},[e,t])}}function ae(e){if(!e?.length)return{segmentStarts:[],totalDuration:0};let t=0;return{segmentStarts:e.map(e=>{let n=t;return t+=e.duration,n}),totalDuration:t}}function oe(e,t,n){if(!t?.length)return{segmentIndex:0,segmentStart:0};let r=0,i=0;for(let a=0;a<t.length;a++){if(e<n[a]+t[a].duration){r=a,i=n[a];break}a===t.length-1&&(r=a,i=n[a])}return{segmentIndex:r,segmentStart:i}}var se=15e3,ce=`Audio could not be loaded. Check that the media file is available.`;function le(e,t){return!e||/^(?:[a-z][a-z0-9+.-]*:|\/\/|\/)/i.test(e)||!t?e:`${t.replace(/\/$/,``)}/${e.replace(/^\//,``)}`}function F(e,t,n=``,r=!0,i=`media`,a=0){let o=(0,N.useMemo)(()=>i!==`synthetic`||t?.segments?.length||a<=0?t:{...t,segments:[{src:``,name:`synthetic`,duration:a,startTime:0}]},[t,i,a]),s=te(),[c,l]=(0,N.useState)(0),[u,d]=(0,N.useState)(!1),[f,p]=(0,N.useState)(0),[m,h]=(0,N.useState)(!1),[g,_]=(0,N.useState)(!1),[v,y]=(0,N.useState)(0),[b,x]=(0,N.useState)(!0),[S,C]=(0,N.useState)(),w=(0,N.useRef)([]),T=(0,N.useRef)(null),D=(0,N.useRef)(null),O=(0,N.useRef)(!1),k=(0,N.useRef)(new Map),A=(0,N.useRef)(new Map),j=(0,N.useRef)(new Set),M=(0,N.useRef)(0),ne=(0,N.useRef)(void 0);ne.current=o?.segments[f]?.src;let re=(0,N.useRef)(null),ie=(0,N.useRef)(0);ie.current=f;let P=(0,N.useRef)(!1);(0,N.useEffect)(()=>{if(M.current+=1,T.current=null,D.current?.(),D.current=null,O.current=!1,P.current=!1,re.current=null,l(0),p(0),d(!1),h(!1),_(!1),x(!0),C(void 0),!r||!o?.segments){w.current=[],y(0);return}let e=ae(o.segments);w.current=e.segmentStarts,y(e.totalDuration),i===`synthetic`&&_(!0)},[o,r,i]);let F=(0,N.useCallback)(async e=>{let t=le(e,n);if(!E(t,s))return``;if(k.current.has(e)){let t=k.current.get(e);return k.current.delete(e),k.current.set(e,t),t}if(A.current.has(e))return A.current.get(e);let r=new AbortController;j.current.add(r);let i=M.current,a=(async()=>{try{let n=await ee(t,{policy:s,signal:r.signal,contentTypePrefixes:[`audio/`,`video/`,`application/octet-stream`]}),a=new Blob([n.bytes.slice().buffer],{type:n.contentType||`application/octet-stream`}),o=URL.createObjectURL(a);if(r.signal.aborted||i!==M.current)return URL.revokeObjectURL(o),t;for(k.current.set(e,o);k.current.size>2;){let e=[...k.current.entries()].find(([e])=>e!==ne.current)??k.current.entries().next().value;if(!e)break;k.current.delete(e[0]),URL.revokeObjectURL(e[1])}return o}catch{return``}})();return A.current.set(e,a),a.then(()=>{j.current.delete(r),A.current.get(e)===a&&A.current.delete(e)}),a},[n,s]);(0,N.useEffect)(()=>{if(!r||!o?.segments)return;let e=k.current,t=j.current,n=A.current;return()=>{M.current+=1,t.forEach(e=>e.abort()),t.clear(),n.clear(),e.forEach(e=>{URL.revokeObjectURL(e)}),e.clear()}},[o,F,r]),(0,N.useEffect)(()=>{if(!r||i===`synthetic`)return;let e=o?.segments[f];e&&F(e.src)},[o,f,r,i,F]),(0,N.useEffect)(()=>{if(!r||i===`synthetic`)return;let t=e.current;if(!t)return;let n=()=>{if(P.current)return;let e=(w.current[f]||0)+t.currentTime;l(e)},a=()=>{d(!0)},s=()=>d(!1),c=()=>{_(!0),d(!1),x(!1),C(ce),O.current=!1,T.current!==null&&(l(T.current),T.current=null),D.current?.(),D.current=null},u=()=>{o&&f<o.segments.length-1?(O.current=!0,p(e=>e+1)):(h(!0),d(!1))};return t.addEventListener(`timeupdate`,n),t.addEventListener(`play`,a),t.addEventListener(`pause`,s),t.addEventListener(`ended`,u),t.addEventListener(`error`,c),()=>{t.removeEventListener(`timeupdate`,n),t.removeEventListener(`play`,a),t.removeEventListener(`pause`,s),t.removeEventListener(`ended`,u),t.removeEventListener(`error`,c)}},[e,f,o,r,i]),(0,N.useEffect)(()=>{if(!r||i===`synthetic`)return;let t=e.current;if(!t||!o?.segments)return;let n=o.segments[f];if(!n)return;let a=()=>{if(T.current!==null){let e=w.current[f]||0,n=T.current-e;t.currentTime=Math.max(0,n),l(T.current),T.current=null,D.current?.(),D.current=null}O.current&&=(t.play().catch(e=>{d(!1),e instanceof Error&&e.name===`NotAllowedError`||(x(!1),C(`Audio playback failed. Check that the media file is supported and available.`))}),!1)},s=t.src,c=re.current,u=!!s&&c?.key===n.src&&c.url===s,p=!1,m=null;return u?a():(async()=>{let e=await F(n.src);if(!p){if(!e){t.removeAttribute(`src`),t.load(),re.current=null,O.current=!1,_(!0),d(!1),x(!1),C(ce),T.current!==null&&(l(T.current),T.current=null),D.current?.(),D.current=null;return}m=()=>{p||(_(!0),a(),m&&t.removeEventListener(`canplay`,m))},t.addEventListener(`canplay`,m),t.src=e,re.current={key:n.src,url:t.src},t.load(),await Promise.resolve(),t.readyState>=3&&(m&&t.removeEventListener(`canplay`,m),_(!0),a())}})(),()=>{p=!0,m&&t.removeEventListener(`canplay`,m)}},[e,f,o,F,r,i]);let ue=(0,N.useCallback)(async t=>{let n=e.current;if(!o?.segments)return;let r=v>0?Math.max(0,Math.min(t,v)):Math.max(0,t),a=w.current.length===o.segments.length?w.current:ae(o.segments).segmentStarts,{segmentIndex:s,segmentStart:c}=oe(r,o.segments,a),d=i===`synthetic`?u:!n?.paused;if(h(!1),!n&&i===`media`){p(s),l(r);return}if(s!==ie.current){T.current=r,O.current=d;let e=new Promise(e=>{D.current?.();let t=!1,n=()=>{t||(t=!0,clearTimeout(r),D.current===n&&(D.current=null),e())},r=setTimeout(n,se);D.current=n});p(s),i===`synthetic`&&(l(r),T.current=null,D.current?.(),D.current=null),await e}else{let e=r-c;n&&i===`media`&&(n.currentTime=Math.max(0,e)),l(r)}},[e,o,u,i,v]),I=(0,N.useCallback)(async()=>{if(i===`synthetic`){P.current=!0,d(!0);return}let t=e.current;if(t){m&&await ue(0);try{await t.play(),P.current=!1,x(!0),C(void 0)}catch(e){P.current=!1,d(!1),(e instanceof Error?e.name:``)!==`NotAllowedError`&&(x(!1),C(`Audio playback failed. Check that the media file is supported and available.`))}}},[e,m,i,ue]),L=(0,N.useCallback)(()=>{let t=e.current;t&&t.pause(),d(!1)},[e]),de=(0,N.useCallback)(()=>{!e.current&&i===`media`||(u?L():I())},[e,u,i,I,L]),R=(0,N.useCallback)(e=>{!o?.segments||e<0||e>=o.segments.length||(p(e),h(!1))},[o]),fe=(0,N.useCallback)(async()=>{await ue(0),await I()},[ue,I]);return(0,N.useEffect)(()=>{if(!u||!P.current||!v)return;let e=performance.now(),t,n=r=>{if(!P.current)return;let i=(r-e)/1e3;e=r,l(e=>{let t=e+i;return t>=v?(P.current=!1,h(!0),d(!1),v):t}),t=requestAnimationFrame(n)};return t=requestAnimationFrame(n),()=>cancelAnimationFrame(t)},[u,v]),{currentTime:c,isPlaying:u,currentSegment:f,totalDuration:v,isEnded:m,isReady:g,isAvailable:b,unavailableMessage:S,play:I,pause:async()=>L(),toggle:async()=>de(),seekTo:ue,skipToSegment:async e=>R(e),restart:fe}}function ue(e,t,n={}){let{viewport:r=g.landscape,theme:i,onSeek:a,useAudioSegmentTiming:o=!0}=n,c=(0,N.useMemo)(()=>{if(!e?.blocks)return[];let t=e.blocks.some(e=>e.children&&e.children.length>0)?m(e.blocks):e.blocks,n=t.some(h),a=i??C,c=d({persistentLayers:e.persistentLayers},a);return n?s(t,{audioSegments:o?e.audio?.segments?.map(e=>({startTime:e.startTime,duration:e.duration})):void 0,viewport:r,persistentLayers:c,theme:i,customTemplates:e.customTemplates}):t.map((e,t)=>{let n=v(e,a,t);return n===e.transition?e:{...e,transition:n}})},[e?.blocks,e?.audio?.segments,e?.persistentLayers,e?.customTemplates,r,i,o]),l=(0,N.useMemo)(()=>O(c,t),[c,t]),u=(0,N.useMemo)(()=>l?c.indexOf(l):-1,[c,l]),f=(0,N.useMemo)(()=>l?Math.max(0,t-l.startTime):0,[l,t]),p=(0,N.useMemo)(()=>!l||l.duration===0?0:Math.min(1,f/l.duration),[l,f]),_=(0,N.useMemo)(()=>!e||e.duration===0?0:Math.min(1,t/e.duration),[e,t]),b=(0,N.useRef)(null),x=(0,N.useRef)(null),S=(0,N.useRef)(null),w=(0,N.useRef)(null),T=(0,N.useCallback)(e=>{if(x.current===e){b.current=null,w.current=null;return}w.current=e},[]);l&&l.id!==x.current&&(b.current=w.current===l.id?null:S.current,w.current=null,x.current=l.id),S.current=l;let E=l?.transition?y(l.transition):0,ee=!!l&&E>0&&f<E,D=b.current,k=ee&&D!=null&&D.id!==l?.id,te=k?D:null,A=(0,N.useCallback)(t=>{if(!e||t<0||t>=c.length)return;let n=c[t];n&&a?.(n.startTime)},[e,c,a]);return{currentBlock:l,currentBlockIndex:u,previousBlock:te,isEntering:ee,isExiting:k,blockTime:f,blockProgress:p,docProgress:_,nextBlock:(0,N.useCallback)(()=>{if(u<c.length-1)return A(u+1)},[u,c.length,A]),prevBlock:(0,N.useCallback)(()=>{if(u>0)return A(u-1)},[u,A]),goToBlock:A,suppressOutgoingForNextBlock:T,blocks:c}}function I(e,t){let n=e/t;return n>1.2?`landscape`:n<.83?`portrait`:`square`}function L(e){switch(e){case`portrait`:return g.portrait;case`square`:return g.square;default:return g.landscape}}function de(){let[e,t]=(0,N.useState)(()=>({width:typeof window<`u`?window.innerWidth:1920,height:typeof window<`u`?window.innerHeight:1080}));(0,N.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>{t({width:window.innerWidth,height:window.innerHeight})},n,r=()=>{clearTimeout(n),n=setTimeout(e,100)};return window.addEventListener(`resize`,r),()=>{window.removeEventListener(`resize`,r),clearTimeout(n)}},[]);let n=(0,N.useMemo)(()=>I(e.width,e.height),[e.width,e.height]);return{viewport:(0,N.useMemo)(()=>L(n),[n]),orientation:n,windowSize:e}}var R=n(),fe=e(r(),1),pe=.25;function me(e){return{position:`absolute`,inset:0,zIndex:e===`background`?0:10,pointerEvents:`none`}}function he(e){switch(e){case`top-left`:return{top:`4%`,left:`3%`};case`top-right`:return{top:`4%`,right:`3%`};case`bottom-left`:return{bottom:`6%`,left:`3%`};case`bottom-right`:return{right:`3%`,bottom:`6%`}}}function ge(e,t){return t===`portrait`?e===`large`?`23%`:`15%`:e===`large`?`15%`:`9%`}function _e({presentation:e,pipSize:t,pipShape:n,pipPosition:r,pipOrientation:i,pipFrameStyle:a,active:o}){let s={position:`absolute`,display:`block`,objectFit:`cover`,opacity:+!!o,visibility:o?`visible`:`hidden`,pointerEvents:`none`};return e===`picture-in-picture`?{...s,width:ge(t,i),aspectRatio:n===`wide`?`16 / 9`:`1`,...a,...he(r)}:{...s,inset:0,width:`100%`,height:`100%`}}function ve({schedule:e,currentTime:t,isPlaying:n,basePath:r,renderMode:i=!1,muted:a=!1,presentation:o=`background`,pipSize:s=`small`,pipShape:c=`square`,pipPosition:l=`bottom-right`,pipOrientation:u=`landscape`,pipFrameStyle:d,honorClipPresentation:f=!0}){let{renderClips:p,activeIds:m}=P(e,t);if(p.length===0)return null;let h=new Map;for(let e of p){let t=f&&e.kind===`video`?e.placement===`picture-in-picture`?`picture-in-picture`:e.placement===`overlay`?`full-frame`:o:o,n=e.pipSize??s,r=e.pipShape??c,i=e.pipPosition??l,a=`${t}:${n}:${r}:${i}`,u=h.get(a)??{presentation:t,pipSize:n,pipShape:r,pipPosition:i,clips:[]};u.clips.push(e),h.set(a,u)}return(0,R.jsx)(R.Fragment,{children:[...h].map(([e,o])=>(0,R.jsx)(`div`,{className:`doc-player__media-clips doc-player__media-clips--${o.presentation}`,"data-presentation":o.presentation,"data-pip-size":o.pipSize,"data-pip-shape":o.pipShape,"data-pip-position":o.pipPosition,"aria-hidden":!0,style:me(o.presentation),children:o.clips.map(e=>(0,R.jsx)(ye,{clip:e,active:m.has(e.id),currentTime:t,isPlaying:n,basePath:r,renderMode:i,muted:a,presentation:o.presentation,pipSize:o.pipSize,pipShape:o.pipShape,pipPosition:o.pipPosition,pipOrientation:u,pipFrameStyle:d},e.id))},e))})}function ye({clip:e,active:t,currentTime:n,isPlaying:r,basePath:i,renderMode:a,muted:o,presentation:s,pipSize:c,pipShape:l,pipPosition:u,pipOrientation:d,pipFrameStyle:f}){let p=(0,N.useRef)(null),m=ne(e.src,i);(0,N.useEffect)(()=>{let i=p.current;if(!i)return;if(!t){i.paused||i.pause();return}let o=Math.max(0,e.sourceIn+(n-e.absoluteStart));if(i.dataset.captureSequential!==`true`&&(a||!r||Math.abs(i.currentTime-o)>pe))try{i.currentTime=o}catch{}if(r&&!a){let e=i.play();e&&e.catch(()=>{})}else i.dataset.captureSequential!==`true`&&i.pause()},[t,n,r,a,e.sourceIn,e.absoluteStart,m]);let h=e.kind===`video`,g={ref:p,src:m,preload:`auto`,"data-clip-id":e.id,"data-active":t?`true`:`false`,"data-abs-start":e.absoluteStart,"data-abs-end":e.absoluteEnd,"data-source-in":e.sourceIn};return h?(0,R.jsx)(`video`,{...g,className:`doc-player__media-video${t?` doc-player__media-video--active`:``}`,"data-video-placement":e.placement??`default`,muted:a||o,playsInline:!0,style:_e({presentation:s,pipSize:c,pipShape:l,pipPosition:u,pipOrientation:d,pipFrameStyle:f,active:t})}):(0,R.jsx)(`audio`,{...g,muted:a||o,style:{position:`absolute`,width:0,height:0}})}var be=new Map,xe=8e3;async function Se(e,t,n,r){let i=!e||/^(?:[a-z][a-z0-9+.-]*:|\/\/|\/)/i.test(e),a=i?e:`${n.replace(/\/$/,``)}/${e}`,o=e=>E(e,r)?e:``;if(i||!t)return o(a);try{return o(await t.resolveUrl(e))}catch{return o(a)}}function Ce(e){return typeof document>`u`?Promise.resolve(null):new Promise(t=>{let n=document.createElement(`video`);n.preload=`metadata`,n.muted=!0,n.setAttribute(`playsinline`,``);let r=!1,i={},a=e=>{if(!r){r=!0,i.id!==void 0&&clearTimeout(i.id),n.removeEventListener(`durationchange`,s),n.removeEventListener(`timeupdate`,s),n.removeAttribute(`src`);try{n.load()}catch{}t(e)}},o=()=>{let e=n.duration;return Number.isFinite(e)&&e>0?(a(e),!0):!1},s=()=>{o()};n.addEventListener(`loadedmetadata`,()=>{if(!o()){n.addEventListener(`durationchange`,s),n.addEventListener(`timeupdate`,s);try{n.currentTime=1e101}catch{a(null)}}},{once:!0}),n.addEventListener(`error`,()=>a(null),{once:!0}),i.id=setTimeout(()=>a(null),xe),n.src=e})}function we(e,t,n){let r=M(),i=n===void 0?r:n,a=te(),o=(0,N.useMemo)(()=>{let t=new Set;for(let n of e)n.kind===`video`&&n.src&&t.add(n.src);return Array.from(t).sort().join(`
2
+ `)},[e]),[s,c]=(0,N.useState)(()=>new Map);return(0,N.useEffect)(()=>{let e=o?o.split(`
3
+ `):[];if(e.length===0){c(e=>e.size===0?e:new Map);return}let n=!1,r=new Map,s=()=>{n||c(new Map(r))};for(let o of e)Se(o,i,t,a).then(e=>{if(n||!e)return;let t=be.get(e);if(t!=null){r.set(o,t),s();return}Ce(e).then(t=>{n||t==null||(be.set(e,t),r.set(o,t),s())})});return()=>{n=!0}},[o,i,t,a]),s}var z=4,B=2,V=6;function Te(e){if(e.words&&e.words.length>0)return e.words.map(e=>({text:e.text,startTime:e.startTime,endTime:e.endTime}));let t=e.text.split(/\s+/).filter(e=>e.length>0);if(t.length===0)return[];let n=(e.endTime-e.startTime)/t.length;return t.map((t,r)=>({text:t,startTime:e.startTime+r*n,endTime:e.startTime+(r+1)*n}))}function H(e){let t=[];for(let n of e.phrases)t.push(...Te(n));if(t.length===0)return{words:[],chunks:[]};let n=z;if(t.length>n){let e=Math.ceil(t.length/n);n=Math.ceil(t.length/e),n=Math.min(V,Math.max(B,n))}else n=Math.max(B,t.length);let r=[];for(let e=0;e<t.length;e+=n){let i=t.slice(e,e+n);r.push({words:i,startTime:i[0].startTime,endTime:i[i.length-1].endTime})}return{words:t,chunks:r}}function Ee({captions:e,currentTime:t,enabled:n=!0,theme:r,viewport:i}){let{chunks:a}=(0,N.useMemo)(()=>e?H(e):{words:[],chunks:[]},[e]);if(!n||a.length===0)return(0,R.jsx)(`div`,{className:`social-caption-overlay`,style:{position:`absolute`,bottom:`18%`,left:0,right:0,zIndex:50,pointerEvents:`none`,opacity:0,transition:`opacity 0.15s ease-in-out`}});let o=null,s=-1;for(let e of a)if(t>=e.startTime&&t<e.endTime){o=e;break}if(!o){for(let e=0;e<a.length-1;e++)if(t>=a[e].endTime&&t<a[e+1].startTime){o=a[e],s=o.words.length-1;break}!o&&a.length>0&&t>=a[a.length-1].startTime&&(o=a[a.length-1],s=o.words.length-1)}if(!o)return null;if(s===-1){for(let e=0;e<o.words.length;e++){let n=o.words[e];if(t>=n.startTime&&t<n.endTime){s=e;break}}if(s===-1){for(let e=o.words.length-1;e>=0;e--)if(t>=o.words[e].startTime){s=e;break}}s===-1&&(s=0)}let c=r?.colors?.primary??`#5b9bd5`,l=r?.typography?.titleFont?b(r.typography.titleFont,`"PT Serif", Georgia, serif`):`"PT Serif", Georgia, serif`,u=i?.height??720,d=Math.round(u*.055),f=Math.max(24,Math.min(72,d));return(0,R.jsx)(`div`,{className:`social-caption-overlay`,style:{position:`absolute`,bottom:`18%`,left:0,right:0,zIndex:50,pointerEvents:`none`,textAlign:`center`,padding:`0 8%`,boxSizing:`border-box`,opacity:1,transition:`opacity 0.15s ease-in-out`},children:(0,R.jsx)(`div`,{style:{display:`inline-block`,lineHeight:1.3},children:o.words.map((e,t)=>{let n=t===s;return(0,R.jsx)(`span`,{style:{fontFamily:l,fontSize:`${f}px`,fontWeight:n?800:600,color:n?c:`rgba(255, 255, 255, 0.9)`,textShadow:`0 2px 8px rgba(0,0,0,0.7), 0 0 20px rgba(0,0,0,0.4)`,marginRight:t<o.words.length-1?`0.3em`:void 0,transition:`color 0.1s ease, font-weight 0.1s ease`,textTransform:`uppercase`},children:e.text},`${e.startTime}-${t}`)})})})}function De({captions:e,currentTime:t,enabled:n=!0,fontSize:r=16,captionStyle:i=`standard`,theme:a,viewport:o}){if(i===`social`)return(0,R.jsx)(Ee,{captions:e,currentTime:t,enabled:n,theme:a,viewport:o});let s=(n&&e?D(e,t):null)?.text??null;return(0,R.jsx)(`div`,{className:`caption-overlay`,style:{position:`absolute`,top:`6px`,left:`50%`,transform:`translateX(-50%)`,zIndex:50,pointerEvents:`none`,maxWidth:`100%`,width:`100%`,textAlign:`center`,opacity:+!!s,transition:`opacity 0.15s ease-in-out`,padding:`0 4px`,boxSizing:`border-box`},children:s&&(0,R.jsx)(`div`,{style:{display:`inline-block`,padding:`3px 10px`,background:`rgba(0, 0, 0, 0.65)`,borderRadius:`4px`,backdropFilter:`blur(4px)`},children:(0,R.jsx)(`span`,{style:{color:`#ffffff`,fontSize:`${r}px`,fontFamily:`'Hanken Grotesk', system-ui, sans-serif`,fontWeight:500,lineHeight:1.25,textShadow:`0 1px 3px rgba(0,0,0,0.5)`,whiteSpace:`pre-wrap`,wordWrap:`break-word`},children:s})})})}function Oe(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function ke({state:e,actions:t,blockMarkers:n,expandedBlocks:r,getBlockTitle:i}){let a=(0,N.useRef)(null),[o,s]=(0,N.useState)(null),c=e.totalDuration>0?Math.max(0,Math.min(1,e.currentTime/e.totalDuration)):0,l=(0,N.useCallback)(e=>{let t=a.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=Math.max(0,Math.min(1,r/n.width));s(i)},[]),u=(0,N.useCallback)(()=>{s(null)},[]),d=(0,N.useCallback)(n=>{let r=null;switch(n.key){case`ArrowLeft`:case`ArrowDown`:r=e.currentTime-5;break;case`ArrowRight`:case`ArrowUp`:r=e.currentTime+5;break;case`Home`:r=0;break;case`End`:r=e.totalDuration;break}r!=null&&(n.preventDefault(),t.seekTo(Math.max(0,Math.min(e.totalDuration,r))))},[t,e.currentTime,e.totalDuration]),f=(0,N.useCallback)(e=>{for(let t=r.length-1;t>=0;t--){let n=r[t];if(e>=n.startTime)return{block:n,index:t}}return r.length>0?{block:r[0],index:0}:null},[r]);return(0,R.jsxs)(`div`,{ref:a,role:`group`,"aria-label":`Playback timeline`,style:{flex:1,height:`24px`,cursor:`pointer`,position:`relative`,display:`flex`,alignItems:`center`},onClick:n=>{let r=n.currentTarget.getBoundingClientRect(),i=(n.clientX-r.left)/r.width;t.seekTo(i*e.totalDuration)},onMouseMove:l,onMouseLeave:u,children:[(0,R.jsx)(`div`,{role:`slider`,tabIndex:0,"aria-label":`Playback position`,"aria-valuemin":0,"aria-valuemax":e.totalDuration,"aria-valuenow":Math.max(0,Math.min(e.totalDuration,e.currentTime)),"aria-valuetext":`${Oe(e.currentTime)} of ${Oe(e.totalDuration)}`,onKeyDown:d,style:{position:`absolute`,left:0,right:0,height:`6px`,background:`rgba(255,255,255,0.2)`,borderRadius:`3px`}}),(0,R.jsx)(`div`,{"data-testid":`doc-progress-fill`,style:{position:`absolute`,left:0,width:`${c*100}%`,height:`6px`,background:`#5b9bd5`,borderRadius:`3px`}}),n.map((n,r)=>(0,R.jsx)(`button`,{type:`button`,style:{position:`absolute`,left:`${n.position}%`,transform:`translateX(-50%)`,width:`10px`,height:`10px`,borderRadius:`50%`,background:n.index===e.currentBlockIndex?`#ffffff`:`rgba(255,255,255,0.5)`,border:`2px solid #5b9bd5`,padding:0,cursor:`pointer`,zIndex:2,transition:`transform 0.15s, background 0.15s`},title:n.title,"aria-label":`Seek to ${n.title}`,onClick:e=>{e.stopPropagation(),t.seekTo(n.block.startTime)},onMouseEnter:e=>{e.currentTarget.style.transform=`translateX(-50%) scale(1.3)`},onMouseLeave:e=>{e.currentTarget.style.transform=`translateX(-50%)`}},`${n.block.id}-${r}`)),o!==null&&(0,R.jsxs)(`div`,{style:{position:`absolute`,left:`${o*100}%`,bottom:`100%`,transform:`translateX(-50%)`,marginBottom:`8px`,padding:`6px 10px`,background:`rgba(0,0,0,0.9)`,borderRadius:`4px`,whiteSpace:`nowrap`,pointerEvents:`none`,zIndex:10},children:[(0,R.jsx)(`div`,{style:{color:`white`,fontSize:`12px`,fontFamily:`monospace`},children:Oe(o*e.totalDuration)}),(()=>{let t=o*e.totalDuration,n=f(t);return n&&i?(0,R.jsx)(`div`,{style:{color:`rgba(255,255,255,0.7)`,fontSize:`11px`,marginTop:`2px`},children:i(n.block)}):null})()]}),o!==null&&(0,R.jsx)(`div`,{style:{position:`absolute`,left:`${o*100}%`,top:`50%`,transform:`translate(-50%, -50%)`,width:`2px`,height:`16px`,background:`rgba(255,255,255,0.6)`,pointerEvents:`none`,zIndex:1}})]})}function Ae({state:e,actions:t,blockMarkers:n,expandedBlocks:r,getBlockTitle:i}){return(0,R.jsxs)(`div`,{className:`doc-player__controls`,style:{position:`absolute`,bottom:0,left:0,right:0,padding:`12px 16px`,background:`linear-gradient(transparent, rgba(0,0,0,0.8))`,display:`flex`,alignItems:`center`,gap:`8px`,zIndex:100},children:[(0,R.jsx)(`button`,{onClick:t.restart,style:{background:`none`,border:`none`,color:`rgba(255,255,255,0.7)`,cursor:`pointer`,padding:`8px`,fontSize:`14px`,display:`flex`,alignItems:`center`},title:`Restart`,"aria-label":`Restart from beginning`,children:(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`})})}),(0,R.jsx)(`button`,{onClick:t.toggle,style:{background:`rgba(255,255,255,0.2)`,border:`none`,borderRadius:`50%`,color:`white`,cursor:`pointer`,padding:`10px`,fontSize:`16px`,display:`flex`,alignItems:`center`,justifyContent:`center`,width:`40px`,height:`40px`},"aria-label":e.isPlaying?`Pause`:`Play`,children:e.isPlaying?(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`20`,height:`20`,children:(0,R.jsx)(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`})}):(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`20`,height:`20`,children:(0,R.jsx)(`path`,{d:`M8 5v14l11-7z`})})}),(0,R.jsxs)(`span`,{style:{color:`white`,fontSize:`12px`,minWidth:`80px`,fontFamily:`monospace`},children:[Oe(e.currentTime),` / `,Oe(e.totalDuration)]}),(0,R.jsx)(ke,{state:e,actions:t,blockMarkers:n,expandedBlocks:r,getBlockTitle:i}),(0,R.jsxs)(`span`,{style:{color:`rgba(255,255,255,0.5)`,fontSize:`11px`,whiteSpace:`nowrap`},children:[e.currentBlockIndex+1,`/`,e.totalBlocks]}),e.hasCaptions&&(0,R.jsxs)(`button`,{onClick:()=>t.cycleCaptionMode(),style:{background:e.captionMode===`off`?`none`:`rgba(255,255,255,0.2)`,border:`none`,color:e.captionMode===`off`?`rgba(255,255,255,0.5)`:`white`,cursor:`pointer`,padding:`8px`,fontSize:`12px`,display:`flex`,alignItems:`center`,gap:`4px`,borderRadius:`4px`},title:e.captionMode===`off`?`Captions: Off (click for Standard)`:e.captionMode===`standard`?`Captions: Standard (click for Social)`:`Captions: Social (click to turn off)`,"aria-label":`Cycle caption style`,children:[(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M19 4H5a2 2 0 00-2 2v12a2 2 0 002 2h14a2 2 0 002-2V6a2 2 0 00-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-4a1 1 0 011-1h3a1 1 0 011 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1a1 1 0 01-1 1h-3a1 1 0 01-1-1v-4a1 1 0 011-1h3a1 1 0 011 1v1z`})}),e.captionMode!==`off`&&(0,R.jsx)(`span`,{style:{fontSize:`10px`,textTransform:`uppercase`,letterSpacing:`0.5px`},children:e.captionMode===`standard`?`CC`:`SM`})]}),t.toggleFullscreen&&(0,R.jsx)(`button`,{onClick:t.toggleFullscreen,style:{background:e.isFullscreen?`rgba(255,255,255,0.2)`:`none`,border:`none`,color:e.isFullscreen?`white`:`rgba(255,255,255,0.5)`,cursor:`pointer`,padding:`8px`,display:`flex`,alignItems:`center`,borderRadius:`4px`},title:e.isFullscreen?`Exit fullscreen (F)`:`Fullscreen (F)`,"aria-label":e.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,children:e.isFullscreen?(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`})}):(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`})})})]})}function je({state:e,slideNav:t,slides:n=[],pickerOpen:r,onPickerOpenChange:i}){let[a,o]=(0,N.useState)(!1),s=r??a,c=(0,N.useCallback)(e=>{r===void 0&&o(e),i?.(e)},[r,i]),[l,u]=(0,N.useState)(280),d=(0,N.useRef)(null),f=(0,N.useRef)(null),p=(0,N.useRef)(null),m=(0,N.useId)(),{currentBlockIndex:h,currentSlideLabel:g,currentSlideNumber:_,totalBlocks:v,totalSlideNumber:y}=e,b=h<=0,x=h>=v-1,S=v>0?g??`${_??h+1} / ${y??v}`:`—`;return(0,N.useEffect)(()=>{if(!s)return;let e=e=>{d.current?.contains(e.target)||c(!1)},t=e=>{e.key===`Escape`&&(e.preventDefault(),c(!1),f.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[s,c]),(0,N.useLayoutEffect)(()=>{if(!s)return;let e=d.current,t=e?.closest(`.doc-player`)??e?.parentElement;if(!e||!t)return;let n=()=>{let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=Math.floor(n.top-r.top-8-16);u(Math.max(72,i))};n();let r=typeof ResizeObserver>`u`?null:new ResizeObserver(n);return r?.observe(t),r?.observe(e),window.addEventListener(`resize`,n),()=>{r?.disconnect(),window.removeEventListener(`resize`,n)}},[s]),(0,N.useEffect)(()=>{s&&p.current?.querySelector(`[aria-current="true"]`)?.focus()},[s]),(0,R.jsxs)(`div`,{ref:d,className:`doc-controls-slideshow`,"data-testid":`slideshow-controls`,style:{position:`absolute`,bottom:`16px`,right:`16px`,display:`flex`,alignItems:`center`,gap:`2px`,background:`rgba(0, 0, 0, 0.65)`,borderRadius:`8px`,padding:`4px 6px`,zIndex:100,userSelect:`none`,backdropFilter:`blur(8px)`,WebkitBackdropFilter:`blur(8px)`},children:[(0,R.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t.prevSlide()},disabled:b,"data-testid":`slide-prev`,"aria-label":`Previous slide`,title:`Previous slide`,style:{background:`none`,border:`none`,color:b?`rgba(255,255,255,0.3)`:`rgba(255,255,255,0.9)`,cursor:b?`default`:`pointer`,padding:`6px 8px`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:`4px`,transition:`background 0.15s`},onMouseEnter:e=>{b||(e.currentTarget.style.background=`rgba(255,255,255,0.1)`)},onMouseLeave:e=>{e.currentTarget.style.background=`none`},children:(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z`})})}),(0,R.jsx)(`button`,{ref:f,type:`button`,"data-testid":`slide-counter`,"aria-label":`Choose slide, current ${S}`,"aria-haspopup":`menu`,"aria-expanded":s,"aria-controls":s?m:void 0,title:`Choose slide`,disabled:n.length===0,onClick:e=>{e.stopPropagation(),c(!s)},style:{background:s?`rgba(255,255,255,0.12)`:`none`,border:`none`,color:`rgba(255,255,255,0.9)`,cursor:n.length>0?`pointer`:`default`,fontSize:`13px`,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,fontVariantNumeric:`tabular-nums`,minWidth:`48px`,textAlign:`center`,padding:`6px 4px`,letterSpacing:`0.02em`,borderRadius:`4px`,transition:`background 0.15s`},children:S}),s&&(0,R.jsx)(`div`,{ref:p,id:m,role:`menu`,"aria-label":`Choose a slide`,"data-testid":`slide-picker`,onClick:e=>e.stopPropagation(),onKeyDown:e=>{if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;let t=Array.from(p.current?.querySelectorAll(`[role="menuitem"]`)??[]);if(t.length===0)return;e.preventDefault();let n=t.indexOf(document.activeElement),r=n;r=e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?(n+1)%t.length:(n-1+t.length)%t.length,t[r]?.focus()},style:{position:`absolute`,right:0,bottom:`calc(100% + 8px)`,width:`min(280px, calc(100vw - 32px))`,maxHeight:`${l}px`,overflowY:`auto`,padding:`6px`,background:`rgba(20, 20, 20, 0.94)`,border:`1px solid rgba(255,255,255,0.14)`,borderRadius:`8px`,boxShadow:`0 10px 30px rgba(0,0,0,0.38)`,backdropFilter:`blur(12px)`,WebkitBackdropFilter:`blur(12px)`},children:n.map((e,n)=>{let r=n===h;return(0,R.jsxs)(`button`,{type:`button`,role:`menuitem`,"aria-current":r?`true`:void 0,"data-testid":`slide-picker-item-${n}`,onClick:()=>{t.goToSlide(n),c(!1)},style:{display:`grid`,gridTemplateColumns:`42px minmax(0, 1fr)`,alignItems:`center`,gap:`8px`,width:`100%`,padding:`8px 10px`,background:r?`rgba(255,255,255,0.14)`:`transparent`,border:`none`,borderRadius:`5px`,color:`rgba(255,255,255,0.94)`,cursor:`pointer`,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,textAlign:`left`},onMouseEnter:e=>{e.currentTarget.style.background=`rgba(255,255,255,0.1)`},onMouseLeave:e=>{e.currentTarget.style.background=r?`rgba(255,255,255,0.14)`:`transparent`},children:[(0,R.jsx)(`span`,{style:{color:r?`#fff`:`rgba(255,255,255,0.58)`,fontSize:`12px`,fontVariantNumeric:`tabular-nums`,textAlign:`right`},children:e.label}),(0,R.jsx)(`span`,{style:{minWidth:0,overflow:`hidden`,color:r?`#fff`:`rgba(255,255,255,0.82)`,fontSize:`13px`,lineHeight:1.3,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.summary})]},`${e.id}-${n}`)})}),(0,R.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t.nextSlide()},disabled:x,"data-testid":`slide-next`,"aria-label":`Next slide`,title:`Next slide`,style:{background:`none`,border:`none`,color:x?`rgba(255,255,255,0.3)`:`rgba(255,255,255,0.9)`,cursor:x?`default`:`pointer`,padding:`6px 8px`,display:`flex`,alignItems:`center`,justifyContent:`center`,borderRadius:`4px`,transition:`background 0.15s`},onMouseEnter:e=>{x||(e.currentTarget.style.background=`rgba(255,255,255,0.1)`)},onMouseLeave:e=>{e.currentTarget.style.background=`none`},children:(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,width:`18`,height:`18`,children:(0,R.jsx)(`path`,{d:`M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z`})})})]})}async function Me(e){if(typeof document<`u`&&document.fonts?.ready)try{await document.fonts.ready}catch{}let t=Array.from(e.querySelectorAll(`img`));await Promise.allSettled(t.map(e=>e.complete?Promise.resolve():typeof e.decode==`function`?e.decode().catch(()=>void 0):new Promise(t=>{e.addEventListener(`load`,()=>t(),{once:!0}),e.addEventListener(`error`,()=>t(),{once:!0})}))),await new Promise(e=>{typeof requestAnimationFrame==`function`?requestAnimationFrame(()=>requestAnimationFrame(()=>e())):setTimeout(e,0)})}function Ne(e,t){return{id:e,startTime:0,duration:0,audioSegment:0,layers:t}}function Pe({doc:e,theme:t,viewport:n,layout:r,showTitle:i,style:o,documentTitle:s,basePath:l=`.`,animationsEnabled:u=!0,muted:d=!0,renderMode:f=!1,onRenderAPIReady:p,className:m}){let h=(0,N.useRef)(null),_=(0,N.useMemo)(()=>t??a(e),[t,e]),v=n??g.landscape,y=(0,N.useMemo)(()=>c(e,{theme:_,viewport:v,layout:r,showTitle:i,style:o,documentTitle:s}),[e,_,v,r,i,o,s]),b=(0,N.useMemo)(()=>Ne(`dashboard-backdrop-bottom`,y.backdrop.bottomLayers),[y]),x=(0,N.useMemo)(()=>y.backdrop.topLayers.length>0?Ne(`dashboard-backdrop-top`,y.backdrop.topLayers):null,[y]),S=(0,N.useMemo)(()=>y.title?Ne(`dashboard-title-band`,y.title.layers):null,[y]);(0,N.useEffect)(()=>{if(!(!f||!p))return p({seekTo:async()=>{let e=h.current;e&&await Me(e)},getRenderedTime:()=>0,getDuration:()=>0,getBlocks:()=>y.cells.map(e=>({id:String(e.block.id),template:e.block.template??`content`,startTime:0,duration:0})),getAudioSegments:()=>[],getCaptions:()=>[],getChapters:()=>[],showCover:async()=>{},hideCover:async()=>{},hasCoverBlock:()=>!1}),()=>p(null)},[f,p,y]);let C={width:v.width,height:v.height},w={position:`absolute`,inset:0},T={position:`relative`,width:`var(--squisq-dashboard-fit-width, 100%)`,aspectRatio:`${v.width} / ${v.height}`,overflow:`hidden`,background:y.backdrop.fill,margin:`0 auto`,"--squisq-dashboard-aspect":(v.width/v.height).toFixed(6)};return(0,R.jsxs)(`div`,{ref:h,className:m?`squisq-dashboard ${m}`:`squisq-dashboard`,"data-dashboard-layout":y.layout.name,"data-dashboard-style":y.style,style:T,children:[(0,R.jsx)(`div`,{style:w,"aria-hidden":`true`,children:(0,R.jsx)(A,{block:b,blockTime:0,basePath:l,viewport:C,isPlaying:!1,muted:!0,animationsEnabled:u,theme:_})}),y.cells.map(e=>(0,R.jsxs)(N.Fragment,{children:[e.frame&&(0,R.jsx)(`div`,{className:`squisq-dashboard__frame`,"data-cell-index":e.index,"aria-hidden":`true`,style:{position:`absolute`,left:e.frame.rectPct.left,top:e.frame.rectPct.top,width:e.frame.rectPct.width,height:e.frame.rectPct.height,pointerEvents:`none`},children:(0,R.jsx)(A,{block:Ne(`dashboard-frame-${e.index}`,e.frame.layers),blockTime:0,basePath:l,viewport:{width:e.frame.viewport.width,height:e.frame.viewport.height},isPlaying:!1,muted:!0,animationsEnabled:u,theme:_})}),(0,R.jsxs)(`div`,{className:`squisq-dashboard__cell`,"data-cell-index":e.index,style:{position:`absolute`,left:e.rectPct.left,top:e.rectPct.top,width:e.rectPct.width,height:e.rectPct.height,...e.frame?.contentRadiusPct?{borderRadius:e.frame.contentRadiusPct,overflow:`hidden`}:{}},children:[(0,R.jsx)(A,{block:{...e.block,layers:e.layers},blockTime:0,basePath:l,viewport:{width:e.viewport.width,height:e.viewport.height},isPlaying:!1,muted:d,animationsEnabled:u,theme:_}),e.frame&&e.frame.overlayLayers.length>0&&(0,R.jsx)(`div`,{style:{position:`absolute`,inset:0,pointerEvents:`none`},children:(0,R.jsx)(A,{block:Ne(`dashboard-frame-overlay-${e.index}`,e.frame.overlayLayers),blockTime:0,basePath:l,viewport:{width:e.frame.overlayViewport.width,height:e.frame.overlayViewport.height},isPlaying:!1,muted:!0,animationsEnabled:u,theme:_})})]})]},`${e.index}-${e.block.id}`)),y.title&&S&&(0,R.jsx)(`div`,{className:`squisq-dashboard__title`,style:{position:`absolute`,left:y.title.rectPct.left,top:y.title.rectPct.top,width:y.title.rectPct.width,height:y.title.rectPct.height},children:(0,R.jsx)(A,{block:S,blockTime:0,basePath:l,viewport:{width:y.title.viewport.width,height:y.title.viewport.height},isPlaying:!1,muted:!0,animationsEnabled:u,theme:_})}),x&&(0,R.jsx)(`div`,{style:{...w,pointerEvents:`none`},"aria-hidden":`true`,children:(0,R.jsx)(A,{block:x,blockTime:0,basePath:l,viewport:C,isPlaying:!1,muted:!0,animationsEnabled:u,theme:_})})]})}var Fe=new Set([`diagram`,`tree`,`timeline`,`map`,`drawing`,`layout`,`barChart`,`columnChart`,`pieChart`,`donutChart`,`lineChart`,`areaChart`,`scatterChart`]);function U(e,t,n,r){let i=o(e);if(!(i.templateName&&(Fe.has(i.templateName)||r?.some(e=>e.name===i.templateName))))return null;let a=i.templateBlock??e,{layers:s,source:c}=p(a,{theme:t,viewport:n,customTemplates:r,persistentLayers:!1});return s.length===0||c===`fallback`?null:{...a,layers:s}}function Ie({block:e,depth:t,theme:n,basePath:r,showCodeCopyButton:i,onCopyCode:a,fenceRenderers:o,viewport:s,customTemplates:c}){let l=t===0?`h2`:t===1?`h3`:`h4`,u=(0,N.useMemo)(()=>U(e,n,s,c),[e,c,n,s]);return(0,R.jsxs)(`section`,{className:`squisq-flashcards__content-block`,"data-source-block-id":e.id,children:[!u&&e.title&&(0,R.jsx)(l,{className:`squisq-flashcards__content-title`,children:e.title}),!u&&e.contents&&e.contents.length>0&&(0,R.jsx)(j,{nodes:e.contents,theme:n,showCodeCopyButton:i,onCopyCode:a,fenceRenderers:o}),(u||e.layers&&e.layers.length>0)&&(0,R.jsx)(`div`,{className:`squisq-flashcards__canvas`,style:{aspectRatio:`${s.width} / ${s.height}`},children:(0,R.jsx)(A,{block:u??e,blockTime:Math.max(0,e.duration??0),basePath:r,viewport:s,animationsEnabled:!1,theme:n,muted:!0})}),!u&&e.children?.map(e=>(0,R.jsx)(Ie,{block:e,depth:t+1,theme:n,basePath:r,showCodeCopyButton:i,onCopyCode:a,fenceRenderers:o,viewport:s,customTemplates:c},e.id))]})}function W(e){return(0,R.jsx)(`div`,{className:`squisq-flashcards__face-content`,children:e.face.blocks.map(t=>(0,R.jsx)(Ie,{block:t,depth:0,...e},t.id))})}function Le(e){return(0,R.jsx)(W,{...e,viewport:e.viewport??g.landscape})}function Re(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function ze(e,t){let n=[...e],r=Re(t)||1,i=()=>{r+=1831565813;let e=r;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296};for(let e=n.length-1;e>0;e--){let t=Math.floor(i()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return n}function Be(e){return(0,R.jsx)(W,{...e,face:e.choice.content})}function G(e){return e instanceof Element&&!!e.closest(`button, a, input, select, textarea, [contenteditable="true"]`)}function Ve({doc:e,theme:t,basePath:n=`.`,source:r=`auto`,shuffle:o=!1,globalKeyboardShortcuts:s=!1,showCodeCopyButton:c=!1,onCopyCode:l,fenceRenderers:u,viewport:d=g.landscape,className:f}){let p=(0,N.useMemo)(()=>t??a(e),[e,t]),m=(0,N.useMemo)(()=>i(e,{source:r}),[e,r]),[h,_]=(0,N.useState)(o),[v,y]=(0,N.useState)(1),[x,S]=(0,N.useState)(0),[C,w]=(0,N.useState)(!1),[T,E]=(0,N.useState)(null),[ee,D]=(0,N.useState)({}),[O,k]=(0,N.useState)(null),te=(0,N.useRef)(null),A=(0,N.useMemo)(()=>h?ze(m.cards,`${e.articleId}:${v}`):[...m.cards],[m.cards,e.articleId,v,h]),j=(0,N.useMemo)(()=>O?O.map(e=>A.find(t=>t.id===e)).filter(e=>!!e):A,[A,O]),M=j[x],ne=j.length>0&&x>=j.length,re=(0,N.useCallback)(()=>{S(0),w(!1),E(null)},[]),ie=(0,N.useCallback)(()=>{D({}),k(null),re(),y(e=>e+1)},[re]);(0,N.useEffect)(()=>{D({}),k(null),re()},[m,re]),(0,N.useEffect)(()=>{te.current&&(te.current.scrollTop=0)},[x,O]);let P=(0,N.useCallback)(()=>{M&&(w(!0),M.kind===`multiple-choice`&&T===null&&D(e=>({...e,[M.id]:`again`})))},[M,T]),ae=(0,N.useCallback)(()=>{if(M){if(!C){P();return}S(e=>e+1),w(!1),E(null)}},[M,P,C]),oe=(0,N.useCallback)(()=>{if(ne){S(Math.max(0,j.length-1)),w(!0);return}if(C){w(!1),E(null);return}x>0&&(S(e=>e-1),w(!0),E(null))},[x,ne,C,j.length]),se=(0,N.useCallback)(e=>{!M||C||(E(e.id),w(!0),D(t=>({...t,[M.id]:e.correct?`got-it`:`again`})))},[M,C]),ce=(0,N.useCallback)(e=>{M&&(D(t=>({...t,[M.id]:e})),S(e=>e+1),w(!1),E(null))},[M]),le=(0,N.useCallback)(e=>{if(!(e.defaultPrevented||G(e.target))){if(/^[1-9]$/.test(e.key)&&M?.kind===`multiple-choice`&&!C){let t=M.choices?.[Number(e.key)-1];t&&(e.preventDefault(),se(t));return}e.key===`ArrowLeft`?(e.preventDefault(),oe()):(e.key===`ArrowRight`||e.key===` `||e.key===`Enter`)&&(e.preventDefault(),ae())}},[se,M,ae,oe,C]);(0,N.useEffect)(()=>{if(!s)return;let e=e=>le(e);return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[s,le]);let F={theme:p,basePath:n,showCodeCopyButton:c,onCopyCode:l,fenceRenderers:u,viewport:d,customTemplates:e.customTemplates},ue=b(p.typography.titleFont,`Georgia, serif`),I=b(p.typography.bodyFont,`system-ui, sans-serif`),L={"--squisq-flashcards-bg":p.colors.background,"--squisq-flashcards-surface":p.colors.backgroundLight,"--squisq-flashcards-text":p.colors.text,"--squisq-flashcards-muted":p.colors.textMuted,"--squisq-flashcards-primary":p.colors.primary,"--squisq-flashcards-secondary":p.colors.secondary,"--squisq-flashcards-highlight":p.colors.highlight,"--squisq-flashcards-warning":p.colors.warning,"--squisq-flashcards-radius":`${p.style.borderRadius??18}px`,"--squisq-flashcards-title-font":ue,"--squisq-flashcards-body-font":I},de=m.cards.filter(e=>ee[e.id]===`again`).map(e=>e.id),fe=m.cards.filter(e=>ee[e.id]===`got-it`).length;if(m.cards.length===0)return(0,R.jsx)(`div`,{className:`squisq-flashcards squisq-flashcards--empty${f?` ${f}`:``}`,style:L,role:`region`,"aria-label":`Flashcards`,children:(0,R.jsxs)(`div`,{className:`squisq-flashcards__empty-card`,children:[(0,R.jsx)(`h2`,{children:`No complete flashcards yet`}),(0,R.jsx)(`p`,{children:`Add an answer beneath a heading, or nest an answer block under a question.`}),m.diagnostics.length>0&&(0,R.jsx)(`ul`,{children:m.diagnostics.map((e,t)=>(0,R.jsx)(`li`,{children:e.message},`${e.blockId}-${e.code}-${t}`))})]})});if(ne)return(0,R.jsx)(`div`,{className:`squisq-flashcards${f?` ${f}`:``}`,style:L,role:`region`,"aria-label":`Flashcard session summary`,tabIndex:0,onKeyDown:s?void 0:le,children:(0,R.jsxs)(`div`,{className:`squisq-flashcards__summary`,children:[(0,R.jsx)(`span`,{className:`squisq-flashcards__eyebrow`,children:`Session complete`}),(0,R.jsxs)(`h2`,{children:[fe,` remembered`]}),(0,R.jsx)(`p`,{children:de.length===0?`You completed all ${m.cards.length} cards.`:`${de.length} ${de.length===1?`card needs`:`cards need`} another look.`}),(0,R.jsxs)(`div`,{className:`squisq-flashcards__summary-actions`,children:[de.length>0&&(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button squisq-flashcards__button--primary`,onClick:()=>{k(de),re()},children:`Retry missed`}),(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button`,onClick:ie,children:`Study again`}),(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button`,onClick:oe,children:`Previous card`})]})]})});let pe=M?.choices?ze(M.choices,`${M.id}:${v}`):[],me=pe.find(e=>e.id===T);return(0,R.jsxs)(`div`,{className:`squisq-flashcards${f?` ${f}`:``}`,style:L,role:`region`,"aria-label":`Flashcards`,tabIndex:0,onKeyDown:s?void 0:le,children:[(0,R.jsxs)(`header`,{className:`squisq-flashcards__header`,children:[(0,R.jsxs)(`div`,{className:`squisq-flashcards__deck-copy`,children:[(0,R.jsx)(`span`,{className:`squisq-flashcards__eyebrow`,children:`Flashcards`}),m.title&&(0,R.jsx)(`h1`,{children:m.title})]}),(0,R.jsxs)(`div`,{className:`squisq-flashcards__tools`,children:[(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__tool`,"aria-pressed":h,onClick:()=>{_(e=>!e),ie()},children:`Shuffle`}),(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__tool`,onClick:ie,children:`Restart`})]})]}),(0,R.jsxs)(`div`,{className:`squisq-flashcards__progress-row`,children:[(0,R.jsxs)(`span`,{children:[`Card `,x+1,` of `,j.length]}),(0,R.jsx)(`span`,{children:C?`Answer revealed`:`Question`})]}),(0,R.jsx)(`div`,{className:`squisq-flashcards__progress`,"aria-hidden":`true`,children:(0,R.jsx)(`span`,{style:{width:`${(x+ +!!C)/j.length*100}%`}})}),(0,R.jsxs)(`main`,{ref:te,className:`squisq-flashcards__card`,"data-card-kind":M.kind,"aria-label":`Scrollable flashcard content`,tabIndex:0,children:[M.label&&(0,R.jsx)(`div`,{className:`squisq-flashcards__label`,children:M.label}),(0,R.jsx)(`section`,{className:`squisq-flashcards__front`,"aria-label":`Question`,children:(0,R.jsx)(W,{...F,face:M.front})}),M.kind===`multiple-choice`&&(0,R.jsx)(`div`,{className:`squisq-flashcards__choices`,role:`group`,"aria-label":`Answer choices`,children:pe.map((e,t)=>{let n=T===e.id;return(0,R.jsxs)(`button`,{type:`button`,className:`squisq-flashcards__choice`,"data-choice-status":C?e.correct?`correct`:n?`incorrect`:`idle`:`idle`,"aria-pressed":n,disabled:C,onClick:()=>se(e),children:[(0,R.jsx)(`span`,{className:`squisq-flashcards__choice-key`,"aria-hidden":`true`,children:t+1}),(0,R.jsx)(Be,{...F,choice:e})]},e.id)})}),C&&M.kind===`basic`&&(0,R.jsxs)(`section`,{className:`squisq-flashcards__answer`,"aria-label":`Answer`,children:[(0,R.jsx)(`span`,{className:`squisq-flashcards__answer-label`,children:`Answer`}),(0,R.jsx)(W,{...F,face:M.back})]}),C&&M.kind===`multiple-choice`&&(0,R.jsxs)(`div`,{className:`squisq-flashcards__feedback`,"data-correct":me?.correct===!0,"aria-live":`polite`,children:[(0,R.jsx)(`strong`,{children:me===void 0?`Answer revealed`:me.correct?`Correct`:`Not quite`}),!me?.correct&&(0,R.jsxs)(`div`,{className:`squisq-flashcards__correct-answer`,children:[(0,R.jsx)(`span`,{children:`The correct answer is`}),(0,R.jsx)(W,{...F,face:M.back})]})]}),C&&M.explanation&&(0,R.jsxs)(`section`,{className:`squisq-flashcards__explanation`,"aria-label":`Explanation`,children:[(0,R.jsx)(`span`,{className:`squisq-flashcards__answer-label`,children:`Explanation`}),(0,R.jsx)(W,{...F,face:M.explanation})]})]}),(0,R.jsxs)(`footer`,{className:`squisq-flashcards__footer`,children:[(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button`,disabled:x===0&&!C,onClick:oe,children:`Previous`}),(0,R.jsx)(`div`,{className:`squisq-flashcards__primary-actions`,children:C&&M.kind===`basic`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button`,onClick:()=>ce(`again`),children:`Again`}),(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button squisq-flashcards__button--primary`,onClick:()=>ce(`got-it`),children:`Got it`})]}):(0,R.jsx)(`button`,{type:`button`,className:`squisq-flashcards__button squisq-flashcards__button--primary`,onClick:ae,children:C?x===j.length-1?`Finish`:`Next card`:`Reveal answer`})})]}),(0,R.jsxs)(`p`,{className:`squisq-flashcards__shortcut-hint`,children:[`Use ← and → to navigate, Space to reveal`,M.kind===`multiple-choice`?`, or 1–9 to answer`:``,`.`]})]})}function K(e,t,n){if(e)return Object.prototype.hasOwnProperty.call(e,t)?e[t]:e[n]}function He(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`background`||t===`behind`)return`background`;if(t===`full-frame`||t===`fullscreen`||t===`full`)return`full-frame`;if(t===`picture-in-picture`||t===`pip`||t===`overlay`)return`picture-in-picture`}function Ue(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`small`||t===`sm`||t===`pip-small`)return`small`;if(t===`large`||t===`lg`||t===`big`||t===`pip-large`)return`large`}function We(e){if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t===`square`||t===`1:1`)return`square`;if(t===`wide`||t===`16:9`||t===`widescreen`)return`wide`}function Ge(e){if(typeof e==`string`)return{"top-left":`top-left`,"upper-left":`top-left`,"top-right":`top-right`,"upper-right":`top-right`,"bottom-left":`bottom-left`,"lower-left":`bottom-left`,"bottom-right":`bottom-right`,"lower-right":`bottom-right`}[e.trim().toLowerCase().replace(/[_\s]+/g,`-`)]}function Ke(e,t={}){let n=e.frontmatter,r=f(n,{...t.showCoverSlide===void 0?{}:{enabled:t.showCoverSlide},...t.coverSlideTemplate===void 0?{}:{template:t.coverSlideTemplate},...t.coverSlideDuration===void 0?{}:{duration:t.coverSlideDuration},...t.coverSlidePlayback===void 0?{}:{playback:t.coverSlidePlayback}});return{theme:t.theme??a(e),videoPresentation:t.videoPresentation??He(K(n,`squisq-video-presentation`,`video-presentation`))??`background`,pipSize:t.pipSize??Ue(K(n,`squisq-pip-size`,`pip-size`))??`small`,pipShape:t.pipShape??We(K(n,`squisq-pip-shape`,`pip-shape`))??`square`,pipPosition:t.pipPosition??Ge(K(n,`squisq-pip-position`,`pip-position`))??`bottom-right`,showCoverSlide:r.enabled,coverSlideTemplate:r.template,coverSlideDuration:r.duration,coverSlidePlayback:r.playback}}var qe=.3,q=.5,Je=12,J=.35,Ye=260;function Xe({dx:e,width:t,elapsedMs:n,canNext:r,canPrev:i}){let a=t>0?t*qe:1/0,o=n>0?Math.abs(e)/n:0;return!(Math.abs(e)>=a)&&!(o>=q&&Math.abs(e)>=Je)?`snap`:e<0?r?`next`:`snap`:e>0&&i?`prev`:`snap`}function Ze(e){let t=e.settleMs??Ye,[n,r]=(0,N.useState)(0),[i,a]=(0,N.useState)(`idle`),o=(0,N.useRef)(e);o.current=e;let s=(0,N.useRef)(null),c=(0,N.useRef)(`idle`);c.current=i;let l=(0,N.useRef)(null),u=(0,N.useRef)(null),d=(0,N.useCallback)(()=>{l.current!=null&&(clearTimeout(l.current),l.current=null),u.current!=null&&(cancelAnimationFrame(u.current),u.current=null)},[]),f=(0,N.useCallback)(e=>{if(!o.current.enabled||c.current===`settling`||e.pointerType===`mouse`&&e.button!==0)return;let t=e.target;if(!t.closest?.(`button, a, input, textarea, select, [data-no-swipe]`)){s.current={pointerId:e.pointerId,startX:e.clientX,startTime:performance.now(),target:t};try{t.setPointerCapture?.(e.pointerId)}catch{}a(`dragging`),r(0)}},[]);return(0,N.useEffect)(()=>{function e(){return o.current.containerRef.current?.getBoundingClientRect().width??0}function n(e){s.current=null;try{e.target.releasePointerCapture?.(e.pointerId)}catch{}}function i(e,n){a(`settling`),u.current=requestAnimationFrame(()=>{u.current=null,r(e),l.current=setTimeout(()=>{l.current=null,n?.(),r(0),a(`idle`)},t)})}function c(e){let t=s.current;if(!t||e.pointerId!==t.pointerId)return;let n=o.current,i=e.clientX-t.startX,a=i>0&&!n.canGoPrev||i<0&&!n.canGoNext;r(a?i*J:i)}function d(t){let r=s.current;if(!r||t.pointerId!==r.pointerId)return;n(r);let a=o.current,c=t.clientX-r.startX,l=e(),u=Xe({dx:c,width:l,elapsedMs:performance.now()-r.startTime,canNext:a.canGoNext,canPrev:a.canGoPrev});if(u===`snap`){i(0);return}let d=Math.max(l,Math.abs(c));i(u===`next`?-d:d,u===`next`?a.onNext:a.onPrev)}function f(e){let t=s.current;!t||e.pointerId!==t.pointerId||(n(t),i(0))}return window.addEventListener(`pointermove`,c),window.addEventListener(`pointerup`,d),window.addEventListener(`pointercancel`,f),()=>{window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,f)}},[t]),(0,N.useEffect)(()=>{e.enabled||(s.current=null,d(),a(`idle`),r(0))},[e.enabled,d]),(0,N.useEffect)(()=>d,[d]),{offsetPx:n,phase:i,onPointerDown:f}}var Qe=new Set([`a`,`an`,`the`,`and`,`but`,`or`,`for`,`nor`,`on`,`at`,`to`,`in`,`of`,`by`,`is`]);function $e(e){let t=new Map;for(let n of e.blocks)if(h(n)&&n.template===`sectionHeader`&&`title`in n){let e=n.audioSegment;t.has(e)||t.set(e,n.title)}for(let n=0;n<e.audio.segments.length;n++){if(t.has(n))continue;let r=e.audio.segments[n].name;if(r.includes(`intro`))t.set(n,`Introduction`);else if(r.includes(`flight-context`))t.set(n,`Flight Context`);else{let e=r.split(`-`).map((e,t)=>t===0||!Qe.has(e)?e.charAt(0).toUpperCase()+e.slice(1):e).join(` `);t.set(n,e)}}return t}var et=2e3,tt=16,Y=.01,nt=.5,rt=1;function it(e){return Number.isFinite(e)?`${e.toFixed(3)}s`:String(e)}function at(e,t){let n=e.duration;return Number.isFinite(n)?Math.max(0,Math.min(t,n)):t}function ot(e,t){return Math.abs(e.currentTime-at(e,t))<=Y}function st(e){if(!e.isConnected)return!1;let t=e.ownerDocument.defaultView;if(!t)return!1;for(let n=e;n;n=n.parentElement){let e=t.getComputedStyle(n);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||Number.parseFloat(e.opacity||`1`)<=0)return!1}return!0}function ct(e,t,n){let r=null,i=()=>{r!==null&&(clearTimeout(r),r=null)};return{arm:()=>{i(),e.visibilityState===`visible`&&(r=setTimeout(n,t))},clear:i}}function lt(e,t,n=et){return e.pause(),new Promise((r,i)=>{let a=!1,o=null,s=e.ownerDocument,c=()=>s.visibilityState!==`visible`,l=()=>{m.clear(),clearInterval(_),e.removeEventListener(`seeked`,p),e.removeEventListener(`loadeddata`,p),e.removeEventListener(`canplay`,p),s.removeEventListener(`visibilitychange`,g),o!==null&&typeof e.cancelVideoFrameCallback==`function`&&e.cancelVideoFrameCallback(o)},u=()=>{a||(a=!0,l(),r())},d=()=>{a||(a=!0,l(),i(Error(`Video frame did not become ready at ${it(t)} within ${n}ms (currentTime=${it(e.currentTime)}, reachableTime=${it(at(e,t))}, duration=${it(e.duration)}, readyState=${e.readyState}, seeking=${String(e.seeking)}, visible=${String(st(e))}).`)))},f=()=>{if(!(a||e.seeking||e.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!ot(e,t))){if(typeof e.requestVideoFrameCallback!=`function`||!st(e)){u();return}o===null&&(o=e.requestVideoFrameCallback(()=>{o=null,u()}))}};function p(){f()}let m=ct(s,n,d),h=()=>{try{return e.currentTime=at(e,t),queueMicrotask(f),!0}catch(e){return a=!0,l(),i(e),!1}};function g(){if(!a){if(c()){m.clear();return}f(),!a&&(!e.seeking&&!ot(e,t)&&!h()||m.arm())}}let _=setInterval(f,tt);e.addEventListener(`seeked`,p),e.addEventListener(`loadeddata`,p),e.addEventListener(`canplay`,p),s.addEventListener(`visibilitychange`,g),m.arm(),h()})}function ut(e,t,n){return new Promise((r,i)=>{let a=!1,o=e.ownerDocument,s=()=>o.visibilityState!==`visible`,c=()=>{h.clear(),clearInterval(y),e.removeEventListener(`timeupdate`,f),e.removeEventListener(`loadeddata`,f),e.removeEventListener(`canplay`,f),e.removeEventListener(`error`,d),o.removeEventListener(`visibilitychange`,v)},l=()=>{a||(a=!0,c(),r())},u=()=>{a||(a=!0,e.pause(),c(),lt(e,t,n).then(r,i))},d=()=>{a||(a=!0,e.pause(),c(),i(Error(`Video frame did not advance to ${it(t)} within ${n}ms (currentTime=${it(e.currentTime)}, readyState=${e.readyState}).`)))};function f(){e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.currentTime>=at(e,t)&&(e.pause(),l())}let p=()=>{a||s()||u()},m=()=>{if(!(a||s()))try{e.playbackRate=rt,e.paused&&e.play().catch(p)}catch{p()}},h=ct(o,n,d),g=()=>{e.pause(),h.clear()},_=()=>{a||s()||(f(),!a&&(m(),h.arm()))};function v(){if(o.visibilityState!==`visible`){g();return}_()}let y=setInterval(f,tt);e.addEventListener(`timeupdate`,f),e.addEventListener(`loadeddata`,f),e.addEventListener(`canplay`,f),e.addEventListener(`error`,d,{once:!0}),o.addEventListener(`visibilitychange`,v),_()})}function dt(e,t,n=et){if(e.readyState>=HTMLMediaElement.HAVE_METADATA&&e.videoWidth<=0&&e.videoHeight<=0)return e.pause(),Promise.resolve();let r=at(e,t)-e.currentTime;if(e.dataset.captureSequential===`true`){if(e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&r<=Y)return r<-Y&&e.pause(),Promise.resolve();if(r>0&&r<=nt&&e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)return ut(e,t,n)}return e.pause(),!e.seeking&&e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&ot(e,t)?Promise.resolve():lt(e,t,n)}function ft(){try{return typeof process<`u`&&!1}catch{return!1}}var pt=!1,mt=100,ht=1e-6;function gt(){return new Promise(e=>{let t=!1,n=null,r=()=>{t||(t=!0,window.clearTimeout(i),n!==null&&window.cancelAnimationFrame(n),e())},i=window.setTimeout(r,document.visibilityState===`visible`?mt:0);document.visibilityState===`visible`&&(n=window.requestAnimationFrame(r))})}function _t(e){let{doc:t,markdown:n}=e,r=(0,N.useMemo)(()=>!t&&n!==void 0?u(T(n)):void 0,[t,n]),i=t??r;return i?e.displayMode===`flashcards`?(0,R.jsx)(`div`,{className:`doc-player doc-player--flashcards`,children:(0,R.jsx)(Ve,{doc:i,basePath:e.basePath,theme:e.theme,globalKeyboardShortcuts:e.globalKeyboardShortcuts,showCodeCopyButton:e.showCodeCopyButton,onCopyCode:e.onCopyCode,fenceRenderers:e.fenceRenderers,viewport:e.forceViewport})}):(0,R.jsx)(vt,{...e,doc:i}):(0,R.jsx)(`div`,{className:`doc-player doc-player--empty`})}function vt({doc:e,basePath:t=`.`,renderMode:n=!1,animationsEnabled:r=!0,autoPlay:i=!1,loop:a=!1,onEnded:o,onTimeUpdate:s,audioController:c,audioMode:u=`media`,showControls:d=!0,showScrubber:f=!1,muted:p=!1,captionsEnabled:m,onCaptionsToggle:v,onPlaybackStateChange:y,onControlsReady:b,onRenderAPIReady:C,isFullscreen:T=!1,onFullscreenToggle:E,onBlockMarkers:ee,forceViewport:O,displayMode:te=`video`,dashboardLayout:j,dashboardShowTitle:M,dashboardStyle:ne,dashboardDocumentTitle:P,showCoverSlide:ae,coverSlideTemplate:oe,coverSlideDuration:se,coverSlidePlayback:ce,coverVisible:le,theme:I,surface:L,captionStyle:pe=`standard`,videoPresentation:me,pipSize:he,pipShape:ge,pipPosition:_e,enableSwipe:ye=!0,globalKeyboardShortcuts:be=!1,showCodeCopyButton:xe=!1,onCopyCode:Se,fenceRenderers:Ce}){let z=te===`slideshow`,B=te===`linear`,V=te===`dashboard`,Te=(0,N.useRef)(null),H=(0,N.useRef)(null),Ee=`squisq-player-${(0,N.useId)().replace(/:/g,``)}`,[Oe,Me]=(0,N.useState)(null),Ne=(0,N.useRef)(),{viewport:Fe}=de(),U=O||(n?g.landscape:Fe),Ie=U.height>U.width?`portrait`:`landscape`,W=(0,N.useMemo)(()=>typeof window>`u`?!1:new URLSearchParams(window.location.search).get(`debug`)===`true`,[]),Le=(0,N.useMemo)(()=>u===`synthetic`?S(e):0,[u,e]),Re=F(Te,e.audio,t,!c,u,Le),ze=c||Re;(0,N.useEffect)(()=>{if(pt||!ft())return;let e=H.current;!e||typeof getComputedStyle!=`function`||getComputedStyle(e).getPropertyValue(`--squisq-styles-loaded`).trim()||(pt=!0,console.warn(`[squisq] @bendyline/squisq-react/styles is not loaded — import "@bendyline/squisq-react/styles"`))},[]);let{currentTime:Be,isPlaying:G,currentSegment:Ve,totalDuration:K,isEnded:He,isReady:Ue,isAvailable:We,unavailableMessage:Ge,play:qe,pause:q,toggle:Je,seekTo:J,skipToSegment:Ye,restart:Xe}=ze,[Qe,et]=(0,N.useState)(null),tt=Qe?.doc===e?Qe.time:null,Y=n?tt??Be:Be,nt=we((0,N.useMemo)(()=>w(e),[e]),t),rt=(0,N.useMemo)(()=>w(e,{intrinsicDuration:e=>nt.get(e.src)}),[e,nt]),it=(0,N.useCallback)(()=>{if(n)return;let e=H.current;e&&e.querySelectorAll(`.doc-player__block--active video[data-clip-start], [data-clip-id][data-active="true"]`).forEach(e=>{let t=e.play();t&&t.catch(()=>{})})},[n]),at=(0,N.useCallback)(()=>(it(),qe()),[qe,it]),ot=(0,N.useCallback)(()=>(G||it(),Je()),[G,it,Je]),st=(0,N.useRef)(Y);st.current=Y;let ct=(0,N.useRef)(Y),lt=(0,N.useRef)([]),ut=(0,N.useRef)(K);ut.current=K;let mt=(0,N.useRef)(0);(0,N.useLayoutEffect)(()=>{ct.current=Y;let e=lt.current;lt.current=e.filter(e=>Math.abs(e.time-Y)>ht?!0:(e.resolve(),!1))},[Y]),(0,N.useEffect)(()=>()=>{let e=Error(`DocPlayer unmounted before the requested frame committed.`);lt.current.splice(0).forEach(t=>t.reject(e))},[]);let _t=(0,N.useCallback)(e=>Math.abs(ct.current-e)<=ht?Promise.resolve():new Promise((t,n)=>{lt.current.push({time:e,resolve:t,reject:n})}),[]),vt=(0,N.useCallback)(e=>{if(n||B)return;let t=e.target;if(z){t.closest(`button, a, input, textarea, select, [contenteditable="true"]`)||H.current?.focus({preventScroll:!0});return}t.closest(`button, a, input, textarea, select, [contenteditable="true"], .doc-player__controls, .doc-player__scrubber, .doc-controls-sidebar, .doc-controls-slideshow`)||(H.current?.focus({preventScroll:!0}),ot(),Me(G?`pause`:`play`),clearTimeout(Ne.current),Ne.current=setTimeout(()=>Me(null),600))},[n,ot,G,z,B]),yt=ie(L===`auto`),bt=L===`auto`?yt:L,X=(0,N.useMemo)(()=>Ke(e,{theme:I,videoPresentation:me,pipSize:he,pipShape:ge,pipPosition:_e,showCoverSlide:ae,coverSlideTemplate:oe,coverSlideDuration:se,coverSlidePlayback:ce}),[e,I,me,he,ge,_e,ae,oe,se,ce]),xt=(0,N.useMemo)(()=>{let e=X.theme;return bt?x(e,bt):e},[X.theme,bt]),St=(0,N.useMemo)(()=>k(xt),[xt]),Ct=St,wt=(0,N.useMemo)(()=>({border:St[`--squisq-pip-border`],borderRadius:St[`--squisq-pip-radius`],boxShadow:St[`--squisq-pip-shadow`]}),[St]),{currentBlock:Tt,currentBlockIndex:Et,previousBlock:Dt,isEntering:Ot,isExiting:kt,blockTime:At,blockProgress:jt,docProgress:Mt,nextBlock:Nt,prevBlock:Pt,blocks:Z,suppressOutgoingForNextBlock:Ft}=ue(e,Y,{viewport:U,theme:xt,onSeek:J,useAudioSegmentTiming:u!==`synthetic`}),Q=(0,N.useMemo)(()=>{let t=e.startBlock;return!X.showCoverSlide||!t?null:{id:`cover-block`,startTime:-1,duration:0,audioSegment:-1,layers:l(t,_(xt,0,1,U),X.coverSlideTemplate)}},[e.startBlock,U,xt,X.showCoverSlide,X.coverSlideTemplate]),It=!!Q,[Lt,Rt]=(0,N.useState)(!1),[zt,Bt]=(0,N.useState)(!1),Vt=(0,N.useRef)(``);(0,N.useEffect)(()=>{let t=`${e.articleId}:${z}:${It}:${n}`;Vt.current!==t&&(Vt.current=t,z&&It&&!n?(Rt(!0),q()):Rt(!1))},[e.articleId,z,It,n,q]);let[Ht,Ut]=(0,N.useState)(!1),[Wt,Gt]=(0,N.useState)(!1),Kt=(0,N.useRef)(),qt=(0,N.useRef)(!1),Jt=(0,N.useRef)(!1);(0,N.useEffect)(()=>{Jt.current=!1,qt.current=!1,clearTimeout(Kt.current),Gt(!1),Ut(!1)},[e]),Q&&!z&&!G&&Y===0&&!Jt.current&&!n&&!i&&(qt.current=!0),(0,N.useEffect)(()=>{G&&qt.current&&Q&&!n&&!z&&(qt.current=!1,Jt.current=!0,Gt(!0),Kt.current=setTimeout(()=>Gt(!1),X.coverSlideDuration*1e3))},[G,Q,n,z,X.coverSlideDuration]),(0,N.useEffect)(()=>()=>clearTimeout(Kt.current),[]),(0,N.useEffect)(()=>()=>clearTimeout(Ne.current),[]);let Yt=!z&&!B&&!!Q&&(Ht||Wt||!G&&Y===0&&!Jt.current&&!n&&!i),Xt=le??Lt,Zt=!!(z&&!B&&!n&&Q&&Xt),Qt=le===void 0?Yt||Zt:!!Q&&le,$=!!(z&&!n&&Q),$t=$?Xt?0:Et+1:Et,en=$?Z.length+1:Z.length,tn=(0,N.useRef)(!1);(0,N.useEffect)(()=>{tn.current=!1},[e]),(0,N.useEffect)(()=>{Ue&&i&&!tn.current&&(tn.current=!0,at())},[Ue,i,at]),(0,N.useEffect)(()=>{s?.(Y)},[Y,s]),(0,N.useEffect)(()=>{He&&(o?.(),a&&!z&&!B&&!V&&Xe())},[He,V,B,z,a,o,Xe]);let nn=(0,N.useRef)(null),rn=(0,N.useRef)(null);if(!rn.current){let e=()=>{let e=nn.current;if(!e)throw Error(`Squisq render API is not currently available.`);return e};rn.current={seekTo:t=>e().seekTo(t),getRenderedTime:()=>e().getRenderedTime(),getDuration:()=>e().getDuration(),getBlocks:()=>e().getBlocks(),getAudioSegments:()=>e().getAudioSegments(),getCaptions:()=>e().getCaptions(),getChapters:()=>e().getChapters(),showCover:()=>e().showCover(),hideCover:()=>e().hideCover(),hasCoverBlock:()=>e().hasCoverBlock()}}let an=rn.current;(0,N.useEffect)(()=>{if(V||!n&&!W){nn.current=null;return}let t=H.current;if(!t){nn.current=null;return}let r={seekTo:async r=>{if(n){let t=_t(r);(0,fe.flushSync)(()=>et({doc:e,time:r})),c&&J(r).catch(()=>void 0),await t}else await J(r);let i=0;for(let e=Z.length-1;e>=0;e--)if(r>=Z[e].startTime){i=Z[e].startTime;break}let a=(r-i)*1e3;(t.getAnimations?.()??[]).forEach(e=>{let t=e.effect?.target;t&&(t.closest(`.doc-player__block--active`)||t.closest(`.doc-player__block--previous`))&&(e.currentTime=Math.max(0,a))});let o=r-i,s=[],l=t.querySelector(`.doc-player__block--active`);l&&l.querySelectorAll(`video[data-clip-start]`).forEach(e=>{let t=e,n=parseFloat(t.dataset.clipStart||`0`),r=parseFloat(t.dataset.clipEnd||`0`),i=parseFloat(t.dataset.startAt||`0`),a=Math.min(n+Math.max(0,o-i),r);s.push(dt(t,a))}),t.querySelectorAll(`video[data-clip-id]`).forEach(e=>{let t=e,n=parseFloat(t.dataset.absStart||`0`),i=parseFloat(t.dataset.absEnd||`0`),a=parseFloat(t.dataset.sourceIn||`0`);if(t.pause(),r<n||r>=i)return;let o=a+(r-n);s.push(dt(t,o))}),await Promise.all(s),await gt()},getRenderedTime:()=>ct.current,getDuration:()=>{let t=S(e);return K>0?Math.max(K,t):t},getBlocks:()=>Z.map(e=>({id:e.id,template:e.template??`raw`,startTime:e.startTime,duration:e.duration})),getAudioSegments:()=>e.audio.segments.map(e=>({src:e.src,name:e.name,duration:e.duration,startTime:e.startTime})),getCaptions:()=>e.captions?.phrases?.map(e=>({text:e.text,startTime:e.startTime,endTime:e.endTime}))||[],getChapters:()=>{let t=$e(e);return e.audio.segments.map((e,n)=>({title:t.get(n)||e.name,startTime:e.startTime,duration:e.duration}))},showCover:()=>(Ut(!0),gt()),hideCover:()=>(Ut(!1),gt()),hasCoverBlock:()=>!!Q};return nn.current=r,()=>{nn.current===r&&(nn.current=null)}},[n,W,J,K,Z,Q,e,c,_t,V]),(0,N.useEffect)(()=>{if(!V){if(!n&&!W||!H.current){C?.(null);return}return C?.(an),()=>C?.(null)}},[n,W,V,C,an]);let on=m===!1?`off`:pe||`standard`,[sn,cn]=(0,N.useState)(on);(0,N.useEffect)(()=>{cn(on)},[on]);let ln=sn!==`off`,un=sn===`social`?`social`:`standard`,dn=(0,N.useCallback)(e=>{cn(e?pe||`standard`:`off`),v?.(e)},[v,pe]),fn=(0,N.useCallback)(()=>{cn(e=>{let t=e===`off`?`standard`:e===`standard`?`social`:`off`;return v?.(t!==`off`),t})},[v]),pn=e.captions&&e.captions.phrases.length>0,mn=(0,N.useMemo)(()=>$e(e),[e]),hn=(0,N.useMemo)(()=>({isPlaying:G,currentTime:Y,totalDuration:K,isCoverVisible:Qt,currentBlockIndex:$t,totalBlocks:en,docProgress:Mt,hasCaptions:!!pn,captionsEnabled:ln,captionMode:sn,isFullscreen:T,currentSegmentIndex:Ve,currentSegmentName:mn.get(Ve)??e.audio.segments[Ve]?.name??null,currentBlock:Zt?Q:Tt??null,currentSlideLabel:Zt?`Cover`:void 0,currentSlideNumber:$&&!Zt?Et+1:void 0,totalSlideNumber:$?Z.length:void 0}),[G,Y,K,Qt,$t,en,Mt,pn,ln,sn,T,Ve,mn,Tt,Et,Zt,Q,$,Z.length]),gn=(0,N.useMemo)(()=>({toggle:ot,restart:Xe,seekTo:J,setCaptionsEnabled:dn,cycleCaptionMode:fn,toggleFullscreen:E}),[ot,Xe,J,dn,fn,E]),_n=(0,N.useMemo)(()=>({nextSlide:()=>{if($&&Lt){let e=Z[0];e&&(Rt(!1),J(e.startTime),q());return}if(Et<Z.length-1){let e=Z[Et+1];e&&(Rt(!1),J(e.startTime),q())}},prevSlide:()=>{if($&&!Lt&&Et<=0){Rt(!0),J(0),q();return}if(Et>0){let e=Z[Et-1];e&&(Rt(!1),J(e.startTime),q())}},goToSlide:e=>{if($){if(e===0){Rt(!0),J(0),q();return}let t=Z[e-1];t&&(Rt(!1),J(t.startTime),q());return}if(e>=0&&e<Z.length){let t=Z[e];t&&(J(t.startTime),q())}}}),[Et,Z,J,q,$,Lt]),vn=z&&!B&&!n&&ye,yn=(0,N.useCallback)(e=>{let t=e-+!!$,n=Z[t];n&&Ft(n.id)},[Z,$,Ft]),bn=(0,N.useCallback)(()=>{yn($t+1),_n.nextSlide()},[yn,$t,_n]),xn=(0,N.useCallback)(()=>{yn($t-1),_n.prevSlide()},[yn,$t,_n]),Sn=Ze({enabled:vn,containerRef:H,canGoNext:$t<en-1,canGoPrev:$t>0,onNext:bn,onPrev:xn});(0,N.useEffect)(()=>{y?.(hn)},[hn,y]),(0,N.useEffect)(()=>{b?.({play:at,pause:q,...gn})},[at,q,gn,b]);let Cn=(0,N.useCallback)(e=>{let t=e;if(h(t)){let e=t;if(typeof e.title==`string`)return e.title;if(typeof e.stat==`string`)return e.stat;if(typeof e.quote==`string`){let t=e.quote.split(`
4
+ `)[0];return t.length<=30?t:t.slice(0,27)+`...`}if(typeof e.date==`string`)return e.date;if(typeof e.fact==`string`)return e.fact}if(e.layers&&Array.isArray(e.layers)){let t=e.layers.find(e=>e.type===`text`);if(t?.content?.text){let e=t.content.text.split(`
5
+ `)[0];return e.length<=30?e:e.slice(0,27)+`...`}}return e.id.replace(/-/g,` `).replace(/\b\w/g,e=>e.toUpperCase())},[]),wn=(0,N.useMemo)(()=>{let e=Z.map((e,t)=>({id:e.id,label:String(t+1),summary:Cn(e)}));return!$||!Q?e:[{id:`__cover__`,label:`Cover`,summary:Cn(Q)},...e]},[Q,Z,Cn,$]),Tn=(0,N.useMemo)(()=>{if(!K||!Z.length)return[];let e=-1;return Z.map((t,n)=>{let r=t.audioSegment!==e;return e=t.audioSegment,{block:t,index:n,position:t.startTime/K*100,title:Cn(t),isSectionStart:r}})},[Z,K,Cn]);(0,N.useEffect)(()=>{Tn.length>0&&ee?.(Tn)},[Tn,ee]),mt.current=z?en:Z.length;let En=(0,N.useCallback)((e,t)=>{if(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let n=e.target instanceof Element?e.target:null,r=!!n?.closest(`input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [role="combobox"], [role="listbox"], [role="slider"], [role="spinbutton"], .monaco-editor`),i=!!n?.closest(`[role="menu"], [role="dialog"], [aria-modal="true"]`),a=z&&!!n?.closest(`.doc-controls-slideshow`)&&!n.closest(`[role="menu"]`);if(!(r||t&&i||!t&&n?.closest(`input, textarea, select, button, a, [contenteditable]:not([contenteditable="false"]), [role="textbox"]`)&&!a)&&!(B||V)){if(e.key===`f`||e.key===`F`){if(!E)return;e.preventDefault(),E();return}if(z)switch(e.key){case`ArrowRight`:case`ArrowDown`:case` `:e.preventDefault(),_n.nextSlide();break;case`ArrowLeft`:e.preventDefault(),_n.prevSlide();break;case`ArrowUp`:e.preventDefault(),Bt(!0);break;case`Home`:e.preventDefault(),_n.goToSlide(0);break;case`End`:e.preventDefault(),_n.goToSlide(mt.current-1);break}else switch(e.key){case` `:e.preventDefault(),ot();break;case`ArrowRight`:e.preventDefault(),J(Math.min(st.current+10,ut.current));break;case`ArrowLeft`:e.preventDefault(),J(Math.max(st.current-10,0));break}}},[z,B,V,ot,J,_n,E]),Dn=(0,N.useCallback)(e=>En(e,!1),[En]);return(0,N.useEffect)(()=>{if(!be||n||B||V)return;let e=e=>{En(e,!0)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[be,En,V,B,n]),B?(0,R.jsx)(`div`,{ref:H,"data-player-id":Ee,className:`doc-player doc-player--linear`,style:{position:`relative`,width:`100%`,height:`100%`,overflow:`hidden`},children:(0,R.jsx)(re,{doc:e,basePath:t,viewport:U,theme:I,surface:L,animationsEnabled:r,showCodeCopyButton:xe,onCopyCode:Se,fenceRenderers:Ce})}):V?(0,R.jsx)(`div`,{ref:H,"data-player-id":Ee,className:`doc-player doc-player--dashboard`,style:{position:`relative`,width:`100%`,aspectRatio:`${U.width} / ${U.height}`,margin:`0 auto`,overflow:`hidden`},children:(0,R.jsx)(Pe,{doc:e,theme:I,viewport:U,layout:j,showTitle:M,style:ne,documentTitle:P,basePath:t,animationsEnabled:r,muted:n||p,renderMode:n||W,onRenderAPIReady:C})}):(0,R.jsxs)(`div`,{ref:H,"data-player-id":Ee,"data-orientation":Ie,"data-playback-state":G?`playing`:`paused`,"data-swipe-phase":Sn.phase,tabIndex:n?-1:0,role:`region`,"aria-label":`Document player`,onKeyDown:n?void 0:Dn,className:`doc-player${vn?` doc-player--swipe`:``}${Sn.phase===`dragging`?` doc-player--grabbing`:``}`,onClick:vt,onPointerDown:Sn.onPointerDown,style:{...Ct,position:`relative`,width:`100%`,aspectRatio:`${U.width} / ${U.height}`,margin:`0 auto`,overflow:`hidden`,cursor:n||vn?void 0:`pointer`,touchAction:vn?`pan-y`:void 0},children:[(0,R.jsx)(`audio`,{ref:Te,preload:`auto`,muted:p}),(0,R.jsx)(ve,{schedule:rt,currentTime:Y,isPlaying:G,basePath:t,renderMode:n,muted:p,presentation:X.videoPresentation,pipSize:X.pipSize,pipShape:X.pipShape,pipPosition:X.pipPosition,pipOrientation:Ie,pipFrameStyle:wt}),(0,R.jsxs)(`div`,{className:`doc-player__viewport`,children:[Qt&&Q&&(0,R.jsx)(`div`,{className:`doc-player__block doc-player__block--cover`,children:(0,R.jsx)(A,{block:Q,blockTime:0,basePath:t,isEntering:!1,viewport:U,muted:n||p,animationsEnabled:r,theme:xt})}),r&&!Qt&&Dt&&kt&&(0,R.jsx)(`div`,{className:`doc-player__block doc-player__block--previous`,children:(0,R.jsx)(A,{block:Dt,blockTime:At,basePath:t,isExiting:!0,transition:Tt?.transition,viewport:U,muted:n||p,animationsEnabled:r,theme:xt})},Dt.id),Tt&&(0,R.jsx)(`div`,{className:`doc-player__block doc-player__block--active${Sn.phase===`idle`?``:` doc-player__block--${Sn.phase}`}`,"aria-hidden":Qt||void 0,style:Qt||Sn.phase!==`idle`?{...Sn.phase===`idle`?{}:{transform:`translateX(${Sn.offsetPx}px)`},...Qt?{opacity:0,pointerEvents:`none`}:{}}:void 0,children:(0,R.jsx)(A,{block:Tt,blockTime:At,basePath:t,isEntering:r&&Ot,viewport:U,isPlaying:G,muted:n||p,animationsEnabled:r,theme:xt})},Tt.id),pn&&(!n||ln)&&(0,R.jsx)(De,{captions:e.captions,currentTime:Y,enabled:ln&&(n||G||Y>0),fontSize:16,captionStyle:un,theme:xt,viewport:U}),W&&(0,R.jsxs)(`div`,{className:`doc-player__debug`,style:{position:`absolute`,top:`8px`,right:`8px`,padding:`8px 12px`,background:`rgba(0, 0, 0, 0.85)`,borderRadius:`6px`,color:`#00ff00`,fontFamily:`monospace`,fontSize:`11px`,lineHeight:`1.5`,zIndex:200,maxWidth:`280px`,pointerEvents:`none`,textAlign:`left`},children:[(0,R.jsx)(`div`,{style:{color:`#ffcc00`,fontWeight:`bold`,marginBottom:`4px`},children:`DEBUG MODE`}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`template:`}),` `,(0,R.jsx)(`span`,{style:{color:`#ff6b6b`},children:Tt?.template??`raw`})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`block:`}),` `,Et+1,`/`,Z.length,` `,(0,R.jsxs)(`span`,{style:{color:`#666`},children:[`(`,Tt?.id||`none`,`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`time:`}),` `,Y.toFixed(2),`s /`,` `,K.toFixed(1),`s`,` `,(0,R.jsxs)(`span`,{style:{color:`#666`},children:[`(progress: `,(Mt*100).toFixed(1),`%, scriptDur: `,e.duration.toFixed(1),`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`blockTime:`}),` `,At.toFixed(2),`s /`,` `,(Tt?.duration||0).toFixed(1),`s`]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`segment:`}),` `,Ve,`/`,e.audio.segments.length-1,` `,(0,R.jsxs)(`span`,{style:{color:`#666`},children:[`(`,e.audio.segments[Ve]?.name||`none`,`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`viewport:`}),` `,U.name||`${U.width}x${U.height}`,` `,(0,R.jsxs)(`span`,{style:{color:`#666`},children:[`(`,Ie,`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`playing:`}),` `,(0,R.jsx)(`span`,{style:{color:G?`#4ade80`:`#f87171`},children:G?`yes`:`no`}),Qt&&(0,R.jsx)(`span`,{style:{color:`#60a5fa`},children:` (cover)`})]}),pn&&(()=>{let t=D(e.captions,Y),n=ln&&(G||Y>0);return(0,R.jsxs)(N.Fragment,{children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`captions:`}),` `,e.captions?.phrases.length||0,` phrases`,` `,(0,R.jsxs)(`span`,{style:{color:ln?`#4ade80`:`#666`},children:[`(`,ln?`on`:`off`,`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`cc.enabled:`}),` `,(0,R.jsx)(`span`,{style:{color:n?`#4ade80`:`#f87171`},children:String(n)}),` `,(0,R.jsxs)(`span`,{style:{color:`#666`},children:[`(playing=`,String(G),` t>0=`,String(Y>0),`)`]})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`cc.phrase:`}),` `,(0,R.jsx)(`span`,{style:{color:t?`#4ade80`:`#f87171`},children:t?`"${t.text.slice(0,30)}..."`:`null`})]}),t&&(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{style:{color:`#888`},children:`cc.range:`}),` `,(0,R.jsxs)(`span`,{style:{color:`#60a5fa`},children:[t.startTime.toFixed(2),`-`,t.endTime.toFixed(2)]})]})]})})()]})]}),!We&&Ge&&(0,R.jsxs)(`div`,{className:`doc-player__unavailable`,style:{position:`absolute`,top:0,left:0,right:0,bottom:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:`16px`,background:`rgba(0, 0, 0, 0.7)`,color:`rgba(255, 255, 255, 0.9)`,fontSize:`14px`,zIndex:50},children:[(0,R.jsx)(`span`,{style:{fontSize:`32px`},children:`🔊`}),(0,R.jsx)(`span`,{children:Ge})]}),!n&&!z&&d&&(0,R.jsx)(Ae,{state:hn,actions:gn,blockMarkers:Tn,expandedBlocks:Z,getBlockTitle:Cn}),!n&&!z&&!d&&f&&(0,R.jsx)(`div`,{className:`doc-player__scrubber`,style:{position:`absolute`,bottom:0,left:0,right:0,padding:`12px 16px 8px`,background:`linear-gradient(transparent, rgba(0,0,0,0.6))`,display:`flex`,alignItems:`center`,zIndex:100},children:(0,R.jsx)(ke,{state:hn,actions:gn,blockMarkers:Tn,expandedBlocks:Z,getBlockTitle:Cn})}),!n&&z&&d&&(0,R.jsx)(je,{state:hn,slideNav:_n,slides:wn,pickerOpen:zt,onPickerOpenChange:Bt}),!z&&Oe&&(0,R.jsx)(`div`,{className:`doc-player__tap-feedback`,children:(0,R.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`white`,width:`48`,height:`48`,children:Oe===`pause`?(0,R.jsx)(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`}):(0,R.jsx)(`path`,{d:`M8 5v14l11-7z`})})},Oe)]})}export{ve as a,Ve as i,_t as n,we as o,Le as r,ue as s,Pe as t};
@@ -1 +1 @@
1
- import{t as e}from"./chunk-AONELFLA-Cv2nS9ga.js";function t(t){return e(t.split(`.`).pop()??``)}function n(e,t){let n=new Uint8Array(e),r=3*8192,i=[];for(let e=0;e<n.length;e+=r){let t=Math.min(e+r,n.length),a=``;for(let r=e;r<t;r++)a+=String.fromCharCode(n[r]);i.push(btoa(a))}return`data:${t};base64,${i.join(``)}`}function r(e){let t=e.split(`?`)[0].split(`#`)[0].split(`/`);return t[t.length-1]||e}export{r as n,t as r,n as t};
1
+ import{t as e}from"./chunk-B7GEAZBI-Divd2h1k.js";function t(t){return e(t.split(`.`).pop()??``)}function n(e,t){let n=new Uint8Array(e),r=3*8192,i=[];for(let e=0;e<n.length;e+=r){let t=Math.min(e+r,n.length),a=``;for(let r=e;r<t;r++)a+=String.fromCharCode(n[r]);i.push(btoa(a))}return`data:${t};base64,${i.join(``)}`}function r(e){let t=e.split(`?`)[0].split(`#`)[0].split(`/`);return t[t.length-1]||e}export{r as n,t as r,n as t};
@@ -1 +1 @@
1
- import{$ as e,D as t,M as n,Q as r,T as i,Y as a,at as o,nt as s,q as c,tt as l}from"./chunk-S5PCVMKU-DbCZ5AUH.js";var u=/^[0-9a-fA-F]{6}$/,d={windowText:`000000`,window:`ffffff`};function f(e){for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes[t];if(!n||n.nodeType!==1)continue;let r=n;if(r.localName===`srgbClr`){let e=r.getAttribute(`val`);return e&&u.test(e)?`#${e.toLowerCase()}`:null}if(r.localName===`sysClr`){let e=r.getAttribute(`lastClr`);if(e&&u.test(e))return`#${e.toLowerCase()}`;let t=r.getAttribute(`val`),n=t?d[t]:void 0;return n?`#${n}`:null}return null}return null}function p(e,t){let n=e.getElementsByTagNameNS(i,t);return n.length>0?n[0]:null}function m(e,t){let n=t=>{let n=p(e,t);return n?f(n):null},r=n(`dk1`),i=n(`lt1`);r||t.push(`theme: dk1 color could not be resolved; using #000000`),i||t.push(`theme: lt1 color could not be resolved; using #ffffff`);let a=n(`dk2`),o=n(`lt2`),s={dk1:r??`#000000`,lt1:i??`#ffffff`,dk2:a??r??`#000000`,lt2:o??i??`#ffffff`};for(let e of[`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`]){let r=n(e);r?s[e]=r:t.push(`theme: ${e} color could not be resolved; dropped`)}for(let e of[`hlink`,`folHlink`]){let t=n(e);t&&(s[e]=t)}return s}function h(e,t){let n=n=>{let r=p(e,n);if(!r)return;let i=p(r,`latin`)?.getAttribute(`typeface`)?.trim();if(!i){t.push(`theme: ${n} has no latin typeface`);return}return i},r=n(`majorFont`),i=n(`minorFont`);if(!(!r&&!i))return{...r?{majorLatin:r}:{},...i?{minorLatin:i}:{}}}function g(e){let t=[],n=p(e,`theme`)?.getAttribute(`name`)?.trim()||void 0,r=p(e,`clrScheme`),i;r?i=m(r,t):t.push(`theme: no clrScheme found`);let a=p(e,`fontScheme`),o;return a?o=h(a,t):t.push(`theme: no fontScheme found`),{...n?{name:n}:{},...i?{colors:i}:{},...o?{fonts:o}:{},warnings:t}}async function _(t,n){let i=e(await l(t,n),a);if(!i)return null;let c=await s(t,o(r(n),i.target));return c?g(c):null}var v={bg1:`lt1`,tx1:`dk1`},y=[`dk1`,`lt1`,`dk2`,`lt2`];function b(e){return y.includes(e)?e:void 0}async function x(e){for(let[t,n]of e.contentTypes.overrides){if(n!==`application/vnd.openxmlformats-officedocument.theme+xml`)continue;let r=await s(e,t);if(r)return g(r)}return null}function S(e,t,n,r=[]){return{sourceFormat:e,...t.name?{themeName:t.name}:{},...t.colors?{colors:t.colors}:{},colorMap:n,...t.fonts?{fonts:t.fonts}:{},warnings:[...t.warnings,...r]}}async function C(e){let t=await _(e,`word/document.xml`)??await x(e);if(!t)return null;let r=v,i=(await s(e,`word/settings.xml`))?.getElementsByTagNameNS(n,`clrSchemeMapping`),a=i&&i.length>0?i[0]:null;if(a){let e={light1:`lt1`,dark1:`dk1`,light2:`lt2`,dark2:`dk2`},t=e[a.getAttributeNS(`http://schemas.openxmlformats.org/wordprocessingml/2006/main`,`bg1`)??a.getAttribute(`w:bg1`)??``],n=e[a.getAttributeNS(`http://schemas.openxmlformats.org/wordprocessingml/2006/main`,`t1`)??a.getAttribute(`w:t1`)??``];t&&n&&(r={bg1:t,tx1:n})}return S(`docx`,t,r)}async function w(n){let r=e(await l(n,`ppt/presentation.xml`),c),i=r?o(`ppt`,r.target):void 0,a=[],u=null,d=v;if(i){u=await _(n,i);let e=(await s(n,i))?.getElementsByTagNameNS(t,`clrMap`),r=e&&e.length>0?e[0]:null;if(r){let e=b(r.getAttribute(`bg1`)),t=b(r.getAttribute(`tx1`));e&&t?d={bg1:e,tx1:t}:(r.getAttribute(`bg1`)||r.getAttribute(`tx1`))&&a.push(`theme: unsupported clrMap slot mapping; using default bg1/tx1`)}}return u||=await x(n),u?S(`pptx`,u,d,a):null}async function T(e){let t=await _(e,`xl/workbook.xml`)??await x(e);return t?S(`xlsx`,t,v):null}export{w as n,T as r,C as t};
1
+ import{$ as e,D as t,M as n,Q as r,T as i,Y as a,at as o,nt as s,q as c,tt as l}from"./chunk-S5PCVMKU-Df5XzhSE.js";var u=/^[0-9a-fA-F]{6}$/,d={windowText:`000000`,window:`ffffff`};function f(e){for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes[t];if(!n||n.nodeType!==1)continue;let r=n;if(r.localName===`srgbClr`){let e=r.getAttribute(`val`);return e&&u.test(e)?`#${e.toLowerCase()}`:null}if(r.localName===`sysClr`){let e=r.getAttribute(`lastClr`);if(e&&u.test(e))return`#${e.toLowerCase()}`;let t=r.getAttribute(`val`),n=t?d[t]:void 0;return n?`#${n}`:null}return null}return null}function p(e,t){let n=e.getElementsByTagNameNS(i,t);return n.length>0?n[0]:null}function m(e,t){let n=t=>{let n=p(e,t);return n?f(n):null},r=n(`dk1`),i=n(`lt1`);r||t.push(`theme: dk1 color could not be resolved; using #000000`),i||t.push(`theme: lt1 color could not be resolved; using #ffffff`);let a=n(`dk2`),o=n(`lt2`),s={dk1:r??`#000000`,lt1:i??`#ffffff`,dk2:a??r??`#000000`,lt2:o??i??`#ffffff`};for(let e of[`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`]){let r=n(e);r?s[e]=r:t.push(`theme: ${e} color could not be resolved; dropped`)}for(let e of[`hlink`,`folHlink`]){let t=n(e);t&&(s[e]=t)}return s}function h(e,t){let n=n=>{let r=p(e,n);if(!r)return;let i=p(r,`latin`)?.getAttribute(`typeface`)?.trim();if(!i){t.push(`theme: ${n} has no latin typeface`);return}return i},r=n(`majorFont`),i=n(`minorFont`);if(!(!r&&!i))return{...r?{majorLatin:r}:{},...i?{minorLatin:i}:{}}}function g(e){let t=[],n=p(e,`theme`)?.getAttribute(`name`)?.trim()||void 0,r=p(e,`clrScheme`),i;r?i=m(r,t):t.push(`theme: no clrScheme found`);let a=p(e,`fontScheme`),o;return a?o=h(a,t):t.push(`theme: no fontScheme found`),{...n?{name:n}:{},...i?{colors:i}:{},...o?{fonts:o}:{},warnings:t}}async function _(t,n){let i=e(await l(t,n),a);if(!i)return null;let c=await s(t,o(r(n),i.target));return c?g(c):null}var v={bg1:`lt1`,tx1:`dk1`},y=[`dk1`,`lt1`,`dk2`,`lt2`];function b(e){return y.includes(e)?e:void 0}async function x(e){for(let[t,n]of e.contentTypes.overrides){if(n!==`application/vnd.openxmlformats-officedocument.theme+xml`)continue;let r=await s(e,t);if(r)return g(r)}return null}function S(e,t,n,r=[]){return{sourceFormat:e,...t.name?{themeName:t.name}:{},...t.colors?{colors:t.colors}:{},colorMap:n,...t.fonts?{fonts:t.fonts}:{},warnings:[...t.warnings,...r]}}async function C(e){let t=await _(e,`word/document.xml`)??await x(e);if(!t)return null;let r=v,i=(await s(e,`word/settings.xml`))?.getElementsByTagNameNS(n,`clrSchemeMapping`),a=i&&i.length>0?i[0]:null;if(a){let e={light1:`lt1`,dark1:`dk1`,light2:`lt2`,dark2:`dk2`},t=e[a.getAttributeNS(`http://schemas.openxmlformats.org/wordprocessingml/2006/main`,`bg1`)??a.getAttribute(`w:bg1`)??``],n=e[a.getAttributeNS(`http://schemas.openxmlformats.org/wordprocessingml/2006/main`,`t1`)??a.getAttribute(`w:t1`)??``];t&&n&&(r={bg1:t,tx1:n})}return S(`docx`,t,r)}async function w(n){let r=e(await l(n,`ppt/presentation.xml`),c),i=r?o(`ppt`,r.target):void 0,a=[],u=null,d=v;if(i){u=await _(n,i);let e=(await s(n,i))?.getElementsByTagNameNS(t,`clrMap`),r=e&&e.length>0?e[0]:null;if(r){let e=b(r.getAttribute(`bg1`)),t=b(r.getAttribute(`tx1`));e&&t?d={bg1:e,tx1:t}:(r.getAttribute(`bg1`)||r.getAttribute(`tx1`))&&a.push(`theme: unsupported clrMap slot mapping; using default bg1/tx1`)}}return u||=await x(n),u?S(`pptx`,u,d,a):null}async function T(e){let t=await _(e,`xl/workbook.xml`)??await x(e);return t?S(`xlsx`,t,v):null}export{w as n,T as r,C as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{F as t}from"./index-DXWR4qW1.js";import{t as n}from"./jszip.min-DhiFe-R7.js";import{n as r,r as i,t as a}from"./chunk-7AWFHP5U-MiVVPFTx.js";import"./storage-fn4FCEVK.js";var o=e(n(),1);async function s(e,t={}){let n=new o.default,i=await e.listFiles();for(let t of i){r(t.path);let i=await e.readFile(t.path);i&&n.file(t.path,new Uint8Array(i))}let a=t.compression??`DEFLATE`,s=t.compressionLevel??6;if(!Number.isSafeInteger(s)||s<1||s>9)throw Error(`ZIP compression level must be an integer between 1 and 9`);return n.generateAsync({type:`blob`,compression:a,...a===`DEFLATE`?{compressionOptions:{level:s}}:{}})}async function c(e,n={}){let r=await i(e,n),a=new t;for(let{path:e}of r.entries){let t=await r.read(e);t&&await a.writeFile(e,t),r.release(e)}return a}export{a as ZipSafetyError,s as containerToZip,c as zipToContainer};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{I as t}from"./index-C0DYtvfg.js";import{t as n}from"./jszip.min-DhiFe-R7.js";import{n as r,r as i,t as a}from"./chunk-7AWFHP5U-MiVVPFTx.js";import"./storage-D8pE2zg0.js";var o=e(n(),1);async function s(e,t={}){let n=new o.default,i=await e.listFiles();for(let t of i){r(t.path);let i=await e.readFile(t.path);i&&n.file(t.path,new Uint8Array(i))}let a=t.compression??`DEFLATE`,s=t.compressionLevel??6;if(!Number.isSafeInteger(s)||s<1||s>9)throw Error(`ZIP compression level must be an integer between 1 and 9`);return n.generateAsync({type:`blob`,compression:a,...a===`DEFLATE`?{compressionOptions:{level:s}}:{}})}async function c(e,n={}){let r=await i(e,n),a=new t;for(let{path:e}of r.entries){let t=await r.read(e);t&&await a.writeFile(e,t),r.release(e)}return a}export{a as ZipSafetyError,s as containerToZip,c as zipToContainer};
@@ -0,0 +1 @@
1
+ import"./chunk-DXYWKZ52-BXcAlClu.js";import{a as e,i as t,n,o as r,r as i,t as a}from"./chunk-Q77KNJIN-BIDRf0aP.js";export{a as SIDECAR_CSV_LIMITS,n as csvToContainer,i as csvToMarkdownDoc,t as markdownDocToCsv,e as parseCsv,r as serializeCsvRows};
@@ -0,0 +1 @@
1
+ import"./chunk-7AWFHP5U-MiVVPFTx.js";import"./chunk-DXYWKZ52-BXcAlClu.js";import"./chunk-Q77KNJIN-BIDRf0aP.js";import"./chunk-S5PCVMKU-Df5XzhSE.js";import"./chunk-OBADJV7C-CDVOcmYt.js";import{i as e,n as t}from"./chunk-FLR2ARKC-D7wrvQgT.js";export{t as defaultDataReaders,e as parquetDataReader};
@@ -0,0 +1,2 @@
1
+ var e=[`#DIV/0!`,`#N/A`,`#NAME?`,`#NULL!`,`#NUM!`,`#REF!`,`#VALUE!`,`#SPILL!`,`#CALC!`],t=new Map(e.map(e=>[e,Object.freeze({kind:`calc-error`,code:e})]));function n(e){return t.get(e)}function r(e){return typeof e==`object`&&!!e&&e.kind===`calc-error`}var i=e;function a(e){let n=e.toUpperCase();return t.get(n)??null}var o=n(`#DIV/0!`),s=n(`#N/A`),c=n(`#NAME?`);n(`#NULL!`);var l=n(`#NUM!`),u=n(`#REF!`),d=n(`#VALUE!`),f=n(`#CALC!`),p=class extends Error{constructor(e,t){super(e),this.name=`CalcParseError`,this.pos=t}},m=[`#DIV/0!`,`#GETTING_DATA`,`#NAME?`,`#NULL!`,`#NUM!`,`#REF!`,`#SPILL!`,`#VALUE!`,`#CALC!`,`#N/A`],h=e=>e>=`0`&&e<=`9`,g=e=>/[A-Za-z_$\\]/.test(e),_=e=>/[A-Za-z0-9_.$\\]/.test(e);function v(e){let t=[],n=0,r=e.length;for(;n<r;){let i=e[n];if(i===` `||i===` `||i===`
2
+ `||i===`\r`){n++;continue}if(h(i)||i===`.`&&n+1<r&&h(e[n+1])){let i=n;for(;n<r&&(h(e[n])||e[n]===`.`);)n++;if(n<r&&(e[n]===`e`||e[n]===`E`)){let t=n+1;if(t<r&&(e[t]===`+`||e[t]===`-`)&&t++,t<r&&h(e[t]))for(n=t;n<r&&h(e[n]);)n++}t.push({kind:`number`,text:e.slice(i,n),pos:i});continue}if(i===`"`){let i=n;n++;let a=``;for(;;){if(n>=r)throw new p(`Unterminated string literal`,i);if(e[n]===`"`)if(e[n+1]===`"`)a+=`"`,n+=2;else{n++;break}else a+=e[n],n++}t.push({kind:`string`,text:a,pos:i});continue}if(i===`'`){let i=n;n++;let a=``;for(;;){if(n>=r)throw new p(`Unterminated sheet name`,i);if(e[n]===`'`)if(e[n+1]===`'`)a+=`'`,n+=2;else{n++;break}else a+=e[n],n++}t.push({kind:`sheet-quoted`,text:a,pos:i});continue}if(i===`#`){let r=e.slice(n).toUpperCase(),i=m.find(e=>r.startsWith(e));if(i){t.push({kind:`error`,text:i,pos:n}),n+=i.length;continue}throw new p(`Unrecognized error literal at "${e.slice(n,n+8)}"`,n)}if(i===`[`){let r=/^\[\d+\]/.exec(e.slice(n));if(r){t.push({kind:`external`,text:r[0],pos:n}),n+=r[0].length;continue}t.push({kind:`punct`,text:`[`,pos:n}),n++;continue}if(g(i)){let i=n;for(;n<r&&_(e[n]);)n++;t.push({kind:`ident`,text:e.slice(i,n),pos:i});continue}if(i===`<`){e[n+1]===`>`||e[n+1]===`=`?(t.push({kind:`op`,text:e.slice(n,n+2),pos:n}),n+=2):(t.push({kind:`op`,text:`<`,pos:n}),n++);continue}if(i===`>`){e[n+1]===`=`?(t.push({kind:`op`,text:`>=`,pos:n}),n+=2):(t.push({kind:`op`,text:`>`,pos:n}),n++);continue}if(`=+-*/^&%`.includes(i)){t.push({kind:`op`,text:i,pos:n}),n++;continue}if(`():,;{}!`.includes(i)){t.push({kind:`punct`,text:i,pos:n}),n++;continue}throw new p(`Unexpected character "${i}"`,n)}return t.push({kind:`end`,text:``,pos:r}),t}var y=16383,ee=1048575;function te(e){let t=0;for(let n=0;n<e.length;n++)t=t*26+(e.charCodeAt(n)-64);return t-1}function ne(e){let t=e+1,n=``;for(;t>0;){let e=(t-1)%26;n=String.fromCharCode(65+e)+n,t=Math.floor((t-1)/26)}return n}var re=/^(\$?)([A-Za-z]{1,3})(\$?)([0-9]{1,7})$/;function ie(e){let t=re.exec(e);if(!t)return null;let n=te(t[2].toUpperCase()),r=Number.parseInt(t[4],10)-1;return n>16383||r<0||r>1048575?null:{row:r,col:n,absCol:t[1]===`$`,absRow:t[3]===`$`}}function ae(e,t){return`${ne(t)}${e+1}`}var oe=/^(\$?)([A-Za-z]{1,3})$/,se=/^(\$?)([0-9]{1,7})$/;function ce(e){let t=oe.exec(e);if(!t)return null;let n=te(t[2].toUpperCase());return n<=16383?n:null}function b(e){let t=se.exec(e);if(!t)return null;let n=Number.parseInt(t[2],10)-1;return n>=0&&n<=1048575?n:null}var le={"=":10,"<>":10,"<":10,">":10,"<=":10,">=":10,"&":20,"+":30,"-":30,"*":40,"/":40,"^":50},ue=55,de=60,fe=class{constructor(e){this.index=0,this.tokens=v(e)}parse(){let e=this.parseExpr(0);return this.expectEnd(),e}peek(e=0){return this.tokens[Math.min(this.index+e,this.tokens.length-1)]}next(){let e=this.tokens[this.index];return e.kind!==`end`&&this.index++,e}expectPunct(e){let t=this.next();if(t.kind!==`punct`||t.text!==e)throw new p(`Expected "${e}"`,t.pos)}expectEnd(){let e=this.peek();if(e.kind!==`end`)throw new p(`Unexpected "${e.text}"`,e.pos)}parseExpr(e){let t=this.parsePrefix();for(;;){let n=this.peek();if(n.kind===`op`&&n.text===`%`&&de>=e){this.next(),t={type:`percent`,operand:t};continue}if(n.kind!==`op`)break;let r=le[n.text];if(r===void 0||r<e)break;this.next();let i=this.parseExpr(r+1);t={type:`binary`,op:n.text,left:t,right:i}}return t}parsePrefix(){let e=this.next();switch(e.kind){case`number`:{let t=Number(e.text);if(!Number.isFinite(t))throw new p(`Invalid number "${e.text}"`,e.pos);if(this.isPunct(`:`)&&/^\d+$/.test(e.text)){let t=b(e.text),n=this.peek(1);if(t!==null&&n.kind===`number`&&/^\d+$/.test(n.text)){let e=b(n.text);if(e!==null)return this.next(),this.next(),this.rangeNode(null,!1,{startRow:Math.min(t,e),endRow:Math.max(t,e),startCol:0,endCol:y,wholeRows:!0,wholeCols:!1})}}return{type:`number`,value:t}}case`string`:return{type:`string`,value:e.text};case`error`:return{type:`error`,code:e.text};case`sheet-quoted`:return this.expectPunct(`!`),this.parseRefAfterSheet(e.text,!1,e.pos);case`external`:{let t=this.next();if(t.kind!==`ident`&&t.kind!==`sheet-quoted`)throw new p(`Expected sheet name after external prefix`,t.pos);return this.expectPunct(`!`),this.parseRefAfterSheet(t.text,!0,e.pos)}case`ident`:return this.parseIdent(e);case`op`:if(e.text===`-`||e.text===`+`){let t=this.parseExpr(ue);return{type:`unary`,op:e.text,operand:t}}throw new p(`Unexpected operator "${e.text}"`,e.pos);case`punct`:if(e.text===`(`){let e=this.parseExpr(0);return this.expectPunct(`)`),e}if(e.text===`{`)return this.parseArray();throw new p(`Unexpected "${e.text}"`,e.pos);default:throw new p(`Unexpected end of formula`,e.pos)}}isPunct(e,t=0){let n=this.peek(t);return n.kind===`punct`&&n.text===e}parseArray(){let e=[],t=[];for(;;){t.push(this.parseExpr(0));let n=this.next();if(!(n.kind===`punct`&&n.text===`,`)){if(n.kind===`punct`&&n.text===`;`){e.push(t),t=[];continue}if(n.kind===`punct`&&n.text===`}`){e.push(t);break}throw new p(`Expected "," ";" or "}" in array literal`,n.pos)}}let n=e[0].length;if(e.some(e=>e.length!==n))throw new p(`Ragged array literal`,0);return{type:`array`,rows:e}}parseIdent(e){if(this.isPunct(`(`)){this.next();let t=e.text.replace(/^_xlfn\.|^_xludf\./i,``).toUpperCase(),n=[];if(this.isPunct(`)`))return this.next(),{type:`call`,name:t,args:n};for(;;){if(this.isPunct(`,`)){n.push({type:`missing`}),this.next();continue}if(this.isPunct(`)`)){n.push({type:`missing`}),this.next();break}n.push(this.parseExpr(0));let e=this.next();if(!(e.kind===`punct`&&e.text===`,`)){if(e.kind===`punct`&&e.text===`)`)break;throw new p(`Expected "," or ")" in ${t}(...)`,e.pos)}}return{type:`call`,name:t,args:n}}return this.isPunct(`!`)?(this.next(),this.parseRefAfterSheet(e.text,!1,e.pos)):this.parseRefOrName(e,null,!1)}parseRefAfterSheet(e,t,n){let r=this.next();if(r.kind!==`ident`&&r.kind!==`number`)throw new p(`Expected a cell reference after sheet name`,r.pos);if(r.kind===`number`){let n=b(r.text);if(n!==null&&this.isPunct(`:`)){let r=this.peek(1),i=r.kind===`number`?b(r.text):null;if(i!==null)return this.next(),this.next(),this.rangeNode(e,t,{startRow:Math.min(n,i),endRow:Math.max(n,i),startCol:0,endCol:y,wholeRows:!0,wholeCols:!1})}throw new p(`Expected a cell reference after sheet name`,r.pos)}let i=this.parseRefOrName(r,e,t);if(i.type!==`ref`&&i.type!==`range`)throw new p(`Sheet-qualified names are not supported`,n);return i}parseRefOrName(e,t,n){let r=ie(e.text);if(r){if(this.isPunct(`:`)){let e=this.peek(1),i=e.kind===`ident`?ie(e.text):null;if(i)return this.next(),this.next(),this.rangeNode(t,n,{startRow:Math.min(r.row,i.row),endRow:Math.max(r.row,i.row),startCol:Math.min(r.col,i.col),endCol:Math.max(r.col,i.col),wholeRows:!1,wholeCols:!1})}return{type:`ref`,sheet:t,row:r.row,col:r.col,absRow:r.absRow,absCol:r.absCol,external:n}}let i=ce(e.text.replace(/^\$/,``));if(i!==null&&this.isPunct(`:`)){let e=this.peek(1),r=e.kind===`ident`?ce(e.text.replace(/^\$/,``)):null;if(r!==null)return this.next(),this.next(),this.rangeNode(t,n,{startRow:0,endRow:ee,startCol:Math.min(i,r),endCol:Math.max(i,r),wholeRows:!1,wholeCols:!0})}if(t!==null)throw new p(`"${e.text}" is not a cell reference`,e.pos);let a=e.text.toUpperCase();return a===`TRUE`?{type:`boolean`,value:!0}:a===`FALSE`?{type:`boolean`,value:!1}:{type:`name`,name:e.text}}rangeNode(e,t,n){return{type:`range`,sheet:e,external:t,...n}}};function x(e){let t=e.trim(),n=t.startsWith(`=`)?t.slice(1):t;if(n.trim()===``)throw new p(`Empty formula`,0);return new fe(n).parse()}function pe(e,t){let n=[],r=[],i=e=>{switch(e.type){case`ref`:e.external||n.push({sheet:e.sheet??t,startRow:e.row,startCol:e.col,endRow:e.row,endCol:e.col});return;case`range`:e.external||n.push({sheet:e.sheet??t,startRow:e.startRow,startCol:e.startCol,endRow:e.endRow,endCol:e.endCol});return;case`name`:r.push(e.name);return;case`call`:for(let t of e.args)i(t);return;case`binary`:i(e.left),i(e.right);return;case`unary`:case`percent`:i(e.operand);return;case`array`:for(let t of e.rows)for(let e of t)i(e);return;default:return}};return i(e),{ranges:n,names:r}}function S(e){if(Number.isInteger(e)&&Math.abs(e)<0x38d7ea4c68000)return String(e);let t=e.toPrecision(15);return t.includes(`e`)||t.includes(`E`),String(Number(t))}function me(e){let t=e.trim();if(t===``)return null;let n=t.endsWith(`%`),r=n?t.slice(0,-1).trim():t;if(!/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(r))return null;let i=Number(r);return Number.isFinite(i)?n?i/100:i:null}function C(e){if(r(e))return e;if(e===null)return 0;if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=me(e);return t===null?d:t}function w(e){return r(e)?e:e===null?``:typeof e==`string`?e:typeof e==`boolean`?e?`TRUE`:`FALSE`:S(e)}function he(e){if(r(e))return e;if(e===null)return!1;if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;let t=e.trim().toUpperCase();return t===`TRUE`||t!==`FALSE`&&d}function ge(e){return typeof e==`number`?0:typeof e==`string`?1:2}function T(e,t){if(r(e))return e;if(r(t))return t;let n,i;if(e===null&&t===null)return 0;e===null?(i=t,n=typeof i==`number`?0:typeof i==`string`&&``):t===null?(n=e,i=typeof n==`number`?0:typeof n==`string`&&``):(n=e,i=t);let a=ge(n)-ge(i);if(a!==0)return a<0?-1:1;if(typeof n==`number`&&typeof i==`number`)return n===i?0:n<i?-1:1;if(typeof n==`string`&&typeof i==`string`){let e=n.toLowerCase(),t=i.toLowerCase();return e===t?0:e<t?-1:1}let o=+!!n,s=+!!i;return o===s?0:o<s?-1:1}var E=null;function D(e){E??=new Map;let t=E.get(e);if(t)return t;let n=`^`;for(let t=0;t<e.length;t++){let r=e[t];r===`~`&&t+1<e.length?(n+=e[t+1].replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),t++):r===`*`?n+=`.*`:r===`?`?n+=`.`:n+=r.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}n+=`$`;let r=new RegExp(n,`i`);return E.size>500&&E.clear(),E.set(e,r),r}function _e(e){return/[*?]/.test(e.replace(/~[*?]/g,``))}function O(e){if(r(e))return t=>r(t)&&t.code===e.code;if(e===null)return e=>e===null||e===0;if(typeof e!=`string`)return t=>!r(t)&&T(t,e)===0;let t=/^(<=|>=|<>|=|<|>)(.*)$/.exec(e),n=t?t[1]:`=`,i=t?t[2]:e,a=me(i),o=i.trim().toUpperCase(),s=a===null?o===`TRUE`||o!==`FALSE`&&i:a;if((n===`=`||n===`<>`)&&typeof s==`string`&&(_e(s)||s.includes(`~`))){let e=D(s);return t=>{let r=typeof t==`string`&&e.test(t);return n===`=`?r:!r}}return n===`=`&&s===``?e=>e===null||e===``:n===`<>`&&s===``?e=>e!==null&&e!==``:e=>{if(r(e)||e===null)return!1;if(typeof s==`number`&&typeof e!=`number`||typeof s==`string`&&typeof e!=`string`||typeof s==`boolean`&&typeof e!=`boolean`)return n===`<>`;let t=T(e,s);if(r(t))return!1;switch(n){case`=`:return t===0;case`<>`:return t!==0;case`<`:return t<0;case`>`:return t>0;case`<=`:return t<=0;default:return t>=0}}}var ve=864e5,ye=Date.UTC(1899,11,31),be=Date.UTC(1904,0,1);function k(e,t,n,r){let i=Date.UTC(e,t-1,n);if(!Number.isFinite(i))return null;if(r){let e=Math.round((i-be)/ve);return e<0?null:e}if(e===1900&&t===2&&n===29)return 60;let a=Math.round((i-ye)/ve);return a>=60&&(a+=1),a<1?null:a}function A(e,t){let n=Math.floor(e);if(!t&&n===60)return{year:1900,month:2,day:29};let r=t?be:ye,i=!t&&n>60?n-1:n,a=new Date(r+i*ve);return Number.isFinite(a.getTime())?{year:a.getUTCFullYear(),month:a.getUTCMonth()+1,day:a.getUTCDate()}:null}function j(e){let t=e-Math.floor(e),n=Math.round(t*86400)%86400;return{hour:Math.floor(n/3600),minute:Math.floor(n/60)%60,second:n%60}}var M=e=>String(e).padStart(2,`0`);function xe(e,t){let n=A(e,t);if(!n)return null;let r=`${n.year}-${M(n.month)}-${M(n.day)}`;if(e===Math.floor(e))return r;let{hour:i,minute:a,second:o}=j(e);return o===0?`${r} ${M(i)}:${M(a)}`:`${r} ${M(i)}:${M(a)}:${M(o)}`}var Se=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2}))?)?$/;function Ce(e,t){let n=Se.exec(e.trim());if(!n)return null;let r=k(Number(n[1]),Number(n[2]),Number(n[3]),t);return r===null?null:n[4]===void 0?r:r+(Number(n[4])*3600+Number(n[5])*60+Number(n[6]??0))/86400}function we(e,t,n){let r=k(e.getFullYear(),e.getMonth()+1,e.getDate(),t);return r===null?0:n?r+(e.getHours()*3600+e.getMinutes()*60+e.getSeconds())/86400:r}var Te=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ee=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],N=e=>String(e).padStart(2,`0`);function De(e){let t=e.replace(/"[^"]*"/g,``).replace(/\[[^\]]*\]/g,``);return/[ymdhs]/i.test(t)&&!/^[#0.,%\s-]*$/.test(t)}function Oe(e,t){let n=A(e,t);return n?new Date(Date.UTC(n.year,n.month-1,n.day)).getUTCDay():0}function ke(e,t,n){if(e<0)return null;let r=A(e,n);if(!r)return null;let i=j(e),a=/am\/pm/i.test(t),o=i.hour%12==0?12:i.hour%12,s=``,c=0,l=t,u=l.length,d=!1;for(;c<u;){let t=l[c];if(t===`"`){let e=l.indexOf(`"`,c+1);if(e<0)return null;s+=l.slice(c+1,e),c=e+1;continue}if(t===`\\`){s+=l[c+1]??``,c+=2;continue}if(/[Aa]/.test(t)&&l.slice(c,c+5).toLowerCase()===`am/pm`){s+=i.hour<12?`AM`:`PM`,c+=5;continue}if(/[ymdhs]/i.test(t)){let f=c;for(;f<u&&l[f].toLowerCase()===t.toLowerCase();)f++;let p=f-c,m=t.toLowerCase();if(m===`y`)s+=p<=2?N(r.year%100):String(r.year),d=!1;else if(m===`d`)p===1?s+=String(r.day):p===2?s+=N(r.day):p===3?s+=Ee[Oe(e,n)].slice(0,3):s+=Ee[Oe(e,n)],d=!1;else if(m===`h`){let e=a?o:i.hour;s+=p===1?String(e):N(e),d=!0}else if(m===`s`)s+=p===1?String(i.second):N(i.second),d=!1;else{let e=/^\s*:?s/i.test(l.slice(f));d||e?s+=p===1?String(i.minute):N(i.minute):p===1?s+=String(r.month):p===2?s+=N(r.month):p===3?s+=Te[r.month-1].slice(0,3):s+=Te[r.month-1],d=!1}c=f;continue}s+=t,d&&=/[\s:]/.test(t),c++}return s}function Ae(e,t){let n=t.includes(`%`)?e*100:e,r=t.replace(/"[^"]*"/g,``).replace(/[^0#.,%]/g,``),i=r.indexOf(`.`),a=i>=0?r.slice(i+1).replace(/[^0#]/g,``):``,o=a.length,s=(a.match(/0/g)??[]).length,c=i>=0?r.slice(0,i):r,l=c.includes(`,`),u=Math.max(1,(c.match(/0/g)??[]).length),d=n<0;n=Math.abs(n);let f=n.toFixed(o),[p=`0`,m=``]=f.split(`.`);for(;m.length>s&&m.endsWith(`0`);)m=m.slice(0,-1);for(;p.length<u;)p=`0${p}`;l&&(p=p.replace(/\B(?=(\d{3})+(?!\d))/g,`,`));let h=m.length>0?`${p}.${m}`:p;o>0&&s===o&&(h=`${p}.${f.split(`.`)[1]??``}`);let g=``,_=!1,v=0;for(;v<t.length;){let e=t[v];if(e===`"`){let e=t.indexOf(`"`,v+1);if(e<0)return null;g+=t.slice(v+1,e),v=e+1;continue}if(/[0#.,]/.test(e)){_||=(g+=h,!0),v++;continue}g+=e,v++}return _||(g+=h),(d?`-`:``)+g}function je(e,t,n){let r=t.trim();if(r===``||/^general$/i.test(r))return String(e);let i=r.split(`;`)[0];return De(i)?ke(e,i,n):Ae(e,i)}var P=class extends Error{constructor(){super(`Calculation budget exceeded`),this.name=`BudgetExceededSignal`}},Me=2048,Ne=class{constructor(e){this.workUnits=0,this.sinceTimeCheck=0,this.startedAt=Date.now(),this.maxUnits=e?.maxWorkUnits??1/0,this.deadline=e?.maxEvalTimeMs===void 0?1/0:this.startedAt+e.maxEvalTimeMs}get elapsedMs(){return Date.now()-this.startedAt}charge(e){if(this.workUnits+=e,this.workUnits>this.maxUnits||(this.sinceTimeCheck+=e,this.sinceTimeCheck>=Me&&(this.sinceTimeCheck=0,Date.now()>this.deadline)))throw new P}},F=class{constructor(e,t,n,r,i,a){this.ctx=e,this.sheet=t,this.startRow=n,this.startCol=r,this.endRow=Math.min(i,ee),this.endCol=Math.min(a,y)}get rows(){return this.endRow-this.startRow+1}get cols(){return this.endCol-this.startCol+1}get effectiveRows(){return Math.max(0,Math.min(this.endRow,this.sheet.maxRow)-this.startRow+1)}get effectiveCols(){return Math.max(0,Math.min(this.endCol,this.sheet.maxCol)-this.startCol+1)}get(e,t){return this.ctx.readCell(this.sheet,this.startRow+e,this.startCol+t)}forEach(e){let t=this.effectiveRows,n=this.effectiveCols;this.ctx.budget.charge(t*n);for(let r=0;r<t;r++)for(let t=0;t<n;t++)e(this.get(r,t),r,t)}};function I(e){return e instanceof F}function L(e,t){if(!I(e))return e;let n=e;return n.rows===1&&n.cols===1?n.get(0,0):n.cols===1&&t.currentRow>=n.startRow&&t.currentRow<=n.endRow&&n.sheet.name.toLowerCase()===t.currentSheet.toLowerCase()?n.get(t.currentRow-n.startRow,0):n.rows===1&&t.currentCol>=n.startCol&&t.currentCol<=n.endCol&&n.sheet.name.toLowerCase()===t.currentSheet.toLowerCase()?n.get(0,t.currentCol-n.startCol):d}function Pe(e,t){switch(t.budget.charge(1),e.type){case`number`:return e.value;case`string`:return e.value;case`boolean`:return e.value;case`error`:return n(e.code);case`missing`:return null;case`ref`:{if(e.external)return u;let n=t.workbook.sheet(e.sheet??t.currentSheet);return n?new F(t,n,e.row,e.col,e.row,e.col):u}case`range`:{if(e.external)return u;let n=t.workbook.sheet(e.sheet??t.currentSheet);return n?new F(t,n,e.startRow,e.startCol,e.endRow,e.endCol):u}case`name`:{let n=t.definedName(e.name);if(n===void 0)return c;let r=t.parseSubFormula(n);return r?t.evaluate(r):c}case`unary`:{let n=C(L(t.evaluate(e.operand),t));return r(n)?n:e.op===`-`?-n:n}case`percent`:{let n=C(L(t.evaluate(e.operand),t));return r(n)?n:n/100}case`binary`:return Fe(e.op,e.left,e.right,t);case`array`:return L(t.evaluate(e.rows[0][0]),t);case`call`:{let n=t.functions.get(e.name);if(!n)return c;if(e.args.length<n.minArgs||e.args.length>n.maxArgs)return d;try{return n.fn(e.args,t)}catch(e){if(e instanceof P)throw e;if(e instanceof RangeError)return f;throw e}}}}function Fe(e,t,i,a){let o=L(a.evaluate(t),a);r(o);let s=L(a.evaluate(i),a);switch(e){case`&`:{let e=w(o);if(r(e))return e;let t=w(s);return r(t)?t:e+t}case`=`:case`<>`:case`<`:case`>`:case`<=`:case`>=`:{let t=T(o,s);if(r(t))return t;switch(e){case`=`:return t===0;case`<>`:return t!==0;case`<`:return t<0;case`>`:return t>0;case`<=`:return t<=0;default:return t>=0}}default:{let t=C(o);if(r(t))return t;let i=C(s);if(r(i))return i;switch(e){case`+`:return t+i;case`-`:return t-i;case`*`:return t*i;case`/`:return i===0?n(`#DIV/0!`):t/i;case`^`:{let e=t**+i;return Number.isFinite(e)?e:n(`#NUM!`)}default:return d}}}}var R=e=>e===void 0||e.type===`missing`;function z(e,t){return L(t.evaluate(e),t)}function B(e,t){return C(z(e,t))}function V(e,t){return w(z(e,t))}function Ie(e,t){return he(z(e,t))}function H(e,t){let n=t.evaluate(e);return I(n)||r(n)?n:d}function U(e,t,n){for(let r of e){if(R(r))continue;if(r.type===`array`){for(let e of r.rows)for(let r of e)n({value:L(t.evaluate(r),t),viaRange:!0});continue}let e=t.evaluate(r);I(e)?e.forEach(e=>n({value:e,viaRange:!0})):n({value:e,viaRange:!1})}}function Le(e,t){let n=[],i=null;return U(e,t,({value:e,viaRange:t})=>{if(i)return;if(r(e)){i=e;return}if(e===null)return;if(t){typeof e==`number`&&n.push(e);return}let a=C(e);if(r(a)){i=a;return}n.push(a)}),i??n}function W(e){return e.cols===1?{length:e.rows,get:t=>e.get(t,0)}:e.rows===1?{length:e.cols,get:t=>e.get(0,t)}:null}function Re(e){return e.cols===1?e.effectiveRows:e.effectiveCols}var ze={DATE:{minArgs:3,maxArgs:3,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=k(n<1900?Math.trunc(n)+1900:Math.trunc(n),Math.trunc(i),Math.trunc(a),t.date1904);return o===null?l:o}},TIME:{minArgs:3,maxArgs:3,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=Math.trunc(n)*3600+Math.trunc(i)*60+Math.trunc(a);return o<0?l:o%86400/86400}},YEAR:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=A(n,t.date1904);return i?i.year:l}},MONTH:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=A(n,t.date1904);return i?i.month:l}},DAY:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=A(n,t.date1904);return i?i.day:l}},HOUR:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);return r(n)?n:j(n).hour}},MINUTE:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);return r(n)?n:j(n).minute}},SECOND:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);return r(n)?n:j(n).second}},WEEKDAY:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=A(n,t.date1904);if(!i)return l;let a=new Date(Date.UTC(i.year,i.month-1,i.day)).getUTCDay(),o=R(e[1])?1:B(e[1],t);if(r(o))return o;switch(Math.trunc(o)){case 1:return a+1;case 2:return a===0?7:a;case 3:return a===0?6:a-1;default:return l}}},TODAY:{minArgs:0,maxArgs:0,volatile:!0,fn:(e,t)=>we(t.now(),t.date1904,!1)},NOW:{minArgs:0,maxArgs:0,volatile:!0,fn:(e,t)=>we(t.now(),t.date1904,!0)},EDATE:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=A(n,t.date1904);if(!a)return l;let o=a.month-1+Math.trunc(i),s=a.year+Math.floor(o/12),c=(o%12+12)%12,u=new Date(Date.UTC(s,c+1,0)).getUTCDate(),d=k(s,c+1,Math.min(a.day,u),t.date1904);return d===null?l:d}},EOMONTH:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=A(n,t.date1904);if(!a)return l;let o=a.month-1+Math.trunc(i),s=a.year+Math.floor(o/12),c=(o%12+12)%12,u=new Date(Date.UTC(s,c+1,0)).getUTCDate(),d=k(s,c+1,u,t.date1904);return d===null?l:d}},DAYS:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);return r(i)?i:Math.trunc(n)-Math.trunc(i)}}},Be={ISBLANK:{minArgs:1,maxArgs:1,fn:(e,t)=>z(e[0],t)===null},ISNUMBER:{minArgs:1,maxArgs:1,fn:(e,t)=>typeof z(e[0],t)==`number`},ISTEXT:{minArgs:1,maxArgs:1,fn:(e,t)=>typeof z(e[0],t)==`string`},ISNONTEXT:{minArgs:1,maxArgs:1,fn:(e,t)=>typeof z(e[0],t)!=`string`},ISLOGICAL:{minArgs:1,maxArgs:1,fn:(e,t)=>typeof z(e[0],t)==`boolean`},ISERROR:{minArgs:1,maxArgs:1,fn:(e,t)=>r(z(e[0],t))},ISERR:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=z(e[0],t);return r(n)&&n.code!==`#N/A`}},ISNA:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=z(e[0],t);return r(n)&&n.code===`#N/A`}},ISEVEN:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);return r(n)?d:Math.trunc(n)%2==0}},ISODD:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);return r(n)?d:Math.abs(Math.trunc(n))%2==1}},NA:{minArgs:0,maxArgs:0,fn:()=>s}},Ve={TRUE:{minArgs:0,maxArgs:0,fn:()=>!0},FALSE:{minArgs:0,maxArgs:0,fn:()=>!1},NOT:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=Ie(e[0],t);return r(n)?n:!n}},IF:{minArgs:1,maxArgs:3,fn:(e,t)=>{let n=Ie(e[0],t);return r(n)?n:n?R(e[1])?!0:z(e[1],t):!R(e[2])&&z(e[2],t)}},IFS:{minArgs:2,maxArgs:1/0,fn:(e,t)=>{for(let n=0;n+1<e.length;n+=2){let i=Ie(e[n],t);if(r(i))return i;if(i)return z(e[n+1],t)}return{kind:`calc-error`,code:`#N/A`}}},IFERROR:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=z(e[0],t);return r(n)?z(e[1],t):n}},IFNA:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=z(e[0],t);return r(n)&&n.code===`#N/A`?z(e[1],t):n}},AND:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=!1,i=!0,a=null;return U(e,t,({value:e,viaRange:t})=>{if(!(a!==null&&r(a))){if(r(e)){a=e;return}t&&typeof e==`string`||e!==null&&(n=!0,i&&=typeof e==`number`?e!==0:e===!0)}}),a!==null&&r(a)?a:n?i:d}},OR:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=!1,i=!1,a=null;return U(e,t,({value:e,viaRange:t})=>{if(!(a!==null&&r(a))){if(r(e)){a=e;return}t&&typeof e==`string`||e!==null&&(n=!0,i||=typeof e==`number`?e!==0:e===!0)}}),a!==null&&r(a)?a:n?i:d}},XOR:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=!1,i=0,a=null;return U(e,t,({value:e,viaRange:t})=>{if(!(a!==null&&r(a))){if(r(e)){a=e;return}t&&typeof e==`string`||e!==null&&(n=!0,(typeof e==`number`?e!==0:e===!0)&&i++)}}),a!==null&&r(a)?a:n?i%2==1:d}}};function G(e,t){return typeof e==typeof t}function He(e,t,n){return e===null||r(e)?!1:n&&typeof e==`string`?n.test(e):G(e,t)?T(e,t)===0:!1}function K(e,t,n,i,a){a.budget.charge(e);let o=i===0&&typeof n==`string`&&(_e(n)||n.includes(`~`))?D(n):null;if(i===0){for(let r=0;r<e;r++)if(He(t(r),n,o))return r;return-1}if(i>0){let i=-1;for(let a=0;a<e;a++){let e=t(a);if(e===null||r(e)||!G(e,n))continue;let o=T(e,n);!r(o)&&o<=0&&(i=a)}return i}let s=-1;for(let i=0;i<e;i++){let e=t(i);if(e===null||r(e)||!G(e,n))continue;let a=T(e,n);if(!r(a))if(a>=0)s=i;else break}return s}var Ue={MATCH:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=H(e[1],t);if(r(i))return i;let a=W(i);if(!a)return s;let o=R(e[2])?1:B(e[2],t);if(r(o))return o;let c=K(Re(i),a.get,n,Math.sign(o),t);return c<0?s:c+1}},INDEX:{minArgs:2,maxArgs:4,fn:(e,t)=>{let n=H(e[0],t);if(r(n))return n;let i=R(e[1])?null:B(e[1],t);if(i!==null&&r(i))return i;let a=e.length<3||R(e[2])?null:B(e[2],t);if(a!==null&&r(a))return a;let o=i===null?null:Math.trunc(i),s=a===null?null:Math.trunc(a);return s===null&&(n.rows===1&&n.cols!==1&&o!==null?(s=o,o=1):s=n.cols===1?1:null),o===null&&(o=+(n.rows===1)),s===null&&(s=0),o<0||s<0||o>n.rows||s>n.cols?u:o===0&&s===0?n:o===0?new F(t,n.sheet,n.startRow,n.startCol+s-1,n.endRow,n.startCol+s-1):s===0?new F(t,n.sheet,n.startRow+o-1,n.startCol,n.startRow+o-1,n.endCol):new F(t,n.sheet,n.startRow+o-1,n.startCol+s-1,n.startRow+o-1,n.startCol+s-1)}},VLOOKUP:{minArgs:3,maxArgs:4,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=H(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=Math.trunc(a);if(o<1)return d;if(o>i.cols)return u;let c=R(e[3])?!0:z(e[3],t)!==!1,l=i.effectiveRows,f=K(l,e=>i.get(e,0),n,+!!c,t);return f<0?s:i.get(f,o-1)}},HLOOKUP:{minArgs:3,maxArgs:4,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=H(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=Math.trunc(a);if(o<1)return d;if(o>i.rows)return u;let c=R(e[3])?!0:z(e[3],t)!==!1,l=i.effectiveCols,f=K(l,e=>i.get(0,e),n,+!!c,t);return f<0?s:i.get(o-1,f)}},LOOKUP:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=H(e[1],t);if(r(i))return i;let a=W(i);if(!a)return s;let o=K(Re(i),a.get,n,1,t);if(o<0)return s;if(R(e[2]))return a.get(o);let c=H(e[2],t);if(r(c))return c;let l=W(c);return l?l.get(o):s}},XLOOKUP:{minArgs:3,maxArgs:6,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=H(e[1],t);if(r(i))return i;let a=H(e[2],t);if(r(a))return a;let o=W(i),c=W(a);if(!o||!c)return d;let l=e.length>4&&!R(e[4])?B(e[4],t):0;if(r(l))return l;let u=Re(i),f=-1;if(l===2){let e=typeof n==`string`?D(n):null;t.budget.charge(u);for(let t=0;t<u;t++)if(He(o.get(t),n,e)){f=t;break}}else if(l===0)f=K(u,o.get,n,0,t);else{t.budget.charge(u);let e=null;for(let t=0;t<u;t++){let i=o.get(t);if(i===null||r(i)||!G(i,n))continue;let a=T(i,n);if(!r(a)){if(a===0){f=t;break}(l<0?a<0:a>0)&&(e===null||(l<0?T(i,e)===1:T(i,e)===-1))&&(e=i,f=t)}}}return f<0?e.length>3&&!R(e[3])?z(e[3],t):s:c.get(f)}},CHOOSE:{minArgs:2,maxArgs:1/0,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=Math.trunc(n);return i<1||i>=e.length?d:t.evaluate(e[i])}},OFFSET:{minArgs:3,maxArgs:5,volatile:!0,fn:(e,t)=>{let n=H(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=R(e[3])?n.rows:B(e[3],t);if(r(o))return o;let s=R(e[4])?n.cols:B(e[4],t);if(r(s))return s;if(o<1||s<1)return u;let c=n.startRow+Math.trunc(i),l=n.startCol+Math.trunc(a);return c<0||l<0?u:new F(t,n.sheet,c,l,c+Math.trunc(o)-1,l+Math.trunc(s)-1)}},INDIRECT:{minArgs:1,maxArgs:2,volatile:!0,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;if(!R(e[1])&&z(e[1],t)===!1)return u;let i;try{i=x(n)}catch{return u}if(i.type!==`ref`&&i.type!==`range`)return u;let a=t.evaluate(i);return I(a)||r(a)?a:u}},ROW:{minArgs:0,maxArgs:1,fn:(e,t)=>{if(e.length===0||R(e[0]))return t.currentRow+1;let n=H(e[0],t);return r(n)?n:n.startRow+1}},COLUMN:{minArgs:0,maxArgs:1,fn:(e,t)=>{if(e.length===0||R(e[0]))return t.currentCol+1;let n=H(e[0],t);return r(n)?n:n.startCol+1}},ROWS:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=H(e[0],t);return r(n)?n:n.rows}},COLUMNS:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=H(e[0],t);return r(n)?n:n.cols}},HYPERLINK:{minArgs:1,maxArgs:2,fn:(e,t)=>e.length>1&&!R(e[1])?z(e[1],t):z(e[0],t)}},q=e=>(t,n)=>{let i=B(t[0],n);if(r(i))return i;let a=e(i);return r(a)||Number.isFinite(a)?a:l};function J(e){let t=0;for(let n of e)t+=n;return t}function Y(e,t){let n=e.length;if(n<(t?1:2))return o;let r=J(e)/n,i=0;for(let t of e)i+=(t-r)*(t-r);return i/(t?n:n-1)}var X=e=>(t,n)=>{let i=Le(t,n);return r(i)?i:e(i)};function Z(e,t,n){let r=10**Math.trunc(t),i=e*r,a;return a=n===`half`?Math.sign(i)*Math.round(Math.abs(i)+2**-52*Math.abs(i)):n===`up`?Math.sign(i)*Math.ceil(Math.abs(i)-2**-52*Math.abs(i)):Math.trunc(i+Math.sign(i)*2**-52*Math.abs(i)),a/r}function We(e,t,n){let i=H(e,n);if(r(i))return i;let a=O(z(t,n)),o=0;return i.forEach(e=>{a(e)&&o++}),o}function Q(e,t,n){let i=n!==`count`,a=i?e.slice(1):e;if(a.length===0||a.length%2!=0)return d;let s=i?H(e[0],t):null;if(s!==null&&r(s))return s;let c=[];for(let e=0;e<a.length;e+=2){let n=H(a[e],t);if(r(n))return n;c.push({view:n,matches:O(z(a[e+1],t))})}let l=s??c[0].view,u=l.rows,f=l.cols;for(let{view:e}of c)if(e.rows!==u||e.cols!==f)return d;if(s&&(s.rows!==u||s.cols!==f))return d;let p=Math.max(l.effectiveRows,...c.map(({view:e})=>e.effectiveRows)),m=Math.max(l.effectiveCols,...c.map(({view:e})=>e.effectiveCols));t.budget.charge(p*m*(c.length+1));let h=0,g=0,_=null,v=null;for(let e=0;e<p&&!v;e++)for(let t=0;t<m;t++){let a=!0;for(let{view:n,matches:r}of c)if(!r(n.get(e,t))){a=!1;break}if(!a)continue;if(!i){h++;continue}let o=s.get(e,t);if(r(o)){v=o;break}typeof o==`number`&&(h++,g+=o,_===null?_=o:n===`max`?_=Math.max(_,o):n===`min`&&(_=Math.min(_,o)))}if(v)return v;switch(n){case`count`:return h;case`sum`:return g;case`average`:return h===0?o:g/h;case`max`:return _??0;case`min`:return _??0}}var Ge={1:e=>e.length===0?o:J(e)/e.length,4:e=>e.length===0?0:Math.max(...e),5:e=>e.length===0?0:Math.min(...e),6:e=>e.reduce((e,t)=>e*t,1),7:e=>{let t=Y(e,!1);return r(t)?t:Math.sqrt(t)},8:e=>{let t=Y(e,!0);return r(t)?t:Math.sqrt(t)},9:J,10:e=>Y(e,!1),11:e=>Y(e,!0)},Ke={SUM:{minArgs:1,maxArgs:1/0,fn:X(J)},PRODUCT:{minArgs:1,maxArgs:1/0,fn:X(e=>e.reduce((e,t)=>e*t,1))},MIN:{minArgs:1,maxArgs:1/0,fn:X(e=>e.length===0?0:Math.min(...e))},MAX:{minArgs:1,maxArgs:1/0,fn:X(e=>e.length===0?0:Math.max(...e))},AVERAGE:{minArgs:1,maxArgs:1/0,fn:X(e=>e.length===0?o:J(e)/e.length)},MEDIAN:{minArgs:1,maxArgs:1/0,fn:X(e=>{if(e.length===0)return l;let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2==1?t[n]:(t[n-1]+t[n])/2})},STDEV:{minArgs:1,maxArgs:1/0,fn:X(e=>{let t=Y(e,!1);return r(t)?t:Math.sqrt(t)})},"STDEV.S":{minArgs:1,maxArgs:1/0,fn:X(e=>{let t=Y(e,!1);return r(t)?t:Math.sqrt(t)})},STDEVP:{minArgs:1,maxArgs:1/0,fn:X(e=>{let t=Y(e,!0);return r(t)?t:Math.sqrt(t)})},"STDEV.P":{minArgs:1,maxArgs:1/0,fn:X(e=>{let t=Y(e,!0);return r(t)?t:Math.sqrt(t)})},VAR:{minArgs:1,maxArgs:1/0,fn:X(e=>Y(e,!1))},"VAR.S":{minArgs:1,maxArgs:1/0,fn:X(e=>Y(e,!1))},VARP:{minArgs:1,maxArgs:1/0,fn:X(e=>Y(e,!0))},"VAR.P":{minArgs:1,maxArgs:1/0,fn:X(e=>Y(e,!0))},COUNT:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=0;return U(e,t,({value:e,viaRange:t})=>{if(!(r(e)||e===null)){if(typeof e==`number`){n++;return}!t&&(typeof e==`boolean`||!Number.isNaN(Number(e)))&&(typeof e==`boolean`||e.trim()!==``)&&n++}}),n}},COUNTA:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=0;return U(e,t,({value:e})=>{e!==null&&n++}),n}},COUNTBLANK:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=H(e[0],t);if(r(n))return n;let i=0;n.forEach(e=>{(e===null||e===``)&&i++});let a=n.rows*n.cols,o=n.effectiveRows*n.effectiveCols;return i+(a-o)}},COUNTIF:{minArgs:2,maxArgs:2,fn:(e,t)=>We(e[0],e[1],t)},SUMIF:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=H(e[0],t);if(r(n))return n;let i=O(z(e[1],t)),a=R(e[2])?n:H(e[2],t);if(r(a))return a;let o=0,s=null;return n.forEach((e,t,c)=>{if(s||!i(e))return;let l=a===n?e:a.get(t,c);if(r(l)){s=l;return}typeof l==`number`&&(o+=l)}),s??o}},AVERAGEIF:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=H(e[0],t);if(r(n))return n;let i=O(z(e[1],t)),a=R(e[2])?n:H(e[2],t);if(r(a))return a;let s=0,c=0,l=null;return n.forEach((e,t,o)=>{if(l||!i(e))return;let u=a===n?e:a.get(t,o);if(r(u)){l=u;return}typeof u==`number`&&(s+=u,c++)}),l||(c===0?o:s/c)}},SUMIFS:{minArgs:3,maxArgs:1/0,fn:(e,t)=>Q(e,t,`sum`)},COUNTIFS:{minArgs:2,maxArgs:1/0,fn:(e,t)=>Q(e,t,`count`)},AVERAGEIFS:{minArgs:3,maxArgs:1/0,fn:(e,t)=>Q(e,t,`average`)},MAXIFS:{minArgs:3,maxArgs:1/0,fn:(e,t)=>Q(e,t,`max`)},MINIFS:{minArgs:3,maxArgs:1/0,fn:(e,t)=>Q(e,t,`min`)},SUMPRODUCT:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=e.map(e=>H(e,t));for(let e of n)if(r(e))return e;let i=n[0],a=i.rows,o=i.cols;for(let e of n){let t=e;if(t.rows!==a||t.cols!==o)return d}let s=0,c=i.effectiveRows,l=i.effectiveCols;t.budget.charge(c*l*n.length);for(let e=0;e<c;e++)for(let t=0;t<l;t++){let i=1;for(let a of n){let n=a.get(e,t);if(r(n))return n;i*=typeof n==`number`?n:0}s+=i}return s}},SUBTOTAL:{minArgs:2,maxArgs:1/0,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=Math.trunc(n);if(i>11&&i<101||i>111||i<1)return d;let a=i%100;if(a===2||a===3){let n=0;return U(e.slice(1),t,({value:e})=>{(a===2?typeof e==`number`:e!==null)&&n++}),n}let o=Ge[a];if(!o)return d;let s=Le(e.slice(1),t);return r(s)?s:o(s)}},ABS:{minArgs:1,maxArgs:1,fn:q(Math.abs)},SQRT:{minArgs:1,maxArgs:1,fn:q(e=>e<0?l:Math.sqrt(e))},EXP:{minArgs:1,maxArgs:1,fn:q(Math.exp)},LN:{minArgs:1,maxArgs:1,fn:q(e=>e<=0?l:Math.log(e))},LOG10:{minArgs:1,maxArgs:1,fn:q(e=>e<=0?l:Math.log10(e))},LOG:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=R(e[1])?10:B(e[1],t);return r(i)?i:n<=0||i<=0||i===1?l:Math.log(n)/Math.log(i)}},SIGN:{minArgs:1,maxArgs:1,fn:q(Math.sign)},INT:{minArgs:1,maxArgs:1,fn:q(Math.floor)},TRUNC:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=R(e[1])?0:B(e[1],t);return r(i)?i:Z(n,i,`down`)}},ROUND:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);return r(i)?i:Z(n,i,`half`)}},ROUNDUP:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);return r(i)?i:Z(n,i,`up`)}},ROUNDDOWN:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);return r(i)?i:Z(n,i,`down`)}},MOD:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);return r(i)?i:i===0?o:n-i*Math.floor(n/i)}},POWER:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=n**+i;return Number.isFinite(a)?a:l}},CEILING:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=R(e[1])?1:B(e[1],t);return r(i)?i:i===0?0:n>0&&i<0?l:Math.ceil(n/i)*i}},FLOOR:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=R(e[1])?1:B(e[1],t);return r(i)?i:i===0?o:n>0&&i<0?l:Math.floor(n/i)*i}},PI:{minArgs:0,maxArgs:0,fn:()=>Math.PI},RAND:{minArgs:0,maxArgs:0,volatile:!0,fn:()=>Math.random()},RANDBETWEEN:{minArgs:2,maxArgs:2,volatile:!0,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=Math.ceil(n),o=Math.floor(i);return o<a?l:a+Math.floor(Math.random()*(o-a+1))}}},qe={CONCATENATE:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=``;for(let i of e){if(R(i))continue;let e=V(i,t);if(r(e))return e;n+=e}return n}},CONCAT:{minArgs:1,maxArgs:1/0,fn:(e,t)=>{let n=``,i=null;return U(e,t,({value:e})=>{if(!(i!==null&&r(i))){if(r(e)){i=e;return}e!==null&&(n+=typeof e==`string`?e:typeof e==`boolean`?e?`TRUE`:`FALSE`:S(e))}}),i!==null&&r(i)?i:n}},TEXTJOIN:{minArgs:3,maxArgs:1/0,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=z(e[1],t)!==!1,a=[],o=null;return U(e.slice(2),t,({value:e})=>{if(o!==null&&r(o))return;if(r(e)){o=e;return}let t=e===null?``:typeof e==`string`?e:typeof e==`boolean`?e?`TRUE`:`FALSE`:S(e);i&&t===``||a.push(t)}),o!==null&&r(o)?o:a.join(n)}},LEFT:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=R(e[1])?1:B(e[1],t);return r(i)?i:i<0?d:n.slice(0,Math.trunc(i))}},RIGHT:{minArgs:1,maxArgs:2,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=R(e[1])?1:B(e[1],t);if(r(i))return i;if(i<0)return d;let a=Math.trunc(i);return a===0?``:n.slice(-a)}},MID:{minArgs:3,maxArgs:3,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=B(e[2],t);return r(a)?a:i<1||a<0?d:n.slice(Math.trunc(i)-1,Math.trunc(i)-1+Math.trunc(a))}},LEN:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.length}},LOWER:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.toLowerCase()}},UPPER:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.toUpperCase()}},PROPER:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.replace(/([A-Za-z])([A-Za-z]*)/g,(e,t,n)=>t.toUpperCase()+n.toLowerCase())}},TRIM:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.replace(/ +/g,` `).trim()}},SUBSTITUTE:{minArgs:3,maxArgs:4,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=V(e[1],t);if(r(i))return i;let a=V(e[2],t);if(r(a))return a;if(i===``)return n;if(R(e[3]))return n.split(i).join(a);let o=B(e[3],t);if(r(o))return o;let s=Math.trunc(o);if(s<1)return d;let c=-1;for(let e=0;e<s;e++)if(c=n.indexOf(i,c+1),c<0)return n;return n.slice(0,c)+a+n.slice(c+i.length)}},REPLACE:{minArgs:4,maxArgs:4,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;let a=B(e[2],t);if(r(a))return a;let o=V(e[3],t);if(r(o))return o;if(i<1||a<0)return d;let s=Math.trunc(i)-1;return n.slice(0,s)+o+n.slice(s+Math.trunc(a))}},FIND:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=V(e[1],t);if(r(i))return i;let a=R(e[2])?1:B(e[2],t);if(r(a))return a;if(a<1||a>i.length+1)return d;let o=i.indexOf(n,Math.trunc(a)-1);return o<0?d:o+1}},SEARCH:{minArgs:2,maxArgs:3,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=V(e[1],t);if(r(i))return i;let a=R(e[2])?1:B(e[2],t);if(r(a))return a;if(a<1||a>i.length+1)return d;let o=Math.trunc(a)-1,s=D(`*${n}*`),c=new RegExp(s.source.replace(/^\^\.\*/,`^`).replace(/\.\*\$$/,``),`i`);for(let e=o;e<=i.length;e++)if(c.test(i.slice(e)))return e+1;return d}},REPT:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=B(e[1],t);if(r(i))return i;if(i<0)return d;let a=Math.trunc(i);return n.length*a>32767?d:n.repeat(a)}},EXACT:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=V(e[0],t);if(r(n))return n;let i=V(e[1],t);return r(i)?i:n===i}},VALUE:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=z(e[0],t);if(r(n)||typeof n==`number`)return n;if(n===null||typeof n==`boolean`)return d;let i=me(n);return i===null?d:i}},T:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=z(e[0],t);return r(n)||typeof n==`string`?n:``}},N:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=z(e[0],t);return r(n)||typeof n==`number`?n:typeof n==`boolean`?+!!n:0}},CHAR:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=B(e[0],t);if(r(n))return n;let i=Math.trunc(n);return i<1||i>255?d:String.fromCharCode(i)}},CODE:{minArgs:1,maxArgs:1,fn:(e,t)=>{let n=V(e[0],t);return r(n)?n:n.length===0?d:n.charCodeAt(0)}},TEXT:{minArgs:2,maxArgs:2,fn:(e,t)=>{let n=z(e[0],t);if(r(n))return n;let i=V(e[1],t);return r(i)?i:typeof n==`string`?n:typeof n==`boolean`?n?`TRUE`:`FALSE`:n===null?je(0,i,t.date1904)??``:je(n,i,t.date1904)??l}}};function Je(){let e=new Map;for(let t of[Ke,Ve,Ue,qe,Be,ze])for(let[n,r]of Object.entries(t))e.set(n,r);return e}function Ye(e){return[...e.entries()].filter(([,e])=>e.volatile===!0).map(([e])=>e).sort()}var Xe=16384,$=(e,t)=>e*Xe+t,Ze=e=>Math.floor(e/Xe),Qe=e=>e%Xe,$e=class{constructor(e){this.cells=new Map,this.maxRow=-1,this.maxCol=-1,this.name=e}get(e,t){return this.cells.get($(e,t))}set(e,t,n){this.cells.set($(e,t),n),e>this.maxRow&&(this.maxRow=e),t>this.maxCol&&(this.maxCol=t)}delete(e,t){this.cells.delete($(e,t))}},et=class{constructor(){this.byLowerName=new Map,this.sheetOrder=[],this.date1904=!1,this.definedNames=new Map}sheet(e){return this.byLowerName.get(e.toLowerCase())}ensureSheet(e){let t=this.byLowerName.get(e.toLowerCase());if(t)return t;let n=new $e(e);return this.byLowerName.set(e.toLowerCase(),n),this.sheetOrder.push(e),n}firstSheetName(){return this.sheetOrder[0]??`Sheet1`}*allCells(){for(let e of this.sheetOrder){let t=this.byLowerName.get(e.toLowerCase());for(let[e,n]of t.cells)yield{sheet:t,row:Ze(e),col:Qe(e),slot:n}}}};function tt(e){let t=new et;t.date1904=e.date1904??!1;for(let[n,r]of Object.entries(e.definedNames??{}))t.definedNames.set(n.toLowerCase(),r);for(let n of e.sheets){let e=t.ensureSheet(n.name);for(let t=0;t<n.cells.length;t++){let r=n.cells[t];for(let n=0;n<r.length;n++){let i=r[n];if(!i||i.value===void 0&&i.formula===void 0)continue;let a={value:i.value??null,staleness:i.formula===void 0?`current`:`neverEvaluated`,volatile:!1};i.formula!==void 0&&(a.formula=i.formula),e.set(t,n,a)}}}return t}var nt=100,rt=.001,it=(e,t)=>`${e}\0${t}`;function at(e,t,n){return t>=e.startRow&&t<=e.endRow&&n>=e.startCol&&n<=e.endCol}var ot=class{constructor(e={}){this.workbook=new et,this.edges=[],this.parseCache=new Map,this.disposed=!1,this.config=e,this.now=e.now??(()=>new Date),this.functions=Je(),this.capabilities={functions:[...this.functions.keys()].sort(),dynamicArrays:!1,iterativeCalc:!0,externalRefs:!1,leapYear1900Bug:!0,volatileFunctions:Ye(this.functions)}}async loadWorkbook(e){this.assertLive(),this.workbook=tt(e),this.config.date1904!==void 0&&(this.workbook.date1904=this.config.date1904),this.edges=[];for(let{sheet:e,row:t,col:n,slot:r}of this.workbook.allCells())r.formula!==void 0&&this.attachFormula(e,t,n,r)}setCellValue(e,t){this.assertLive();let n=this.workbook.ensureSheet(e.sheet);n.get(e.row,e.col)?.formula!==void 0&&this.detachFormula(n,e.row,e.col),n.set(e.row,e.col,{value:t,staleness:`current`,volatile:!1}),this.markDependentsDirty(n.name,e.row,e.col)}setCellFormula(e,t){this.assertLive();let n=this.workbook.ensureSheet(e.sheet),r=n.get(e.row,e.col);r?.formula!==void 0&&this.detachFormula(n,e.row,e.col);let i={value:r?.value??null,formula:t,staleness:`neverEvaluated`,volatile:!1};n.set(e.row,e.col,i),this.attachFormula(n,e.row,e.col,i),this.markDependentsDirty(n.name,e.row,e.col)}clearCell(e){this.assertLive();let t=this.workbook.sheet(e.sheet);t&&(t.get(e.row,e.col)?.formula!==void 0&&this.detachFormula(t,e.row,e.col),t.delete(e.row,e.col),this.markDependentsDirty(t.name,e.row,e.col))}async getCell(e){return this.getCellSync(e)}async getCells(e){return e.map(e=>this.getCellSync(e))}getCellSync(e){this.assertLive();let t=this.workbook.sheet(e.sheet)?.get(e.row,e.col);if(!t)return{value:null,staleness:`current`,spillRole:`none`,volatile:!1};let n={value:t.value,staleness:t.staleness,spillRole:`none`,volatile:t.volatile};return t.formula!==void 0&&(n.formula=t.formula),n}parse(e){let t=this.parseCache.get(e);if(t===void 0){try{t=x(e)}catch(e){if(!(e instanceof p))throw e;t=null}this.parseCache.size>5e4&&this.parseCache.clear(),this.parseCache.set(e,t)}return t}attachFormula(e,t,n,r){let i=this.parse(r.formula);if(!i){r.parseFailed=!0;return}r.ast=i;let{ranges:a,names:o}=pe(i,e.name);for(let t of o){let n=this.workbook.definedNames.get(t.toLowerCase());if(n){let t=this.parse(n);t&&a.push(...pe(t,e.name).ranges)}}r.refs=a,r.volatile=this.astIsVolatile(i);let s=e.name.toLowerCase(),c=$(t,n);for(let e of a)this.edges.push({range:e,sheetLower:s,key:c})}detachFormula(e,t,n){let r=e.name.toLowerCase(),i=$(t,n);this.edges=this.edges.filter(e=>!(e.sheetLower===r&&e.key===i))}astIsVolatile(e){switch(e.type){case`call`:return this.functions.get(e.name)?.volatile?!0:e.args.some(e=>this.astIsVolatile(e));case`binary`:return this.astIsVolatile(e.left)||this.astIsVolatile(e.right);case`unary`:case`percent`:return this.astIsVolatile(e.operand);case`array`:return e.rows.some(e=>e.some(e=>this.astIsVolatile(e)));default:return!1}}markDependentsDirty(e,t,n){let r=this.edges.length,i=new Set,a=[{sheetLower:e.toLowerCase(),row:t,col:n}];for(;a.length>0;){if(i.size*2>r&&r>0){for(let{slot:e}of this.workbook.allCells())e.formula!==void 0&&e.staleness===`current`&&(e.staleness=`dirty`);return}let e=a.pop();for(let t of this.edges){if(t.range.sheet.toLowerCase()!==e.sheetLower||!at(t.range,e.row,e.col))continue;let n=it(t.sheetLower,t.key);if(i.has(n))continue;i.add(n);let r=this.sheetByLower(t.sheetLower),o=Ze(t.key),s=Qe(t.key),c=r?.get(o,s);c&&c.formula!==void 0&&c.staleness===`current`&&(c.staleness=`dirty`),r&&a.push({sheetLower:t.sheetLower,row:o,col:s})}}}sheetByLower(e){return this.workbook.sheet(e)}buildContext(e,t,n,r){let i={workbook:this.workbook,currentSheet:t,currentRow:n,currentCol:r,budget:e,date1904:this.workbook.date1904,now:this.now,functions:this.functions,readCell:(e,t,n)=>e.get(t,n)?.value??null,definedName:e=>this.workbook.definedNames.get(e.toLowerCase()),parseSubFormula:e=>this.parse(e),evaluate:e=>Pe(e,i)};return i}evaluateSlot(e,t,n,r,i){if(r.parseFailed||!r.ast)return c;let a=this.buildContext(i,e.name,t,n),o=L(Pe(r.ast,a),a);return I(o)?f:o??0}async evaluateAll(e){this.assertLive();let t=new Ne(e??this.config.budgets),n=[],r=0,i=[];for(let e of this.workbook.allCells())e.slot.formula!==void 0&&(e.slot.volatile&&e.slot.staleness===`current`&&(e.slot.staleness=`dirty`),e.slot.staleness!==`current`&&i.push(e));let a=new Map,o=e=>{let n=this.workbook.sheet(e.sheet);if(!n)return[];let r=Math.min(e.endRow,n.maxRow),i=Math.min(e.endCol,n.maxCol),o=`${e.sheet.toLowerCase()}:${e.startRow},${e.startCol},${r},${i}`,s=a.get(o);if(s)return s;let c=[],l=(r-e.startRow+1)*(i-e.startCol+1);if(t.charge(Math.max(0,Math.min(l,n.cells.size))),l<=n.cells.size)for(let t=e.startRow;t<=r;t++)for(let r=e.startCol;r<=i;r++)n.get(t,r)?.formula!==void 0&&c.push({sheet:n,row:t,col:r});else for(let[t,r]of n.cells){if(r.formula===void 0)continue;let i=Ze(t),a=Qe(t);at(e,i,a)&&c.push({sheet:n,row:i,col:a})}return a.set(o,c),c},s=new Map,c=(e,t,n)=>it(e.name.toLowerCase(),$(t,n));try{for(let e of i){let i=c(e.sheet,e.row,e.col);if(s.get(i)===2)continue;let a=[{...e,expanded:!1}];for(;a.length>0;){let e=a[a.length-1],i=c(e.sheet,e.row,e.col),l=e.sheet.get(e.row,e.col);if(!l||l.formula===void 0||s.get(i)===2){a.pop();continue}if(!e.expanded){e.expanded=!0,s.set(i,1);for(let e of l.refs??[])for(let t of o(e)){let e=c(t.sheet,t.row,t.col);if(e===i)continue;let r=s.get(e);if(r!==2){if(r===1){let e=a.findIndex(e=>e.sheet===t.sheet&&e.row===t.row&&e.col===t.col);for(let t=Math.max(0,e);t<a.length;t++){let e=a[t];n.push({sheet:e.sheet.name,row:e.row,col:e.col})}continue}t.sheet.get(t.row,t.col).staleness!==`current`&&a.push({...t,expanded:!1})}}continue}l.staleness!==`current`&&(l.value=this.evaluateSlot(e.sheet,e.row,e.col,l,t),l.staleness=`current`,r++),s.set(i,2),a.pop()}}if(n.length>0&&(this.settleCycles(n,t,r),(this.config.cyclePolicy??`error`)===`error`))return{status:`cycle-error`,evaluatedCells:r,workUnits:t.workUnits,elapsedMs:t.elapsedMs,dirtyRemaining:[],cycleCells:st(n)}}catch(e){if(e instanceof P){let e=[];for(let{sheet:t,row:n,col:r,slot:i}of this.workbook.allCells())i.formula!==void 0&&i.staleness!==`current`&&e.push({sheet:t.name,row:n,col:r});return{status:`budget-exceeded`,evaluatedCells:r,workUnits:t.workUnits,elapsedMs:t.elapsedMs,dirtyRemaining:e,cycleCells:st(n)}}throw e}return{status:`complete`,evaluatedCells:r,workUnits:t.workUnits,elapsedMs:t.elapsedMs,dirtyRemaining:[],cycleCells:st(n)}}settleCycles(e,t,n){let r=this.config.cyclePolicy??`error`,i=st(e);if(r===`error`){for(let e of i){let t=this.workbook.sheet(e.sheet)?.get(e.row,e.col);t&&(t.value=f,t.staleness=`current`)}return}let a=this.config.iterateMaxIterations??nt,o=this.config.iterateMaxChange??rt;for(let e of i){let t=this.workbook.sheet(e.sheet)?.get(e.row,e.col);t&&typeof t.value!=`number`&&(t.value=0)}for(let e=0;e<a;e++){let e=0;for(let n of i){let r=this.workbook.sheet(n.sheet),i=r?.get(n.row,n.col);if(!r||!i||i.formula===void 0)continue;let a=i.value,o=this.evaluateSlot(r,n.row,n.col,i,t);i.value=o,i.staleness=`current`,typeof a==`number`&&typeof o==`number`?e=Math.max(e,Math.abs(o-a)):a!==o&&(e=1/0)}if(e<=o)break}}async evaluateFormula(e,t){this.assertLive();let n;try{n=x(e)}catch(e){if(e instanceof p)return c;throw e}let r=t?.sheet??this.workbook.firstSheetName(),i=new Ne(this.config.budgets),a=this.buildContext(i,r,t?.row??0,t?.col??0);try{return L(Pe(n,a),a)??0}catch(e){if(e instanceof P)return f;throw e}}async precedentsOf(e){this.assertLive();let t=this.workbook.sheet(e.sheet)?.get(e.row,e.col);return t?.refs?[...t.refs]:[]}async dependentsOf(e){this.assertLive();let t=e.sheet.toLowerCase(),n=[],r=new Set;for(let i of this.edges){if(i.range.sheet.toLowerCase()!==t||!at(i.range,e.row,e.col))continue;let a=it(i.sheetLower,i.key);if(r.has(a))continue;r.add(a);let o=this.sheetByLower(i.sheetLower);o&&n.push({sheet:o.name,row:Ze(i.key),col:Qe(i.key)})}return n}dispose(){this.disposed=!0,this.edges=[],this.parseCache.clear(),this.workbook=new et}assertLive(){if(this.disposed)throw Error(`CalcEngine used after dispose()`)}};function st(e){let t=new Set,n=[];for(let r of e){let e=`${r.sheet.toLowerCase()}!${r.row},${r.col}`;t.has(e)||(t.add(e),n.push(r))}return n}function ct(e={}){return new ot(e)}function lt(e){let t=null,n=(t,n)=>{e({type:`error`,id:t,message:n instanceof Error?n.message:String(n)})};return r=>{try{switch(r.type){case`create`:t?.dispose(),t=ct(r.config),e({type:`ready`,id:r.id});return;case`dispose`:t?.dispose(),t=null;return;default:break}if(!t){`id`in r&&n(r.id,Error(`engine not created`));return}switch(r.type){case`loadWorkbook`:t.loadWorkbook(r.seed).then(()=>e({type:`done`,id:r.id}),e=>n(r.id,e));return;case`setCellValue`:t.setCellValue(r.address,r.value);return;case`setCellFormula`:t.setCellFormula(r.address,r.formula);return;case`clearCell`:t.clearCell(r.address);return;case`getCells`:t.getCells(r.addresses).then(t=>e({type:`cells`,id:r.id,states:t}),e=>n(r.id,e));return;case`evaluateAll`:t.evaluateAll(r.budgets).then(t=>e({type:`evaluated`,id:r.id,result:t}),e=>n(r.id,e));return;case`evaluateFormula`:t.evaluateFormula(r.formula,r.context).then(t=>e({type:`value`,id:r.id,value:t}),e=>n(r.id,e));return;case`precedentsOf`:t.precedentsOf(r.address).then(t=>e({type:`ranges`,id:r.id,ranges:t}),e=>n(r.id,e));return;case`dependentsOf`:t.dependentsOf(r.address).then(t=>e({type:`addresses`,id:r.id,addresses:t}),e=>n(r.id,e));return}}catch(e){`id`in r&&n(r.id,e)}}}var ut=5e3;function dt(){let e=null,t=lt(t=>{queueMicrotask(()=>e?.(t))});return{post:e=>{queueMicrotask(()=>t(e))},onMessage:t=>{e=t},terminate:()=>{e=null}}}function ft(e){if(typeof Worker>`u`)throw Error(`Web Workers are unavailable in this environment`);let t=e?e():new Worker(new URL(`/assets/index-J8TOMdvV.js`,``+import.meta.url),{type:`module`});return{post:e=>t.postMessage(e),onMessage:e=>{t.onmessage=t=>e(t.data)},terminate:()=>t.terminate()}}var pt=class{constructor(e){this.pending=new Map,this.seq=0,this.disposed=!1,this.transport=e;let t=ct();this.capabilities=t.capabilities,t.dispose(),e.onMessage(e=>{if(!(`id`in e))return;let t=this.pending.get(e.id);t&&(this.pending.delete(e.id),e.type===`error`?t.reject(Error(e.message)):t.resolve(e))})}request(e){this.assertLive();let t=++this.seq;return new Promise((n,r)=>{this.pending.set(t,{resolve:n,reject:r}),this.transport.post({...e,id:t})})}async loadWorkbook(e){await this.request({type:`loadWorkbook`,seed:e})}setCellValue(e,t){this.assertLive(),this.transport.post({type:`setCellValue`,address:e,value:t})}setCellFormula(e,t){this.assertLive(),this.transport.post({type:`setCellFormula`,address:e,formula:t})}clearCell(e){this.assertLive(),this.transport.post({type:`clearCell`,address:e})}async getCell(e){let[t]=await this.getCells([e]);return t}async getCells(e){return(await this.request({type:`getCells`,addresses:[...e]})).states}async evaluateAll(e){return(await this.request({type:`evaluateAll`,budgets:e})).result}async evaluateFormula(e,t){return(await this.request({type:`evaluateFormula`,formula:e,context:t})).value}async precedentsOf(e){return(await this.request({type:`precedentsOf`,address:e})).ranges}async dependentsOf(e){return(await this.request({type:`dependentsOf`,address:e})).addresses}dispose(){if(!this.disposed){this.disposed=!0,this.transport.post({type:`dispose`});for(let e of this.pending.values())e.reject(Error(`CalcEngine disposed`));this.pending.clear(),this.transport.terminate()}}assertLive(){if(this.disposed)throw Error(`CalcEngine used after dispose()`)}};async function mt(e={}){let{transport:t,workerFactory:n,...r}=e,i=new pt(t??ft(n));try{await Promise.race([i.request({type:`create`,config:r}),new Promise((e,t)=>setTimeout(()=>t(Error(`calc worker did not start`)),ut))])}catch(e){throw i.dispose(),e}return i}export{p as CalcParseError,i as ERROR_CODES,y as MAX_COL_INDEX,ee as MAX_ROW_INDEX,O as buildCriteria,n as calcError,pe as collectReferences,te as columnIndexFromLetters,ne as columnLetter,T as compareValues,ct as createInHouseEngine,dt as createLocalCalcTransport,mt as createWorkerCalcEngine,A as datePartsFromSerial,ae as formatA1,S as formatGeneral,je as formatNumberWithPattern,r as isCalcError,xe as isoFromSerial,me as numberFromText,ie as parseA1,a as parseErrorLiteral,x as parseFormula,k as serialFromDateParts,Ce as serialFromIso,j as timePartsFromSerial,he as toLogical,C as toNumber,w as toText,D as wildcardToRegExp};