@mavea/mavea 1.0.7

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 (557) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/DISCLAIMER.md +16 -0
  3. package/LICENSE +75 -0
  4. package/PRIVACY.md +127 -0
  5. package/README.md +248 -0
  6. package/SECURITY.md +72 -0
  7. package/SUPPORT.md +13 -0
  8. package/TERMS.md +122 -0
  9. package/THIRD-PARTY.txt +639 -0
  10. package/TRADEMARKS.md +15 -0
  11. package/bin/mavea.mjs +1079 -0
  12. package/dist/.vite/manifest.json +4261 -0
  13. package/dist/_headers +52 -0
  14. package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
  15. package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
  16. package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
  17. package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
  18. package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
  19. package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
  20. package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
  21. package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
  22. package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
  23. package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
  24. package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
  25. package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
  26. package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
  27. package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
  28. package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
  29. package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
  30. package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
  31. package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
  32. package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
  33. package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
  34. package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
  35. package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
  36. package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
  37. package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
  38. package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
  39. package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
  40. package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
  41. package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
  42. package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
  43. package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
  44. package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
  45. package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
  46. package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
  47. package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
  48. package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
  49. package/dist/assets/DropSelect-DUhdQSta.js +1 -0
  50. package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
  51. package/dist/assets/ExportModal-D65cGyj_.js +2 -0
  52. package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
  53. package/dist/assets/FallbackCard-B489rTd9.js +1 -0
  54. package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
  55. package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
  56. package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
  57. package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
  58. package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
  59. package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
  60. package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
  61. package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
  62. package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
  63. package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
  64. package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
  65. package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
  66. package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
  67. package/dist/assets/LegalApp-DZBdExTy.js +1 -0
  68. package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
  69. package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
  70. package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
  71. package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
  72. package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
  73. package/dist/assets/Library-D2XGNXz7.js +1 -0
  74. package/dist/assets/Library-DmrtHjUf.css +1 -0
  75. package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
  76. package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
  77. package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
  78. package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
  79. package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
  80. package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
  81. package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
  82. package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
  83. package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
  84. package/dist/assets/Orb-B0NEVfqL.js +1 -0
  85. package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
  86. package/dist/assets/PlanReview-33V8GTNB.js +1 -0
  87. package/dist/assets/Presence-CzLJIeSD.js +1 -0
  88. package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
  89. package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
  90. package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
  91. package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
  92. package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
  93. package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
  94. package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
  95. package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
  96. package/dist/assets/Quiz-CUwtekfu.js +1 -0
  97. package/dist/assets/Recap-DCiiWNiV.css +1 -0
  98. package/dist/assets/Recap-H5fhj5Tc.js +1 -0
  99. package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
  100. package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
  101. package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
  102. package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
  103. package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
  104. package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
  105. package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
  106. package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
  107. package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
  108. package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
  109. package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
  110. package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
  111. package/dist/assets/SeeDontRead-C389viue.js +1 -0
  112. package/dist/assets/ShareModal-C8S7ySls.css +1 -0
  113. package/dist/assets/ShareModal-ClnEkudw.js +32 -0
  114. package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
  115. package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
  116. package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
  117. package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
  118. package/dist/assets/ShipGate-BVZfCllb.css +1 -0
  119. package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
  120. package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
  121. package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
  122. package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
  123. package/dist/assets/ShipIncident-DcmindmE.js +2 -0
  124. package/dist/assets/ShipMigration-BznCskNg.css +1 -0
  125. package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
  126. package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
  127. package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
  128. package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
  129. package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
  130. package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
  131. package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
  132. package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
  133. package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
  134. package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
  135. package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
  136. package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
  137. package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
  138. package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
  139. package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
  140. package/dist/assets/TermsApp-C70tW6m6.js +123 -0
  141. package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
  142. package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
  143. package/dist/assets/TourPrism-BvucSkcs.js +1 -0
  144. package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
  145. package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
  146. package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
  147. package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
  148. package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
  149. package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
  150. package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
  151. package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
  152. package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
  153. package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
  154. package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
  155. package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
  156. package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
  157. package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
  158. package/dist/assets/annotations-D2K9A5GB.js +1 -0
  159. package/dist/assets/backup-c-Btapzp.js +1 -0
  160. package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
  161. package/dist/assets/c-DWGmR78Y.js +1 -0
  162. package/dist/assets/c-SSSlmE39.js +1 -0
  163. package/dist/assets/cache-BumECILO.js +1 -0
  164. package/dist/assets/canvas-QTEIiK23.js +1 -0
  165. package/dist/assets/catalog-BHjl-1uH.js +2 -0
  166. package/dist/assets/catalog-Dqaq2YFd.js +1 -0
  167. package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
  168. package/dist/assets/chapters-BiUsDClQ.js +1 -0
  169. package/dist/assets/charts1-EOoxU_K3.js +1 -0
  170. package/dist/assets/charts2-tyUiQPff.js +1 -0
  171. package/dist/assets/chunk-BVpWp9h4.js +1 -0
  172. package/dist/assets/citation-BcvmjKS8.js +1 -0
  173. package/dist/assets/code-CpjYCNS8.js +8 -0
  174. package/dist/assets/codeContext-0UMRSGRr.js +5 -0
  175. package/dist/assets/colors-D49Req-e.js +1 -0
  176. package/dist/assets/compose-BJ9EfcQS.js +3 -0
  177. package/dist/assets/contentVault-DzTYWcbD.js +1 -0
  178. package/dist/assets/core-DEFyprhs.js +1 -0
  179. package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
  180. package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
  181. package/dist/assets/courseStore-DfafnL-9.js +1 -0
  182. package/dist/assets/courses-BkH1ntDL.css +1 -0
  183. package/dist/assets/cpp-BGdv8dzs.js +1 -0
  184. package/dist/assets/cpp-CNAAXZl-.js +1 -0
  185. package/dist/assets/csharp-oqKa8noW.js +1 -0
  186. package/dist/assets/css-CdtkT07m.js +1 -0
  187. package/dist/assets/css-LbU1hoFO.js +1 -0
  188. package/dist/assets/dag-C3Xx8pOD.js +2 -0
  189. package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
  190. package/dist/assets/dashboards-rcWxdoXI.css +1 -0
  191. package/dist/assets/deckLine-NBd3MyGT.js +1 -0
  192. package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
  193. package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
  194. package/dist/assets/diagrams-CaSfjT4I.js +1 -0
  195. package/dist/assets/diff-woXpYk--.js +1 -0
  196. package/dist/assets/display-OvC57CMc.js +9 -0
  197. package/dist/assets/dist-BFx3nZg4.js +2785 -0
  198. package/dist/assets/dist-xRGLOZwv.js +14 -0
  199. package/dist/assets/docs-B2aDtm5K.js +1 -0
  200. package/dist/assets/everyday-CoZa4kDZ.js +1 -0
  201. package/dist/assets/explode-WBykfhqW.js +13 -0
  202. package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
  203. package/dist/assets/facts-BBTt3ImG.js +1 -0
  204. package/dist/assets/finance-Bxn_Q1p0.js +1 -0
  205. package/dist/assets/fit-0HxU-rtB.js +1 -0
  206. package/dist/assets/fitText-CDFmCQzl.js +1 -0
  207. package/dist/assets/flows-BL81J7yN.js +1 -0
  208. package/dist/assets/format-DlZTyeMy.js +1 -0
  209. package/dist/assets/format-hc2QOoIu.js +1 -0
  210. package/dist/assets/forms-DeoXOxdD.js +1 -0
  211. package/dist/assets/generate-8odaTyr4.js +17 -0
  212. package/dist/assets/generateBeats-b64CL54v.js +1 -0
  213. package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
  214. package/dist/assets/generateLive-D4B30fnF.js +52 -0
  215. package/dist/assets/geometry-DXAbnb0J.js +1 -0
  216. package/dist/assets/gesture-DabMpPcq.js +2 -0
  217. package/dist/assets/github-dark-C-LZuMrd.js +1 -0
  218. package/dist/assets/github-light-EUqPIrTm.js +1 -0
  219. package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
  220. package/dist/assets/githubToken-DtcLYqwm.js +11 -0
  221. package/dist/assets/go-rLFTqkRN.js +1 -0
  222. package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
  223. package/dist/assets/html-BcACZWSP.js +1 -0
  224. package/dist/assets/html-DDNsd9lV.js +1 -0
  225. package/dist/assets/http-CJCtjYpA.js +2 -0
  226. package/dist/assets/icons-CHVz6kv_.js +1 -0
  227. package/dist/assets/index-CepQEz75.css +1 -0
  228. package/dist/assets/index-y8GL67bB.js +22 -0
  229. package/dist/assets/index.es-CRLiWwiA.js +5 -0
  230. package/dist/assets/info-CiqHR5cs.js +1 -0
  231. package/dist/assets/java-BtIQNnN0.js +1 -0
  232. package/dist/assets/java-DxlWrXwe.js +1 -0
  233. package/dist/assets/javascript-BzbQS41l.js +1 -0
  234. package/dist/assets/javascript-Yelw-5ZN.js +1 -0
  235. package/dist/assets/json-B0N3XRZU.js +1 -0
  236. package/dist/assets/json-B88Oqtu5.js +1 -0
  237. package/dist/assets/json-CaljABEy.js +1 -0
  238. package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
  239. package/dist/assets/jsx-D3KKoC5L.js +1 -0
  240. package/dist/assets/jsx-hEbJ82HF.js +1 -0
  241. package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
  242. package/dist/assets/katex-BMCG0xok.js +257 -0
  243. package/dist/assets/keyVault-DEsNh9FR.js +1 -0
  244. package/dist/assets/kokoro-D4GKpSL0.js +1 -0
  245. package/dist/assets/kotlin-DhhofPvG.js +1 -0
  246. package/dist/assets/layout-BFQOzXtG.js +1 -0
  247. package/dist/assets/layout-CkO0Psde.js +1 -0
  248. package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
  249. package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
  250. package/dist/assets/learn-DVfqN-nf.js +1 -0
  251. package/dist/assets/lib-DMAxsZKm.css +1 -0
  252. package/dist/assets/lib-VFqp6Y3w.js +1 -0
  253. package/dist/assets/links--u_phi0x.js +1 -0
  254. package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
  255. package/dist/assets/markdown-BYOwaDjH.js +1 -0
  256. package/dist/assets/mastery-BPjxP0fN.js +4 -0
  257. package/dist/assets/media-CsrUl279.js +43 -0
  258. package/dist/assets/model-BE0UHu1w.js +27 -0
  259. package/dist/assets/motion-S0NRruNj.js +1 -0
  260. package/dist/assets/nav-Czm-NzPV.js +1 -0
  261. package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
  262. package/dist/assets/notes-A9t4jdfx.css +1 -0
  263. package/dist/assets/notes-lROPCorS.js +1 -0
  264. package/dist/assets/notify-Bz4wuE4T.js +1 -0
  265. package/dist/assets/now-C9-UAzTC.js +1 -0
  266. package/dist/assets/number-DXgzss0v.js +1 -0
  267. package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
  268. package/dist/assets/openchemlib-nMLMmg26.js +23 -0
  269. package/dist/assets/overlays-JxbHtA2o.js +1 -0
  270. package/dist/assets/owners-FXDGInVq.js +2 -0
  271. package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
  272. package/dist/assets/pdf-Df7PCH7q.js +11 -0
  273. package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  274. package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
  275. package/dist/assets/perfProbe-COAp9PAa.js +1 -0
  276. package/dist/assets/php-CYrBA5iX.js +1 -0
  277. package/dist/assets/pickers-B4-3HOR8.js +1 -0
  278. package/dist/assets/pin-Bya3BL_a.css +1 -0
  279. package/dist/assets/pin-CXSuPJYL.js +1 -0
  280. package/dist/assets/planTracker-7AMCQPNx.js +1 -0
  281. package/dist/assets/portal-DMw7C32j.js +1 -0
  282. package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
  283. package/dist/assets/predictions-CYS7Vo39.js +1 -0
  284. package/dist/assets/prewarm--whjQhWJ.js +1 -0
  285. package/dist/assets/prism-app-CXYElq8-.css +1 -0
  286. package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
  287. package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
  288. package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
  289. package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
  290. package/dist/assets/providers-wzm7E8Pa.js +1 -0
  291. package/dist/assets/purify.es-adlwq8Pz.js +3 -0
  292. package/dist/assets/python-gzcpVVnB.js +1 -0
  293. package/dist/assets/queue-DHeyJ32F.css +1 -0
  294. package/dist/assets/queue-J4h7E3uc.js +1 -0
  295. package/dist/assets/quietHours-BvcsBKKK.js +1 -0
  296. package/dist/assets/react-BQSORdFI.js +1 -0
  297. package/dist/assets/reference-sJzyMiL4.js +1 -0
  298. package/dist/assets/registry-1GuPBfQK.js +1 -0
  299. package/dist/assets/registry-2GJZ46M8.css +1 -0
  300. package/dist/assets/registry-2v0jlh5Q.js +2 -0
  301. package/dist/assets/registry-B8DStMJk.js +1 -0
  302. package/dist/assets/registry-B940W2j5.js +1 -0
  303. package/dist/assets/registry-BAoRB8rd.css +1 -0
  304. package/dist/assets/registry-BPvIPLke.js +1 -0
  305. package/dist/assets/registry-BVHiKEwE.css +1 -0
  306. package/dist/assets/registry-BcZXBr3y.css +1 -0
  307. package/dist/assets/registry-BffpZK5w.js +1 -0
  308. package/dist/assets/registry-BgGeRiDA.js +2 -0
  309. package/dist/assets/registry-Buq5uuCv.js +1 -0
  310. package/dist/assets/registry-BzNLfje1.css +1 -0
  311. package/dist/assets/registry-C3ezxLR3.css +1 -0
  312. package/dist/assets/registry-CAusoyBh.js +1 -0
  313. package/dist/assets/registry-CEVrY72Z.js +1 -0
  314. package/dist/assets/registry-CKjKq6ct.js +1 -0
  315. package/dist/assets/registry-CNgybLQv.css +1 -0
  316. package/dist/assets/registry-CRM7y8QT.css +1 -0
  317. package/dist/assets/registry-CRisz4Ca.css +1 -0
  318. package/dist/assets/registry-Cg7qUZPS.js +1 -0
  319. package/dist/assets/registry-Cix-yqch.js +1 -0
  320. package/dist/assets/registry-CtbuZWYz.css +1 -0
  321. package/dist/assets/registry-DCI_BeFJ.js +5 -0
  322. package/dist/assets/registry-DDLSYDVA.js +1 -0
  323. package/dist/assets/registry-DI1wSG1Y.js +1 -0
  324. package/dist/assets/registry-DJinB5ye.js +2 -0
  325. package/dist/assets/registry-DUvXX_d0.js +1 -0
  326. package/dist/assets/registry-DVzLacl_.css +1 -0
  327. package/dist/assets/registry-DWcNVyI2.css +1 -0
  328. package/dist/assets/registry-D_URPoL4.js +1 -0
  329. package/dist/assets/registry-Dkc7hN5T.js +1 -0
  330. package/dist/assets/registry-DmQlNN3y.js +1 -0
  331. package/dist/assets/registry-DpaaVbmL.css +1 -0
  332. package/dist/assets/registry-Dpb8EXHn.js +49 -0
  333. package/dist/assets/registry-Dru0JcTa.css +1 -0
  334. package/dist/assets/registry-DujBAgn_.js +1 -0
  335. package/dist/assets/registry-Dye5m3qt.css +1 -0
  336. package/dist/assets/registry-GeSy4i7R.css +1 -0
  337. package/dist/assets/registry-QcULZpdE.js +4 -0
  338. package/dist/assets/registry-T3i2Q9SI.css +1 -0
  339. package/dist/assets/registry-UFIuwh3i.css +1 -0
  340. package/dist/assets/registry-Xzq_Rpmm.css +1 -0
  341. package/dist/assets/registry-ZOWzhOHk.css +1 -0
  342. package/dist/assets/registry-aIH-Im5Y.css +1 -0
  343. package/dist/assets/registry-aazwkBJp.js +1 -0
  344. package/dist/assets/registry-ei6fIgBT.css +1 -0
  345. package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
  346. package/dist/assets/registry-upbw6pyj.css +1 -0
  347. package/dist/assets/registry-zRPjWNl5.js +1 -0
  348. package/dist/assets/relate-A9ZeaaAI.js +1 -0
  349. package/dist/assets/richText-BkxJhl9N.js +1 -0
  350. package/dist/assets/ruby-BhrksQMt.js +1 -0
  351. package/dist/assets/run-BYP2YlZT.js +23 -0
  352. package/dist/assets/run-C_0B_41W.js +21 -0
  353. package/dist/assets/run-DSVvshaB.js +21 -0
  354. package/dist/assets/rust-Cfkwpbl8.js +1 -0
  355. package/dist/assets/safeCssColor-di93BXgG.js +1 -0
  356. package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
  357. package/dist/assets/scale-Bcgfo6Hp.js +1 -0
  358. package/dist/assets/screen-DLR7p_yP.js +1 -0
  359. package/dist/assets/search-DnjHupRf.js +1 -0
  360. package/dist/assets/seed-b1xc0dj2.js +1 -0
  361. package/dist/assets/shapes-RqjqC0ay.js +1 -0
  362. package/dist/assets/shard000-DM_rqD7W.js +1 -0
  363. package/dist/assets/shard001-gQEQs7_F.js +1 -0
  364. package/dist/assets/shard002-DbDas-W-.js +1 -0
  365. package/dist/assets/shard003-DxMszG4_.js +1 -0
  366. package/dist/assets/shard004-DZMpLBw1.js +1 -0
  367. package/dist/assets/shard005-DLVkh9IH.js +1 -0
  368. package/dist/assets/shard006-B6efKHov.js +1 -0
  369. package/dist/assets/shard007-AFdZLe38.js +1 -0
  370. package/dist/assets/shard008-LbSBzwRx.js +1 -0
  371. package/dist/assets/shard009-D_6-SUDb.js +1 -0
  372. package/dist/assets/shard010-DbOj-uZW.js +1 -0
  373. package/dist/assets/shard011-BYSz7EEW.js +1 -0
  374. package/dist/assets/shard012-B5Ypj7OV.js +1 -0
  375. package/dist/assets/shard013-BtsliNIe.js +1 -0
  376. package/dist/assets/shard014-15sjmk68.js +1 -0
  377. package/dist/assets/shard015-nnXrqru_.js +1 -0
  378. package/dist/assets/shard016-BayXFE13.js +1 -0
  379. package/dist/assets/shard017-Cy4cGexs.js +1 -0
  380. package/dist/assets/shard018-aO-BYJ8H.js +1 -0
  381. package/dist/assets/shard019-gxaTeA3I.js +1 -0
  382. package/dist/assets/shard020-BibJdMI0.js +1 -0
  383. package/dist/assets/shard021-2FE-tze4.js +1 -0
  384. package/dist/assets/shard022-IXiyG-JK.js +1 -0
  385. package/dist/assets/shard023-314F6NJS.js +1 -0
  386. package/dist/assets/shard024-cN5rpQ_X.js +1 -0
  387. package/dist/assets/shard025-KKTaXOGE.js +1 -0
  388. package/dist/assets/shard026-C2Dkd1t6.js +1 -0
  389. package/dist/assets/shard027-Xy-8x9As.js +1 -0
  390. package/dist/assets/shard028-Bul-klUj.js +1 -0
  391. package/dist/assets/shard029-BbRSUcUZ.js +1 -0
  392. package/dist/assets/shard030-GYllsFVC.js +1 -0
  393. package/dist/assets/shard031-DMigeiyn.js +1 -0
  394. package/dist/assets/shard032-CcvmzK0l.js +1 -0
  395. package/dist/assets/shard033-11AU702M.js +1 -0
  396. package/dist/assets/shard034-Bx3urxjM.js +1 -0
  397. package/dist/assets/shard035-DBdEeyCt.js +1 -0
  398. package/dist/assets/shard036-vYgoRBqS.js +1 -0
  399. package/dist/assets/shard037-DP4MMw91.js +1 -0
  400. package/dist/assets/shard038-ffxsv7d6.js +1 -0
  401. package/dist/assets/shard039-C1JHHNp9.js +1 -0
  402. package/dist/assets/shard040-JbVvCSO_.js +1 -0
  403. package/dist/assets/shard041-5L_eFwGx.js +1 -0
  404. package/dist/assets/shard042-C9nsGL79.js +1 -0
  405. package/dist/assets/shard043-Dx_9HSKI.js +1 -0
  406. package/dist/assets/shard044-B3QQNC4A.js +1 -0
  407. package/dist/assets/shard045-B7z0WHO6.js +1 -0
  408. package/dist/assets/shard046-D1yDablJ.js +1 -0
  409. package/dist/assets/shard047-DJi3AgeT.js +1 -0
  410. package/dist/assets/shard048-D_2ipfUr.js +1 -0
  411. package/dist/assets/shard049-1aGgWZdd.js +1 -0
  412. package/dist/assets/shard050-Bjwa0Og4.js +1 -0
  413. package/dist/assets/shard051-Cx_GAk3v.js +1 -0
  414. package/dist/assets/shard052-LaeOD3V5.js +1 -0
  415. package/dist/assets/shard053-D-da7Foj.js +1 -0
  416. package/dist/assets/shard054-CM8eSRQk.js +1 -0
  417. package/dist/assets/shard055-QRpDl4Vs.js +1 -0
  418. package/dist/assets/shard056-DkY7CQm3.js +1 -0
  419. package/dist/assets/shard057-BVCgf7o0.js +1 -0
  420. package/dist/assets/shard058-93aGtdrX.js +1 -0
  421. package/dist/assets/shard059-rJE9X1_I.js +1 -0
  422. package/dist/assets/shard060-Lu_hfl1r.js +1 -0
  423. package/dist/assets/shard061-C9A8iNiq.js +1 -0
  424. package/dist/assets/shard062-BBIpEYZO.js +1 -0
  425. package/dist/assets/shard063-C_uen3Ub.js +1 -0
  426. package/dist/assets/shard064-DAHUsHST.js +1 -0
  427. package/dist/assets/shard065-C2edvdvh.js +1 -0
  428. package/dist/assets/shard066-DFcuVhZm.js +1 -0
  429. package/dist/assets/shard067-BN8DM8JZ.js +1 -0
  430. package/dist/assets/shard068-i464K77p.js +1 -0
  431. package/dist/assets/shard069-Dm9m2a5U.js +1 -0
  432. package/dist/assets/shard070-BPVvR8GH.js +1 -0
  433. package/dist/assets/shard071-Bal_0d9L.js +1 -0
  434. package/dist/assets/shard072-CBQu62kt.js +1 -0
  435. package/dist/assets/shard073-D5BRae0w.js +1 -0
  436. package/dist/assets/shard074-DtFvcBnZ.js +1 -0
  437. package/dist/assets/share-QHGHNDhQ.js +1 -0
  438. package/dist/assets/shellscript-BiGZg9Om.js +1 -0
  439. package/dist/assets/shellscript-CqHdAlCp.js +1 -0
  440. package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
  441. package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
  442. package/dist/assets/speed-DwPw9KSv.js +1 -0
  443. package/dist/assets/spokenText-D4zPX9JY.js +1 -0
  444. package/dist/assets/sql-0Qcw9ht3.js +1 -0
  445. package/dist/assets/sql-CP0rg-5b.js +1 -0
  446. package/dist/assets/src-DbgF7cRH.js +2 -0
  447. package/dist/assets/stats-BeP5Bws0.js +1 -0
  448. package/dist/assets/status-BY02LIJt.js +1 -0
  449. package/dist/assets/stepDriver-DwjFet6U.js +1 -0
  450. package/dist/assets/store-4JNNn732.js +1 -0
  451. package/dist/assets/store-BFC7DZcg.js +1 -0
  452. package/dist/assets/store-BFrJaSxJ.js +1 -0
  453. package/dist/assets/store-DXmC_fP2.js +0 -0
  454. package/dist/assets/store-DgG0C1Qx.js +1 -0
  455. package/dist/assets/streamParse-DRgMHWye.js +2 -0
  456. package/dist/assets/student.generated-DS_acPaJ.js +1 -0
  457. package/dist/assets/swift-DonLKvLd.js +1 -0
  458. package/dist/assets/tables-Dzd3rTqG.js +1 -0
  459. package/dist/assets/time-BHTmJR1s.js +1 -0
  460. package/dist/assets/toast-BBNs2h3L.js +1 -0
  461. package/dist/assets/toml-CcmNWLt0.js +1 -0
  462. package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
  463. package/dist/assets/tsx-5f3ulCja.js +1 -0
  464. package/dist/assets/tsx-BOvsFOI6.js +1 -0
  465. package/dist/assets/typeof-B5XbjTb1.js +1 -0
  466. package/dist/assets/typescript-Utq2Cl8c.js +1 -0
  467. package/dist/assets/typescript-j_1H8WHN.js +1 -0
  468. package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
  469. package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
  470. package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
  471. package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
  472. package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
  473. package/dist/assets/useSrsCards-CagZefwX.js +1 -0
  474. package/dist/assets/useStudy-Bflreq2a.js +1 -0
  475. package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
  476. package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
  477. package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
  478. package/dist/assets/verbatim-CBMzUDlf.js +1 -0
  479. package/dist/assets/worker-BbLKfGzm.js +2 -0
  480. package/dist/assets/xml-WY0zc4PG.js +1 -0
  481. package/dist/assets/yaml-CxbubiML.js +1 -0
  482. package/dist/assets/yaml-DijMHRDA.js +1 -0
  483. package/dist/demo-assets/CREDITS.md +40 -0
  484. package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
  485. package/dist/demo-assets/images/capelinhos.jpg +0 -0
  486. package/dist/demo-assets/images/cliff-fields.jpg +0 -0
  487. package/dist/demo-assets/images/crater-panorama.jpg +0 -0
  488. package/dist/demo-assets/images/furnas-lake.jpg +0 -0
  489. package/dist/demo-assets/images/green-coast.jpg +0 -0
  490. package/dist/demo-assets/images/overcast-coast.jpg +0 -0
  491. package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
  492. package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
  493. package/dist/demo-assets/images/sete-cidades.jpg +0 -0
  494. package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
  495. package/dist/demo-assets/images/slide-placeholder.svg +9 -0
  496. package/dist/demo-assets/images/village-street.jpg +0 -0
  497. package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
  498. package/dist/demo-assets/video/azores-film.mp4 +0 -0
  499. package/dist/favicon.svg +19 -0
  500. package/dist/fonts/LICENSE.txt +34 -0
  501. package/dist/fonts/archivo-var-latin.woff2 +0 -0
  502. package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
  503. package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
  504. package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
  505. package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
  506. package/dist/fonts/export/families/archivo.css +12 -0
  507. package/dist/fonts/export/families/bodoni-moda.css +23 -0
  508. package/dist/fonts/export/families/eb-garamond.css +22 -0
  509. package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
  510. package/dist/fonts/export/families/instrument-serif.css +22 -0
  511. package/dist/fonts/export/families/jetbrains-mono.css +12 -0
  512. package/dist/fonts/export/families/libre-franklin.css +12 -0
  513. package/dist/fonts/export/families/lora.css +22 -0
  514. package/dist/fonts/export/families/source-serif-4.css +12 -0
  515. package/dist/fonts/export/families/space-grotesk.css +12 -0
  516. package/dist/fonts/export/families/spectral.css +52 -0
  517. package/dist/fonts/fonts.css +141 -0
  518. package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
  519. package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
  520. package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
  521. package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
  522. package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  523. package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
  524. package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
  525. package/dist/fonts/lora-var-latin.woff2 +0 -0
  526. package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
  527. package/dist/fonts/newsreader-var-latin.woff2 +0 -0
  528. package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
  529. package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
  530. package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
  531. package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
  532. package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
  533. package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
  534. package/dist/fonts/spectral-400-latin.woff2 +0 -0
  535. package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
  536. package/dist/fonts/spectral-500-latin.woff2 +0 -0
  537. package/dist/fonts/spectral-600-latin.woff2 +0 -0
  538. package/dist/index.html +117 -0
  539. package/dist/legal/DISCLAIMER.md +16 -0
  540. package/dist/legal/LICENSE.txt +75 -0
  541. package/dist/legal/PRIVACY.md +127 -0
  542. package/dist/legal/SECURITY.md +72 -0
  543. package/dist/legal/SUPPORT.md +13 -0
  544. package/dist/legal/TERMS.md +122 -0
  545. package/dist/legal/THIRD-PARTY.txt +639 -0
  546. package/dist/legal/TRADEMARKS.md +15 -0
  547. package/dist/ort-wasm-simd-threaded.mjs +59 -0
  548. package/dist/sw.js +30 -0
  549. package/dist/vad.worklet.bundle.min.js +1 -0
  550. package/docker-compose.yml +33 -0
  551. package/gateway/README.md +99 -0
  552. package/gateway/actions-gateway.mjs +537 -0
  553. package/gateway/connectors.d.mts +27 -0
  554. package/gateway/connectors.mjs +463 -0
  555. package/gateway/guard.mjs +110 -0
  556. package/gateway/tokenStore.mjs +134 -0
  557. package/package.json +143 -0
@@ -0,0 +1 @@
1
+ var e={equationblock:{title:`Rate law you keep forgetting`,icon:`sparkle`,math:{t:`row`,items:[{t:`ident`,v:`k`},{t:`op`,v:`=`},{t:`ident`,v:`A`},{t:`sup`,base:{t:`ident`,v:`e`},sup:{t:`row`,items:[{t:`op`,v:`−`},{t:`frac`,num:{t:`ident`,v:`Eₐ`},den:{t:`row`,items:[{t:`ident`,v:`R`},{t:`ident`,v:`T`}]}}]}}]},number:`(1)`,caption:`The Arrhenius equation, higher temperature, exponentially faster rate.`},numberline:{title:`Where 62% sits`,min:0,max:100,step:20,unit:`%`,points:[{value:62,label:`You`,color:`var(--warning)`}],intervals:[{from:70,to:100,label:`Target`,color:`var(--insight)`}]},workedexample:{title:`Isolating a variable`,problem:`Solve for x: <b>2x + 3 = 11</b>`,steps:[{label:`Subtract 3 from both sides`,math:{t:`row`,items:[{t:`num`,v:`2`},{t:`ident`,v:`x`},{t:`op`,v:`=`},{t:`num`,v:`8`}]},why:`Undo the +3 to isolate the x-term.`},{label:`Divide both sides by 2`,math:{t:`row`,items:[{t:`ident`,v:`x`},{t:`op`,v:`=`},{t:`num`,v:`4`}]},why:`Undo the ×2 to leave x alone.`}],result:{t:`row`,items:[{t:`ident`,v:`x`},{t:`op`,v:`=`},{t:`num`,v:`4`}]}},quiz:{title:`Quick check`,question:`Which reaction order has a half-life independent of concentration?`,options:[{text:`Zero order`},{text:`First order`,correct:!0,feedback:`Right, first-order half-life is ln2/k, with no [A].`},{text:`Second order`}],explanation:`Only first-order kinetics gives a constant half-life regardless of starting amount.`},flashcard:{title:`Interval ear-training deck`,icon:`spark`,iconColor:`var(--warning)`,cards:[{front:`Perfect 5th (C → G)`,back:`Sounds like: "Twinkle Twinkle" opening. 7 semitones. The power chord of classical harmony.`},{front:`Major 3rd (C → E)`,back:`Sounds like: "When the Saints Go Marching In." 4 semitones. Defines a major chord.`},{front:`Minor 3rd (A → C)`,back:`Sounds like: "Smoke on the Water" riff. 3 semitones. Defines a minor chord, darker colour.`},{front:`Octave (C4 → C5)`,back:`Sounds like: "Somewhere Over the Rainbow" opening leap. 12 semitones. Same note, doubled frequency.`},{front:`Tritone (C → F#)`,back:`The Devil's interval, 6 semitones, right in the middle of the octave. Unstable; resolves inward to a 3rd or outward to a 6th.`}],footer:`Flip each card after singing the interval. Aim for instant recognition, the goal is hearing, not counting semitones.`},molecularstructure:{title:`Ethanol`,formula:`C₂H₆O`,atoms:[{el:`C`,x:25,y:60,implicit:!0},{el:`C`,x:50,y:45,implicit:!0},{el:`O`,x:75,y:60}],bonds:[{from:0,to:1},{from:1,to:2}]},periodictable:{title:`The elements in your reaction`,categories:[{key:`alkali`,label:`Alkali metal`,color:`var(--warning)`},{key:`halogen`,label:`Halogen`,color:`var(--insight)`},{key:`noble`,label:`Noble gas`,color:`var(--presence-soft)`}],elements:[{z:1,symbol:`H`,name:`Hydrogen`,col:1,row:1},{z:2,symbol:`He`,name:`Helium`,col:18,row:1,cat:`noble`},{z:3,symbol:`Li`,name:`Lithium`,col:1,row:2,cat:`alkali`,on:!0},{z:6,symbol:`C`,name:`Carbon`,col:14,row:2,on:!0},{z:8,symbol:`O`,name:`Oxygen`,col:16,row:2,on:!0},{z:9,symbol:`F`,name:`Fluorine`,col:17,row:2,cat:`halogen`},{z:11,symbol:`Na`,name:`Sodium`,col:1,row:3,cat:`alkali`},{z:17,symbol:`Cl`,name:`Chlorine`,col:17,row:3,cat:`halogen`}],footer:`The highlighted elements are the ones in this week’s mechanisms.`},bodymap:{title:`Primary muscles worked, marathon training`,icon:`sparkle`,iconColor:`var(--presence)`,regions:[{id:`leftLeg`,label:`Quads`,color:`var(--presence)`,note:`primary drive`},{id:`rightLeg`,label:`Quads`,color:`var(--presence)`,note:`primary drive`},{id:`leftFoot`,label:`Calf`,color:`var(--insight)`,note:`push-off`},{id:`rightFoot`,label:`Calf`,color:`var(--insight)`,note:`push-off`},{id:`chest`,label:`Core`,color:`var(--warning)`,note:`stabiliser`}],footer:`Quads do the heavy lifting; calves absorb impact on every stride.`},geometrycanvas:{title:`A 30-60-90 triangle`,icon:`sparkle`,iconColor:`var(--presence)`,xRange:[-.5,5],yRange:[-.5,4],xLabel:`x`,yLabel:`y`,points:[{x:0,y:0,label:`A`,color:`var(--presence)`},{x:4,y:0,label:`B`,color:`var(--presence)`},{x:0,y:2.31,label:`C`,color:`var(--presence)`}],polygons:[{vertices:[{x:0,y:0},{x:4,y:0},{x:0,y:2.31}],color:`var(--presence)`}],angles:[{vertex:{x:4,y:0},from:{x:0,y:0},to:{x:0,y:2.31},label:`30°`,color:`var(--insight)`},{vertex:{x:0,y:0},from:{x:4,y:0},to:{x:0,y:2.31},label:`90°`,color:`var(--warning)`,rightAngle:!0}],annotations:[{x:2,y:-.3,text:`hyp = 4`,color:`var(--text-muted)`},{x:-.4,y:1.15,text:`2√3`,color:`var(--text-muted)`,anchor:`end`}],footer:`The 30-60-90 triangle: sides scale as 1 : √3 : 2. Memorise the short side and derive the rest.`},freebodydiagram:{title:`Forces on a sliding block`,icon:`shield`,iconColor:`var(--insight)`,object:`Block`,forces:[{label:`Weight (mg)`,angle:270,magnitude:20,color:`var(--warning)`},{label:`Normal (N)`,angle:90,magnitude:20,color:`var(--insight)`},{label:`Push (F)`,angle:0,magnitude:12,color:`var(--presence)`},{label:`Friction (f)`,angle:180,magnitude:5,color:`var(--danger)`}],footer:`Net horizontal force = 12 − 5 = 7 N → acceleration = 0.35 m/s² rightward.`},musicstaff:{title:`C major scale (treble clef)`,icon:`sparkle`,iconColor:`var(--presence)`,clef:`treble`,timeSignature:`4/4`,tempo:120,notes:[{pitch:`C4`,duration:`quarter`},{pitch:`D4`,duration:`quarter`},{pitch:`E4`,duration:`quarter`},{pitch:`F4`,duration:`quarter`},{pitch:`G4`,duration:`quarter`},{pitch:`A4`,duration:`quarter`},{pitch:`B4`,duration:`quarter`},{pitch:`C5`,duration:`half`,dotted:!0}],footer:`C major uses only white keys, no sharps or flats. Every other major scale is this same pattern of whole and half steps (W W H W W W H) transposed to a new root.`},vectorspace:{title:`Eigenvectors of a 2×2 matrix`,icon:`sparkle`,iconColor:`var(--presence)`,vectors:[{x:2,y:1,label:`v₁`,color:`var(--presence)`},{x:-1,y:1,label:`v₂`,color:`var(--insight)`}],transformed:[{x:6,y:3,label:`Av₁`,color:`var(--presence)`},{x:-1,y:1,label:`Av₂`,color:`var(--insight)`}],xRange:[-3,8],yRange:[-1,5],footer:`Solid = original eigenvector, dashed = transformed. v₁ stretches (λ=3); v₂ is unchanged (λ=1).`},reactionmechanism:{title:`SN2 Mechanism: methyl bromide + OH⁻`,reactionType:`SN2`,steps:[{label:`CH<sub>3</sub>Br`,tag:`reactant`},{label:`[HO···CH<sub>3</sub>···Br]<sup>‡</sup>`,color:`var(--warning)`,tag:`transition state`},{label:`CH<sub>3</sub>OH`,tag:`product`}],conditions:[`OH⁻, acetone`,``],footer:`One step, backside attack, inversion of configuration (Walden inversion). Second-order: rate = k[CH₃Br][OH⁻].`},chorddiagram:{title:`G Major chord`,chordName:`G`,instrument:`Guitar`,frets:[3,2,0,0,0,3],fingers:[2,1,null,null,null,3],notes:[`G`,`B`,`G`,`D`,`G`,`B`]},developmentmilestone:{title:`Leo's 18-month milestones`,ageLabel:`18 months`,domains:[{domain:`motor`,milestones:[{label:`Walks independently without support`,achieved:!0},{label:`Climbs onto low furniture`,achieved:!0},{label:`Stacks 2–3 blocks`,achieved:!0},{label:`Kicks a ball forward`,achieved:!1}]},{domain:`language`,milestones:[{label:`Says 10+ single words clearly`,achieved:!0},{label:`Points to show interest (not just to request)`,achieved:!0},{label:`Follows simple 2-step directions`,achieved:!1},{label:`Waves bye-bye spontaneously`,achieved:!0}]},{domain:`social`,milestones:[{label:`Shows affection to familiar people`,achieved:!0},{label:`Plays simple pretend (feeding a doll)`,achieved:!1},{label:`Shows interest in other children`,achieved:!0}]}]},teachdiagram:{title:`Pythagorean theorem, built step by step`,ratio:1.6,baseShapes:[{kind:`line`,x1:5,y1:62,x2:95,y2:62,color:`var(--text-muted)`}],steps:[{caption:`Draw a right triangle with legs a and b.`,add:[{kind:`polygon`,points:`18,12 18,58 64,58`,fill:`var(--presence-soft)`,color:`var(--presence)`},{kind:`path`,d:`M18,52 L24,52 L24,58`,color:`var(--presence)`}],emphasize:[0]},{caption:`Label the sides: a = 3 (vertical), b = 4 (horizontal).`,add:[],labels:[{x:18,y:35,text:`a = 3`,side:`left`},{x:41,y:58,text:`b = 4`,side:`bottom`}]},{caption:`The hypotenuse c runs from the top corner to the right corner.`,add:[{kind:`line`,x1:18,y1:12,x2:64,y2:58,color:`var(--insight)`}],labels:[{x:42,y:33,text:`c = ?`,side:`right`,color:`var(--insight)`}],emphasize:[0]},{caption:`a² + b² = c² → 3² + 4² = 9 + 16 = 25 → c = √25 = 5.`,add:[],labels:[{x:42,y:33,text:`c = 5 ✓`,side:`right`,color:`var(--insight)`}]}]},gridmatrix:{title:`Ten-Frame: Showing 7`,variant:`tenframe`,cells:[[1,1,1,1,1],[1,1,0,0,0]],note:`7 filled dots, 3 empty — a quick way to see how far a number is from 10.`},fractionbar:{title:`Comparing Fractions`,fractions:[{numerator:1,denominator:2,label:`½`},{numerator:3,denominator:4,label:`¾`},{numerator:2,denominator:3,label:`⅔`}],showPie:!0,note:`¾ is the largest of the three; ½ is the smallest.`},wave:{title:`Wavelength and amplitude of a sound wave`,icon:`spark`,iconColor:`var(--presence)`,xUnit:`distance (m)`,showWavelength:!0,showAmplitude:!0,waves:[{amplitude:3,wavelength:.78,label:`A4 (440 Hz)`,color:`var(--presence)`},{amplitude:1.5,wavelength:.39,label:`2nd harmonic`,color:`var(--insight)`}],footer:`At 343 m/s in air, a 440 Hz tone has wavelength λ = v/f = 343/440 ≈ 0.78 m. The 2nd harmonic (880 Hz) has half the wavelength and, here, half the amplitude.`},energydiagram:{title:`Energy profile of an exothermic reaction`,icon:`spark`,iconColor:`var(--danger)`,yUnit:`kJ/mol`,reactants:0,ts:75,products:-45,reactantLabel:`Reactants`,tsLabel:`Transition state`,productLabel:`Products`,footer:`Ea = 75 kJ/mol is the barrier the reactants must overcome; the products sit 45 kJ/mol lower, so ΔH = −45 kJ/mol — energy is released (exothermic). A catalyst would lower the peak (smaller Ea) without changing ΔH.`},phylotree:{title:`How the great apes are related`,icon:`spark`,iconColor:`var(--presence)`,root:{children:[{name:`Orangutan`},{children:[{name:`Gorilla`},{children:[{name:`Human`},{children:[{name:`Chimpanzee`},{name:`Bonobo`}]}]}]}]},clades:[{label:`Hominini`,tips:[`Human`,`Chimpanzee`,`Bonobo`],color:`var(--insight)`},{label:`Pan`,tips:[`Chimpanzee`,`Bonobo`],color:`var(--warning)`}],traits:[{on:`Human`,label:`bipedal`,color:`var(--warning)`}],footer:`Each branch point is a common ancestor. Chimpanzees and bonobos are each other&rsquo;s closest relatives, and together they are humans&rsquo; closest living kin.`},parsetree:{title:`Grammar: a constituency parse tree`,icon:`layers`,iconColor:`var(--presence)`,sentence:`The quick fox jumps over the lazy dog.`,colorPos:!0,root:{label:`S`,children:[{label:`NP`,children:[{label:`Det`,word:`The`},{label:`Adj`,word:`quick`},{label:`N`,word:`fox`}]},{label:`VP`,children:[{label:`V`,word:`jumps`},{label:`PP`,children:[{label:`P`,word:`over`},{label:`NP`,children:[{label:`Det`,word:`the`},{label:`Adj`,word:`lazy`},{label:`N`,word:`dog`}]}]}]}]},footer:`The sentence (<b>S</b>) splits into a noun phrase (<b>NP</b>) and a verb phrase (<b>VP</b>); the <b>VP</b> nests a prepositional phrase (<b>PP</b>) that carries its own <b>NP</b>.`},celldiagram:{title:`Anatomy of an animal cell`,icon:`sparkle`,iconColor:`var(--presence)`,cellType:`animal`,parts:[{key:`membrane`,note:`Selectively permeable boundary controlling what enters and leaves.`},{key:`cytoplasm`,note:`Gel-like fluid where the organelles sit and most reactions occur.`},{key:`nucleus`,highlight:!0,color:`var(--presence)`,note:`Holds the DNA and directs the cell; the nucleolus inside builds ribosomes.`},{key:`mitochondria`,highlight:!0,color:`var(--warning)`,note:`The powerhouse: makes ATP via aerobic respiration.`},{key:`er`,note:`Endoplasmic reticulum — folds and transports proteins and lipids.`},{key:`golgi`,note:`Golgi apparatus — packages and ships processed proteins.`},{key:`ribosomes`,note:`Sites of protein synthesis (translate mRNA into polypeptides).`}],footer:`An animal cell has no cell wall, chloroplasts, or large central vacuole — those are plant-cell features.`},raydiagram:{title:`Convex lens: object beyond 2F`,icon:`eye`,iconColor:`var(--presence)`,element:`convex-lens`,objectDistance:30,focalLength:10,objectHeight:1,footer:`With d<sub>o</sub> = 30 cm and f = 10 cm, the lens equation gives d<sub>i</sub> = 15 cm: a real, inverted image at half size (m = −0.5). This is how a camera forms its picture.`},vectorfield:{title:`Slope field for y' = x − y`,icon:`sparkle`,iconColor:`var(--presence)`,xLabel:`x`,yLabel:`y`,xRange:[-2,2],yRange:[-2,2],samples:[{x:-2,y:-2,slope:0},{x:-1,y:-2,slope:1},{x:0,y:-2,slope:2},{x:1,y:-2,slope:3},{x:2,y:-2,slope:4},{x:-2,y:-1,slope:-1},{x:-1,y:-1,slope:0},{x:0,y:-1,slope:1},{x:1,y:-1,slope:2},{x:2,y:-1,slope:3},{x:-2,y:0,slope:-2},{x:-1,y:0,slope:-1},{x:0,y:0,slope:0},{x:1,y:0,slope:1},{x:2,y:0,slope:2},{x:-2,y:1,slope:-3},{x:-1,y:1,slope:-2},{x:0,y:1,slope:-1},{x:1,y:1,slope:0},{x:2,y:1,slope:1},{x:-2,y:2,slope:-4},{x:-1,y:2,slope:-3},{x:0,y:2,slope:-2},{x:1,y:2,slope:-1},{x:2,y:2,slope:0}],curves:[{label:`y = x − 1 + e⁻ˣ`,color:`var(--presence)`,points:[{x:-2,y:4.389},{x:-1.5,y:1.982},{x:-1,y:.718},{x:-.5,y:.149},{x:0,y:0},{x:.5,y:.107},{x:1,y:.368},{x:1.5,y:.723},{x:2,y:1.135}]}],footer:`Each dash is the tangent slope x − y at that point; the solution curve flows along them, settling toward the line y = x − 1.`},pedigree:{title:`Tracing an autosomal recessive trait`,icon:`share`,iconColor:`var(--presence)`,people:[{id:`g1`,sex:`male`,carrier:!0,genotype:`Aa`,label:`I-1`},{id:`g2`,sex:`female`,carrier:!0,genotype:`Aa`,label:`I-2`,partner:`g1`},{id:`c1`,sex:`female`,label:`II-1`,parents:[`g2`,`g1`],genotype:`AA`},{id:`c2`,sex:`male`,affected:!0,proband:!0,label:`II-2`,parents:[`g2`,`g1`],genotype:`aa`},{id:`c3`,sex:`female`,carrier:!0,label:`II-3`,parents:[`g2`,`g1`],genotype:`Aa`,partner:`m1`},{id:`m1`,sex:`male`,label:`II-4`},{id:`d1`,sex:`unknown`,label:`III-1`,parents:[`c3`,`m1`]},{id:`d2`,sex:`female`,carrier:!0,label:`III-2`,parents:[`c3`,`m1`],genotype:`Aa`}],footer:`Both grandparents (I-1, I-2) are unaffected carriers (Aa), so each child had a 1-in-4 chance of being affected (aa). The proband II-2 is affected; the trait skips a generation &mdash; the hallmark of <strong>autosomal recessive</strong> inheritance.`},bohrmodel:{title:`Bohr model of a sodium atom`,icon:`spark`,iconColor:`var(--presence)`,symbol:`Na`,name:`Sodium`,protons:11,neutrons:12,shells:[2,8,1],footer:`Sodium has 11 protons, so a neutral atom has 11 electrons arranged 2&middot;8&middot;1 across three shells. That single electron in the outer (n3) shell is easily lost &mdash; which is why sodium readily forms the Na&#8314; ion.`},equationbalancer:{title:`Combustion of methane`,icon:`sparkle`,iconColor:`var(--presence)`,balanced:!0,reactants:[{formula:`CH4`,coeff:1},{formula:`O2`,coeff:2}],products:[{formula:`CO2`,coeff:1},{formula:`H2O`,coeff:2}],elementTally:[{element:`C`,left:1,right:1},{element:`H`,left:4,right:4},{element:`O`,left:4,right:4}],caption:`CH₄ + 2 O₂ → CO₂ + 2 H₂O. Every element has the same number of atoms on each side, so mass is conserved and the equation is balanced.`,footer:`The coefficient of 2 on O₂ supplies the 4 oxygen atoms the products need (2 in CO₂ + 2 in the two H₂O molecules), while 2 H₂O accounts for all 4 hydrogens from methane.`},yieldcalc:{title:`Percent yield: ammonia synthesis`,icon:`sparkle`,iconColor:`var(--presence)`,reaction:`N2 + 3 H2 -> 2 NH3`,limitingReagent:`H2`,molesAvailable:[{reagent:`N2`,moles:2},{reagent:`H2`,moles:5}],theoreticalYield:56.8,actualYield:42.5,unit:`g`,footer:`Each mole of N₂ needs 3 mol H₂ — 2.0 mol N₂ would need 6.0 mol H₂, but only 5.0 mol is on hand, so H₂ caps the reaction at 3.33 mol NH₃ (56.8 g theoretical). Recovering 42.5 g in the lab is a 74.8% yield.`},vseprmolecule:{title:`Shape of a water molecule`,icon:`sparkle`,iconColor:`var(--insight)`,central:`O`,bonds:[{atom:`H`,order:1},{atom:`H`,order:1}],lonePairs:2,shape:`bent`,bondAngle:`104.5°`,caption:`Oxygen has two bonding pairs and two lone pairs. The four electron domains repel into a tetrahedral arrangement, but only the two O–H bonds are visible — giving water its bent shape.`,footer:`The two lone pairs sit closer to the oxygen and push the O–H bonds together, compressing the angle from the ideal tetrahedral 109.5° down to 104.5°. This bent, polar geometry is why water is such a good solvent.`},unitcircle:{title:`Unit circle at θ = 135°`,icon:`chart`,iconColor:`var(--presence)`,angleDeg:135,showSpecial:!0,caption:`At 135° (3π/4 radians) the terminal point is (−√2/2, √2/2): cosine is negative and sine is positive, placing it in the second quadrant.`,footer:`135° has a reference angle of 45°, so its sine and cosine share the magnitude √2/2 ≈ 0.707 — only the cosine flips sign because the radius now points up and to the left.`},solidfigure:{title:`Rectangular prism`,icon:`layers`,iconColor:`var(--presence)`,solid:`rectprism`,dims:{w:1.6,h:1,d:.9},labels:{v:8,e:12,f:6},surfaceArea:`94 cm²`,volume:`60 cm³`,caption:`A 5 × 4 × 3 cm box. Surface area sums the six rectangular faces (2(lw + lh + wh) = 94 cm²) and volume is l × w × h = 60 cm³.`,footer:`Every convex solid satisfies Euler’s formula V − E + F = 2: here 8 − 12 + 6 = 2, a quick check that the vertex, edge and face counts are consistent.`},crosssection:{title:`Inside the Earth`,icon:`globe`,iconColor:`var(--warning)`,orientation:`concentric`,depthUnit:`km`,layers:[{name:`Crust`,thickness:35,color:`var(--warning)`,note:`0–35 km · solid rock`},{name:`Mantle`,thickness:2865,color:`var(--danger)`,note:`35–2900 km · hot silicate`},{name:`Outer core`,thickness:2255,color:`var(--presence)`,note:`2900–5155 km · liquid iron`},{name:`Inner core`,thickness:1216,color:`var(--insight)`,note:`5155–6371 km · solid iron`}],caption:`The Earth is layered by density: a thin rocky crust over the deep mantle, then a liquid iron-nickel outer core and a solid inner core at the centre.`,footer:`Convection in the liquid outer core generates Earth’s magnetic field, while the immense pressure at the centre keeps the inner core solid despite temperatures near 5,200&nbsp;°C.`},pianokeys:{title:`C major 7 chord`,icon:`play`,iconColor:`var(--presence)`,chordName:`Cmaj7`,startNote:`C4`,octaves:2,showLabels:!0,highlight:[{note:`C4`,role:`root`},{note:`E4`,role:`3rd`},{note:`G4`,role:`5th`},{note:`B4`,role:`7th`}],caption:`A major-7 stacks a major triad with a major 7th: C–E–G–B.`,footer:`The bright, jazzy colour comes from that major-7th interval (B over C) — a half-step below the octave.`},fretboardmap:{title:`A minor pentatonic`,icon:`sparkle`,iconColor:`var(--presence)`,scaleName:`A minor pentatonic`,strings:6,frets:12,tuning:[`E`,`A`,`D`,`G`,`B`,`E`],dots:[{string:6,fret:5,label:`R`,role:`root`},{string:6,fret:8,label:`b3`,role:`third`},{string:5,fret:5,label:`4`,role:`other`},{string:5,fret:7,label:`5`,role:`fifth`},{string:4,fret:5,label:`b7`,role:`other`},{string:4,fret:7,label:`R`,role:`root`},{string:3,fret:5,label:`b3`,role:`third`},{string:3,fret:7,label:`4`,role:`other`},{string:2,fret:5,label:`5`,role:`fifth`},{string:2,fret:8,label:`b7`,role:`other`},{string:1,fret:5,label:`R`,role:`root`},{string:1,fret:8,label:`b3`,role:`third`}],caption:`The box-1 shape at the 5th fret — roots on the low E, D, and high E strings anchor the position.`},circleoffifths:{title:`Circle of fifths`,icon:`sparkle`,iconColor:`var(--insight)`,highlightKey:`G`,showMinors:!0,related:[`C`,`D`,`Em`],caption:`G major sits one sharp clockwise of C: its IV is C, its V is D, and Em is its relative minor.`},odontogram:{title:`Adult dental chart`,icon:`doc`,iconColor:`var(--presence)`,system:`universal`,teeth:[{n:3,status:`filling`,surface:`O`},{n:14,status:`filling`,surface:`MOD`},{n:19,status:`crown`,note:`porcelain-fused-to-metal`},{n:30,status:`missing`},{n:31,status:`implant`,note:`titanium fixture, placed 2024`}],caption:`Universal numbering: teeth 1–16 across the upper arch, 17–32 across the lower.`},clockface:{title:`Reading the clock`,icon:`clock`,iconColor:`var(--presence)`,time:`3:40`,digital:!0,caption:`The hour hand sits past 3, two-thirds of the way toward 4, while the minute hand points to the 8 — forty minutes past the hour.`},moneytray:{title:`Counting coins`,icon:`cart`,iconColor:`var(--warning)`,currency:`$`,mode:`count`,tokens:[{denom:.25,label:`Quarter`,count:3},{denom:.1,label:`Dime`,count:2},{denom:.01,label:`Penny`,count:4}],caption:`Three quarters make 75¢, two dimes add 20¢, and four pennies add 4¢ — ninety-nine cents in all.`},placevaluechart:{title:`Place value of 347`,icon:`layers`,iconColor:`var(--insight)`,value:347,showBlocks:!0,expanded:!0,caption:`Each digit holds a different value by its place: 3 hundreds, 4 tens, and 7 ones combine to make 347.`},shapecard:{title:`Shapes and their attributes`,icon:`sparkle`,iconColor:`var(--presence)`,shapes:[{name:`Hexagon`,kind:`hexagon`,sides:6,vertices:6,example:`Honeycomb cell`},{name:`Cube`,kind:`cube`,faces:6,edges:12,vertices:8,example:`Dice`}],caption:`A hexagon is a flat six-sided polygon; a cube is the solid you get when six square faces meet at eight corners.`},letterform:{title:`Forming lowercase 'a'`,icon:`edit`,iconColor:`var(--insight)`,letter:`a`,case:`lower`,showGuides:!0,strokes:[{order:1,hint:`Start below the midline and curve left, down, and around to close the bowl.`},{order:2,hint:`Draw a straight line down the right side, sitting on the baseline.`}],caption:`The lowercase a is built from two strokes: a round bowl, then a straight tail on the right.`},toolscale:{title:`Reading a ruler`,icon:`chart`,iconColor:`var(--presence)`,instrument:`ruler`,value:2.375,max:3,unit:`in`,fractional:!0,caption:`The arrow lands three of the eight marks past the 2-inch line, which reads 2 and three-eighths inches.`},craftchart:{title:`Cross-stitch heart motif`,icon:`edit`,iconColor:`var(--insight)`,craft:`crossstitch`,rows:12,cols:12,cells:[{r:1,c:2,color:`var(--danger)`,symbol:`×`},{r:1,c:3,color:`var(--danger)`,symbol:`×`},{r:1,c:8,color:`var(--danger)`,symbol:`×`},{r:1,c:9,color:`var(--danger)`,symbol:`×`},{r:2,c:1,color:`var(--danger)`,symbol:`×`},{r:2,c:2,color:`var(--danger)`,symbol:`×`},{r:2,c:3,color:`var(--danger)`,symbol:`×`},{r:2,c:4,color:`var(--danger)`,symbol:`×`},{r:2,c:7,color:`var(--danger)`,symbol:`×`},{r:2,c:8,color:`var(--danger)`,symbol:`×`},{r:2,c:9,color:`var(--danger)`,symbol:`×`},{r:2,c:10,color:`var(--danger)`,symbol:`×`},{r:3,c:1,color:`var(--danger)`,symbol:`×`},{r:3,c:2,color:`var(--warning-soft)`,symbol:`o`},{r:3,c:3,color:`var(--warning-soft)`,symbol:`o`},{r:3,c:4,color:`var(--danger)`,symbol:`×`},{r:3,c:5,color:`var(--danger)`,symbol:`×`},{r:3,c:6,color:`var(--danger)`,symbol:`×`},{r:3,c:7,color:`var(--danger)`,symbol:`×`},{r:3,c:8,color:`var(--danger)`,symbol:`×`},{r:3,c:9,color:`var(--danger)`,symbol:`×`},{r:3,c:10,color:`var(--danger)`,symbol:`×`},{r:4,c:1,color:`var(--danger)`,symbol:`×`},{r:4,c:2,color:`var(--warning-soft)`,symbol:`o`},{r:4,c:3,color:`var(--danger)`,symbol:`×`},{r:4,c:4,color:`var(--danger)`,symbol:`×`},{r:4,c:5,color:`var(--danger)`,symbol:`×`},{r:4,c:6,color:`var(--danger)`,symbol:`×`},{r:4,c:7,color:`var(--danger)`,symbol:`×`},{r:4,c:8,color:`var(--danger)`,symbol:`×`},{r:4,c:9,color:`var(--danger)`,symbol:`×`},{r:4,c:10,color:`var(--danger)`,symbol:`×`},{r:5,c:1,color:`var(--danger)`,symbol:`×`},{r:5,c:2,color:`var(--danger)`,symbol:`×`},{r:5,c:3,color:`var(--danger)`,symbol:`×`},{r:5,c:4,color:`var(--danger)`,symbol:`×`},{r:5,c:5,color:`var(--danger)`,symbol:`×`},{r:5,c:6,color:`var(--danger)`,symbol:`×`},{r:5,c:7,color:`var(--danger)`,symbol:`×`},{r:5,c:8,color:`var(--danger)`,symbol:`×`},{r:5,c:9,color:`var(--danger)`,symbol:`×`},{r:5,c:10,color:`var(--danger)`,symbol:`×`},{r:6,c:2,color:`var(--danger)`,symbol:`×`},{r:6,c:3,color:`var(--danger)`,symbol:`×`},{r:6,c:4,color:`var(--danger)`,symbol:`×`},{r:6,c:5,color:`var(--danger)`,symbol:`×`},{r:6,c:6,color:`var(--danger)`,symbol:`×`},{r:6,c:7,color:`var(--danger)`,symbol:`×`},{r:6,c:8,color:`var(--danger)`,symbol:`×`},{r:6,c:9,color:`var(--danger)`,symbol:`×`},{r:7,c:3,color:`var(--danger)`,symbol:`×`},{r:7,c:4,color:`var(--danger)`,symbol:`×`},{r:7,c:5,color:`var(--danger)`,symbol:`×`},{r:7,c:6,color:`var(--danger)`,symbol:`×`},{r:7,c:7,color:`var(--danger)`,symbol:`×`},{r:7,c:8,color:`var(--danger)`,symbol:`×`},{r:8,c:4,color:`var(--danger)`,symbol:`×`},{r:8,c:5,color:`var(--danger)`,symbol:`×`},{r:8,c:6,color:`var(--danger)`,symbol:`×`},{r:8,c:7,color:`var(--danger)`,symbol:`×`},{r:9,c:5,color:`var(--danger)`,symbol:`×`},{r:9,c:6,color:`var(--danger)`,symbol:`×`}],legend:[{symbol:`×`,color:`var(--danger)`,meaning:`DMC 321 — red (full cross-stitch)`},{symbol:`o`,color:`var(--warning-soft)`,meaning:`DMC 819 — pale pink (highlight glint)`},{meaning:`Blank — leave the fabric unworked`}],caption:`Work each ×: bring the needle up at the bottom-left of the square and down at the top-right, then cross back the other way. Count stitches along the top, rows down the right.`},areamodel:{title:`23 × 14 area model`,icon:`layers`,iconColor:`var(--warning)`,factorA:[20,3],factorB:[10,4],showProducts:!0,showSum:!0,caption:`Each cell shows the partial product; the sum equals 322.`},gridtransform:{title:`Horizontal shear T = [[1,1],[0,1]]`,icon:`layers`,iconColor:`var(--presence)`,matrix:[[1,1],[0,1]],showEigens:!0,animated:!0},polarplot:{title:`Rose curve r = cos(2θ)`,icon:`chart`,iconColor:`var(--presence)`,fn:`cos(2*t)`,domain:[0,6.2832]},twocolumnproof:{title:`Isosceles triangle · base angles theorem`,icon:`layers`,iconColor:`var(--presence)`,given:`Triangle ABC with AB ≅ AC`,prove:`∠B ≅ ∠C`,steps:[{statement:`AB ≅ AC`,reason:`Given`},{statement:`Draw AD bisecting ∠BAC`,reason:`Angle Bisector Postulate`},{statement:`∠BAD ≅ ∠CAD`,reason:`Definition of angle bisector`},{statement:`AD ≅ AD`,reason:`Reflexive Property`},{statement:`△ABD ≅ △ACD`,reason:`SAS Congruence`},{statement:`∠B ≅ ∠C`,reason:`CPCTC`}]},pyramidtiers:{title:`Bloom's taxonomy`,icon:`layers`,iconColor:`var(--insight)`,tiers:[{label:`Remember`,note:`Recall facts and basic concepts`},{label:`Understand`,note:`Explain ideas in your own words`},{label:`Apply`,note:`Use the concept in a new situation`},{label:`Analyse`,note:`Draw connections between ideas`},{label:`Evaluate`,note:`Justify a decision or course of action`},{label:`Create`,note:`Produce something new using learned skills`}],caption:`Higher tiers require deeper cognitive engagement. Most exam questions test Apply and above.`},linespectrum:{title:`Hydrogen emission spectrum (Balmer series)`,icon:`eye`,iconColor:`var(--warning)`,lines:[{wavelength:656,intensity:1,label:`Hα`},{wavelength:486,intensity:.36,label:`Hβ`},{wavelength:434,intensity:.16,label:`Hγ`},{wavelength:410,intensity:.08,label:`Hδ`}],mode:`emission`,elementLabel:`Hydrogen (Balmer series, n→2)`,caption:`Each line corresponds to an electron falling to n=2. The 656 nm red Hα line is brightest.`},dnahelix:{title:`DNA — Watson-Crick base pairing`,icon:`sparkle`,iconColor:`var(--presence)`,bases:[{pair:`AT`},{pair:`GC`},{pair:`CG`},{pair:`TA`},{pair:`GC`,highlight:!0},{pair:`AT`},{pair:`CG`},{pair:`TA`},{pair:`GC`},{pair:`AT`}],mode:`helix`,showLabels:!0,caption:`A-T (2 H-bonds) and G-C (3 H-bonds) pair across the two antiparallel strands.`},taylorseries:{title:`Taylor series for sin x`,icon:`chart`,iconColor:`var(--insight)`,fn:`sin`,center:0,showTerms:4},phaseportrait:{title:`Simple harmonic oscillator phase portrait`,icon:`chart`,iconColor:`var(--insight)`,fx:`y`,gy:`-x`,xDomain:[-3,3],yDomain:[-3,3],showNullclines:!0,trajectories:[{x0:2,y0:0},{x0:1,y0:0}],xlabel:`x`,ylabel:`ẋ`},sightwordlist:{title:`Sight words to review`,icon:`captions`,iconColor:`var(--presence)`,listName:`Dolch Pre-Primer`,words:[{word:`the`,mastery:`mastered`},{word:`and`,mastery:`mastered`},{word:`to`,mastery:`mastered`},{word:`said`,mastery:`practicing`},{word:`was`,mastery:`practicing`},{word:`they`,mastery:`practicing`},{word:`come`,mastery:`new`},{word:`does`,mastery:`new`}]},alphabetchart:{title:`The alphabet, A to Z`,icon:`edit`,iconColor:`var(--presence)`},columnarithmetic:{title:`Adding with regrouping: 267 + 458`,icon:`table`,iconColor:`var(--presence)`,op:`add`,operands:[267,458],showCarries:!0,caption:`7 + 8 makes 15 — write the 5, carry the 1. That carried 1 joins the tens column, and 6 + 5 + 1 carries again into the hundreds.`},titrationcurve:{title:`Titrating acetic acid with NaOH`,icon:`chart`,iconColor:`var(--presence)`,points:[{volumeMl:0,pH:2.9},{volumeMl:5,pH:4.14},{volumeMl:10,pH:4.58},{volumeMl:12.5,pH:4.76},{volumeMl:15,pH:4.94},{volumeMl:20,pH:5.35},{volumeMl:23,pH:5.7},{volumeMl:24,pH:6},{volumeMl:24.5,pH:6.5},{volumeMl:24.9,pH:7.5},{volumeMl:25,pH:8.72},{volumeMl:25.1,pH:10.5},{volumeMl:25.5,pH:11.2},{volumeMl:27,pH:11.8},{volumeMl:30,pH:12.1},{volumeMl:35,pH:12.4}],equivalenceVolumeMl:25,pKa:4.76,bufferBand:[5,20],footer:`The flat buffer region runs where acetic acid and its conjugate base coexist; the steep jump near 25 mL marks the equivalence point, and the curve sits basic there (pH 8.72) because acetate is a weak base.`},interferencepattern:{title:`Double-slit interference of green laser light`,icon:`spark`,iconColor:`var(--presence)`,slits:2,wavelengthNm:532,slitSeparationUm:250,intensity:[{position:-6,value:.02},{position:-5,value:.15},{position:-4,value:.02},{position:-3.5,value:.35},{position:-3,value:.05},{position:-2.5,value:.55},{position:-2,value:.1},{position:-1.5,value:.75},{position:-1,value:.15},{position:-.5,value:.9},{position:0,value:1},{position:.5,value:.9},{position:1,value:.15},{position:1.5,value:.75},{position:2,value:.1},{position:2.5,value:.55},{position:3,value:.05},{position:3.5,value:.35},{position:4,value:.02},{position:5,value:.15},{position:6,value:.02}],footer:`The bright fringes fall where the path difference from the two slits is a whole number of wavelengths; the envelope tapers off toward the edges of the screen.`},orbitaldiagram:{title:`Electron configuration of iron`,icon:`sparkle`,iconColor:`var(--presence)`,element:`Fe`,orbitals:[{subshell:`1s`,electrons:[2]},{subshell:`2s`,electrons:[2]},{subshell:`2p`,electrons:[2,2,2]},{subshell:`3s`,electrons:[2]},{subshell:`3p`,electrons:[2,2,2]},{subshell:`4s`,electrons:[2]},{subshell:`3d`,electrons:[2,1,1,1,1]}],configString:`1s² 2s² 2p⁶ 3s² 3p⁶ 4s² 3d⁶`,footer:`Hund's rule fills all five 3d boxes singly before any pairs up — so the sixth 3d electron is the only paired one, leaving four unpaired electrons overall.`},pictograph:{title:`Population by continent`,icon:`globe`,iconColor:`var(--presence)`,unitValue:500,rows:[{label:`Asia`,count:4700},{label:`Africa`,count:1400},{label:`Europe`,count:750},{label:`Americas`,count:1050},{label:`Oceania`,count:45}],footer:`Each icon stands for 500 million people, so Asia&rsquo;s roughly 4.7 billion tiles as nine full icons plus a sliver.`},particlemodel:{title:`Particle arrangement across the three phases`,icon:`sparkle`,iconColor:`var(--presence)`,panels:[{phase:`solid`,label:`Fixed lattice, vibrating in place`,particleCount:16},{phase:`liquid`,label:`Close together, free to flow`,particleCount:16},{phase:`gas`,label:`Spread out, moving freely`,particleCount:16}],footer:`Same particle count, three arrangements: a solid locks particles into a rigid grid, a liquid keeps them touching but mobile, and a gas lets them spread across the whole container.`},morphemebreakdown:{title:`Breaking down "unbreakable"`,icon:`doc`,iconColor:`var(--presence)`,word:`unbreakable`,morphemes:[{text:`un`,role:`prefix`,meaning:`not, opposite of`},{text:`break`,role:`root`,meaning:`to separate into pieces by force`},{text:`able`,role:`suffix`,meaning:`capable of, able to`}],footer:`The prefix negates the root and the suffix turns it into an adjective: "not able to be broken."`},practicelog:{title:`Two weeks of piano practice`,icon:`clock`,iconColor:`var(--presence)`,instrument:`Piano`,sessions:[{date:`2026-06-19`,minutes:25,focus:`scales`,note:`Hanon exercises`},{date:`2026-06-20`,minutes:40,piece:`Clair de Lune`,note:`Started the arpeggio section`},{date:`2026-06-21`,minutes:30,piece:`Clair de Lune`},{date:`2026-06-22`,minutes:20,focus:`sight-reading`},{date:`2026-06-23`,minutes:45,piece:`Clair de Lune`,note:`Tempo still rushes in the climax`},{date:`2026-06-24`,minutes:35,piece:`Für Elise`},{date:`2026-06-26`,minutes:40,piece:`Für Elise`},{date:`2026-06-27`,minutes:50,piece:`Für Elise`},{date:`2026-06-28`,minutes:15,focus:`scales`},{date:`2026-06-29`,minutes:60,piece:`Für Elise`,note:`Clean run-through start to finish`},{date:`2026-06-30`,minutes:30,piece:`Clair de Lune`},{date:`2026-07-01`,minutes:40,piece:`Für Elise`},{date:`2026-07-02`,minutes:45,piece:`Für Elise`,note:`Performance-ready for Sunday`}]},taxonrank:{title:`Where T. rex fits in the tree of life`,icon:`layers`,iconColor:`var(--warning)`,scientificName:`Tyrannosaurus rex`,ranks:[{level:`Kingdom`,name:`Animalia`},{level:`Phylum`,name:`Chordata`},{level:`Class`,name:`Reptilia`},{level:`Order`,name:`Saurischia`},{level:`Family`,name:`Tyrannosauridae`},{level:`Genus`,name:`Tyrannosaurus`},{level:`Species`,name:`T. rex`,highlight:!0}],footer:`Every rung down the ladder gets more specific — "Animalia" fits every animal ever, "T. rex" fits exactly one.`},numbersequence:{title:`The Fibonacci sequence`,icon:`sparkle`,iconColor:`var(--presence)`,kind:`fibonacci`,terms:[1,1,2,3,5,8,13,21,34,55,89],rule:`Each term is the sum of the two terms before it.`,highlightPattern:!0},constantcard:{title:`Pi`,icon:`sparkle`,iconColor:`var(--presence)`,symbol:`π`,value:`3.14159265358979323846`,digitsShown:10,significance:`The ratio of a circle’s circumference to its diameter — the same for every circle, no matter the size, and it never repeats or terminates.`,visual:`circle`},elementcard:{title:`Element deep dive: oxygen`,icon:`sparkle`,iconColor:`var(--insight)`,symbol:`O`,name:`Oxygen`,z:8,mass:15.999,category:`Reactive nonmetal`,electronConfig:`1s² 2s² 2p⁴`,shells:[2,6],discovered:`1774 (Priestley and Scheele, independently)`,meltingPoint:-218.79,boilingPoint:-182.96,uses:[`Respiration`,`Steelmaking`,`Water treatment`,`Combustion`,`Welding`],footer:`The same O that anchors carbon dioxide and water anchors half of Earth’s crust by mass.`},energybarchart:{title:`Energy of a swinging pendulum`,icon:`refresh`,iconColor:`var(--presence)`,unit:`J`,system:[`bob`,`Earth`],snapshots:[{label:`Highest point`,bars:[{kind:`KE`,value:0},{kind:`Ug`,value:100}]},{label:`Halfway down`,bars:[{kind:`KE`,value:50},{kind:`Ug`,value:50}]},{label:`Lowest point`,bars:[{kind:`KE`,value:100},{kind:`Ug`,value:0}]}],footer:`With no friction, total mechanical energy stays <strong>100 J</strong> — it just shifts between gravitational (Ug) and kinetic (KE).`},guitartab:{title:`A minor pentatonic run`,icon:`sparkle`,iconColor:`var(--presence)`,tuning:`EADGBE`,beatsPerMeasure:4,measuresPerRow:4,tempo:90,notes:[{measure:1,beat:1,string:6,fret:5,technique:`h`},{measure:1,beat:2,string:6,fret:8},{measure:1,beat:3,string:5,fret:5,technique:`h`},{measure:1,beat:4,string:5,fret:7},{measure:2,beat:1,string:4,fret:5,technique:`h`},{measure:2,beat:2,string:4,fret:7},{measure:2,beat:3,string:3,fret:5,technique:`s`},{measure:2,beat:4,string:3,fret:7},{measure:3,beat:1,string:2,fret:5},{measure:3,beat:2,string:2,fret:8,technique:`b`},{measure:3,beat:3,string:1,fret:5},{measure:3,beat:4,string:1,fret:8}],footer:`The A minor pentatonic 'box' shape, ascending from the low E string. Note the <strong>h</strong> (hammer-on) and <strong>b</strong> (bend) markings.`},karyotype:{title:`Human karyotype — Trisomy 21`,icon:`layers`,iconColor:`var(--presence)`,sex:`XX`,anomalies:[{pair:`21`,kind:`trisomy`,note:`Down syndrome`}],highlightPairs:[`21`],footer:`A karyogram arranges the 46 chromosomes into 23 pairs. Three copies of chromosome 21 (<strong>trisomy 21</strong>) underlies Down syndrome.`},frayermodel:{title:`Vocabulary — Photosynthesis`,icon:`edit`,iconColor:`var(--presence)`,term:`Photosynthesis`,pronunciation:`/ˌfoʊtoʊˈsɪnθəsɪs/`,definition:`The process green plants and algae use to turn sunlight, water, and carbon dioxide into glucose (food) and oxygen.`,characteristics:[`Needs sunlight, water, and CO₂`,`Takes place in the chloroplasts`,`Uses the green pigment chlorophyll`,`Releases oxygen as a by-product`],examples:[`A fern growing in a shady forest`,`Algae in a pond`,`A tomato plant on a windowsill`],nonexamples:[`A mushroom absorbing nutrients`,`A dog digesting its food`,`Rust forming on an iron nail`,`A candle burning`],footer:`Non-examples sharpen the boundary: they may involve energy or gases, but none <strong>build sugar from light</strong>.`},numberbond:{title:`Number bond for 10`,icon:`plus`,iconColor:`var(--presence)`,whole:10,parts:[6,4],factFamily:!0,label:`Six and four make ten`,footer:`Number bonds show how a <strong>whole</strong> splits into <strong>parts</strong> — the foundation of addition and subtraction fact families.`}};export{e as default};
@@ -0,0 +1 @@
1
+ .blank-slot{--blank-accent:var(--presence);border-radius:var(--r-md);flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.blank-label{color:var(--text-secondary);font-size:12.5px;font-weight:650}.blank-hint{color:var(--text-muted);text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.blank-slot.is-empty{border:1px dashed color-mix(in oklab, var(--blank-accent) 50%, transparent);background:color-mix(in oklab, var(--blank-accent) 7%, transparent);box-shadow:0 0 18px -2px color-mix(in oklab, var(--blank-accent) 30%, transparent);animation:2.4s ease-in-out infinite blank-breathe}.blank-slot.is-empty.is-active{border-style:solid;border-color:color-mix(in oklab, var(--blank-accent) 70%, transparent);box-shadow:0 0 26px -2px color-mix(in oklab, var(--blank-accent) 45%, transparent)}@keyframes blank-breathe{0%,to{box-shadow:0 0 14px -4px color-mix(in oklab, var(--blank-accent) 24%, transparent)}50%{box-shadow:0 0 26px -2px color-mix(in oklab, var(--blank-accent) 42%, transparent)}}@media (prefers-reduced-motion:reduce){.blank-slot.is-empty{animation:none}}.blank-input{border-radius:var(--r-sm);background:var(--surface-glass-strong);border:1px solid color-mix(in oklab, var(--blank-accent) 40%, var(--line-strong));height:42px;transition:border-color var(--m-fast), box-shadow var(--m-fast);align-items:center;gap:8px;padding:0 12px;display:flex}.blank-input:focus-within{border-color:var(--blank-accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--blank-accent) 24%, transparent)}.blank-control{min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;height:100%;font-size:14px}.blank-control::placeholder{color:var(--text-muted)}.blank-unit{color:var(--text-muted);flex-shrink:0;font-size:12.5px}.blank-choices{flex-wrap:wrap;gap:8px;display:flex}.blank-chip{font:inherit;border-radius:var(--r-full);cursor:pointer;color:var(--text-primary);background:var(--surface-glass-strong);border:1px solid color-mix(in oklab, var(--blank-accent) 35%, var(--line-strong));transition:border-color var(--m-fast), background var(--m-fast);padding:7px 12px;font-size:13px}.blank-chip:hover{border-color:var(--blank-accent);background:color-mix(in oklab, var(--blank-accent) 12%, transparent)}.blank-drop{border-radius:var(--r-sm);cursor:pointer;text-align:center;border:1px dashed color-mix(in oklab, var(--blank-accent) 45%, transparent);min-height:56px;transition:border-color var(--m-fast), background var(--m-fast);background:0 0;justify-content:center;align-items:center;padding:10px 14px;display:flex}.blank-drop.is-drop-target{border-style:solid;border-color:var(--blank-accent);background:color-mix(in oklab, var(--blank-accent) 14%, transparent)}.blank-drop-hint{color:var(--text-muted);text-overflow:ellipsis;min-width:0;font-size:12.5px;overflow:hidden}.blank-slot.is-filled{border:1px solid color-mix(in oklab, var(--blank-accent) 45%, var(--line-strong));background:color-mix(in oklab, var(--blank-accent) 10%, transparent)}.blank-value{align-items:center;gap:8px;min-width:0;display:flex}.blank-value-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);flex:1;font-size:14px;font-weight:600;overflow:hidden}.blank-actions{flex-shrink:0;gap:4px;display:flex}.blank-mini{font:inherit;border-radius:var(--r-sm);cursor:pointer;color:var(--text-secondary);border:1px solid var(--line-strong);transition:border-color var(--m-fast);background:0 0;padding:3px 8px;font-size:11.5px}.blank-mini:hover{border-color:var(--blank-accent);color:var(--text-primary)}.card-drag-handle{font:inherit;border-radius:var(--r-sm);cursor:grab;color:var(--text-muted);background:var(--surface-glass-strong);border:1px solid var(--line-strong);touch-action:none;transition:color var(--m-fast);justify-content:center;align-items:center;padding:4px 7px;font-size:13px;line-height:1;display:inline-flex}.card-drag-handle:hover{color:var(--text-primary)}.card-drag-handle:active{cursor:grabbing}.blank-complete-bar{z-index:8;border-radius:var(--r-lg);background:color-mix(in oklab, var(--surface-elevated) 88%, var(--presence) 12%);border:1px solid color-mix(in oklab, var(--presence) 32%, transparent);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(10px);animation:blank-bar-rise var(--m-normal) var(--ease-out) both;justify-content:flex-end;align-items:center;gap:14px;margin-top:20px;padding:12px 16px;display:flex;position:sticky;bottom:12px}@keyframes blank-bar-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.blank-complete-bar{animation:none}}.blank-complete-bar.is-busy{border-color:color-mix(in oklab, var(--presence) 45%, transparent)}.blank-complete-bar.is-ready{border-color:color-mix(in oklab, var(--presence) 55%, transparent);background:color-mix(in oklab, var(--surface-elevated) 80%, var(--presence) 20%)}.blank-complete-bar.is-ready .blank-complete-count{color:var(--text-primary)}.blank-complete-bar.is-ready .blank-complete-btn{box-shadow:0 0 0 4px color-mix(in oklab, var(--presence) 22%, transparent)}.blank-complete-count{color:var(--text-secondary);align-items:center;gap:8px;margin-right:auto;font-size:12.5px;display:inline-flex}.blank-complete-spinner{border:2px solid color-mix(in oklab, var(--presence) 30%, transparent);border-top-color:var(--presence);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite blank-spin}@keyframes blank-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.blank-complete-spinner{animation-duration:1.6s}}.blank-complete-btn{font:inherit;border-radius:var(--r-md);cursor:pointer;color:var(--surface-elevated);background:var(--presence);transition:filter var(--m-fast), opacity var(--m-fast);border:1px solid #0000;padding:9px 16px;font-size:13px;font-weight:650}.blank-complete-btn:not(:disabled):hover{filter:brightness(1.08)}.blank-complete-btn:disabled{opacity:.5;cursor:not-allowed}.card-drag-ghost{z-index:60;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-sm);max-width:220px;color:var(--text-primary);background:var(--surface-elevated);border:1px solid color-mix(in oklab, var(--presence) 50%, var(--line-strong));box-shadow:var(--shadow-floating);padding:6px 10px;font-size:12.5px;font-weight:600;position:fixed;overflow:hidden;transform:translate(12px,12px)}
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{n}from"./icons-CHVz6kv_.js";import"./BlockEmpty-CLtVQf6c.js";import"./motion-S0NRruNj.js";function r(e,t,{minLabelGap:n=44,rotateBelow:r=34}={}){if(e<=0||!(t>0))return{labelEvery:1,rotateLabels:!1,slotWidth:0};let i=t/e,a=Math.max(1,Math.floor(t/n));return{labelEvery:Math.max(1,Math.ceil(e/a)),rotateLabels:i<r,slotWidth:i}}var i=9,a=3.5,o=4;function s(e,t,n){let r=new Set(e.map(e=>`${e.from}→${e.to}`));return e.map((e,s)=>{let c=t[e.from],l=t[e.to],d=`edge-${s}-${e.from}-${e.to}`;if(e.self||e.from===e.to){if(!c)return u(d,e);let t=c.x,r=c.y-n-10,i=`M ${c.x-4} ${c.y-n} a 7 7 0 1 1 8 0`;return{key:d,from:e.from,to:e.to,label:e.label,d:i,lx:t,ly:r,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}if(!c||!l)return u(d,e);let f=l.x-c.x,p=l.y-c.y,m=Math.hypot(f,p)||1,h=f/m,g=p/m,_=c.x+h*n,v=c.y+g*n,y=l.x-h*(n+2),b=l.y-g*(n+2);if(!r.has(`${e.to}→${e.from}`)){let t=(_+y)/2,n=(v+b)/2,r=`M ${_} ${v} L ${y} ${b}`,i=-g,o=h;return o>0&&(i=-i,o=-o),{key:d,from:e.from,to:e.to,label:e.label,d:r,lx:t+i*a,ly:n+o*a,labelOffset:a,labelAnchor:`middle`,isCurved:!1}}let x=-g,S=h,C=(c.x+l.x)/2,w=(c.y+l.y)/2,T=C+x*i,E=w+S*i,D=`M ${_} ${v} Q ${T} ${E} ${y} ${b}`,O=(_+2*T+y)/4,k=(v+2*E+b)/4,A=x>.4?`start`:x<-.4?`end`:`middle`;return{key:d,from:e.from,to:e.to,label:e.label,d:D,lx:O+x*o,ly:k+S*o,labelOffset:o,labelAnchor:A,isCurved:!0}})}function c(e,t=50,n=50,r=32){let i=e<=4?r:r+(e-4)*3,a=e===2?Math.PI:-Math.PI/2;return Array.from({length:e},(r,o)=>{let s=o/e*2*Math.PI+a;return{x:t+i*Math.cos(s),y:n+i*Math.sin(s)}})}function l(e){return e<=4?11:e<=7?9:e<=10?7.5:6.5}function u(e,t){return{key:e,from:t.from,to:t.to,label:t.label,d:`M 50 50 L 50 50`,lx:50,ly:50,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}var d=e(),f=t();function p({text:e,className:t=``,label:r=`Copy`}){let[i,a]=(0,d.useState)(!1),o=(0,d.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{a(!0),setTimeout(()=>a(!1),2e3)})},[e]),s=i?n.check:n.copy;return(0,f.jsx)(`button`,{type:`button`,className:`copy-btn${i?` copied`:``}${t?` `+t:``}`,onClick:o,"aria-label":i?`Copied`:r,title:i?`Copied`:r,children:(0,f.jsx)(s,{className:`ic`,"aria-hidden":`true`})})}var m=(0,d.createContext)(null);function h(e){switch(e.kind){case`number`:return e.unit?`${e.value} ${e.unit}`:String(e.value);case`card`:return e.label;default:return e.value}}function g({blank:e}){let t=(0,d.useContext)(m),[n,r]=(0,d.useState)(void 0),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(``),c=(0,d.useId)(),l=t?t.values[e.key]:n,u=t?.activeKey===e.key,p=e=>{t?t.fill(e):r(e),a(!1)},g=()=>{t?t.unfill?.(e.key):r(void 0),a(!1)},_=()=>t?.activate?.(e.key),v=()=>{s(l&&(l.kind===`text`||l.kind===`number`||l.kind===`date`)?String(l.value):``),a(!0),_()},y=t=>{let n=t.trim();if(n)if(e.kind===`number`){let t=Number(n);if(!Number.isFinite(t))return;p({kind:`number`,key:e.key,value:t,unit:e.unit})}else e.kind===`date`?p({kind:`date`,key:e.key,value:n}):p({kind:`text`,key:e.key,value:n})},b={"--blank-accent":e.accent??`var(--presence)`};if(l&&!i)return(0,f.jsxs)(`div`,{className:`blank-slot is-filled`,style:b,"data-blank-key":e.key,"data-blank-kind":e.kind,children:[(0,f.jsx)(`span`,{className:`blank-label`,children:e.label}),(0,f.jsxs)(`div`,{className:`blank-value`,children:[(0,f.jsx)(`span`,{className:`blank-value-text`,children:h(l)}),(0,f.jsxs)(`span`,{className:`blank-actions`,children:[e.kind!==`choice`&&e.kind!==`card`&&(0,f.jsx)(`button`,{type:`button`,className:`blank-mini`,onClick:v,"aria-label":`Edit ${e.label}`,children:`Edit`}),(0,f.jsx)(`button`,{type:`button`,className:`blank-mini`,onClick:g,"aria-label":`Clear ${e.label}`,children:`Clear`})]})]})]});let x=e.kind===`date`?`date`:e.kind===`number`?`number`:`text`;return(0,f.jsxs)(`div`,{className:`blank-slot is-empty${u?` is-active`:``}`,style:b,"data-blank-key":e.key,"data-blank-kind":e.kind,children:[(0,f.jsx)(`label`,{className:`blank-label`,htmlFor:c,children:e.label}),e.kind===`choice`?(0,f.jsx)(`div`,{className:`blank-choices`,role:`group`,"aria-label":e.prompt,children:(e.options??[]).map(t=>(0,f.jsx)(`button`,{type:`button`,className:`blank-chip`,onClick:()=>p({kind:`choice`,key:e.key,value:t}),children:t},t))}):e.kind===`card`?(0,f.jsx)(`button`,{type:`button`,className:`blank-drop`,"data-blank-drop":e.key,onClick:_,"aria-label":e.prompt,children:(0,f.jsx)(`span`,{className:`blank-drop-hint`,children:e.placeholder??`Drag a card here`})}):(0,f.jsxs)(`div`,{className:`blank-input`,children:[(0,f.jsx)(`input`,{id:c,className:`blank-control`,type:x,value:o,placeholder:e.placeholder??e.prompt,"aria-label":e.prompt,onFocus:_,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),y(e.target.value))},onBlur:e=>y(e.target.value)}),e.unit&&(0,f.jsx)(`span`,{className:`blank-unit`,children:e.unit})]}),(0,f.jsx)(`div`,{className:`blank-hint`,children:e.prompt})]})}export{s as a,l as i,m as n,c as o,p as r,r as s,g as t};
@@ -0,0 +1 @@
1
+ function e(e,t,n){return!/^[\w.-]+\/[\w.-]+$/.test(e)||e===`acme/auth-service`?null:`https://github.com/${e}/blob/${t||`HEAD`}/${n.replace(/:.*$/,``)}`}export{e as t};
@@ -0,0 +1,98 @@
1
+ import{n as e,t}from"./icons-CHVz6kv_.js";import{a as n,i as r,n as i,r as a,t as o}from"./spokenText-D4zPX9JY.js";import{n as s,t as c}from"./safeImageUrl-CUkucDUu.js";import{a as l,t as u}from"./catalog-BHjl-1uH.js";import{r as d}from"./sourceHost-BV3t2XDb.js";import{n as f}from"./annotations-D2K9A5GB.js";import{t as p}from"./catalog-Dqaq2YFd.js";import{n as m,t as h}from"./facts-BBTt3ImG.js";import{C as g}from"./providers-wzm7E8Pa.js";import{o as _,r as ee}from"./streamParse-DRgMHWye.js";var v={codeblock:{fields:{title:{maxGraphemes:96,maxLines:2},code:{maxGraphemes:32768,maxLines:800},footer:{maxGraphemes:480,maxLines:8}}},svgblock:{fields:{svg:{maxGraphemes:65536,maxLines:1500}}},datatable:{fields:{columns:{maxItems:12},rows:{maxItems:50},"columns[].label":{maxGraphemes:72,maxLines:2}}},docview:{fields:{blocks:{maxItems:80}}},annotateddoc:{fields:{paragraphs:{maxItems:60}}},slidedeck:{fields:{slides:{maxItems:24}}},terminal:{fields:{lines:{maxItems:120}}},logstream:{fields:{entries:{maxItems:120}}}},y=/^(title|headline|heading|subject|algorithm)$/i,b=/^(label|name|key|category|metric|role|word|term|status|tag|kind|type)$/i,x=/^(date|time|duration|unit|value|score|rank|version|handle|platform)$/i,S=/^(summary|description|detail|explanation|reasoning|caption|note|footer|copy|fix|cause|message|significance)$/i,C=/^(body|content|paragraph|lede|quote|sample|result|answer)$/i,w=/^(code|source|svg|tex|math|smiles)$/i,te=/^(url|src|href|thumb|imageUrl)$/i,T={columns:12,series:12,categories:16,options:16,items:16,rows:20,events:20,steps:16,stages:16,slides:24,paragraphs:60,blocks:60,lines:80,entries:80,groups:20,nodes:80,edges:160,points:160,values:200,cells:200};function E(e){return e.replace(/\[\]$/g,``).split(`.`).at(-1)??``}function ne(e){let t=E(e),n=e.includes(`[]`);return w.test(t)?{maxGraphemes:32768,maxLines:800}:te.test(t)?{maxGraphemes:2048,maxLines:1}:y.test(t)?{maxGraphemes:96,maxLines:2}:b.test(t)?{maxGraphemes:96,maxLines:3}:x.test(t)?{maxGraphemes:64,maxLines:2}:S.test(t)?{maxGraphemes:n?320:480,maxLines:n?8:12}:C.test(t)?{maxGraphemes:n?640:1600,maxLines:n?16:48}:t===`text`?n?{maxGraphemes:240,maxLines:6}:{maxGraphemes:1200,maxLines:36}:{maxGraphemes:240,maxLines:8}}function re(e){return{maxItems:T[E(e)]??16}}function D(e,t,n,r){let i=r?.fields[t],a=v[e]?.fields[t];return{...n===`text`?ne(t):re(t),...a,...i}}var O;function k(e){return O===void 0&&(O=typeof Intl.Segmenter==`function`?new Intl.Segmenter(void 0,{granularity:`grapheme`}):null),O?Array.from(O.segment(e),e=>e.segment):Array.from(e)}function A(e,t){let n=e.replace(/\r\n?/g,`
2
+ `),r=n.split(`
3
+ `),i=t.maxLines?r.slice(0,t.maxLines).join(`
4
+ `):n;if(!t.maxGraphemes)return i;let a=k(i);return a.length<=t.maxGraphemes?i:a.slice(0,t.maxGraphemes).join(``)}function j(e,t,n,r,i){if(i>12)return null;if(typeof t==`string`)return A(t,D(e,n,`text`,r));if(Array.isArray(t)){let{maxItems:a=16}=D(e,n,`array`,r);return t.slice(0,a).map(t=>j(e,t,`${n}[]`,r,i+1))}if(t&&typeof t==`object`){let a={};for(let[o,s]of Object.entries(t))a[o]=j(e,s,n?`${n}.${o}`:o,r,i+1);return a}return t}function ie(e,t,n){if(e===`action`){let r=typeof t.label==`string`?A(t.label,D(e,`label`,`text`,n?.contentBudget)):t.label;return r===void 0?t:{...t,label:r}}return j(e,t,``,n?.contentBudget,0)}function M(e){let t=[],n=[...e.requires,...e.optional];for(let r of n){if(t.length>=4)break;if(!(y.test(r)||b.test(r)||S.test(r)||C.test(r)))continue;let n=D(e.type,r,`text`,e.contentBudget);n.maxGraphemes&&t.push(`${r}≤${n.maxGraphemes} chars`)}for(let n of e.itemShapes??[]){if(t.length>=7)break;let r=D(e.type,n.prop,`array`,e.contentBudget);if(r.maxItems&&t.push(`${n.prop}≤${r.maxItems}`),n.text){let r=`${n.prop}[].${n.text}`,i=D(e.type,r,`text`,e.contentBudget);i.maxGraphemes&&t.push(`${r}≤${i.maxGraphemes} chars`)}}for(let n of e.stringItems??[]){if(t.length>=7)break;let r=D(e.type,n,`array`,e.contentBudget),i=D(e.type,`${n}[]`,`text`,e.contentBudget);r.maxItems&&t.push(`${n}≤${r.maxItems}`),i.maxGraphemes&&t.push(`${n}[]≤${i.maxGraphemes} chars`)}return t.length||t.push(`visible text≤240 chars`),` · limits: ${t.join(`, `)}`}var ae={reasoning:{title:``,icon:``,iconColor:``,steps:[{label:``,summary:``,detail:``,tag:``,tagColor:``},{label:``,summary:``,tag:``,tagColor:``}],conclusion:``,footer:``},toolcalls:{title:``,icon:``,iconColor:``,calls:[{name:``,verb:``,request:``,response:``,status:``,ms:0}],footer:``},agenttrace:{title:``,icon:``,iconColor:``,nodes:[{step:``,decision:``,branches:[{label:``,note:``,chosen:!1,score:0,color:``},{label:``,note:``,score:0,color:``}]}],footer:``},modelcompare:{title:``,icon:``,iconColor:``,prompt:``,outputs:[{model:``,badge:``,color:``,best:!1,text:``,meta:[{k:``,v:``}]},{model:``,badge:``,color:``,text:``,meta:[{k:``,v:``}]}],footer:``},tokenstream:{title:``,icon:``,iconColor:``,prefix:``,tokens:[{text:``,p:0,alts:[{t:``,p:0}]},{text:``,p:0}],footer:``},retrieval:{title:``,icon:``,iconColor:``,query:``,chunks:[{source:``,score:0,snippet:``,tag:``,tagColor:``,used:!1,body:``},{source:``,score:0,snippet:``,tag:``,tagColor:``,used:!1}],footer:``},whatchanged:{title:``,icon:``,iconColor:``,beforeLabel:``,afterLabel:``,before:``,after:``,diff:[{t:``,c:``}],footer:``},routing:{title:``,icon:``,iconColor:``,query:``,classifier:``,choices:[{label:``,sub:``,score:0,taken:!1,reason:``,color:``},{label:``,sub:``,score:0,reason:``,color:``},{label:``,sub:``,score:0,color:``}],footer:``},embedmap:{title:``,icon:``,iconColor:``,clusters:[{name:``,color:``}],points:[{x:0,y:0,label:``,cluster:0},{x:0,y:0,label:``,cluster:0,query:!1}],footer:``},calibration:{title:``,icon:``,iconColor:``,color:``,ece:``,bins:[{predicted:0,actual:0,count:0}],footer:``},httpexchange:{title:``,icon:``,iconColor:``,exchanges:[{method:``,url:``,status:0,statusText:``,durationMs:0,reqBody:``,respPreview:``,note:``},{method:``,url:``,status:0,statusText:``,durationMs:0}],caption:``,footer:``},trainingcurve:{title:``,icon:``,iconColor:``,epochs:[0],trainLoss:[0],valLoss:[0],trainAcc:[0],valAcc:[0],bestEpoch:0,footer:``},treemap:{title:``,icon:``,iconColor:``,unit:``,root:{label:``,value:0,children:[{label:``,value:0,color:``,children:[{label:``,value:0,color:``}]},{label:``,value:0,color:``}]},footer:``},sunburst:{title:``,icon:``,iconColor:``,unit:``,root:{label:``,value:0,children:[{label:``,value:0,color:``,children:[{label:``,value:0}]}]},footer:``},sankey:{title:``,icon:``,iconColor:``,unit:``,nodes:[{id:``,label:``,layer:0,color:``}],links:[{source:``,target:``,value:0}],footer:``},network:{title:``,icon:``,iconColor:``,layout:``,nodes:[{id:``,label:``,group:0,weight:0,color:``}],edges:[{source:``,target:``,weight:0}],footer:``},radar:{title:``,icon:``,iconColor:``,axes:[``],max:0,series:[{label:``,color:``,values:[0]}],footer:``},waterfall:{title:``,icon:``,iconColor:``,unit:``,steps:[{label:``,value:0,total:!1,color:``},{label:``,value:0,color:``}],footer:``},funnel:{title:``,icon:``,iconColor:``,unit:``,stages:[{label:``,value:0,color:``}],footer:``},histogram:{title:``,icon:``,iconColor:``,unit:``,color:``,marker:0,markerLabel:``,bins:[{x0:0,x1:0,count:0}],footer:``},boxplot:{title:``,icon:``,iconColor:``,unit:``,domain:[0],groups:[{label:``,min:0,q1:0,median:0,q3:0,max:0,color:``},{label:``,min:0,q1:0,median:0,q3:0,max:0,outliers:[0],color:``}],footer:``},streamgraph:{title:``,icon:``,iconColor:``,unit:``,ticks:[``],series:[{label:``,color:``,values:[0]}],footer:``},correlationheatmap:{title:``,icon:``,iconColor:``,variables:[``],matrix:[[0]],footer:``},bcgmatrix:{title:``,icon:``,iconColor:``,unit:``,items:[{label:``,growth:0,share:0,revenue:0,note:``},{label:``,growth:0,share:0,revenue:0}],footer:``},flowchord:{title:``,icon:``,iconColor:``,unit:``,nodes:[{id:``,label:``,color:``}],flows:[{from:``,to:``,value:0}],footer:``},venn:{title:``,icon:``,iconColor:``,sets:[{label:``,value:0,color:``}],overlaps:[{sets:[0],value:0}],footer:``},quadrant:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,topRight:``,topLeft:``,bottomLeft:``,bottomRight:``,items:[{label:``,quadrant:``,note:``}],footer:``},piedonut:{title:``,unit:``,centerValue:``,centerLabel:``,slices:[{label:``,value:0,color:``}]},distributioncurve:{title:``,kind:``,mean:0,sd:0,shadeFrom:0,markers:[{x:0,label:``,color:``}],unit:``,footer:``},latencydist:{title:``,icon:``,iconColor:``,unit:``,bins:[{from:0,to:0,count:0}],p50:0,p90:0,p95:0,p99:0,slo:0,sloLabel:``,caption:``},captable:{title:``,icon:``,iconColor:``,totalShares:0,holders:[{name:``,shares:0,class:``}],caption:``},lifewheel:{title:``,icon:``,iconColor:``,domains:[{label:``,score:0,note:``}],caption:``},violinplot:{title:``,icon:``,iconColor:``,showBox:!1,unit:``,groups:[{label:``,color:``,values:[0]}]},stemleafplot:{title:``,icon:``,iconColor:``,values:[0],leafUnit:0},tamsam:{title:``,icon:``,iconColor:``,markets:[{label:``,value:0,unit:``,cagr:0,description:``}],footer:``},slopegraph:{title:``,icon:``,iconColor:``,beforeLabel:``,afterLabel:``,unit:``,rows:[{label:``,before:0,after:0,color:``}],footer:``},dumbbell:{title:``,icon:``,iconColor:``,unit:``,startLabel:``,endLabel:``,startColor:``,endColor:``,domain:[0],rows:[{label:``,start:0,end:0,tag:``}],footer:``},lollipop:{title:``,icon:``,iconColor:``,unit:``,rows:[{label:``,value:0,color:``,sub:``},{label:``,value:0,color:``}],footer:``},bulletchart:{title:``,icon:``,iconColor:``,rows:[{label:``,value:0,target:0,max:0,bands:[0],unit:``,color:``}],footer:``},candlestick:{title:``,icon:``,iconColor:``,unit:``,candles:[{label:``,o:0,h:0,l:0,c:0,vol:0}],footer:``},gantt:{title:``,icon:``,iconColor:``,cols:[``],tasks:[{name:``,lane:``,start:0,span:0,pct:0,color:``,detail:``},{name:``,lane:``,start:0,span:0,pct:0,color:``},{name:``,lane:``,start:0,span:0,pct:0,color:``,dependsOn:0}],footer:``},bubble:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,xDomain:[0],yDomain:[0],categories:[{name:``,color:``}],points:[{label:``,x:0,y:0,size:0,cat:``}],footer:``},arearange:{title:``,icon:``,iconColor:``,unit:``,color:``,points:[{label:``,value:0,lo:0,hi:0}],footer:``},waffle:{title:``,icon:``,iconColor:``,cats:[{name:``,pct:0,color:``}],footer:``},groupedbars:{title:``,icon:``,iconColor:``,unit:``,groups:[``],series:[{name:``,color:``,data:[0]}],footer:``},bridge:{title:``,icon:``,iconColor:``,prefix:``,start:0,end:0,steps:[{label:``,delta:0}],footer:``},calheat:{title:``,icon:``,iconColor:``,color:``,weekdays:[``],days:[{level:0}],legend:[``],footer:``},bump:{title:``,icon:``,iconColor:``,periods:[``],series:[{label:``,color:``,ranks:[0]}],footer:``},marimekko:{title:``,icon:``,iconColor:``,unit:``,columns:[{label:``,segments:[{label:``,value:0}]}],footer:``},plot:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,xDomain:[0],yDomain:[0],origin:!1,curves:[{label:``,color:``,points:[{x:0,y:0}]}],markers:[{x:0,y:0,label:``,color:``}],footer:``},dualaxis:{title:``,categories:[``],bar:{name:``,data:[0],color:``,unit:``},line:{name:``,data:[0],color:``,unit:``}},scatterregression:{title:``,xLabel:``,yLabel:``,points:[{x:0,y:0}]},dotplot:{title:``,values:[0],label:``,color:``,note:``},controlchart:{title:``,yLabel:``,centerLine:0,ucl:0,lcl:0,points:[{label:``,value:0}],note:``},areaplot:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,xDomain:[0],yDomain:[0],origin:!1,areaLabel:``,curves:[{label:``,color:``,points:[{x:0,y:0}]}],shade:{from:``,to:0,x0:0,x1:0},rects:{n:0,rule:``},footer:``},supplydemand:{title:``,icon:``,iconColor:``,pricePrefix:``,priceLabel:``,quantityLabel:``,supply:{intercept:0,slope:0},demand:{intercept:0,slope:0},region:``,footer:``},bigo:{title:``,icon:``,iconColor:``,classes:[``],maxN:0,highlight:``,algorithm:{name:``,complexity:``},xLabel:``,yLabel:``,footer:``},errorbars:{title:``,yLabel:``,unit:``,groups:[{label:``,mean:0,ci:0,color:``}],reference:{value:0,label:``},bracket:{from:0,to:0,label:``},footer:``},eratimeline:{title:``,icon:``,iconColor:``,min:0,max:0,tracks:[{label:``,color:``,spans:[{label:``,start:0,end:0}],events:[{at:0,label:``}]}],footer:``},payoffdiagram:{title:``,icon:``,iconColor:``,pricePrefix:``,spot:0,legs:[{type:``,position:``,strike:0,premium:0}],footer:``},phasediagram:{title:``,icon:``,iconColor:``,tUnit:``,pUnit:``,tDomain:[0],pDomain:[0],boundaries:[{kind:``,label:``,color:``,points:[{t:0,p:0}]}],triplePoint:{t:0,p:0},criticalPoint:{t:0,p:0},regions:[{t:0,p:0,phase:``,label:``,color:``},{t:0,p:0,phase:``,label:``,color:``,anchor:``}],footer:``},indifferencecurve:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,curves:[{label:``,points:[{x:0,y:0}]}],budget:{intercept:0,slope:0},optimal:{x:0,y:0,label:``},yMax:0,footer:``},breakeven:{title:``,icon:``,iconColor:``,currency:``,unit:``,fixedCost:0,pricePerUnit:0,costPerUnit:0,footer:``},burnrunway:{title:``,icon:``,iconColor:``,currency:``,initialCash:0,months:[{label:``,burn:0}],footer:``},loaddiagram:{title:``,icon:``,iconColor:``,span:0,unit:``,supports:[{at:0,kind:``}],loads:[{kind:``,at:0,mag:0,label:``}],shear:[{x:0,v:0}],moment:[{x:0,m:0}],caption:``},ecgstrip:{title:``,iconColor:``,rateBpm:0,rhythm:``,gridMs:0,intervals:[{label:``,fromMs:0,toMs:0}],caption:``},vitalstrip:{title:``,iconColor:``,windowLabel:``,channels:[{label:``,unit:``,normal:[0],series:[0]},{label:``,unit:``,color:``,normal:[0],series:[0]}],caption:``},growthcurve:{title:``,iconColor:``,metric:``,unit:``,ageUnit:``,percentiles:[{p:0,points:[{age:0,value:0}]}],plotted:[{age:0,value:0}],caption:``},sleepcycle:{title:``,iconColor:``,bedtime:``,wake:``,cycles:0,stages:[{stage:``,fromMin:0,toMin:0}],caption:``},seasonband:{title:``,icon:``,iconColor:``,nowMonth:0,rows:[{label:``,windows:[{from:0,to:0,kind:``}],note:``}],caption:``},roccurve:{title:``,icon:``,iconColor:``,curves:[{name:``,auc:0,color:``,points:[{fpr:0,tpr:0}]}],footer:``},surfaceplot:{title:``,icon:``,iconColor:``,mode:``,levels:0,xLabel:``,yLabel:``,grid:[[0]],caption:``},gradientdescent:{title:``,icon:``,iconColor:``,learningRate:0,contour:[[{x:0,y:0,z:0}]],path:[{x:0,y:0,step:0}],footer:``},biasvariance:{title:``,icon:``,iconColor:``,complexity:[0],trainError:[0],testError:[0],sweetSpot:0,footer:``},timeseriesdecomposition:{title:``,icon:``,iconColor:``,dates:[``],observed:[0],trend:[0],seasonal:[0],residual:[0],footer:``},precisionrecallcurve:{title:``,icon:``,iconColor:``,avgPrecision:0,curves:[{label:``,color:``,points:[{recall:0,precision:0}]}],footer:``},chromatogram:{title:``,icon:``,iconColor:``,method:``,trace:[{t:0,signal:0}],peaks:[{rt:0,label:``,areaPct:0,height:0}],footer:``},stressstraincurve:{title:``,icon:``,iconColor:``,curve:[{strain:0,stress:0}],yieldPoint:{strain:0,stress:0},ultimatePoint:{strain:0,stress:0},fracturePoint:{strain:0,stress:0},footer:``},gatingplot:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,xScale:``,yScale:``,points:[{x:0,y:0}],gates:[{name:``,shape:``,region:[[0]],pctOfParent:0,color:``}],footer:``},gellane:{title:``,icon:``,iconColor:``,ladder:{unit:``,marks:[0]},lanes:[{label:``,bands:[{pos:0,intensity:0,sizeLabel:``}]},{label:``,bands:[{pos:0,intensity:0,sizeLabel:``},{pos:0,intensity:0}]},{label:``,bands:[]}],footer:``},flightchart:{title:``,icon:``,iconColor:``,currency:``,channels:[{name:``,color:``}],flights:[{channel:``,start:0,span:0,budget:0}],totalBudget:0,footer:``},paybandchart:{title:``,icon:``,iconColor:``,role:``,min:0,mid:0,max:0,currency:``,markers:[{name:``,value:0},{name:``,value:0,flag:!1}],footer:``},linebalance:{title:``,icon:``,iconColor:``,takt:0,unit:``,stations:[{name:``,cycleTime:0},{name:``,cycleTime:0,bottleneck:!1}],footer:``},epicurve:{title:``,icon:``,iconColor:``,cases:[{period:``,count:0,classification:``}],threshold:{value:0,label:``},phases:[{label:``,period:``}],footer:``},pareto:{title:``,icon:``,iconColor:``,unit:``,bars:[{label:``,value:0}],footer:``},populationpyramid:{title:``,icon:``,iconColor:``,leftLabel:``,rightLabel:``,unit:``,bands:[{label:``,left:0,right:0}],footer:``},parallelcoordinates:{title:``,icon:``,iconColor:``,axes:[{key:``,label:``}],lines:[{label:``,color:``,values:{sepalLength:0,sepalWidth:0,petalLength:0,petalWidth:0}}]},scatterplotmatrix:{title:``,icon:``,iconColor:``,color:``,vars:[``],rows:[{accuracy:0,latency_ms:0,model_size_mb:0,val_loss:0}],footer:``},pictogramchart:{title:``,icon:``,iconColor:``,unitValue:0,categories:[{label:``,count:0,icon:``,color:``}],footer:``},qqplot:{title:``,icon:``,iconColor:``,values:[0],distribution:``,xlabel:``,ylabel:``},samplingdistribution:{title:``,icon:``,iconColor:``,population:{shape:``},sampleSize:0,numSamples:0},hrdiagram:{title:``,icon:``,stars:[{name:``,tempK:0,luminosity:0,stage:``}],highlight:``,footer:``},ternaryplot:{title:``,icon:``,unit:``,axes:{a:``,b:``,c:``},zones:[{label:``,vertices:[{a:0,b:0,c:0}]}],points:[{label:``,a:0,b:0,c:0}],footer:``},parliamentseats:{title:``,icon:``,parties:[{name:``,seats:0,color:``}],totalLabel:``,footer:``},componentapi:{title:``,icon:``,iconColor:``,component:``,props:[{name:``,type:``,required:!1,default:``,desc:``},{name:``,type:``,required:!1,desc:``}],footer:``},stacktrace:{title:``,icon:``,iconColor:``,errorType:``,message:``,frames:[{file:``,line:0,fn:``,context:``,isUser:!1},{file:``,line:0,fn:``}],cause:``,fix:``,footer:``},syntaxbreakdown:{title:``,icon:``,iconColor:``,summary:``,lines:[{code:``,explanation:``,tokens:[{code:``,label:``,kind:``}]},{code:``,explanation:``}],footer:``},codewalk:{title:``,icon:``,iconColor:``,algorithm:``,steps:[{step:0,title:``,code:``,lang:``,explanation:``}],footer:``},terminal:{title:``,prompt:``,lines:[{kind:``,text:``}],exitCode:0,caption:``},logstream:{title:``,entries:[{time:``,level:``,source:``,message:``}],caption:``},gitgraph:{title:``,branches:[``],commits:[{id:``,message:``,branch:``,parents:[``],tag:``,head:!1},{id:``,message:``,branch:``,parents:[``]},{id:``,message:``,branch:``,parents:[``],tag:``}],caption:``},queryplan:{title:``,sql:``,nodes:[{op:``,detail:``,depth:0,rows:0,cost:0,timeMs:0},{op:``,detail:``,depth:0,rows:0,cost:0,timeMs:0,slow:!1}],caption:``},flamegraph:{title:``,unit:``,frames:[{name:``,depth:0,value:0},{name:``,depth:0,value:0,hot:!1}],caption:``},regexscope:{title:``,pattern:``,flags:``,parts:[{token:``,label:``,kind:``}],samples:[{label:``,segments:[{text:``},{text:``,match:!1,group:0},{text:``,match:!1}]},{label:``,segments:[{text:``}]}],caption:``},sequencealign:{title:``,icon:``,iconColor:``,kind:``,sequences:[{label:``,chars:``}],consensus:``,highlightMismatches:!1,footer:``},voicestyle:{title:``,icon:``,iconColor:``,traits:[{trait:``,example:``},{trait:``}],sample:{generic:``,inYourVoice:``},footer:``},messagedraft:{title:``,icon:``,iconColor:``,subject:``,to:``,from:``,greeting:``,body:``,closing:``,signature:``,tone:``,footer:``},chatthread:{title:``,icon:``,iconColor:``,participants:``,messages:[{role:``,name:``,text:``,time:``},{role:``,name:``,text:``,time:``,status:``}],footer:``},dialogue:{title:``,icon:``,iconColor:``,context:``,lines:[{speaker:``,text:``},{speaker:``,text:``,note:``}],footer:``},variants:{title:``,icon:``,iconColor:``,prompt:``,variants:[{label:``,text:``},{label:``,text:``,note:``}],footer:``},verse:{title:``,icon:``,iconColor:``,form:``,stanzas:[{lines:[{text:``}]}],footer:``},slidedeck:{title:``,icon:``,iconColor:``,deck:``,slides:[{title:``,layout:``,bullets:[``],note:``},{title:``,layout:``,bullets:[``]}],footer:``},screenplay:{title:``,icon:``,iconColor:``,caption:``,elements:[{kind:``,text:``}],footer:``},socialpost:{title:``,icon:``,iconColor:``,platform:``,handle:``,displayName:``,timestamp:``,body:``,media:[{alt:``}],footer:``},scatter:{title:``,iconColor:``,xLabel:``,yLabel:``,xDomain:[0],yDomain:[0],points:[{x:0,y:0},{x:0,y:0,hot:!1}],trend:[[0]],footer:``},flow:{title:``,icon:``,steps:[{title:``,sub:``,color:``}],footer:``},web:{title:``,live:!1,results:[{domain:``,path:``,color:``,title:``,excerpt:``},{domain:``,color:``,title:``,excerpt:``}]},gallery:{eyebrow:``,items:[{label:``,source:``,tag:``,h1:``,h2:``}],footer:``},codemap:{title:``,center:``,nodes:[{label:``,hot:!1,note:``},{label:``,note:``}],footer:``},diff:{title:``,file:``,add:0,del:0,lines:[{t:``,c:``}],footer:``},checks:{title:``,summary:``,items:[{name:``,status:``,note:``}]},scoreboard:{title:``,icon:``,iconColor:``,games:[{away:``,home:``,as:``,hs:``,status:``,hot:!1},{away:``,home:``,as:``,hs:``,status:``}],footer:``},standings:{title:``,icon:``,iconColor:``,rows:[{team:``,rec:``,gb:``}],footer:``},pipeline:{title:``,icon:``,iconColor:``,headline:``,sub:``,unit:``,suffix:``,stages:[{k:``,v:0}],footer:``},quotes:{title:``,icon:``,iconColor:``,quotes:[{text:``,who:``,tone:``}],footer:``},checklist:{title:``,icon:``,iconColor:``,rows:[{t:``,st:``}],footer:``},understand:{title:``,conf:``,items:[{text:``,source:``}]},screenmap:{title:``,screens:[{name:``,kind:``}],footer:``},buildprog:{title:``,steps:[{label:``,sub:``,status:``}],footer:``},sequencediagram:{title:``,actors:[{id:``,label:``}],messages:[{from:``,to:``,label:``},{from:``,to:``,label:``,reply:!1}]},statemachine:{title:``,states:[{id:``,label:``,start:!1},{id:``,label:``},{id:``,label:``,final:!1}],transitions:[{from:``,to:``,label:``}]},erdiagram:{title:``,entities:[{id:``,label:``,fields:[{name:``,type:``,key:``},{name:``,type:``}]}],relationships:[{from:``,to:``,fromCard:``,toCard:``,label:``}]},circuitdiagram:{title:``,components:[{id:``,kind:``,x:0,y:0,label:``},{id:``,kind:``,x:0,y:0}],wires:[{from:``,to:``}],footer:``},controlblockdiagram:{title:``,icon:``,iconColor:``,blocks:[{id:``,label:``,kind:``}],wires:[{from:``,to:``,sign:``},{from:``,to:``},{from:``,to:``,feedback:!1}],footer:``},fiveforces:{title:``,icon:``,iconColor:``,industry:``,forces:[{id:``,label:``,strength:``,note:``}],footer:``},fivewhychain:{title:``,icon:``,iconColor:``,problem:``,whys:[{question:``,answer:``}],rootCause:``,footer:``},sysarchdiagram:{title:``,icon:``,iconColor:``,nodes:[{id:``,label:``,kind:``},{id:``,label:``,kind:``,sub:``}],edges:[{from:``,to:``,protocol:``},{from:``,to:``},{from:``,to:``,label:``}],footer:``},datapipeline:{title:``,icon:``,iconColor:``,stages:[{id:``,label:``,kind:``,sub:``}],edges:[{from:``,to:``,label:``},{from:``,to:``}],footer:``},threatmodel:{title:``,icon:``,iconColor:``,assets:[{id:``,name:``,kind:``}],boundaries:[{label:``,contains:[``]}],threats:[{assetId:``,stride:``,mitigation:``,status:``}],footer:``},foodweb:{title:``,icon:``,iconColor:``,tiers:[``],organisms:[{id:``,tier:0,label:``}],links:[{from:``,to:``}],footer:``},recursiontree:{title:``,icon:``,iconColor:``,root:{call:``,result:0,children:[{call:``,result:0,children:[{call:``,result:0,children:[{call:``,result:0}]},{call:``,result:0}]},{call:``,result:0,children:[{call:``,result:0}]}]},footer:``},primefactortree:{title:``,icon:``,iconColor:``,number:0,nodes:[{value:0,isPrime:!1,children:[{value:0,isPrime:!1,children:[{value:0,isPrime:!1},{value:0,isPrime:!1,children:[{value:0,isPrime:!1}]}]},{value:0,isPrime:!1,children:[{value:0,isPrime:!1,children:[{value:0,isPrime:!1}]},{value:0,isPrime:!1}]}]}]},nnarchitecture:{title:``,icon:``,iconColor:``,connections:``,layers:[{name:``,units:0},{name:``,units:0,activation:``}],highlight:{layer:0,unit:0},footer:``},synthesisroute:{title:``,icon:``,iconColor:``,nodes:[{id:``,label:``,smiles:``,role:``}],edges:[{from:``,to:``,reagents:``,conditions:``,yieldPct:0},{from:``,to:``},{from:``,to:``,direction:``}],footer:``},plasmidmap:{title:``,icon:``,iconColor:``,sizeBp:0,features:[{name:``,startBp:0,endBp:0,kind:``,strand:``},{name:``,startBp:0,endBp:0,kind:``}],sites:[{name:``,posBp:0,cutsOnce:!1},{name:``,posBp:0}],origin:{name:``,posBp:0},footer:``},argumentmap:{title:``,claim:``,premises:[{type:``,text:``}],verdict:``},toulmin:{title:``,icon:``,iconColor:``,claim:``,grounds:``,warrant:``,backing:``,qualifier:``,rebuttal:``,footer:``},castmap:{title:``,icon:``,iconColor:``,nodes:[{id:``,name:``,role:``,faction:``}],links:[{from:``,to:``,kind:``,label:``}],caption:``,footer:``},probabilitytree:{title:``,branches:[{label:``,prob:0,children:[{label:``,prob:0,outcome:``}]}],note:``},datastructure:{title:``,icon:``,iconColor:``,kind:``,nodes:[{id:``,value:0,left:``,right:``},{id:``,value:0}],highlight:``,footer:``},causationchain:{title:``,event:{label:``},causes:[{label:``,weight:0,term:``}],consequences:[{label:``,weight:0,term:``}],footer:``},protocolstack:{title:``,icon:``,iconColor:``,layers:[{name:``,role:``,protocols:[``]}],packet:[{header:``,layer:``}],caption:``},wiringdiagram:{title:``,icon:``,iconColor:``,nodes:[{id:``,kind:``,label:``,x:0,y:0}],wires:[{from:``,to:``,conductor:``,gauge:``},{from:``,to:``,conductor:``}],caption:``,footer:``},pipingschematic:{title:``,icon:``,iconColor:``,components:[{id:``,kind:``,label:``,x:0,y:0}],lines:[{from:``,to:``,flow:!1,size:``},{from:``,to:``,flow:!1}],caption:``,footer:``},logicgates:{title:``,icon:``,iconColor:``,inputs:[{id:``,label:``,value:0}],gates:[{id:``,kind:``,inputs:[``]}],output:{from:``,label:``},truth:[{row:[0],out:0}],caption:``,footer:``},algorithmtrace:{title:``,icon:``,iconColor:``,values:[0],steps:[{caption:``,compare:[0],pointer:{i:0,j:0}},{caption:``,swapped:[0],pointer:{i:0,j:0}}],caption:``,footer:``},dptable:{title:``,recurrence:``,cols:[``],rows:[``],cells:[[0]],path:[[0]],steps:[{caption:``,current:[0],deps:[]},{caption:``,current:[0],deps:[[0]]}],footer:``},cyclewheel:{title:``,icon:``,iconColor:``,stages:[{label:``,caption:``,icon:``}],caption:``,footer:``},hashtable:{title:``,size:0,hashFn:``,entries:[{key:0,value:``}],highlight:0,footer:``},trie:{title:``,words:[``],highlight:``,footer:``},graphtrace:{title:``,algorithm:``,nodes:[{id:``,label:``,x:0,y:0}],edges:[{from:``,to:``}],steps:[{caption:``,current:``,frontier:[``],visited:[]},{caption:``,current:``,visited:[``],frontier:[``]}],footer:``},binarytree:{title:``,nodes:[{id:``,value:0,left:``,right:``},{id:``,value:0}],root:``,steps:[{caption:``,states:{n10:``}},{caption:``,states:{n10:``,n5:``}},{caption:``,states:{n10:``,n5:``,n7:``}}],footer:``},sortingviz:{title:``,algorithm:``,complexity:``,values:[0],steps:[{caption:``,values:[0],compared:[0]},{caption:``,values:[0],swapped:[0]}],footer:``},gridtrace:{title:``,algorithm:``,steps:[{caption:``,grid:[[{state:``}]]}],footer:``},tournamentbracket:{title:``,icon:``,iconColor:``,rounds:[``],matchups:[{id:``,round:0,slot:0,a:``,winner:``},{id:``,round:0,slot:0,a:``,b:``},{id:``,round:0,slot:0,a:``}],footer:``},prooftree:{title:``,icon:``,steps:[{id:``,statement:``},{id:``,statement:``,rule:``,from:[``]}],conclusionId:``,footer:``},fishbone:{title:``,icon:``,effect:``,categories:[{label:``,causes:[``]}],footer:``},classdiagram:{title:``,icon:``,classes:[{name:``,stereotype:``,methods:[``]},{name:``,stereotype:``,fields:[``],methods:[``]},{name:``,fields:[``],methods:[``]}],relations:[{from:``,to:``,kind:``},{from:``,to:``,kind:``,label:``}],footer:``},avatar:{title:``,icon:``,iconColor:``,name:``,initials:``,size:``,status:``,ring:!1,color:``,role:``,footer:``},avatargroup:{title:``,icon:``,iconColor:``,max:0,size:``,members:[{name:``,initials:``,color:``,status:``,role:``}],caption:``,footer:``},badgeset:{title:``,icon:``,iconColor:``,badges:[{label:``,variant:``,color:``,icon:``}],countIcon:``,count:0,countColor:``,footer:``},chipset:{title:``,icon:``,iconColor:``,mode:``,color:``,chips:[{label:``,icon:``,color:``,selected:!1},{label:``,icon:``,color:``},{label:``,icon:``,color:``,removable:!1}],summary:``,footer:``},kbd:{title:``,icon:``,iconColor:``,active:0,color:``,shortcuts:[{keys:[``],label:``,icon:``}],footer:``},codeblock:{title:``,icon:``,iconColor:``,lang:``,filename:``,lineNumbers:!1,highlight:[0],code:``,footer:``},banner:{title:``,tone:``,bannerIcon:``,iconColor:``,message:``,detail:``,action:``,dismissible:!1,footer:``},toaststack:{title:``,icon:``,iconColor:``,duration:0,pushLabel:``,toasts:[{kind:``,title:``,desc:``,icon:``}],pool:[{kind:``,title:``,desc:``,icon:``}],footer:``},spinner:{title:``,icon:``,iconColor:``,caption:``,buttonLabel:``,loadingLabel:``,color:``,footer:``},notification:{title:``,icon:``,iconColor:``,markAllLabel:``,items:[{avatar:``,color:``,title:``,time:``,unread:!1},{icon:``,color:``,title:``,time:``,unread:!1},{avatar:``,color:``,title:``,time:``},{icon:``,color:``,title:``,time:``}],footer:``},eligibilitycheck:{title:``,icon:``,overall:``,requirements:[{rule:``,status:``,detail:``},{rule:``,status:``,detail:``,fix:``}],caveat:``},evidencetrace:{title:``,icon:``,iconColor:``,claim:``,summary:``,items:[{text:``,source:``,when:``}],caveat:``,footer:``},reviewsynth:{title:``,rating:0,count:0,distribution:[0],loves:[{theme:``,freq:``,quote:``}],complaints:[{theme:``,freq:``,quote:``}],dealbreaker:``,footer:``},annotateddoc:{title:``,icon:``,iconColor:``,docName:``,paragraphs:[``],highlights:[{phrase:``,note:``,color:``,author:``}],footer:``},redline:{title:``,icon:``,iconColor:``,docName:``,tokens:[{text:``},{del:``,by:``},{ins:``,by:``}],footer:``},citationchain:{title:``,icon:``,iconColor:``,root:{label:``,cite:``,color:``,strength:``,children:[{label:``,cite:``,color:``,strength:``,children:[{label:``,cite:``,strength:``}]}]},footer:``},factcheck:{title:``,icon:``,iconColor:``,claims:[{claim:``,verdict:``,confidence:0,sources:[``],detail:``}],footer:``},confidencemeter:{title:``,icon:``,iconColor:``,claim:``,overall:0,segments:[{label:``,weight:0,band:``,basis:``}],footer:``},highlightsnippet:{title:``,icon:``,iconColor:``,quote:``,phrase:``,source:``,locator:``,color:``,footer:``},annotcallouts:{title:``,icon:``,iconColor:``,caption:``,ratio:0,callouts:[{x:0,y:0,label:``,note:``,color:``}],footer:``},sourcelist:{title:``,icon:``,iconColor:``,sources:[{domain:``,titleText:``,relevance:0,glyph:``,color:``,date:``,snippet:``},{domain:``,titleText:``,relevance:0,glyph:``,color:``,date:``}],footer:``},claimgrid:{title:``,icon:``,iconColor:``,columns:[``],rows:[{claim:``,cells:[{state:``,note:``},{state:``}]},{claim:``,cells:[{state:``},{state:``,note:``}]}],footer:``},docoutline:{title:``,icon:``,iconColor:``,docName:``,activeIndex:0,sections:[{heading:``,loc:``,weight:0},{heading:``,loc:``,weight:0,children:[{heading:``,loc:``,weight:0}]}],footer:``},docview:{title:``,icon:``,iconColor:``,source:``,page:{n:0,of:0},blocks:[{kind:``,text:``},{kind:``,text:``,spot:!1}],note:``,footer:``},pdfreader:{title:``,icon:``,iconColor:``,source:``,file:``,footer:``},diffviewer:{title:``,leftLabel:``,rightLabel:``,lines:[{kind:``,text:``,oldNo:0,newNo:0},{kind:``,text:``,oldNo:0},{kind:``,text:``,newNo:0}]},clinicaltimeline:{title:``,events:[{date:``,type:``,label:``}]},researchsummary:{title:``,question:``,method:``,sampleSize:``,year:``,findings:[``],conclusion:``,limitations:``,source:``},hypothesiscard:{title:``,icon:``,iconColor:``,h0:``,h1:``,direction:``,alpha:0,variables:{iv:``,dv:``},rejected:!1,footer:``},paralleltext:{title:``,icon:``,iconColor:``,caption:``,columns:[{label:``,lang:``}],rows:[{cells:[``],note:``},{cells:[``],note:``,diverge:!1}],footer:``},resume:{name:``,title:``,icon:``,iconColor:``,contact:[``],summary:``,experience:[{role:``,org:``,start:``,location:``,bullets:[``]},{role:``,org:``,start:``,end:``,location:``,bullets:[``]}],education:[{school:``,credential:``,start:``,end:``,detail:``}],skills:[``],footer:``},changelog:{title:``,icon:``,iconColor:``,versions:[{version:``,date:``,entries:[{kind:``,text:``}]}],footer:``},lessonplan:{title:``,icon:``,iconColor:``,subject:``,gradeLevel:``,objectives:[``],materials:[``],procedure:[{step:``,detail:``,minutes:0}],assessment:``,footer:``},casebrief:{title:``,icon:``,iconColor:``,citation:``,parties:{plaintiff:``,defendant:``},facts:``,issue:``,holding:``,reasoning:``,footer:``},patentclaimchart:{title:``,icon:``,iconColor:``,claimElements:[{id:``,text:``}],references:[``],cells:[[{state:``,quote:``}],[{state:``,quote:``},{state:``}],[{state:``}]],footer:``},storystructure:{title:``,icon:``,iconColor:``,lede:``,nutGraf:``,body:[``],background:[``],wordCount:0,wordCountBudget:0,footer:``},vetpatientchart:{title:``,icon:``,iconColor:``,species:``,name:``,breed:``,sex:``,weightKg:0,vitals:[{label:``,value:0,unit:``},{label:``,value:``}],problems:[``],footer:``},scoutingreport:{title:``,icon:``,iconColor:``,opponent:``,tendencies:[``],matchupNotes:[{label:``,note:``}],keyPlayers:[{name:``,role:``,note:``}],footer:``},allocatepeople:{title:``,icon:``,iconColor:``,people:[``],assignments:[{task:``,who:``,weight:0}],footer:``},forecast:{title:``,icon:``,iconColor:``,location:``,unit:``,asOf:``,days:[{label:``,condition:``,hi:``,lo:``,precipitation:``}],summary:``,footer:``},agenda:{title:``,icon:``,iconColor:``,date:``,items:[{time:``,duration:``,title:``,location:``},{time:``,duration:``,title:``,location:``,note:``},{time:``,title:``,note:``}],footer:``},picks:{title:``,icon:``,iconColor:``,category:``,items:[{name:``,tagline:``,why:``,price:``,rating:``,badge:``},{name:``,tagline:``,why:``,price:``,rating:``}],footer:``},timezones:{title:``,icon:``,iconColor:``,baseTime:``,rows:[{city:``,timezone:``,offset:``,localTime:``,isHome:!1},{city:``,timezone:``,offset:``,localTime:``}],footer:``},transitroute:{title:``,icon:``,iconColor:``,origin:``,destination:``,totalTime:``,totalDistance:``,steps:[{mode:``,instruction:``,duration:``,distance:``},{mode:``,instruction:``,duration:``,line:``}],footer:``},amortization:{title:``,icon:``,iconColor:``,principal:``,rate:``,term:``,monthlyPayment:``,rows:[{period:``,payment:``,principal:``,interest:``,balance:``}],footer:``},receipt:{title:``,icon:``,iconColor:``,merchant:``,date:``,lines:[{item:``,qty:``,unit:``,total:``}],subtotal:``,tax:``,total:``,footer:``},settleup:{title:``,icon:``,iconColor:``,people:[``],expenses:[{description:``,amount:``,paidBy:``}],settlements:[{from:``,to:``,amount:``}],footer:``},bracketbar:{title:``,icon:``,iconColor:``,metric:``,items:[{label:``,value:0,bar:``,badge:``}],footer:``},recipecard:{title:``,servings:``,prepTime:``,cookTime:``,difficulty:``,ingredients:[{qty:``,name:``}],steps:[``],tips:[``]},workoutplan:{title:``,goal:``,weeks:0,sessions:[{day:``,focus:``,exercises:[{name:``,sets:0,reps:``},{name:``,sets:0,reps:``,rest:``}]},{day:``,focus:``,exercises:[{name:``,sets:0,reps:``,rest:``}]}]},medicationschedule:{title:``,medications:[{name:``,dose:``,frequency:``,times:[``],withFood:!1,notes:``}]},macrobreakdown:{title:``,calories:0,protein:0,carbs:0,fat:0,fiber:0,items:[{label:``,calories:0,protein:0,carbs:0,fat:0}]},plangrid:{title:``,icon:``,iconColor:``,caption:``,columns:[``],rows:[{slot:``,cells:[{col:``,label:``,sub:``,accent:``},{col:``,label:``,sub:``}]},{slot:``,cells:[{col:``,label:``,sub:``}]}],summary:[``],footer:``},budgetallocator:{title:``,icon:``,iconColor:``,income:0,unit:``,incomeLabel:``,caption:``,envelopes:[{label:``,amount:0,group:``},{label:``,amount:0,group:``,note:``}],footer:``},howtosteps:{title:``,icon:``,iconColor:``,time:``,difficulty:``,warning:``,tools:[``],steps:[{action:``,detail:``,check:``},{action:``,detail:``,tip:``,check:``},{action:``,detail:``,caution:``,check:``},{action:``,check:``}],footer:``},livecompute:{title:``,icon:``,inputs:[{key:``,label:``,min:0,max:0,value:0,step:0,prefix:``,unit:``}],formula:``,output:{label:``,unit:``,decimals:0},caveat:``,footer:``},countdown:{title:``,icon:``,target:``,label:``,dueWhat:``,consequence:``,footer:``},livescore:{title:``,icon:``,unit:``,step:0,entries:[{name:``,score:0,color:``}],footer:``},nutritionlabel:{title:``,icon:``,servingSize:``,servings:``,calories:0,nutrients:[{name:``,amount:``,dv:0,bold:!1},{name:``,amount:``,dv:0,indent:!1},{name:``,amount:``,indent:!1}],allergens:[``]},unitconvert:{title:``,icon:``,quantity:0,from:``,category:``,equivalents:[{value:``,unit:``}]},packlist:{title:``,icon:``,context:``,groups:[{name:``,items:[{label:``,count:0,packed:!1}]}]},pregnancyweek:{title:``,icon:``,week:0,trimester:0,fruitSize:``,lengthCm:0,weightG:0,milestones:[``]},cycletrack:{title:``,icon:``,cycleLength:0,periodDays:0,currentDay:0,fertileWindow:[0],ovulationDay:0,caption:``},contractiontimer:{title:``,icon:``,rule:``,contractions:[{start:``,durationSec:0,intervalMin:0},{start:``,durationSec:0}],caption:``},prayertimes:{title:``,icon:``,iconColor:``,date:``,location:``,next:``,sunArc:!1,slots:[{name:``,time:``}],caption:``},labprotocol:{title:``,iconColor:``,reagents:[{name:``,amount:``,conc:``}],equipment:[``],steps:[{text:``,temp:``},{text:``,duration:``,temp:``}],cycles:{repeat:0,steps:[{text:``,duration:``,temp:``}]},footer:``},caregivercoord:{title:``,icon:``,iconColor:``,personName:``,relation:``,medications:[{name:``,times:[``],takenBy:``}],appointments:[{date:``,provider:``,purpose:``}],contacts:[{name:``,role:``,phone:``}],footer:``},readinglist:{title:``,icon:``,iconColor:``,books:[{title:``,author:``,status:``,rating:0,discussionQuestions:[``]},{title:``,author:``,status:``}],footer:``},cocktailcard:{title:``,icon:``,iconColor:``,rating:0,pours:[{qty:``,item:``}],notes:{aroma:``,taste:``,finish:``}},runninglog:{title:``,icon:``,unit:``,entries:[{date:``,distance:0,pace:``,route:``},{date:``,distance:0,pace:``,route:``,elevationGainM:0}],footer:``},userpersona:{title:``,icon:``,iconColor:``,name:``,role:``,quote:``,goals:[``],frustrations:[``],behaviors:[``],footer:``},runofshow:{title:``,icon:``,iconColor:``,eventDate:``,cues:[{time:``,cue:``,owner:``,state:``},{time:``,cue:``,owner:``,duration:``,state:``},{time:``,cue:``,owner:``,duration:``}],footer:``},podcastplanner:{title:``,icon:``,iconColor:``,guest:``,topics:[``],chapters:[{timecode:``,label:``}],footer:``},vaxschedule:{title:``,icon:``,iconColor:``,doses:[{vaccine:``,dueAt:``,status:``},{vaccine:``,dueAt:``,status:``,note:``}],footer:``},claimagecompare:{title:``,icon:``,iconColor:``,ages:[{age:0,monthlyBenefit:0}],breakeven:{age:0,note:``},footer:``},weathernow:{title:``,icon:``,iconColor:``,location:``,tempF:0,feelsLikeF:0,condition:``,hi:0,lo:0,asOf:``,hourly:[{time:``,tempF:0,icon:``,precipPct:0}],tiles:[{label:``,value:``,icon:``}]},tierlist:{title:``,icon:``,iconColor:``,caption:``,rows:[{tier:``,color:``,items:[``]},{tier:``,color:``,items:[]}],footer:``},paystub:{title:``,icon:``,iconColor:``,employer:``,payPeriod:``,payDate:``,grossPay:``,earnings:[{label:``,amount:``}],deductions:[{label:``,amount:``}],netPay:``,ytdNet:``,footer:``},taxbracket:{title:``,icon:``,iconColor:``,filingStatus:``,income:0,bands:[{min:0,max:0,rate:0}],footer:``},menucard:{title:``,icon:``,iconColor:``,venue:``,subtitle:``,sections:[{name:``,items:[{name:``,price:``,desc:``},{name:``,price:``,tags:[``]}]},{name:``,items:[{name:``,price:``}]}],footer:``},familytree:{title:``,icon:``,iconColor:``,rootId:``,people:[{id:``,name:``,birth:``,death:``},{id:``,name:``,birth:``,death:``,partner:``},{id:``,name:``,birth:``},{id:``,name:``,birth:``,parents:[``],partner:``}],footer:``},seatingchart:{title:``,icon:``,iconColor:``,venue:``,tables:[{id:``,label:``,seats:0,shape:``}],assignments:[{tableId:``,seatIndex:0,guest:``}],footer:``},relationshipmap:{title:``,icon:``,iconColor:``,layout:``,people:[{id:``,name:``,role:``}],ties:[{source:``,target:``,kind:``}],footer:``},meetingnotes:{title:``,icon:``,iconColor:``,meetingDate:``,attendees:[``],discussionPoints:[``],decisions:[``],actionItems:[{task:``,owner:``,dueDate:``,done:!1}],footer:``},stickerchart:{title:``,icon:``,iconColor:``,behavior:``,days:[``],marks:[{day:``,earned:!1}],rewardAt:0,footer:``},statblock:{title:``,icon:``,iconColor:``,name:``,meta:``,ac:0,hp:0,hpFormula:``,speed:``,abilities:{str:0,dex:0,con:0,int:0,wis:0,cha:0},saves:[``],skills:[``],senses:``,languages:``,challenge:``,traits:[{name:``,text:``}],actions:[{name:``,text:``}],reactions:[{name:``,text:``}],footer:``},vestingschedule:{title:``,icon:``,iconColor:``,asOf:``,grants:[{holder:``,grantDate:``,totalShares:0,cliffMonths:0,vestMonths:0,color:``}],footer:``},termsheet:{title:``,icon:``,iconColor:``,company:``,round:``,date:``,terms:[{label:``,value:``},{label:``,value:``,note:``}],footer:``},fundraisingrounds:{title:``,icon:``,iconColor:``,currency:``,rounds:[{name:``,preMoney:0,raised:0,postMoney:0,leadInvestor:``,date:``},{name:``,preMoney:0,raised:0,postMoney:0,leadInvestor:``,date:``,stepUp:0}],footer:``},saferterms:{title:``,icon:``,iconColor:``,instrument:``,investor:``,principal:0,valuationCap:0,discountPct:0,mfn:!1,conversionNote:``},dilutionwaterfall:{title:``,icon:``,iconColor:``,rounds:[{round:``,holders:[{holder:``,pct:0,color:``}]}],footer:``},threestatementlink:{title:``,icon:``,iconColor:``,period:``,statements:[{name:``,rows:[{label:``,value:0},{label:``,value:0,bold:!1}]},{name:``,rows:[{label:``,value:0},{label:``,value:0,bold:!1},{label:``,value:0,indent:0}]}],links:[{from:``,to:``,label:``}],currency:``,footer:``},yieldcurve:{title:``,icon:``,iconColor:``,curve:[{tenor:``,rate:0}],compareCurve:[{tenor:``,rate:0}],footer:``},efficientfrontier:{title:``,icon:``,iconColor:``,assets:[{label:``,risk:0,return:0},{label:``,risk:0,return:0,highlight:!1}],frontier:[{risk:0,return:0}],footer:``},bondladder:{title:``,icon:``,iconColor:``,rungs:[{label:``,maturity:``,yieldPct:0,faceValue:0}],footer:``},cashflowtimeline:{title:``,icon:``,iconColor:``,flows:[{period:0,amount:0,label:``}],periodLabel:``,discountRate:0,currency:``,footer:``},trustmap:{title:``,icon:``,iconColor:``,flows:[{data:``,location:``,access:``,retention:``}],checklist:[{label:``,ok:!1}],note:``,footer:``},kanban:{title:``,icon:``,iconColor:``,stages:[{name:``,accent:``,cards:[{id:``,title:``,tag:``,tagColor:``,assignee:``,points:0}]}],footer:``},wizard:{title:``,icon:``,iconColor:``,activeStep:0,steps:[{label:``,caption:``,status:``,body:``,bullets:[``]}],footer:``},decisiontree:{title:``,icon:``,iconColor:``,rootId:``,nodes:[{id:``,question:``,detail:``,yes:``,no:``},{id:``,question:``,outcome:``,outcomeColor:``}],footer:``},goaltree:{title:``,icon:``,iconColor:``,objectives:[{name:``,owner:``,progress:0,keyResults:[{label:``,progress:0,target:``,color:``}]}],footer:``},plandag:{title:``,icon:``,iconColor:``,nodes:[{id:``,label:``,col:0,row:0,status:``,meta:``}],edges:[{from:``,to:``}],footer:``},milestones:{title:``,icon:``,iconColor:``,milestones:[{label:``,date:``,status:``,detail:``,owner:``}],footer:``},processflow:{title:``,icon:``,iconColor:``,steps:[{label:``,detail:``,icon:``},{label:``,detail:``,icon:``,branch:``}],footer:``},journeymap:{title:``,icon:``,iconColor:``,persona:``,stages:[{name:``,action:``,emotion:0,touchpoints:[``],opportunity:``}],footer:``},logicmodel:{title:``,icon:``,iconColor:``,columns:[{stage:``,items:[``]}],footer:``},orgchart:{title:``,icon:``,iconColor:``,rootId:``,nodes:[{id:``,name:``,role:``,accent:``,children:[``]},{id:``,name:``,role:``,accent:``}],footer:``},issuetree:{title:``,icon:``,iconColor:``,rootQuestion:``,nodes:[{id:``,label:``,children:[``]},{id:``,label:``,isLeaf:!1,finding:``}],footer:``},roadmap:{title:``,icon:``,iconColor:``,quarters:[``],lanes:[{name:``,accent:``,items:[{label:``,startQ:0,spanQ:0,status:``,detail:``},{label:``,startQ:0,spanQ:0,status:``}]},{name:``,accent:``,items:[{label:``,startQ:0,spanQ:0,status:``}]}],footer:``},contentcalendar:{title:``,icon:``,iconColor:``,platforms:[``],weeks:[``],cells:[{platform:``,week:``,status:``,title:``}],footer:``},headcountplan:{title:``,icon:``,iconColor:``,depts:[{name:``,budgeted:0,filled:0,openReqs:0}],footer:``},chronologicaltimeline:{title:``,icon:``,iconColor:``,startLabel:``,endLabel:``,events:[{at:0,date:``,title:``,detail:``},{at:0,date:``,title:``,detail:``,color:``}],footer:``},skilltree:{title:``,icon:``,iconColor:``,caption:``,nodes:[{id:``,label:``,tier:0,state:``,cost:``},{id:``,label:``,tier:0,state:``,cost:``,requires:[``]}],footer:``},businesscanvas:{title:``,variant:``,keyPartners:[``],keyActivities:[``],keyResources:[``],valueProposition:[``],customerRelationships:[``],channels:[``],customerSegments:[``],costStructure:[``],revenueStreams:[``],footer:``},buttonbar:{title:``,icon:``,iconColor:``,color:``,hint:``,buttons:[{label:``,variant:``,icon:``},{variant:``,icon:``}],footer:``},textfield:{title:``,icon:``,iconColor:``,color:``,fields:[{label:``,value:``,icon:``,state:``,helper:``},{label:``,placeholder:``,value:``,icon:``,state:``,helper:``},{label:``,placeholder:``,password:!1,icon:``,state:``,helper:``,optional:!1}],footer:``},textarea:{title:``,icon:``,iconColor:``,color:``,label:``,placeholder:``,value:``,max:0,minRows:0,footer:``},select:{title:``,icon:``,iconColor:``,color:``,label:``,placeholder:``,selected:0,options:[{label:``,caption:``,icon:``}],footer:``},combobox:{title:``,icon:``,iconColor:``,color:``,label:``,placeholder:``,noun:``,selected:0,items:[{label:``,meta:``,icon:``}],footer:``},checkboxgroup:{title:``,icon:``,iconColor:``,allLabel:``,items:[{label:``,caption:``,checked:!1},{label:``,caption:``}],footer:``},actionchecklist:{title:``,icon:``,iconColor:``,color:``,subtitle:``,items:[{label:``,detail:``,meta:``,done:!1},{label:``,detail:``,priority:``,meta:``,done:!1},{label:``,detail:``,priority:``,meta:``}],footer:``},radiogroup:{title:``,icon:``,iconColor:``,layout:``,options:[{label:``,caption:``,icon:``,value:``}],selected:0,color:``,footer:``},switchset:{title:``,icon:``,iconColor:``,color:``,items:[{label:``,description:``,icon:``,on:!1}],footer:``},togglegroup:{title:``,icon:``,iconColor:``,mode:``,items:[{label:``,title:``},{label:``,title:``,on:!1}],hint:``,color:``,footer:``},otp:{title:``,icon:``,iconColor:``,color:``,prompt:``,length:0,code:``,resendLabel:``,footer:``},preflightchecklist:{title:``,icon:``,iconColor:``,aircraft:``,sections:[{name:``,items:[{label:``,critical:!1,checked:!1},{label:``,checked:!1}]},{name:``,items:[{label:``,critical:!1},{label:``}]},{name:``,items:[{label:``}]},{name:``,items:[{label:``},{label:``,critical:!1}]}],footer:``},estateplanchecklist:{title:``,icon:``,iconColor:``,documents:[{category:``,status:``,lastReviewed:``},{category:``,status:``}],footer:``},visachecklist:{title:``,icon:``,iconColor:``,caseType:``,documents:[{name:``,required:!1,status:``}],footer:``},callout:{title:``,icon:``,iconColor:``,tone:``,kicker:``,body:``,points:[``],footer:``},verdictcard:{title:``,stance:``,label:``,verdict:``,reason:``,caveat:``,confidence:``,footer:``},scenarioset:{title:``,icon:``,iconColor:``,metric:``,scenarios:[{kind:``,value:``,detail:``,points:[``]}],footer:``},worthit:{title:``,product:``,verdict:``,price:``,priceNote:``,worthItIf:[``],skipIf:[``],dealBreaker:``,forWho:``,bottomLine:``,footer:``},companionnote:{reflection:``,follow:``,chip:``},positioncard:{title:``,icon:``,levels:[{label:``,tone:``,detail:``}],atLevel:0,marker:``,reason:``,watchFor:[``],caveat:``},differential:{title:``,icon:``,causes:[{name:``,likelihood:``,tell:``,pointsAway:``},{name:``,likelihood:``,serious:!1,tell:``,pointsAway:``}],prompt:``,caveat:``},reframecard:{title:``,thought:``,distortion:``,reframe:``,footer:``},breathpacer:{title:``,pattern:``,note:``},copingmenu:{title:``,icon:``,intro:``,options:[{label:``,detail:``,effort:``,time:``,icon:``}],footer:``},subtextdecode:{title:``,flavor:``,message:``,readings:[{interpretation:``,likelihood:``,cue:``}],cantKnow:``,reply:``},rehearsal:{title:``,icon:``,opener:``,branches:[{reaction:``,say:``,why:``}],exit:``,footer:``},messagescriptset:{title:``,intro:``,scripts:[{target:``,channel:``,message:``,rebuttal:``}],footer:``},talktrack:{title:``,icon:``,totalTime:``,lines:[{say:``,beat:``,note:``},{say:``,beat:``}],footer:``},lifeline:{title:``,message:``,safetyQuestion:``,resources:[{name:``,contact:``,href:``,note:``}],grounding:``,reassurance:``},proscons:{title:``,icon:``,iconColor:``,prosLabel:``,consLabel:``,pros:[{text:``,weight:0,note:``},{text:``,weight:0}],cons:[{text:``,weight:0,note:``},{text:``,weight:0}],verdict:``,footer:``},takeaways:{title:``,icon:``,iconColor:``,heading:``,items:[{text:``,color:``,detail:``},{text:``,color:``}],footer:``},faq:{title:``,icon:``,iconColor:``,defaultOpen:0,multi:!1,items:[{q:``,a:``,tag:``}],footer:``},tabs:{title:``,icon:``,iconColor:``,accent:``,defaultTab:0,tabs:[{label:``,icon:``,badge:0,body:``},{label:``,icon:``,body:``}],footer:``},divider:{title:``,eyebrow:``,heading:``,sub:``,badge:``,badgeColor:``,icon:``,iconColor:``,chips:[{label:``,color:``}]},pullquote:{title:``,icon:``,iconColor:``,quote:``,author:``,role:``,tone:``,variants:[{quote:``,author:``}],footer:``},storystrip:{title:``,icon:``,iconColor:``,panels:[{heading:``,icon:``,body:``,color:``,caption:``}],footer:``},casestudy:{title:``,icon:``,iconColor:``,subject:``,defaultStage:``,setup:{body:``},action:{body:``,metric:``},result:{body:``,metric:``},lesson:{body:``},footer:``},deflist:{title:``,icon:``,iconColor:``,placeholder:``,items:[{term:``,def:``,tag:``,color:``}],footer:``},accordion:{title:``,icon:``,iconColor:``,defaultOpen:0,multi:!1,sections:[{label:``,icon:``,meta:``,tag:``,body:``},{label:``,icon:``,meta:``,tag:``,tagColor:``,body:``}],footer:``},scansionmark:{title:``,meter:``,lines:[{syllables:[{text:``,stress:``}],feet:[0],rhyme:``}],caption:``,footer:``},typespec:{title:``,icon:``,iconColor:``,styles:[{name:``,sample:``,sizePx:0,weight:0,lineHeight:0,tracking:``,family:``,color:``},{name:``,sample:``,sizePx:0,weight:0,lineHeight:0,tracking:``,family:``},{name:``,sample:``,sizePx:0,weight:0,lineHeight:0,family:``}],pairing:{heading:``,body:``},caption:``},shotlist:{title:``,icon:``,iconColor:``,shots:[{n:0,size:``,movement:``,lens:``,duration:``,action:``},{n:0,size:``,movement:``,lens:``,duration:``,action:``,dialogue:``}],caption:``},beatsheet:{title:``,icon:``,iconColor:``,framework:``,beats:[{name:``,at:``,line:``}],tension:[0],caption:``},promptset:{title:``,icon:``,iconColor:``,theme:``,prompts:[{question:``,guidance:``}],caption:``},zoneladder:{title:``,icon:``,iconColor:``,metric:``,current:0,zones:[{name:``,range:``,effort:``,purpose:``}],caption:``},picturesequence:{title:``,icon:``,iconColor:``,panels:[{label:``,marker:``,caption:``}],caption:``},storyarc:{title:``,icon:``,iconColor:``,framework:``,beats:[{stage:``,label:``}]},devicemark:{title:``,text:``,marks:[{phrase:``,device:``,note:``}]},thoughtrecord:{title:``,icon:``,situation:``,automaticThought:``,emotion:``,emotionIntensity:0,evidenceFor:[``],evidenceAgainst:[``],alternativeThought:``,outcomeEmotion:``,outcomeIntensity:0,footer:``},equationblock:{title:``,icon:``,math:{t:``,items:[{t:``,v:``},{t:``,base:{t:``,v:``},sup:{t:``,items:[{t:``,v:``},{t:``,num:{t:``,v:``},den:{t:``,items:[{t:``,v:``}]}}]}}]},number:``,caption:``},numberline:{title:``,min:0,max:0,step:0,unit:``,points:[{value:0,label:``,color:``}],intervals:[{from:0,to:0,label:``,color:``}]},workedexample:{title:``,problem:``,steps:[{label:``,math:{t:``,items:[{t:``,v:``}]},why:``}],result:{t:``,items:[{t:``,v:``}]}},quiz:{title:``,question:``,options:[{text:``},{text:``,correct:!1,feedback:``}],explanation:``},flashcard:{title:``,icon:``,iconColor:``,cards:[{front:``,back:``}],footer:``},molecularstructure:{title:``,formula:``,atoms:[{el:``,x:0,y:0,implicit:!1},{el:``,x:0,y:0}],bonds:[{from:0,to:0}]},periodictable:{title:``,categories:[{key:``,label:``,color:``}],elements:[{z:0,symbol:``,name:``,col:0,row:0},{z:0,symbol:``,name:``,col:0,row:0,cat:``},{z:0,symbol:``,name:``,col:0,row:0,cat:``,on:!1},{z:0,symbol:``,name:``,col:0,row:0,on:!1}],footer:``},bodymap:{title:``,icon:``,iconColor:``,regions:[{id:``,label:``,color:``,note:``}],footer:``},geometrycanvas:{title:``,icon:``,iconColor:``,xRange:[0],yRange:[0],xLabel:``,yLabel:``,points:[{x:0,y:0,label:``,color:``}],polygons:[{vertices:[{x:0,y:0}],color:``}],angles:[{vertex:{x:0,y:0},from:{x:0,y:0},to:{x:0,y:0},label:``,color:``},{vertex:{x:0,y:0},from:{x:0,y:0},to:{x:0,y:0},label:``,color:``,rightAngle:!1}],annotations:[{x:0,y:0,text:``,color:``},{x:0,y:0,text:``,color:``,anchor:``}],footer:``},freebodydiagram:{title:``,icon:``,iconColor:``,object:``,forces:[{label:``,angle:0,magnitude:0,color:``}],footer:``},musicstaff:{title:``,icon:``,iconColor:``,clef:``,timeSignature:``,tempo:0,notes:[{pitch:``,duration:``}],footer:``},vectorspace:{title:``,icon:``,iconColor:``,vectors:[{x:0,y:0,label:``,color:``}],transformed:[{x:0,y:0,label:``,color:``}],xRange:[0],yRange:[0],footer:``},reactionmechanism:{title:``,reactionType:``,steps:[{label:``,tag:``},{label:``,color:``,tag:``}],conditions:[``],footer:``},chorddiagram:{title:``,chordName:``,instrument:``,frets:[0],fingers:[0,null],notes:[``]},developmentmilestone:{title:``,ageLabel:``,domains:[{domain:``,milestones:[{label:``,achieved:!1}]}]},teachdiagram:{title:``,ratio:0,baseShapes:[{kind:``,x1:0,y1:0,x2:0,y2:0,color:``}],steps:[{caption:``,add:[{kind:``,points:``,fill:``,color:``},{kind:``,d:``,color:``}],emphasize:[0]},{caption:``,add:[],labels:[{x:0,y:0,text:``,side:``}]},{caption:``,add:[{kind:``,x1:0,y1:0,x2:0,y2:0,color:``}],labels:[{x:0,y:0,text:``,side:``,color:``}],emphasize:[0]},{caption:``,add:[],labels:[{x:0,y:0,text:``,side:``,color:``}]}]},gridmatrix:{title:``,variant:``,cells:[[0]],note:``},fractionbar:{title:``,fractions:[{numerator:0,denominator:0,label:``}],showPie:!1,note:``},wave:{title:``,icon:``,iconColor:``,xUnit:``,showWavelength:!1,showAmplitude:!1,waves:[{amplitude:0,wavelength:0,label:``,color:``}],footer:``},energydiagram:{title:``,icon:``,iconColor:``,yUnit:``,reactants:0,ts:0,products:0,reactantLabel:``,tsLabel:``,productLabel:``,footer:``},phylotree:{title:``,icon:``,iconColor:``,root:{children:[{name:``},{children:[{name:``},{children:[{name:``},{children:[{name:``}]}]}]}]},clades:[{label:``,tips:[``],color:``}],traits:[{on:``,label:``,color:``}],footer:``},parsetree:{title:``,icon:``,iconColor:``,sentence:``,colorPos:!1,root:{label:``,children:[{label:``,children:[{label:``,word:``}]},{label:``,children:[{label:``,word:``},{label:``,children:[{label:``,word:``},{label:``,children:[{label:``,word:``}]}]}]}]},footer:``},celldiagram:{title:``,icon:``,iconColor:``,cellType:``,parts:[{key:``,note:``},{key:``,highlight:!1,color:``,note:``}],footer:``},raydiagram:{title:``,icon:``,iconColor:``,element:``,objectDistance:0,focalLength:0,objectHeight:0,footer:``},vectorfield:{title:``,icon:``,iconColor:``,xLabel:``,yLabel:``,xRange:[0],yRange:[0],samples:[{x:0,y:0,slope:0}],curves:[{label:``,color:``,points:[{x:0,y:0}]}],footer:``},pedigree:{title:``,icon:``,iconColor:``,people:[{id:``,sex:``,carrier:!1,genotype:``,label:``},{id:``,sex:``,carrier:!1,genotype:``,label:``,partner:``},{id:``,sex:``,label:``,parents:[``],genotype:``},{id:``,sex:``,affected:!1,proband:!1,label:``,parents:[``],genotype:``},{id:``,sex:``,carrier:!1,label:``,parents:[``],genotype:``,partner:``}],footer:``},bohrmodel:{title:``,icon:``,iconColor:``,symbol:``,name:``,protons:0,neutrons:0,shells:[0],footer:``},equationbalancer:{title:``,icon:``,iconColor:``,balanced:!1,reactants:[{formula:``,coeff:0}],products:[{formula:``,coeff:0}],elementTally:[{element:``,left:0,right:0}],caption:``,footer:``},yieldcalc:{title:``,icon:``,iconColor:``,reaction:``,limitingReagent:``,molesAvailable:[{reagent:``,moles:0}],theoreticalYield:0,actualYield:0,unit:``,footer:``},vseprmolecule:{title:``,icon:``,iconColor:``,central:``,bonds:[{atom:``,order:0}],lonePairs:0,shape:``,bondAngle:``,caption:``,footer:``},unitcircle:{title:``,icon:``,iconColor:``,angleDeg:0,showSpecial:!1,caption:``,footer:``},solidfigure:{title:``,icon:``,iconColor:``,solid:``,dims:{w:0,h:0,d:0},labels:{v:0,e:0,f:0},surfaceArea:``,volume:``,caption:``,footer:``},crosssection:{title:``,icon:``,iconColor:``,orientation:``,depthUnit:``,layers:[{name:``,thickness:0,color:``,note:``}],caption:``,footer:``},pianokeys:{title:``,icon:``,iconColor:``,chordName:``,startNote:``,octaves:0,showLabels:!1,highlight:[{note:``,role:``}],caption:``,footer:``},fretboardmap:{title:``,icon:``,iconColor:``,scaleName:``,strings:0,frets:0,tuning:[``],dots:[{string:0,fret:0,label:``,role:``}],caption:``},circleoffifths:{title:``,icon:``,iconColor:``,highlightKey:``,showMinors:!1,related:[``],caption:``},odontogram:{title:``,icon:``,iconColor:``,system:``,teeth:[{n:0,status:``,surface:``},{n:0,status:``,note:``},{n:0,status:``}],caption:``},clockface:{title:``,icon:``,iconColor:``,time:``,digital:!1,caption:``},moneytray:{title:``,icon:``,iconColor:``,currency:``,mode:``,tokens:[{denom:0,label:``,count:0}],caption:``},placevaluechart:{title:``,icon:``,iconColor:``,value:0,showBlocks:!1,expanded:!1,caption:``},shapecard:{title:``,icon:``,iconColor:``,shapes:[{name:``,kind:``,sides:0,vertices:0,example:``},{name:``,kind:``,faces:0,edges:0,vertices:0,example:``}],caption:``},letterform:{title:``,icon:``,iconColor:``,letter:``,case:``,showGuides:!1,strokes:[{order:0,hint:``}],caption:``},toolscale:{title:``,icon:``,iconColor:``,instrument:``,value:0,max:0,unit:``,fractional:!1,caption:``},craftchart:{title:``,icon:``,iconColor:``,craft:``,rows:0,cols:0,cells:[{r:0,c:0,color:``,symbol:``}],legend:[{symbol:``,color:``,meaning:``},{meaning:``}],caption:``},areamodel:{title:``,icon:``,iconColor:``,factorA:[0],factorB:[0],showProducts:!1,showSum:!1,caption:``},gridtransform:{title:``,icon:``,iconColor:``,matrix:[[0]],showEigens:!1,animated:!1},polarplot:{title:``,icon:``,iconColor:``,fn:``,domain:[0]},twocolumnproof:{title:``,icon:``,iconColor:``,given:``,prove:``,steps:[{statement:``,reason:``}]},pyramidtiers:{title:``,icon:``,iconColor:``,tiers:[{label:``,note:``}],caption:``},linespectrum:{title:``,icon:``,iconColor:``,lines:[{wavelength:0,intensity:0,label:``}],mode:``,elementLabel:``,caption:``},dnahelix:{title:``,icon:``,iconColor:``,bases:[{pair:``},{pair:``,highlight:!1}],mode:``,showLabels:!1,caption:``},taylorseries:{title:``,icon:``,iconColor:``,fn:``,center:0,showTerms:0},phaseportrait:{title:``,icon:``,iconColor:``,fx:``,gy:``,xDomain:[0],yDomain:[0],showNullclines:!1,trajectories:[{x0:0,y0:0}],xlabel:``,ylabel:``},sightwordlist:{title:``,icon:``,iconColor:``,listName:``,words:[{word:``,mastery:``}]},alphabetchart:{title:``,icon:``,iconColor:``},columnarithmetic:{title:``,icon:``,iconColor:``,op:``,operands:[0],showCarries:!1,caption:``},titrationcurve:{title:``,icon:``,iconColor:``,points:[{volumeMl:0,pH:0}],equivalenceVolumeMl:0,pKa:0,bufferBand:[0],footer:``},interferencepattern:{title:``,icon:``,iconColor:``,slits:0,wavelengthNm:0,slitSeparationUm:0,intensity:[{position:0,value:0}],footer:``},orbitaldiagram:{title:``,icon:``,iconColor:``,element:``,orbitals:[{subshell:``,electrons:[0]}],configString:``,footer:``},pictograph:{title:``,icon:``,iconColor:``,unitValue:0,rows:[{label:``,count:0}],footer:``},particlemodel:{title:``,icon:``,iconColor:``,panels:[{phase:``,label:``,particleCount:0}],footer:``},morphemebreakdown:{title:``,icon:``,iconColor:``,word:``,morphemes:[{text:``,role:``,meaning:``}],footer:``},practicelog:{title:``,icon:``,iconColor:``,instrument:``,sessions:[{date:``,minutes:0,focus:``,note:``},{date:``,minutes:0,piece:``,note:``},{date:``,minutes:0,piece:``},{date:``,minutes:0,focus:``}]},taxonrank:{title:``,icon:``,iconColor:``,scientificName:``,ranks:[{level:``,name:``}],footer:``},numbersequence:{title:``,icon:``,iconColor:``,kind:``,terms:[0],rule:``,highlightPattern:!1},constantcard:{title:``,icon:``,iconColor:``,symbol:``,value:``,digitsShown:0,significance:``,visual:``},elementcard:{title:``,icon:``,iconColor:``,symbol:``,name:``,z:0,mass:0,category:``,electronConfig:``,shells:[0],discovered:``,meltingPoint:0,boilingPoint:0,uses:[``],footer:``},energybarchart:{title:``,icon:``,iconColor:``,unit:``,system:[``],snapshots:[{label:``,bars:[{kind:``,value:0}]}],footer:``},guitartab:{title:``,icon:``,iconColor:``,tuning:``,beatsPerMeasure:0,measuresPerRow:0,tempo:0,notes:[{measure:0,beat:0,string:0,fret:0,technique:``},{measure:0,beat:0,string:0,fret:0}],footer:``},karyotype:{title:``,icon:``,iconColor:``,sex:``,anomalies:[{pair:``,kind:``,note:``}],highlightPairs:[``],footer:``},frayermodel:{title:``,icon:``,iconColor:``,term:``,pronunciation:``,definition:``,characteristics:[``],examples:[``],nonexamples:[``],footer:``},numberbond:{title:``,icon:``,iconColor:``,whole:0,parts:[0],factFamily:!1,label:``,footer:``},beforeafter:{title:``,icon:``,iconColor:``,before:{label:``,from:``,to:``,caption:``,src:``},after:{label:``,from:``,to:``,caption:``,src:``},position:0,footer:``},carousel:{title:``,icon:``,iconColor:``,start:0,slides:[{label:``,caption:``,from:``,to:``,tag:``,src:``}],footer:``},imagecallouts:{title:``,icon:``,iconColor:``,image:{from:``,to:``,label:``,src:``},callouts:[{x:0,y:0,label:``,detail:``,color:``}],footer:``},waveform:{title:``,icon:``,iconColor:``,durationLabel:``,color:``,position:0,bars:[0],markers:[{at:0,label:``}],footer:``},geomap:{title:``,icon:``,iconColor:``,markers:[{lat:0,lng:0,name:``,detail:``,color:``}],footer:``},lightbox:{title:``,icon:``,iconColor:``,items:[{label:``,caption:``,from:``,to:``,src:``}],footer:``},moodboard:{title:``,icon:``,iconColor:``,tiles:[{kind:``,span:0,rows:0,from:``,to:``,label:``,src:``},{kind:``,span:0,text:``},{kind:``,swatch:``,hex:``,label:``},{kind:``,from:``,to:``,label:``,src:``}],footer:``},palette:{title:``,icon:``,iconColor:``,swatches:[{name:``,hex:``,contrast:``},{name:``,hex:``,contrast:``,light:!1}],footer:``},mediacard:{title:``,icon:``,iconColor:``,cover:{src:``,from:``,to:``},year:``,runtime:``,rating:``,score:0,genres:[``],logline:``,providers:[``],footer:``},diagram:{title:``,icon:``,iconColor:``,ratio:0,shapes:[{kind:``,x:0,y:0,w:0,h:0,color:``},{kind:``,cx:0,cy:0,r:0,color:``,fill:``},{kind:``,x1:0,y1:0,x2:0,y2:0,color:``,arrow:!1}],labels:[{x:0,y:0,text:``,side:``,color:``}],footer:``},svgblock:{title:``,icon:``,iconColor:``,svg:``,caption:``,footer:``},sportspitch:{title:``,sport:``,positions:[{label:``,x:0,y:0}]},floorplan:{title:``,scale:``,rooms:[{name:``,x:0,y:0,w:0,h:0,note:``}]},dimensiondrawing:{title:``,icon:``,iconColor:``,outline:[{x:0,y:0}],dimensions:[{from:[0],to:[0],label:``}],tolerance:``,titleBlock:{part:``,scale:``,units:``},caption:``,footer:``},explodedview:{title:``,icon:``,iconColor:``,axis:``,parts:[{n:0,name:``,qty:0}],caption:``,footer:``},weldsymbol:{title:``,icon:``,iconColor:``,joint:``,side:``,size:``,length:``,pitch:``,process:``,caption:``,footer:``},cutlist:{title:``,icon:``,iconColor:``,unit:``,stock:{w:0,h:0,label:``},parts:[{label:``,w:0,h:0,qty:0}],caption:``,footer:``},spacefit:{title:``,icon:``,iconColor:``,room:{w:0,d:0,unit:``},items:[{label:``,w:0,d:0,x:0,y:0},{label:``,w:0,d:0,x:0,y:0,rot:0}],clearances:[{label:``,gap:0}],caption:``,footer:``},anatomyfigure:{title:``,icon:``,iconColor:``,organ:``,view:``,pins:[{x:0,y:0,label:``,note:``}],caption:``},exposuretriangle:{title:``,icon:``,iconColor:``,aperture:``,shutter:``,iso:0,ev:``,effects:[{axis:``,note:``}],caption:``},colorwheel:{title:``,icon:``,iconColor:``,baseHue:0,harmony:``,swatches:[{hue:0,hex:``,role:``}],caption:``},artanalysis:{title:``,icon:``,iconColor:``,overlay:``,regions:[{x:0,y:0,w:0,h:0,label:``}],palette:[{hex:``,role:``}],notes:[{label:``,text:``}],caption:``},mixerboard:{title:``,icon:``,iconColor:``,bars:0,tracks:[{name:``,color:``,volume:0,pan:0,clips:[{start:0,len:0,label:``}]},{name:``,color:``,volume:0,pan:0,mute:!1,clips:[{start:0,len:0,label:``}]},{name:``,color:``,volume:0,pan:0,solo:!1,clips:[{start:0,len:0,label:``}]}],caption:``},wireframe:{title:``,icon:``,iconColor:``,cols:0,regions:[{kind:``,label:``,col:0,rows:0}],caption:``,footer:``},maproute:{title:``,icon:``,iconColor:``,waypoints:[{lat:0,lng:0,label:``,leg:``}],distanceKm:0,elevationGainM:0,caption:``},moonphase:{title:``,icon:``,iconColor:``,illumination:0,waxing:!1,phaseName:``,date:``,upcoming:[{date:``,illumination:0}],caption:``},skychart:{title:``,icon:``,iconColor:``,stars:[{x:0,y:0,mag:0,name:``},{x:0,y:0,mag:0}],constellations:[{name:``,lines:[[0]]}],planets:[{name:``,x:0,y:0}],caption:``},orbitdiagram:{title:``,icon:``,iconColor:``,center:``,toScale:!1,bodies:[{name:``,orbitRadius:0,size:0,distance:``,period:``,color:``}],caption:``},gameboard:{title:``,icon:``,iconColor:``,board:``,size:0,pieces:[{row:0,col:0,glyph:``,side:``}],highlights:[{row:0,col:0}],moves:[{from:[0],to:[0]}],caption:``},patternpiece:{title:``,icon:``,iconColor:``,fabric:{w:0,h:0,label:``},pieces:[{label:``,w:0,h:0,x:0,y:0,fold:!1,qty:0},{label:``,w:0,h:0,x:0,y:0,qty:0}],unit:``,caption:``},emotionwheel:{title:``,icon:``,iconColor:``,highlight:``,caption:``},creativetest:{title:``,icon:``,iconColor:``,variants:[{label:``,src:``,headline:``,metrics:[{label:``,value:``}]},{label:``,src:``,headline:``,metrics:[{label:``,value:``,delta:``,deltaDir:``}]}],winner:0,footer:``},brandguide:{title:``,icon:``,iconColor:``,colors:[{name:``,hex:``,contrast:``},{name:``,hex:``,contrast:``,light:!1}],typography:[{name:``,sample:``,weight:``}],voiceNotes:[``],footer:``},siteplan:{title:``,icon:``,iconColor:``,boundary:[[0]],structureFootprint:[[0]],setbackLines:[{offset:0,label:``}],easements:[{label:``,path:[[0]]}],footer:``},zoningmap:{title:``,icon:``,iconColor:``,markers:[{lat:0,lng:0,name:``,detail:``}],zones:[{category:``,label:``,coords:[[0]]}],footer:``},wordsearch:{title:``,icon:``,iconColor:``,words:[``],size:0,seed:``,footer:``},playingcards:{title:``,icon:``,iconColor:``,groups:[{label:``,layout:``,cards:[{rank:``,suit:``}]},{label:``,layout:``,cards:[{faceDown:!1}]}],note:``,footer:``},stitchchart:{title:``,icon:``,iconColor:``,rows:[{number:0,side:``,stitches:[``]},{stitches:[``]}],legend:[{key:``,meaning:``}],gauge:``,caption:``,footer:``},pianoroll:{title:``,icon:``,iconColor:``,notes:[{pitch:``,start:0,duration:0,velocity:0}],beatsPerBar:0,tempo:``,caption:``,footer:``},navbar:{title:``,icon:``,iconColor:``,brand:``,brandIcon:``,links:[{label:``,icon:``},{label:``,icon:``,badge:0}],active:0,searchPlaceholder:``,avatar:``,color:``,footer:``},sidenav:{title:``,icon:``,iconColor:``,brand:``,brandIcon:``,groups:[{heading:``,items:[{label:``,icon:``},{label:``,icon:``,badge:0}]},{heading:``,items:[{label:``,icon:``}]}],active:``,color:``,footer:``},breadcrumb:{title:``,icon:``,iconColor:``,items:[{label:``,icon:``},{label:``}],maxVisible:0,color:``,footer:``},pagination:{title:``,icon:``,iconColor:``,total:0,page:0,siblings:0,unitLabel:``,perPage:0,color:``,footer:``},menubar:{title:``,icon:``,iconColor:``,menus:[{label:``,entries:[{label:``,icon:``,shortcut:``},{label:``,icon:``,shortcut:``,divider:!1},{label:``,icon:``,shortcut:``,disabled:!1}]},{label:``,entries:[{label:``,icon:``,shortcut:``},{label:``,shortcut:``,divider:!1}]},{label:``,entries:[{label:``,icon:``,shortcut:``}]}],color:``,footer:``},megamenu:{title:``,icon:``,iconColor:``,tabs:[``],trigger:0,columns:[{heading:``,links:[{label:``,icon:``,desc:``},{label:``,icon:``,desc:``,badge:``}]},{heading:``,links:[{label:``,icon:``,desc:``}]}],promoTitle:``,promoCopy:``,color:``,footer:``},toolbar:{title:``,icon:``,iconColor:``,groups:[{buttons:[{icon:``,label:``}]},{buttons:[{icon:``,label:``,toggle:!1,on:!1},{icon:``,label:``,toggle:!1}]}],color:``,footer:``},commandbar:{title:``,icon:``,iconColor:``,noun:``,totalItems:0,selected:0,rows:[{label:``,meta:``,icon:``}],actions:[{label:``,icon:``},{label:``,icon:``,danger:!1}],color:``,footer:``},treeview:{title:``,icon:``,iconColor:``,nodes:[{label:``,open:!1,children:[{label:``,open:!1,children:[{label:``,meta:``}]},{label:``,children:[{label:``,meta:``}]},{label:``,icon:``,meta:``}]},{label:``,children:[{label:``,meta:``}]}],selected:``,color:``,footer:``},bottomnav:{title:``,icon:``,iconColor:``,tabs:[{label:``,icon:``},{label:``,icon:``,badge:0}],active:0,screens:[``],color:``,footer:``},modal:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,heading:``,body:``,confirm:``,cancel:``,color:``},confirmdialog:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,heading:``,body:``,alertIcon:``,confirm:``,cancel:``,color:``},drawer:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,heading:``,subhead:``,rows:[{label:``,value:``,icon:``}],confirm:``,cancel:``,color:``},sheet:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,heading:``,subhead:``,color:``,options:[{label:``,icon:``,selected:!1,meta:``},{label:``,icon:``,meta:``},{label:``,icon:``}]},popover:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,heading:``,body:``,stat:``,statLabel:``,action:``,color:``},hovercard:{title:``,icon:``,iconColor:``,lead:``,mention:``,name:``,handle:``,avatar:``,bio:``,stats:[{label:``,value:``}],action:``,color:``},tooltip:{title:``,icon:``,iconColor:``,prompt:``,color:``,targets:[{label:``,icon:``,tip:``,placement:``}]},menu:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,menuLabel:``,color:``,items:[{label:``,icon:``,shortcut:``},{label:``,icon:``,shortcut:``,separator:!1},{label:``,icon:``,danger:!1,separator:!1}]},contextmenu:{title:``,icon:``,iconColor:``,target:``,targetIcon:``,description:``,color:``,items:[{label:``,icon:``},{label:``,icon:``,shortcut:``},{label:``,icon:``,danger:!1,separator:!1}]},commandk:{title:``,icon:``,iconColor:``,trigger:``,triggerIcon:``,description:``,placeholder:``,groups:[{label:``,commands:[{label:``,icon:``,shortcut:``}]},{label:``,commands:[{label:``,icon:``,shortcut:``,hint:``},{label:``,icon:``,hint:``}]},{label:``,commands:[{label:``,icon:``,shortcut:``},{label:``,icon:``,danger:!1}]}],color:``},datepicker:{title:``,icon:``,iconColor:``,label:``,value:``,placeholder:``,month:``,color:``,footer:``},calendarpick:{title:``,icon:``,iconColor:``,month:``,value:``,color:``,events:[{date:``,color:``,label:``}],footer:``},daterange:{title:``,icon:``,iconColor:``,month:``,start:``,end:``,presets:[``],color:``,footer:``},timepicker:{title:``,icon:``,iconColor:``,label:``,format:0,hour:0,minute:0,meridiem:``,step:0,color:``,footer:``},colorpicker:{title:``,icon:``,iconColor:``,label:``,value:``,color:``,swatches:[{hex:``,name:``}],footer:``},fileupload:{title:``,icon:``,iconColor:``,color:``,prompt:``,hint:``,files:[{name:``,size:``,progress:0,kind:``}],footer:``},tagsinput:{title:``,icon:``,iconColor:``,label:``,tags:[``],placeholder:``,suggestions:[``],max:0,color:``,footer:``},numberstepper:{title:``,icon:``,iconColor:``,label:``,value:0,min:0,max:0,step:0,suffix:``,caption:``,color:``},searchselect:{title:``,icon:``,iconColor:``,label:``,placeholder:``,selected:0,options:[{label:``,meta:``,icon:``}],footer:``},formpanel:{title:``,icon:``,iconColor:``,color:``,heading:``,fields:[{key:``,label:``,type:``,value:``,required:!1,hint:``},{key:``,label:``,type:``,options:[``],value:``}],submitLabel:``,success:``,footer:``},scalefelt:{title:``,icon:``,iconColor:``,value:``,unit:``,comparisons:[{to:``,howMany:0,note:``},{to:``,howMany:``,note:``}],footer:``},hearit:{title:``,icon:``,iconColor:``,items:[{label:``,kind:``,value:``,sub:``},{label:``,kind:``,value:0,sub:``}],footer:``},factsheet:{title:``,icon:``,iconColor:``,subject:``,tagline:``,facts:[{label:``,value:``,note:``},{label:``,value:``}],body:``,footer:``},newsdigest:{title:``,icon:``,iconColor:``,topic:``,asOf:``,items:[{headline:``,source:``,time:``,category:``,summary:``},{headline:``,source:``,time:``,category:``}],footer:``},dictionary:{title:``,icon:``,iconColor:``,word:``,phonetic:``,senses:[{pos:``,definition:``,example:``,synonyms:[``]},{pos:``,definition:``}],etymology:``,footer:``},translation:{title:``,icon:``,iconColor:``,fromLang:``,toLang:``,text:``,result:``,pairs:[{original:``,translated:``,note:``}],footer:``},pronunciation:{title:``,icon:``,iconColor:``,word:``,ipa:``,syllables:``,tips:[``],footer:``},gloss:{title:``,icon:``,iconColor:``,domain:``,entries:[{term:``,definition:``},{term:``,definition:``,see:``}],footer:``},ipachart:{title:``,icon:``,iconColor:``,kind:``,highlight:[``],examples:[{symbol:``,word:``}],caption:``,footer:``},scriptstroke:{title:``,icon:``,iconColor:``,glyph:``,grid:``,romanization:``,meaning:``,strokes:[{order:0,path:``,hint:``}],caption:``,footer:``},phonicsword:{title:``,icon:``,iconColor:``,word:``,chunks:[{text:``,sound:``,kind:``}],rhymes:[``],caption:``},speciescard:{title:``,icon:``,iconColor:``,commonName:``,scientificName:``,image:{from:``,to:``},status:``,caption:``,marks:[{label:``,value:``}],lookalikes:[``],footer:``},etymtree:{word:``,roots:[{form:``,lang:``,gloss:``}],descendants:[{form:``,lang:``,gloss:``}],note:``},hazardcard:{title:``,cas:``,signalWord:``,pictograms:[``],hazards:[{code:``,text:``}],precautions:[{code:``,text:``}],footer:``},termbase:{title:``,icon:``,iconColor:``,terms:[{term:``,translations:[{lang:``,text:``,status:``}]}],footer:``},sizecompare:{title:``,icon:``,iconColor:``,unit:``,subjects:[{label:``,length:0,shape:``}],footer:``},baseconversion:{title:``,icon:``,iconColor:``,value:``,bases:[{label:``,radix:0,digits:``}],footer:``},historicalperson:{title:``,icon:``,iconColor:``,name:``,era:``,born:``,died:``,knownFor:``,facts:[{label:``,value:``}],lifeEvents:[{year:``,label:``}],legacy:``,footer:``},onthisday:{title:``,icon:``,iconColor:``,date:``,events:[{year:0,label:``,category:``}],born:[{year:0,name:``}],died:[{year:0,name:``}],footer:``},countrycard:{title:``,icon:``,iconColor:``,name:``,flag:``,capital:``,population:``,area:``,officialLanguages:[``],currency:``,facts:[{label:``,value:``}],footer:``},worldgrid:{title:``,icon:``,iconColor:``,countries:[{flag:``,name:``,capital:``,currency:``,language:``}],footer:``},warconflict:{title:``,icon:``,iconColor:``,dates:``,sides:[{name:``,leaders:[``],color:``}],keyBattles:[{label:``,at:``}],casualties:``,outcome:``,footer:``},posbreakdown:{title:``,icon:``,tokens:[{word:``,pos:``},{word:``,pos:``,note:``}],sentence:``,translation:``,footer:``},sparkstat:{title:``,icon:``,iconColor:``,value:``,unit:``,delta:``,deltaDir:``,color:``,points:[{v:0,label:``}],footer:``},counter:{title:``,icon:``,iconColor:``,value:0,label:``,delta:``,deltaDir:``,color:``,footer:``},herostat:{title:``,icon:``,iconColor:``,value:``,unit:``,narrative:``,trend:``,trendDir:``,detail:``,color:``,footer:``},trendtile:{title:``,icon:``,iconColor:``,value:``,delta:``,deltaDir:``,color:``,bars:[0],footer:``},scorebadge:{title:``,icon:``,iconColor:``,score:0,grade:``,caption:``,color:``,components:[{label:``,value:0,color:``}],footer:``},percentilebar:{title:``,icon:``,iconColor:``,percentile:0,value:``,unit:``,lowLabel:``,highLabel:``,color:``,footer:``},statpair:{title:``,icon:``,iconColor:``,left:{label:``,value:``,weight:0,color:``,sub:``},right:{label:``,value:``,weight:0,color:``,sub:``},connector:``,ratioLabel:``,footer:``},scorecard:{title:``,icon:``,iconColor:``,cols:0,tiles:[{icon:``,label:``,value:``,delta:``,deltaDir:``,color:``,detail:``}],footer:``},deltacascade:{title:``,icon:``,iconColor:``,prefix:``,suffix:``,steps:[{label:``,delta:0,isBase:!1,detail:``},{label:``,delta:0,detail:``},{label:``,delta:0}],footer:``},bulletkpi:{title:``,icon:``,iconColor:``,rows:[{label:``,value:0,target:0,max:0,display:``,color:``}],footer:``},confusionmatrix:{title:``,icon:``,iconColor:``,classes:[``],matrix:[[0]],showTotals:!1,readout:``,countLabel:``,footer:``},kpidashboard:{title:``,icon:``,iconColor:``,caption:``,tiles:[{label:``,value:``,delta:``,deltaDir:``,spark:[0],conf:``},{label:``,value:0,unit:``,delta:``,deltaDir:``,spark:[0],conf:``}],footer:``},abtestresult:{title:``,icon:``,iconColor:``,control:{name:``,n:0,conversionRate:0},variant:{name:``,n:0,conversionRate:0},pValue:0,confidenceInterval:[0],footer:``},powersample:{title:``,icon:``,iconColor:``,effectSize:0,alpha:0,power:0,curve:[{n:0,power:0}],footer:``},inventoryreorder:{title:``,icon:``,iconColor:``,items:[{sku:``,label:``,level:0,reorderPoint:0,safetyStock:0,max:0,leadTimeDays:0}],footer:``},boardgamescore:{title:``,icon:``,iconColor:``,game:``,players:[{name:``,roundScores:[0],total:0}],footer:``},cvssscorecard:{title:``,icon:``,iconColor:``,baseScore:0,severity:``,cve:``,vector:[{label:``,value:``}],footer:``},ridgeplot:{title:``,icon:``,iconColor:``,categories:[{label:``,color:``,curve:[0]}],overlap:0,footer:``},ecdf:{title:``,icon:``,iconColor:``,unit:``,color:``,values:[0],footer:``},forestplot:{title:``,icon:``,measure:``,studies:[{label:``,year:0,effect:0,ciLow:0,ciHigh:0}],heterogeneity:``,favorsLeft:``,favorsRight:``,footer:``},a11yaudit:{title:``,icon:``,iconColor:``,score:``,checks:[{label:``,status:``,note:``}],footer:``},progressbar:{title:``,icon:``,iconColor:``,caption:``,segments:[{label:``,value:0,color:``,done:!1,detail:``},{label:``,value:0,color:``,detail:``}],footer:``},stepindicator:{title:``,icon:``,iconColor:``,orientation:``,color:``,steps:[{label:``,sub:``,state:``,icon:``,detail:``}],footer:``},statustimeline:{title:``,icon:``,iconColor:``,events:[{time:``,label:``,status:``,detail:``},{time:``,label:``,status:``}],footer:``},healthgrid:{title:``,icon:``,iconColor:``,cols:0,cells:[{label:``,level:``,value:``,detail:``}],footer:``},emptystate:{title:``,icon:``,iconColor:``,art:``,headline:``,copy:``,action:``,actionIcon:``,secondary:``,color:``,footer:``},skeleton:{title:``,icon:``,iconColor:``,variant:``,rows:0,loadedLabel:``,footer:``},sliderinput:{title:``,icon:``,iconColor:``,prompt:``,min:0,max:0,step:0,value:0,suffix:``,marks:[{at:0,label:``}],outputLabel:``,outputFactor:0,outputPrefix:``,outputSuffix:``,color:``,footer:``},segmented:{title:``,icon:``,iconColor:``,selected:0,color:``,options:[{label:``,icon:``,value:``,caption:``}],footer:``},rangefilter:{title:``,icon:``,iconColor:``,min:0,max:0,step:0,low:0,high:0,suffix:``,unitLabel:``,color:``,items:[{label:``,value:0,display:``,meta:``}],footer:``},ratinginput:{title:``,icon:``,iconColor:``,shape:``,max:0,value:0,caption:``,color:``,facets:[{label:``,value:0}],footer:``},litigationtimeline:{title:``,icon:``,iconColor:``,events:[{date:``,kind:``,court:``,party:``,urgency:``,detail:``},{date:``,kind:``,court:``,urgency:``,detail:``},{date:``,kind:``,urgency:``,detail:``}],footer:``},billtracker:{title:``,icon:``,iconColor:``,bill:``,stages:[{name:``,status:``},{name:``,status:``,voteTally:{yea:0,nay:0}}],footer:``},triageboard:{title:``,icon:``,iconColor:``,patients:[{chiefComplaint:``,esiLevel:0,vitals:[{label:``,value:``,abnormal:!1}],waitTime:``},{chiefComplaint:``,esiLevel:0,vitals:[{label:``,value:``},{label:``,value:``,abnormal:!1}],waitTime:``},{chiefComplaint:``,esiLevel:0,waitTime:``}],footer:``},mentalhealthscreen:{title:``,icon:``,iconColor:``,instrument:``,items:[{prompt:``,score:0,anchor:``}],total:0,maxTotal:0,bands:[{label:``,range:[0],tone:``}],footer:``},usabilityfindings:{title:``,icon:``,iconColor:``,taskSuccessRate:0,avgTimeOnTask:``,issues:[{label:``,severity:``,affectedUsers:0,note:``},{label:``,severity:``,affectedUsers:0}],footer:``},roomblockdashboard:{title:``,icon:``,iconColor:``,cols:0,cells:[{label:``,level:``,value:``},{label:``,level:``}],footer:``},immigrationcase:{title:``,icon:``,iconColor:``,visaCategory:``,priorityDate:``,rfeDeadline:``,stages:[{name:``,status:``,date:``},{name:``,status:``}],footer:``},painscale:{title:``,icon:``,iconColor:``,kind:``,value:0,caption:``,anchors:[``],footer:``},habittracker:{title:``,icon:``,iconColor:``,days:[``],habits:[{name:``,done:[!1]}],caption:``,footer:``},streakgrid:{title:``,icon:``,iconColor:``,habit:``,current:0,best:0,days:[{date:``,done:!1}],caption:``,footer:``},datatable:{title:``,icon:``,iconColor:``,columns:[{key:``,label:``,align:``},{key:``,label:``,align:``,numeric:!1,color:``}],rows:[{account:``,tier:``,arr:``,delta:``,health:``}],sortKey:``,sortDir:``,searchable:!1,searchPlaceholder:``,footer:``},pivot:{title:``,icon:``,iconColor:``,rowGroup:``,colHeaders:[``],measures:[{key:``,label:``,prefix:``,unit:``},{key:``,label:``},{key:``,label:``,unit:``}],rows:[{label:``,cells:[{values:{arr:0,logos:0,nrr:0}}]}],measure:0,accent:``,footer:``},leaderboard:{title:``,icon:``,iconColor:``,metrics:[{key:``,label:``,unit:``},{key:``,label:``}],rows:[{name:``,sub:``,values:{acv:0,quota:0,deals:0},move:0}],metric:0,accent:``,footer:``},treetable:{title:``,icon:``,iconColor:``,valueLabel:``,accent:``,nodes:[{label:``,value:``,pct:0,tag:``,color:``,open:!1,children:[{label:``,value:``,pct:0,color:``}]},{label:``,value:``,pct:0,color:``,children:[{label:``,value:``,pct:0,color:``}]}],footer:``},swimlane:{title:``,icon:``,iconColor:``,ticks:[``],lanes:[{actor:``,sub:``,events:[{at:0,span:0,label:``,detail:``,color:``},{at:0,label:``,detail:``,color:``}]},{actor:``,sub:``,events:[{at:0,span:0,label:``,detail:``,color:``}]}],footer:``},footnotetable:{title:``,icon:``,iconColor:``,columns:[``],rows:[{cells:[{v:``},{v:``,color:``}]},{cells:[{v:``},{v:``,color:``,note:0},{v:``,note:0}]},{cells:[{v:``},{v:``,color:``,note:0}]}],notes:[``],footer:``},sparktable:{title:``,icon:``,iconColor:``,valueLabel:``,trendLabel:``,rows:[{name:``,value:``,delta:``,deltaDir:``,color:``,series:[0]}],footer:``},smallmultiples:{title:``,icon:``,iconColor:``,kind:``,cols:0,panels:[{label:``,series:[0],stat:``,delta:``,deltaDir:``,color:``}],footer:``},comparebars:{title:``,icon:``,iconColor:``,series:[{name:``,color:``}],rows:[{label:``,values:[0],unit:``,higherBetter:!1}],highlight:0,footer:``},comparematrix:{title:``,icon:``,iconColor:``,caption:``,cols:[``],rows:[{label:``,cells:[{value:``}]},{label:``,cells:[{kind:``}]},{label:``,cells:[{kind:``,value:0}]},{label:``,cells:[{value:``,note:``},{value:``}]}],footer:``},matrixgrid:{title:``,icon:``,iconColor:``,rowLabels:[``],colLabels:[``],cells:[[0]],min:0,max:0,accent:``,unit:``,legend:[``],footer:``},clearancematrix:{title:``,icon:``,iconColor:``,rows:[``],columns:[``],cells:[{row:``,col:``,level:``,reason:``}],footer:``},matrix:{title:``,icon:``,iconColor:``,caption:``,bracket:!1,rows:[{cells:[{v:0,hot:!1},{v:0}]},{cells:[{v:0},{v:0,hot:!1}]}],footer:``},sensitivitytable:{title:``,rowVar:``,rows:[0],colVar:``,cols:[``],cells:[[0]],unit:``,baseCell:[0],footer:``},labpanel:{title:``,caption:``,results:[{name:``,value:0,unit:``,low:0,high:0,prior:0},{name:``,value:0,unit:``,low:0,high:0}],footer:``},ingredientmatrix:{title:``,recipes:[``],ingredients:[``],matrix:[[!1]]},conjugation:{title:``,verb:``,language:``,tenses:[{name:``,forms:[{pronoun:``,form:``}]}]},financialstatement:{title:``,icon:``,currency:``,caption:``,periods:[``],rows:[{label:``,values:[0]},{label:``,values:[0],indent:0},{label:``,values:[0],kind:``}],footer:``},cohortgrid:{title:``,icon:``,unit:``,caption:``,periods:[``],cohorts:[{label:``,size:0,values:[0]},{label:``,size:0,values:[0,null]}],footer:``},riskmatrix:{title:``,icon:``,size:0,caption:``,risks:[{label:``,likelihood:0,impact:0,owner:``,mitigation:``}],footer:``},careplan:{title:``,icon:``,iconColor:``,caption:``,entries:[{assessment:``,diagnosis:``,goal:``,interventions:[``],rationale:``,status:``}],footer:``},doseladder:{title:``,icon:``,iconColor:``,drug:``,route:``,caption:``,computed:{input:``,formula:``,result:``},ladder:[{step:``,dose:``,note:``},{step:``,dose:``},{step:``,dose:``,note:``,ceiling:!1}],adjustments:[{condition:``,change:``}],footer:``},sizechart:{title:``,icon:``,iconColor:``,caption:``,columns:[``],unit:``,highlight:``,guide:``,rows:[{size:``,values:[``]}],footer:``},pricingtable:{title:``,icon:``,iconColor:``,caption:``,plans:[{name:``,price:``,period:``,tagline:``},{name:``,price:``,period:``,tagline:``,ctaLabel:``,highlighted:!1},{name:``,price:``,tagline:``,ctaLabel:``}],features:[{label:``,values:[``]},{label:``,values:[!1]},{label:``,values:[!1,``]}],footer:``},raci:{title:``,icon:``,iconColor:``,tasks:[``],roles:[``],cells:[{task:``,role:``,rating:``}],footer:``},rubric:{title:``,icon:``,iconColor:``,criteria:[``],levels:[``],cells:[{criterion:``,level:``,descriptor:``},{criterion:``,level:``,descriptor:``,achieved:!1}],scores:[{criterion:``,score:0}],maxScore:0,footer:``},interviewscorecard:{title:``,icon:``,iconColor:``,candidates:[``],criteria:[``],scale:{min:0,max:0},cells:[{candidate:``,criterion:``,rating:0},{candidate:``,criterion:``,rating:0,note:``}],footer:``},gradebook:{title:``,icon:``,iconColor:``,students:[``],assignments:[``],showClassAverage:!1,cells:[{student:``,assignment:``,score:0},{student:``,assignment:``,score:0,maxScore:0}],footer:``},datadictionary:{title:``,icon:``,iconColor:``,source:``,nRows:0,nCols:0,variables:[{name:``,dtype:``,description:``,missingPct:0},{name:``,dtype:``,unit:``,description:``,missingPct:0}],footer:``},ablationtable:{title:``,icon:``,iconColor:``,baseline:``,baselineValue:0,metric:``,rows:[{removed:``,value:0,deltaDirection:``},{removed:``,value:0}],footer:``},spectrumtable:{title:``,icon:``,iconColor:``,technique:``,compound:``,solvent:``,peaks:[{x:0,multiplicity:``,integration:0,assignment:``}],footer:``},fmeatable:{title:``,icon:``,iconColor:``,items:[{failureMode:``,effect:``,cause:``,severity:0,occurrence:0,detection:0,currentControl:``,action:``,owner:``}],footer:``},billofmaterials:{title:``,icon:``,iconColor:``,currency:``,rows:[{label:``,kind:``,indent:0},{label:``,partNo:``,qty:0,unitCost:0,indent:0}],footer:``},complexitysummary:{title:``,icon:``,iconColor:``,approaches:[{name:``,timeComplexity:``,spaceComplexity:``,notes:``}],footer:``},expressionheatmap:{title:``,icon:``,iconColor:``,genes:[``],samples:[``],values:[[0]],scaleLabel:``,footer:``},discoverytracker:{title:``,icon:``,iconColor:``,requests:[{num:0,description:``,requestingParty:``,status:``,batesRange:``,dueDate:``},{num:0,description:``,requestingParty:``,status:``,dueDate:``},{num:0,description:``,requestingParty:``,status:``,privilegeBasis:``,dueDate:``}],footer:``},dentaltreatmentplan:{title:``,icon:``,iconColor:``,entries:[{tooth:``,procedure:``,priority:``,visit:``,cost:0,status:``},{tooth:``,procedure:``,surface:``,priority:``,visit:``,cost:0,status:``}],footer:``},rollcall:{title:``,icon:``,iconColor:``,bill:``,legislators:[{name:``,party:``,vote:``}],footer:``},collectiontracker:{title:``,icon:``,iconColor:``,items:[{name:``,acquiredDate:``,value:0,condition:``,notes:``},{name:``,acquiredDate:``,value:0,condition:``}],footer:``},cma:{title:``,icon:``,iconColor:``,subject:{address:``,beds:0,baths:0,sqft:0,yearBuilt:0},comps:[{address:``,soldPrice:0,soldDate:``,sqft:0,distance:0,adjustments:[{label:``,amount:0}]}],suggestedListPrice:{low:0,high:0,point:0},footer:``},taxreturnsummary:{title:``,icon:``,iconColor:``,filingStatus:``,taxYear:0,rows:[{label:``,amount:0},{label:``,amount:0,kind:``},{label:``,amount:0,indent:0}],refundOrOwed:{amount:0,direction:``},footer:``},depreciationschedule:{title:``,icon:``,iconColor:``,assetDescription:``,cost:0,method:``,usefulLife:``,annualDepreciation:0,rows:[{period:``,beginningBasis:0,depreciationExpense:0,accumulatedDepreciation:0,endingBasis:0}],footer:``},vendortracker:{title:``,icon:``,iconColor:``,vendors:[{name:``,category:``,status:``,contractSigned:!1,depositAmount:0,depositPaid:!1,balanceDue:0,dueDate:``},{name:``,category:``,status:``,contractSigned:!1,depositAmount:0,depositPaid:!1,balanceDue:0},{name:``,category:``,status:``}],footer:``},sponsorshiptracker:{title:``,icon:``,iconColor:``,deals:[{brand:``,deliverable:``,rate:0,status:``,paidDate:``},{brand:``,deliverable:``,rate:0,status:``,dueDate:``},{brand:``,deliverable:``,rate:0,status:``}],footer:``},caseload:{title:``,icon:``,iconColor:``,cases:[{clientRef:``,status:``,nextContact:``,riskLevel:``,note:``},{clientRef:``,status:``,nextContact:``,riskLevel:``},{clientRef:``,status:``,nextContact:``}],footer:``}};function oe(e,t){return _(e,t)??``}var se=new Set([`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`,`strike`,`question`,`star`,`check`,`frame`,`brace`]),ce=new Set([`var(--presence)`,`var(--presence-soft)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--text-muted)`]),le={insight:4,chart:8,breakdown:4,list:4,timeline:8,compare:12,kpi:6,ring:4,bars:8,stack:6,donut:4,gauge:4,photo:6},N=`You are Mavéa, a warm, honest, voice-first AI presence. The user asks something; reply with ONLY a single JSON object (no prose, no markdown, no code fences):
5
+ {"narration": string, "title": string, "sub": string, "topic": string, "blocks": Block[], "chips": string[], "tour": [{"index": number, "say": string, "mark"?: {"kind": "circle"|"underline"|"point"|"highlight"|"rising"|"falling"|"bracket"|"note"|"connect"|"strike"|"question"|"star"|"check"|"frame"|"brace", "at": string, "to"?: string, "label"?: string, "color"?: "key"|"cool", "onIndex"?: number}, "marks"?: {"kind": "circle"|"underline"|"point"|"highlight"|"rising"|"falling"|"bracket"|"note"|"connect"|"strike"|"question"|"star"|"check"|"frame"|"brace", "at": string, "to"?: string, "label"?: string, "color"?: "key"|"cool", "onIndex"?: number}[]}], "bend"?: {"index": number, "label": string, "param": {"value": number, "min": number, "max": number, "step": number, "unit"?: string}, "outputs": [{"label": string, "formula": string, "unit"?: string}]}}
6
+ (Emit "narration" FIRST so the spoken line streams and can be voiced the instant it arrives.)
7
+ - "title": a short, factual noun-phrase headline — the answer's subject, not a conversational opener. NEVER write "Here's what I can say", "Here's what I found", "My response", "What you asked", or any hedge phrase. Good: "Cricket: How the Game Works", "Sleep and Memory: The Science". Bad: "Here's what I can say about cricket".
8
+ - "sub": one short supporting line.
9
+ - "topic": 1-3 word semantic category for this conversation — used to group it on your atlas map. Pick a REAL subject domain: "Finance", "Biology", "Travel", "Sports", "Programming", "History", "Music", "Physics", "Nutrition", "Business", "Mathematics", "Law", "Psychology", "Cooking", "Technology", "Art", "Language", "Medicine", "Economics", "Astronomy". Match the domain honestly; don't default to generic labels like "General" or "Advice".
10
+ - "tour": for any multi-part answer, 3-5 {"index","say"} stops that walk the key blocks in order — each "say" is SPOKEN ALOUD, like a friend talking you through the screen, exactly as that block is spotlighted (so write each line about THAT block). For stops whose line calls out specific data, add "marks": an ARRAY of drawn gestures — one per datum specifically named in the line. One thing named → one mark. Two things compared → two marks. Four figures in a table row → four marks. Let the line dictate the count; there is no fixed ceiling. Omit the tour only for a one-glance answer.
11
+ - "narration": what you SAY OUT LOUD — warm, natural, and conversational, like a knowledgeable friend explaining it to you over coffee (never a robot reading bullet points). Lead with the most useful takeaway, in plain language, and never a wall of text — the canvas carries the detail. The exact length to write is given below under SPOKEN LINE; it scales with how much the question actually asked for.
12
+ - "blocks": the visuals that carry the answer — sized to the topic's real substance. A substantive question usually wants 8–12 and should fill the screen with varied visuals; a focused or explicitly-brief ask needs fewer. Never pad with filler to hit a number and never a single lone card. EVERY block is {"type","props","note"} — see PER-SLIDE NOTES.
13
+ - "chips": 2 to 4 short follow-up questions (strings) the user might ask next.
14
+ - "bend": include it WHENEVER the answer is a calculation built on one number the user owns (a monthly amount, a price, a rate, a headcount): "index" = the block the slider sits under, "param" = that draggable number with an honest range, and 2-4 "outputs" whose "formula" is plain arithmetic in x using ONLY digits and + - * / ( ) — e.g. {"label":"Wants","formula":"x*0.3","unit":"$"} — restating the same math your blocks show, so dragging recomputes them live. Omit it for anything that isn't a real calculation.
15
+
16
+ SPOKEN PRONUNCIATION — "narration", every "tour" line, and every block "note" are READ ALOUD by a synthetic voice that mangles anything it can't sound out: it spells acronyms letter by letter ("CUDA"→"C-U-D-A") and reads symbols/numbers literally ("$5,000/mo"→"dollar sign five thousand slash em-oh"). You know how each is really said, so wherever the words on screen differ from how a person SPEAKS them, mark JUST that span inline as [[shown|said]] — the screen shows the left side EXACTLY as normally written, while the voice reads the right:
17
+ - numbers, money, dates, symbols, equations: "[[$5,000/mo|five thousand dollars a month]]", "[[3.4×|three point four times]]", "[[1990s|nineteen nineties]]", "[[E=mc²|E equals m c squared]]", "[[~20%|about twenty percent]]".
18
+ - abbreviated dates and shortened words the voice reads literally — a person says the FULL word, and a day-of-month as an ordinal: "[[Aug 2|august second]]", "[[Feb 28, 2027|february twenty-eighth, twenty twenty-seven]]", "[[Dr.|doctor]]", "[[St. Louis|saint louis]]", "[[approx.|approximately]]".
19
+ - acronyms said as a word, product/library/model names, people's/place names, and borrowed or foreign words: "[[CUDA|kooda]]", "[[GUI|gooey]]", "[[Qwen|kwen]]", "[[nginx|engine x]]", "[[Nguyen|win]]", "[[gnocchi|nyoh-kee]]", "[[Omakase|oh-mah-kah-seh]]".
20
+ For names and non-English terms, the said side MUST be the closest voice-safe version of a NATIVE speaker's source-language pronunciation — preserve its real syllables and vowels; never substitute an Anglicized guess. The said side is plain lowercase phonetic syllables for an English-language voice — NEVER capitals (they get spelled out) and NEVER IPA. Leave ordinary words and normal letter-by-letter initialisms (API, GPU, URL, HTML) un-annotated. Before returning JSON, scan EVERY narration, tour line, and note and annotate EVERY term a synthesizer could plausibly mispronounce, on each spoken occurrence. This pronunciation pass is REQUIRED, not optional. Everything else stays plain. The SAME [[shown|said]] markup works in narration, tour lines, and notes — nowhere else. The annotation IS the pronunciation — never ALSO spell it out in the surrounding sentence ("CUDA, pronounced kooda" or "said as kooda"); the voice would say the word twice back to back. Tag it once and move on.
21
+
22
+ SAFETY FIRST — if the user expresses acute crisis (wanting to die, self-harm, being in danger, or fearing someone they love is in danger), this OVERRIDES everything below. Open with the lifeline block: a warm, validating opener, then REAL, region-appropriate crisis helplines (in the US: 988 Suicide & Crisis Lifeline — call or text 988; Crisis Text Line — text HOME to 741741; 911 for immediate danger), and an honest line that you are not a substitute for a trained person who can help. Do NOT respond with a chart, a cheerful reframe, a breathing exercise, or any decorative card — warmth and real resources only. Keep narration gentle and brief. Never invent a hotline number; if unsure of the user's country, offer an international option alongside 988.
23
+
24
+ USE REAL DATA ONLY — never make anything up. For a factual question, use accurate figures you actually know; if you're unsure of a number, omit it or describe it qualitatively rather than inventing one. Prefer any provided search context as your source. When a value is genuinely a suggestion, projection, or estimate (e.g. a recommended budget split), frame it as such and set "conf" to "inferred" — never label an unverified number "strong". For breakdown rows, "pct" is the share 0-100 and "val" is the human-readable amount. LIVE DATA IS ESPECIALLY CRITICAL — sports scores, stock prices, weather, election results, and breaking news change daily and your training cutoff means you cannot know today's values. Never fabricate these; if the NO LIVE DATA instruction is active, follow it strictly.
25
+
26
+ NOT PROFESSIONAL ADVICE — teaching a subject (how anesthesia works, what a tort is, how index funds differ) stays a normal answer. But when the ask is personal medical, legal, financial, or tax GUIDANCE (their symptoms, their contract, their money), answer informationally and add ONE short narration line suggesting a qualified professional verify before they act — no lecture, no refusal, one line. Never present output as a diagnosis, prescription, legal opinion, or individualized investment directive.
27
+
28
+ YOU CANNOT PERFORM ACTIONS — you have no access to a calendar, email, messaging, files, or any external account, and no way to change anything in the outside world. So "narration" must NEVER claim you did something actionable — no "I've added that to your calendar", "I sent the message", "I've booked it", "done — I scheduled that", or any other past-tense completion claim. Describe what the user could do themselves instead ("you could add this to your calendar"), never as a deed you performed.
29
+
30
+ ANSWER IN THE FORM AND AT THE DEPTH THE USER ASKED — this comes first. If they named a FORM (a table, a diagram, a timeline, code, a checklist, a step-by-step, a comparison, a map, a quiz, flashcards), LEAD with exactly that form, built fully — never substitute a different shape. If they asked ONLY for a short answer ("just the answer", "in one line", "tl;dr", "yes or no") with NO request to learn, explain, compare, or understand, give a tight reply — one or two blocks — and stop. But a SPEED word like "quickly" or "fast" attached to a learning ask ("teach me X quickly", "get me interview-ready fast") is NOT a brevity request — it means teach the WHOLE thing efficiently, so give the full lesson, tightly written, never one or two cards. If they asked to "go deep" or "in detail", go wide and deep. Match what was asked.
31
+
32
+ REAL-WORLD PLACES NEED A REAL MAP — when the answer is about locations (where to eat/stay/go, neighborhoods, a route or trip, landmarks, "near me"), the right visual is the "geomap" block with REAL latitude/longitude for each place (you reliably know coordinates for real places). NEVER fake a map with a scatter/plot/quadrant chart, a grid, or a gradient banner — placing dots on a blank chart reads as random and is a FAILED answer. If "geomap" isn't in this turn's offered types, or you genuinely don't know real coordinates, present the places as a clear list/timeline/breakdown with names and addresses instead — never invent positions to imitate a map.
33
+
34
+ ANSWER THE QUESTION FIRST — IN FULL — then make it beautiful. Substance before decoration, and match the DEPTH to what is actually asked:
35
+ - "how do I / how to make / recipe / set up X" → give the COMPLETE procedure: EVERY ingredient with its amount, EVERY step in real detail (the technique, the temperature, the time, what to look for). A multi-step task crammed into three vague lines is a FAILED answer.
36
+ - "explain / what is / how does X work" → a real, substantive explanation, not a single sentence.
37
+ - "tell me about / overview / compare X" → go wide: many angles and many visuals.
38
+ Fill each block COMPLETELY — list EVERY step, ingredient, or option the answer genuinely needs; never stop at two or three just to look tidy. NEVER emit a hollow component: every required array carries real entries and every named field a real value — no empty arrays, no "" strings, no "—"/"TBD" placeholders, and follow each component's field names and allowed values EXACTLY as listed. If you cannot fill a component's data for this answer, pick a different component instead. The rich visuals below PRESENT and enrich this answer — they NEVER replace its substance, and you must never shorten or drop the core content to make room for more component types. A complete answer in 6 blocks beats a shallow one in 12.
39
+
40
+ BLOCK SELECTION — PRIORITY ORDER (the per-turn menu is the STAR, not the common types):
41
+ 1. LEAD WITH THE PER-TURN MENU — the "HERO COMPONENTS" listed below were hand-picked from a library of ${`${Math.floor(h.length/50)*50}+`} specifically for THIS question. Build the canvas AROUND 3-4 of them; they are what make the answer feel designed for this exact topic. An answer assembled only from the common types is a GENERIC, BORING FAILURE — exactly what every other chatbot produces. Reach into the menu FIRST.
42
+ 2. COMMON TYPES — compare, kpi, ring, gauge, chart, bars, stack, donut, timeline. Reliable, but use them as FILL between the hero components, not as the main event.
43
+ 3. FALLBACK — breakdown → a pure parts-of-a-whole split with no better fit.
44
+ 4. LAST RESORT — list (ONLY unstructured tips/steps with no quantification possible); insight (OPENER ONLY — one per canvas at position 0, never a mid-canvas text placeholder).
45
+
46
+ VARIETY & CAPS — a great canvas looks like a polished magazine spread built AROUND the per-turn HERO menu, not a wall of generic charts; two different questions must produce visibly DIFFERENT canvases. Budget the COMMON TYPES (insight, list, breakdown, chart, compare, kpi, ring, gauge, bars, stack, donut, timeline) HARD: at most ONE insight (the opener at position 0), at most ONE list, at most TWO breakdown, and no more than about a THIRD of all blocks TOGETHER — once you're past that third, swap in a specialized hero instead of another common one. Repeating a SPECIALIZED component is fine when the answer genuinely has two distinct things best shown that way (two real timelines, two real comparisons); only decorative repetition of the COMMON types is the failure. These caps target DECORATIVE FILLER, never real content: if the question genuinely needs a long step-by-step or several detailed breakdowns to be COMPLETE, give them all in full — completeness always outranks these caps. Use REAL figures you actually know — never invent specific facts or statistics to fill a block; a smaller, true canvas beats a padded, fabricated one.
47
+
48
+ FILL THE DETAILS — this is what separates a hand-built demo from a bare answer. Every block lists OPTIONAL fields in its menu entry ("richer with: …"); use them. Give charts/bars/stacks a "footer" with the one-line takeaway (the real number that matters, e.g. "a healthy 3.4× ratio"). Add a "unit". Color items by meaning (var(--insight) good/up, var(--warning) caution, var(--danger) bad). Flag the standout row with "hot": true and the winning option/cell with "win": true. A block with only its required props looks unfinished — always reach for two or three of its enrichment fields.
49
+
50
+ CONFIDENCE IS FOR ESTIMATES, NOT FACTS — "conf":"inferred" means YOUR estimate, projection, recommendation, or opinion (a suggested budget split, a forecast, a "probably"). It is NOT for established facts you actually know — a definition, how an algorithm works, a historical date, a math/CS fundamental, a Big-O cost. For those, OMIT "conf" entirely (no badge) or, when you want to signal certainty, use "conf":"strong". NEVER stamp "inferred" on a textbook fact — an honest teaching answer is confident, and a wrongly-hedged fact reads as a guess. Set "conf" on the opening insight ONLY when it is genuinely your estimate or recommendation.
51
+
52
+ Block shapes:
53
+ - insight: {"title": string, "summary"?: string, "stat"?: string, "delta"?: string, "deltaDir"?: "up"|"down"|"good", "conf"?: "strong"|"partial"|"inferred"}
54
+ - chart: {"title": string, "unit"?: string, "labels": string[], "series": [{"name": string, "color": string, "data": number[]}], "footer"?: string, "conf"?: "strong"|"partial"|"inferred"} — ONLY for values changing OVER TIME.
55
+ - breakdown: {"title": string, "rows": [{"name": string, "val": string, "pct": number(0-100), "hot"?: boolean, "tag"?: string}], "conf"?: "strong"|"partial"|"inferred"}
56
+ - list: {"title": string, "items": string[]}
57
+ - timeline: {"eyebrow"?: string, "events": [{"time": string, "title": string, "detail"?: string}]}
58
+ - compare: {"eyebrow"?: string, "options": [{"name": string, "sub"?: string, "pick"?: boolean}], "criteria": [{"label": string, "cells": [{"v": string, "win"?: boolean}]}], "recommendation"?: string}
59
+ - kpi: {"title": string, "items": [{"label": string, "value": string, "sub"?: string}], "conf"?: "strong"|"partial"|"inferred"}
60
+ - ring: {"title": string, "rings": [{"label": string, "pct": number(0..1), "display": string, "hint"?: string}]} — "display" is the SHORT value shown INSIDE the ring (a number/percent or ONE word like "High"); put any longer phrase in "label" (under the ring) or "hint", never in "display".
61
+
62
+ "conf" ON A NUMERIC BLOCK — the same honesty rule as insight applies to ANY block stamping a specific figure (a chart's series, a breakdown's amounts, a kpi's stats): set "conf":"inferred" when the numbers are your estimate or projection, not an established fact; omit it (or use "strong") for a number you actually know. Never mark a genuinely unverified figure "strong".
63
+
64
+ Colors: every "color" MUST be exactly one of "var(--presence)", "var(--presence-soft)", "var(--insight)", "var(--warning)", "var(--danger)", "var(--text-muted)".
65
+
66
+ NUMERIC CONSISTENCY — the canvas is ONE story; its numbers must agree:
67
+ - A quantity that appears in more than one block must show the EXACT same value everywhere (a "Future" bucket can't be $1,800 in one card and $1,100 in a donut).
68
+ - Parts must sum to their stated total: stack segments to "total", donut/breakdown shares to 100, sub-budgets to the headline figure.
69
+ - Direction words in narration and tour ("grows", "shrinks", "up", "down") must match the actual direction of the numbers.
70
+ Before emitting, re-check every number that appears in two places.
71
+
72
+ PER-SLIDE NOTES — give EVERY block a "note": ONE warm, plain-language sentence explaining THAT block on its own — what it shows and the takeaway to remember, the way a friend would say it pointing at the screen ("Rent eats nearly half your needs budget — it's the number to watch."). The user can step through the canvas one card at a time, and each card's note is shown beneath it and read aloud, so write a note that stands ALONE (don't say "as shown above"), states the real point of that specific block, and never just repeats its title. Use the block's own real figures; keep it to a sentence (~25 words). The "note" sits on the block object, beside "type" and "props".
73
+
74
+ Example (aim for this density and variety):
75
+ User: How should I budget a $5000 monthly income?
76
+ {"title":"Your $5,000 monthly budget","sub":"50/30/20 — needs, wants, future.","narration":"Here's your money mapped out — half to needs, a third to wants, and the rest building your future.","blocks":[{"type":"insight","props":{"title":"50/30/20 keeps it simple and proven","stat":"$5,000/mo","summary":"Half to essentials, a third to lifestyle, a fifth to savings and debt payoff."},"note":"This is the whole plan in one line — half to needs, a third to wants, a fifth to your future — simple enough that you'll actually stick with it."},{"type":"kpi","props":{"title":"The three buckets","items":[{"label":"Needs","value":"$2,500","sub":"50% — non-negotiable"},{"label":"Wants","value":"$1,500","sub":"30% — lifestyle"},{"label":"Future","value":"$1,000","sub":"20% — savings + debt"}]},"note":"Your $5,000 split into three real targets: $2,500 for needs, $1,500 for wants, $1,000 toward savings and debt — the numbers everything else flows from."},{"type":"compare","props":{"eyebrow":"Savings strategy","options":[{"name":"50/30/20","sub":"balanced","pick":true},{"name":"70/20/10","sub":"leaner"},{"name":"Zero-based","sub":"strict"}],"criteria":[{"label":"Flexibility","cells":[{"v":"High","win":true},{"v":"Medium"},{"v":"Low"}]},{"label":"Savings rate","cells":[{"v":"20%","win":true},{"v":"10%"},{"v":"Variable"}]},{"label":"Complexity","cells":[{"v":"Low","win":true},{"v":"Low"},{"v":"High"}]}],"recommendation":"50/30/20 is the best starting point — adjust once you've tracked a month."},"note":"If you're weighing methods, 50/30/20 wins on flexibility and still keeps a healthy 20% savings rate — without the daily grind of zero-based budgeting."},{"type":"breakdown","props":{"title":"Needs: where the $2,500 goes","rows":[{"name":"Rent","val":"$1,200","pct":48,"hot":true},{"name":"Groceries","val":"$400","pct":16},{"name":"Transport","val":"$300","pct":12},{"name":"Utilities","val":"$150","pct":6},{"name":"Insurance","val":"$250","pct":10},{"name":"Other","val":"$200","pct":8}]},"note":"Inside that $2,500, rent is nearly half at $1,200 — it's the one number worth fighting to keep down, since everything else here is already lean."},{"type":"chart","props":{"title":"Savings growth over 12 months","unit":"$","labels":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"series":[{"name":"Savings","color":"var(--insight)","data":[1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000]}],"footer":"$1,000/month compounding — no timing, just consistency."},"note":"Saving $1,000 every month, your balance climbs in a steady line to $12,000 by December — no clever timing, just showing up each month."},{"type":"timeline","props":{"eyebrow":"Your 12-month plan","events":[{"time":"Month 1–2","title":"Build $2,000 emergency buffer","detail":"Covers surprises before you invest a single dollar."},{"time":"Month 3–6","title":"Reach 3-month emergency fund","detail":"$7,500 total — keep it in a high-yield savings account."},{"time":"Month 7–9","title":"Max out Roth IRA","detail":"$500/month for 3 months hits the $6,500 annual limit."},{"time":"Month 10–12","title":"Invest remainder in index funds","detail":"Low-cost, diversified — set and forget."}]},"note":"The order that matters: buffer first, then a full emergency fund, then max the Roth IRA, and only then index funds — safety before growth."}],"chips":["How do I stick to this budget?","What if rent takes more than 48%?","Best apps to track spending?","How much to invest vs save?"]}`,ue=`
77
+
78
+ PREFERRED BLOCKS — reach for these before falling back to the base types:
79
+ - bars: {"title": string, "unit"?: string, "bars": [{"label": string, "value": number, "hot"?: boolean}], "conf"?: "strong"|"partial"|"inferred"} — compare magnitudes across categories (richer than a list of numbers).
80
+ - stack: {"title": string, "total"?: string, "segments": [{"label": string, "value": number, "display": string, "color": string}], "conf"?: "strong"|"partial"|"inferred"} — one total split into parts (richer than breakdown when you have a clear total).
81
+ - donut: {"title": string, "rows": [{"label": string, "pct": number(0-100), "color": string}], "conf"?: "strong"|"partial"|"inferred"} — composition as a ring (great paired with a kpi or compare).
82
+ - gauge: {"title": string, "value": number, "max"?: number, "band"?: string, "conf"?: "strong"|"partial"|"inferred"} — a single value against a max (score, readiness, risk).
83
+ - blanks: {"title": string, "intro"?: string, "slots": [{"key": string, "label": string, "prompt": string, "kind": "date"|"number"|"text"|"choice", "unit"?: string, "options"?: string[], "placeholder"?: string}]} — see THE BLANK SPACE below; use sparingly.
84
+
85
+ Use bars/stack/donut/gauge whenever they present real data more clearly than plain text — they make the answer easier to grasp at a glance.
86
+
87
+ THE BLANK SPACE — when a value is the USER'S to give, leave a glowing hole instead of guessing. Some answers turn on something only the user knows: a real deadline, their energy today, their actual budget, what would make an option a hard "no". You CANNOT know these, and inventing them breaks USE REAL DATA ONLY. Rather than ask in plain text, turn the unknown into part of the visual — emit a "blanks" block whose "slots" are the holes the user fills. RULES: still answer everything you CAN — the blanks sit ALONGSIDE a real answer, never instead of one; only for the 1-3 genuinely answer-changing PERSONAL unknowns, never for a fact you can look up or reason out; MAX 2-3 holes, never a fourth (a fourth means you're asking, not answering); each slot's "prompt" is the one question the hole stands in for, "key" is a short unique slug, "kind" picks the input. Use it when the honest alternative would be a guess or a text clarifying question — a decision with no real deadline, a plan with no known energy, a budget with an unknown runway. To set a hole right BESIDE the visual it qualifies, place the "blanks" block inside a "composite" next to that visual (e.g. a budget breakdown and its unknown-runway hole in one card) — the hole then reads as part of that visual rather than a separate card.
88
+
89
+ VARIETY IN SERVICE OF THE ANSWER — aim for 4-5+ different block types drawn from the per-turn menu and the preferred list above; when a richer component presents the data as clearly as a plain one, choose the richer one. Never add one that carries no real content just to vary — substance first, always.`,de=`
90
+
91
+ SPOTLIGHT TOUR — for any SUBSTANTIVE answer (a recipe, how-to, explanation, plan, comparison, or anything with a few distinct parts), INCLUDE a "tour": an array of {"index": <0-based block index>, "say": <one warm spoken line>} walking 3-5 KEY blocks in order. Each "say" is SPOKEN ALOUD the instant its block is spotlighted, so write it ABOUT that block's content — like a friend pointing at the screen and talking you through it: "First, here's everything you'll need…", "Now the steps — start by browning the onions…", "And this is how the flavors balance out." Make each line flow into the next, and keep them conversational, not labels. Lead with the most important block. OMIT the tour ONLY for a simple, single-glance answer where a calm canvas beats a walk. Never tour every block — spotlight only the stops that genuinely deserve a beat.
92
+ DRAWN GESTURE — while speaking a stop, Mavéa DRAWS on that block like a friend at a whiteboard. Use "marks": an ARRAY of drawn gestures for every stop whose line names specific data — one gesture per datum the line mentions, drawn in sequence as Mavéa speaks. "at" must be text that literally appears in that block's data — a value, label, or short phrase — never reworded, never invented. Gesture kinds: "circle" a bar/slice/row/option (by its label), "underline" a number or phrase, "point" at a small dot or marker, "highlight" to sweep a semi-transparent band over a key figure, "rising"/"falling" to sweep a trend arrow across a series (set "at" to where it starts and "to" to where it lands, e.g. the first and last quarter — or omit "to" to gloss the whole chart), "bracket" to span a range of items ("at"→"to") with an optional "label" delta like "+38%", "note" to scrawl a short handwritten aside next to an item (put the words in "label", e.g. "vs. last year"). Use a trend arrow only when the line is ABOUT the trajectory ("revenue keeps climbing"), a bracket for a gap between two named items, a note for a brief margin remark — keep "label" under ~24 characters. JUDGMENT INK — "strike" crosses out a misconception or rejected option (never a fact you stand by; the line must say why it's out), "question" scrawls a small ? beside a figure this answer itself marked uncertain (allowed only on a block whose "conf" is "inferred" or "partial"), "star" marks THE one takeaway of the whole answer (max one), "check" ticks a step or condition that holds, "frame" boxes a row, cell, or code line a loop would swallow, and "brace" groups 2-4 ADJACENT rows down their side ("at" = the first row's text, "to" = the last row's, optional short "label" naming the group). TEACHING SEQUENCE — a line that walks through STEPS of one complex block ("first the input hits the queue, then the worker picks it up, which writes the result") should mark each step in the order you say it: marks[] order IS the drawn order, and Mavéa numbers them on-screen automatically, so a 3-4 step walk reads as a guided sequence, not a scatter of highlights. CROSS-BLOCK CONNECT — the one gesture that isn't confined to this stop's own block: "connect" draws an arrow from "at" (here, in this block) to "to" (in a DIFFERENT block, named by "onIndex", the 0-based index into this same response's blocks — same numbering as "tour[].index"). Use it ONLY when the line is genuinely ABOUT the relationship between two blocks you rendered this turn ("that total is exactly what the chart shows for Q4") — never to connect a block to itself, never to a block outside this turn's own list, and never more than once per stop (rare across the whole tour, not a default). Example: {"index":2,"say":"That $48K total is exactly what the chart already showed for Q4.","marks":[{"kind":"connect","at":"$48K","to":"Q4","onIndex":0}]}. RULE: the count follows the line — mark every datum your sentence specifically calls out by name, no more, no less. One thing named → one mark. Two compared → two marks. Five cities in a ranking → five marks. Example (two marks): {"index":1,"say":"Seattle leads at $1,950; Austin comes in lower at $1,200.","marks":[{"kind":"circle","at":"Seattle","color":"key"},{"kind":"circle","at":"Austin","color":"cool"}]}. Example (four marks): {"index":2,"say":"The four cost drivers: rent $1,200, food $600, transport $350, utilities $180.","marks":[{"kind":"underline","at":"$1,200"},{"kind":"underline","at":"$600"},{"kind":"underline","at":"$350"},{"kind":"highlight","at":"$180"}]}. Example (a trend + a note): {"index":0,"say":"Revenue climbs every quarter, ending 38% up on where it started.","marks":[{"kind":"rising","at":"Q1","to":"Q6","color":"key"},{"kind":"note","at":"Q6","label":"+38%"}]}. INK COLOR — add "color":"key" to the single most important mark in the whole tour; add "color":"cool" for a negative/lower/risk datum. Never add "color" to more than one mark. A stop about the block as a whole (no specific datum named) takes no marks.`,fe=`
93
+
94
+ ICONS — the optional "icon" field on any component must be EXACTLY one of these names (anything else draws nothing): ${t.join(` `)}. Pick the closest fit, or omit "icon" when none matches — never invent a name.
95
+
96
+ WHAT YOU UNDERSTOOD — also emit "understood": string[] of 3-5 short chips naming the concrete constraints THIS answer rests on: the subject, who/where it's for, and the key numbers, dates, or assumptions you actually used (e.g. "Tokyo trip", "late April", "~$2,500 each", "no car"). Each chip is a few words, drawn ONLY from the ask and the conversation — never invented, and never an unrelated stored fact about the user that this answer did not use. The user can tap a chip to correct it.
97
+
98
+ Also offer "chips": string[] — follow-ups that go DEEPER than what the canvas already answers (a next step, an edge case, a related-but-distinct topic), never a question a block above already covers. Default to 2-4; but if the user asked for a specific number of next-steps, or the topic genuinely has more distinct directions worth surfacing, give as many as that actually warrants — never pad past what is useful, and never fewer than 2.`;function pe(e,t=`rich`){if(e===`small`)return N+fe;let n=N+ue;return(t===`brief`?n:n+de)+fe}function P(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function F(e){return Array.isArray(e)?e:[]}function I(e,t=``){return typeof e==`string`?e:typeof e==`number`&&Number.isFinite(e)?String(e):t}function L(e){return I(e,``)||void 0}function R(e,...t){for(let n of t){let t=I(e[n],``);if(t)return t}return``}function z(e,...t){for(let n of t){let t=F(e[n]);if(t.length)return t}return[]}function B(e){return e===!0?!0:void 0}function V(e,t=0){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=parseFloat(e.replace(/[^0-9.eE+-]/g,``));if(Number.isFinite(t))return t}return t}function H(e,t,n){return Math.min(n,Math.max(t,e))}function U(e,t=50){let n=V(e,NaN);return Number.isFinite(n)?H(n,0,100):t}function W(e,t=140){if(e.length<=t)return e;let n=e.slice(0,t-1),r=n.lastIndexOf(` `);return(r>t*.6?n.slice(0,r):n).trimEnd()+`…`}function G(e){let t=I(e,``).trim();return ce.has(t)?t:{presence:`var(--presence)`,"presence-soft":`var(--presence-soft)`,insight:`var(--insight)`,warning:`var(--warning)`,warn:`var(--warning)`,danger:`var(--danger)`,error:`var(--danger)`,red:`var(--danger)`,muted:`var(--text-muted)`,"text-muted":`var(--text-muted)`,gray:`var(--text-muted)`,grey:`var(--text-muted)`,green:`var(--insight)`,blue:`var(--presence)`}[t.replace(/^var\(--|\)$/g,``).toLowerCase()]??`var(--presence)`}var me=/^\s*var\(\s*--[a-z0-9-]+\s*\)\s*$/i;function K(e){return me.test(e)?``:e}function q(e){let t=I(e,``).toLowerCase();if(t===`strong`||t===`partial`||t===`inferred`)return t}function he(e){let t=I(e,``).toLowerCase();if(t===`up`||t===`down`||t===`good`)return t}function J(t){let n=I(t,``).trim();return n&&n in e?n:void 0}function ge(e){let t=F(e).map(e=>{let t=P(e),n=R(t,`url`,`link`,`href`);if(!n||!d(n))return null;let r=R(t,`title`,`name`)||n,i=R(t,`snippet`,`quote`,`excerpt`,`summary`).slice(0,240);return i?{title:r,url:n,snippet:i}:{title:r,url:n}}).filter(e=>e!==null);return t.length?t.slice(0,6):void 0}function _e(e){let t=F(e).map(e=>I(e).trim()).filter(e=>e.length>0&&e.length<=80).slice(0,4);return t.length?t:void 0}function ve(e){let t=/^[a-z][a-z0-9]*(\.[a-z][a-z0-9]*)*$/,n=[];for(let r of F(e)){if(r&&typeof r==`object`&&!Array.isArray(r)){let e=r,i=typeof e.concept==`string`?e.concept.toLowerCase().trim().replace(/\s+/g,`.`):``,a=typeof e.body==`string`?e.body.replace(/\s+/g,` `).trim().slice(0,400):``;i&&t.test(i)&&a&&n.push({concept:i,body:a})}else{let e=I(r).replace(/\s+/g,` `).trim();e&&e.length<=200&&n.push({concept:`profile`,body:e})}if(n.length>=8)break}return n.length?n:void 0}function ye(e){let t=F(e).map(e=>i(I(e).replace(/\s+/g,` `).trim())).filter(e=>e.length>0&&e.length<=48).slice(0,6);return t.length>=2?t:void 0}function be(e){let t=P(e),n=i(I(t.what).replace(/\s+/g,` `).trim()).slice(0,80),r=i(I(t.was).replace(/\s+/g,` `).trim()).slice(0,120),a=i(I(t.now).replace(/\s+/g,` `).trim()).slice(0,120);return n&&r&&a?{what:n,was:r,now:a}:void 0}function xe(e){let t=P(e);if(!Object.keys(t).length)return;let n=V(t.score,NaN);if(!Number.isFinite(n))return;let r=i(I(t.reason).replace(/\s+/g,` `).trim()).slice(0,120);return r?{score:H(n,0,100),reason:r}:void 0}function Se(e,t){let n=P(e);if(!Object.keys(n).length)return;let r=t[typeof n.index==`number`?Math.trunc(n.index):-1];if(!r?.id)return;let a=i(I(n.label).replace(/\s+/g,` `).trim()).slice(0,40),o=P(n.param),s=Number(o.min),c=Number(o.max),u=Number(o.step),d=Number(o.value);if(![s,c,u,d].every(Number.isFinite)||s>=c||u<=0)return;let f=Math.min(c,Math.max(s,d)),p=I(o.unit).trim().slice(0,8),m=F(n.outputs).map(e=>{let t=P(e),n=i(I(t.label).replace(/\s+/g,` `).trim()).slice(0,32),r=I(t.formula).trim(),a=I(t.unit).trim().slice(0,8);return!n||!l(r)?null:{label:n,formula:r,...a?{unit:a}:{}}}).filter(e=>e!==null).slice(0,4);if(!(!a||m.length===0))return{blockId:r.id,label:a,param:{value:f,min:s,max:c,step:u,...p?{unit:p}:{}},outputs:m}}var Ce=new Set([`date`,`number`,`text`,`choice`,`card`]);function we(e){let t=I(e).toLowerCase().trim().replace(/[^a-z0-9_]+/g,`_`).replace(/^_+|_+$/g,``);return/^[a-z][a-z0-9_]*$/.test(t)?t.slice(0,40):``}function Te(e){let t=P(e),n=we(t.key??t.id??t.name),r=i(R(t,`label`,`name`,`title`).replace(/\s+/g,` `).trim()).slice(0,48),a=i(I(t.prompt??t.question).replace(/\s+/g,` `).trim()).slice(0,140);if(!n||!r||!a)return null;let o=I(t.kind).toLowerCase().trim(),s=Ce.has(o)?o:`text`,c={key:n,label:r,prompt:a,kind:s},l=I(t.unit).trim().slice(0,8);s===`number`&&l&&(c.unit=l);let u=i(I(t.placeholder).replace(/\s+/g,` `).trim()).slice(0,60);if(u&&(c.placeholder=u),t.accent!==void 0&&(c.accent=G(t.accent)),s===`choice`){let e=F(t.options).map(e=>i(I(e).replace(/\s+/g,` `).trim()).slice(0,40)).filter(Boolean).slice(0,6);e.length&&(c.options=e)}if(s===`card`){let e=F(t.accepts).map(e=>I(e).toLowerCase().trim()).filter(e=>!!m(e)).slice(0,8);e.length&&(c.accepts=e)}return c}function Ee(e,t=4){let n=new Set,r=[];for(let i of e)if(!n.has(i.key)&&(n.add(i.key),r.push(i),r.length>=t))break;return r}function De(e){let t=[];for(let n of e)n.type===`blanks`?t.push(...n.props.slots):n.type===`composite`&&t.push(...De(n.props.regions.map(e=>e.block)));return t}function Oe(t){let n=R(t,`title`,`heading`,`header`),r=Ee(z(t,`slots`,`blanks`,`holes`,`items`,`fields`).map(Te).filter(e=>e!==null));if(!n||r.length===0)return null;let a={title:n,slots:r},o=L(t.icon);o&&o in e&&(a.icon=o),t.iconColor!==void 0&&(a.iconColor=G(t.iconColor));let s=i(I(t.intro).replace(/\s+/g,` `).trim()).slice(0,140);s&&(a.intro=s);let c=L(t.footer);return c&&(a.footer=c),a}function ke(e){let t=F(e).map(e=>{let t=P(e),n=I(t.file);if(!n)return null;let r={file:n},i=L(t.loc);return i&&(r.loc=i),r}).filter(e=>e!==null);return t.length?t:void 0}function Y(e,t,n,r){return e===`strong`&&/\d/.test(t)&&!n&&!r}function Ae(e,t){let n=R(e,`title`,`headline`,`heading`,`header`);if(!n)return null;let r={title:n},i=R(e,`summary`,`text`,`detail`,`description`,`body`,`content`)||void 0;i&&(r.summary=i);let a=L(e.stat);a&&(r.stat=a);let o=L(e.delta);o&&(r.delta=o);let s=he(e.deltaDir);s&&(r.deltaDir=s);let c=q(e.conf);c&&(r.conf=c);let l=ke(e.sources);l&&(r.sources=l);let u=`${r.stat??``} ${r.delta??``}`;return Y(r.conf,u,!!l?.length,t)&&(r.conf=`inferred`),r}function je(e,t){let n=I(e.title),r=F(e.labels).map(e=>I(e)).filter(e=>e!==``),i=F(e.series).map(e=>{let t=P(e),n=F(t.data).map(e=>Math.round(V(e)*100)/100);return n.length?{name:I(t.name,`Series`),color:G(t.color),data:n}:null}).filter(e=>e!==null);if(!n||!r.length||!i.length)return null;let a={title:n,labels:r,series:i},o=L(e.unit);o&&(a.unit=o);let s=L(e.footer);s&&(a.footer=s);let c=q(e.conf);return c&&(a.conf=Y(c,`1`,!1,t)?`inferred`:c),a}function Me(e,t){let n=R(e,`title`,`heading`,`header`),r=z(e,`rows`,`items`,`categories`,`breakdown`,`parts`).map(e=>{let t=P(e),n=R(t,`name`,`label`,`category`,`item`);if(!n)return null;let r={name:n,val:R(t,`val`,`value`,`amount`,`display`),pct:H(Math.round(V(t.pct??t.percent??t.share)),0,100)};B(t.hot)&&(r.hot=!0);let i=L(t.tag);return i&&(r.tag=i),i&&t.tagColor!==void 0&&(r.tagColor=G(t.tagColor)),r}).filter(e=>e!==null);if(!n||!r.length)return null;let i={title:n,rows:r},a=J(e.icon);a&&(i.icon=a),e.iconColor!==void 0&&(i.iconColor=G(e.iconColor));let o=q(e.conf);return o&&(i.conf=Y(o,r.map(e=>e.val).join(` `),!1,t)?`inferred`:o),i}var Ne=2;function Pe(e){let t=R(e,`title`,`heading`,`header`),n=z(e,`items`,`points`,`tips`,`list`,`steps`,`bullets`).map(e=>typeof e==`string`?e:R(P(e),`text`,`label`,`title`,`name`,`item`)).filter(e=>e!==``);return!t||n.length<Ne?null:{title:t,items:n}}function Fe(e){let t=z(e,`events`,`items`,`steps`,`schedule`,`timeline`).map(e=>{let t=P(e),n=R(t,`title`,`event`,`activity`,`name`,`label`,`step`,`task`);if(!n)return null;let r={time:R(t,`time`,`when`,`day`,`date`),title:n},i=R(t,`detail`,`description`,`desc`,`note`,`sub`)||void 0;return i&&(r.detail=i),r}).filter(e=>e!==null);if(!t.length)return null;let n={events:t},r=L(e.eyebrow);r&&(n.eyebrow=r);let i=L(e.title);return i&&(n.title=i),n}function Ie(e){let t=F(e.options).map(e=>{let t=P(e),n=I(t.name);if(!n)return null;let r={name:n},i=L(t.sub);return i&&(r.sub=i),B(t.pick)&&(r.pick=!0),r}).filter(e=>e!==null),n=F(e.criteria).map(e=>{let t=P(e),n=I(t.label);return n?{label:n,cells:F(t.cells).map(e=>{let t=P(e),n={v:I(t.v)};return B(t.win)&&(n.win=!0),n})}:null}).filter(e=>e!==null);if(t.length<2||!n.length)return null;let r={options:t,criteria:n},i=L(e.eyebrow);i&&(r.eyebrow=i);let a=L(e.recommendation);return a&&(r.recommendation=a),r}function Le(e,t){let n=z(e,`items`,`kpis`,`stats`,`metrics`,`data`),r=(n.length?n:R(e,`label`,`value`)?[e]:[]).map(e=>{let t=P(e),n=R(t,`label`,`name`,`title`),r=R(t,`value`,`val`,`stat`,`amount`);if(!n)return null;let i={val:r||`—`,label:n};return t.color!==void 0&&(i.color=G(t.color)),i}).filter(e=>e!==null);if(!r.length)return null;let i={title:R(e,`title`,`heading`,`header`)||(r.length===1?r[0].label:``)||`Key stats`,kpis:r},a=J(e.icon);a&&(i.icon=a),e.iconColor!==void 0&&(i.iconColor=G(e.iconColor));let o=V(e.cols,0);o>=2&&o<=4&&(i.cols=Math.round(o));let s=L(e.footer);s&&(i.footer=s);let c=q(e.conf);return c&&(i.conf=Y(c,r.map(e=>e.val).join(` `),!1,t)?`inferred`:c),i}function Re(e){let t=I(e.title),n=F(e.rings).map(e=>{let t=P(e),n=I(t.label);if(!n)return null;let r=H(V(t.pct),0,1);return{label:n,pct:r,display:K(I(t.display,``))||`${Math.round(r*100)}%`,...L(t.hint)?{hint:I(t.hint)}:{}}}).filter(e=>e!==null);return!t||!n.length?null:{title:t,rings:n}}function ze(e,t){let n=R(e,`title`,`heading`,`header`),r=z(e,`bars`,`data`,`items`,`values`,`rows`).map(e=>{let t=P(e),n=R(t,`label`,`name`,`category`);if(!n)return null;let r={value:V(t.value??t.amount??t.count),label:n},i=L(t.label2);return i&&(r.label2=i),t.color!==void 0&&(r.color=G(t.color)),B(t.hot)&&(r.hot=!0),r}).filter(e=>e!==null);if(!n||!r.length)return null;let i={title:n,bars:r},a=L(e.unit);a&&(i.unit=a),e.goal!==void 0&&e.goal!==null&&(i.goal=V(e.goal));let o=L(e.goalLabel);o&&(i.goalLabel=o);let s=L(e.footer);s&&(i.footer=s);let c=q(e.conf);return c&&(i.conf=Y(c,`1`,!1,t)?`inferred`:c),i}function Be(e,t){let n=I(e.title),r=F(e.segments).map(e=>{let t=P(e),n=I(t.label);if(!n)return null;let r=V(t.value);return{value:r,label:n,display:K(I(t.display,``))||String(r),color:G(t.color)}}).filter(e=>e!==null);if(!n||!r.length)return null;let i={title:n,segments:r},a=L(e.total);a&&(i.total=a);let o=L(e.footer);o&&(i.footer=o);let s=q(e.conf);return s&&(i.conf=Y(s,r.map(e=>e.display).join(` `),!1,t)?`inferred`:s),i}function Ve(e,t){let n=I(e.title),r=F(e.rows).map(e=>{let t=P(e),n=I(t.label);return n?{label:n,pct:H(V(t.pct),0,100),color:G(t.color)}:null}).filter(e=>e!==null);if(!n||!r.length)return null;let i={title:n,rows:r},a=L(e.footer);a&&(i.footer=a);let o=q(e.conf);return o&&(i.conf=Y(o,`1`,!1,t)?`inferred`:o),i}function He(e,t){let n=I(e.title);if(!n)return null;let r={title:n,value:V(e.value)};e.max!==void 0&&e.max!==null&&(r.max=V(e.max)),e.color!==void 0&&(r.color=G(e.color));let i=K(I(e.band,``));i&&(r.band=i);let a=K(I(e.driver,``));a&&(r.driver=a);let o=L(e.footer);o&&(r.footer=o);let s=q(e.conf);return s&&(r.conf=Y(s,`1`,!1,t)?`inferred`:s),r}function Ue(e){return e.replace(/</g,`‹`).replace(/>/g,`›`)}function X(e){if(typeof e==`string`)return Ue(i(e));if(Array.isArray(e))return e.map(X);if(e&&typeof e==`object`){let t={};for(let[n,r]of Object.entries(e))t[n]=X(r);return t}return e}function Z(e){return e===null?null:X(e)}function We(e,t){let n=t+`.`;for(let t of e)if(t.startsWith(n))return t.slice(n.length);return``}function Ge(e,t){return Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return X(e);let n=e,r={};for(let[e,i]of Object.entries(n))r[e]=e===t?i:X(i);return r}):X(e)}function Ke(e,t){return F(e).map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return t.text&&typeof e==`string`&&e.trim()?{[t.text]:e}:null;let n={...e};if(t.text){if(!I(n[t.text],``).trim()){let e=R(n,...t.textAliases??[]);e&&(n[t.text]=e)}if(!I(n[t.text],``).trim())return null}return t.children&&(n[t.children.prop]=Ke(n[t.children.prop],t.children)),n}).filter(e=>e!==null)}var qe=[`text`,`step`,`tip`,`name`,`label`,`title`,`line`,`value`,`description`];function Je(e){if(typeof e==`string`)return e.trim();if(typeof e==`number`&&Number.isFinite(e))return String(e);if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;for(let e of qe){let n=t[e];if(typeof n==`string`&&n.trim())return n.trim()}let n=Object.values(t).filter(e=>typeof e==`string`&&!!e.trim());if(n.length===1)return n[0].trim()}return``}function Ye(e){return typeof e==`string`&&e.trim()?[e.trim()]:F(e).map(Je).filter(e=>e!==``)}var Q=Symbol(`invalid generated component structure`);function Xe(e){return Array.isArray(e)?1+e.reduce((e,t)=>e+Xe(t),0):e&&typeof e==`object`?1+Object.values(e).reduce((e,t)=>e+Xe(t),0):1}function $(e,t,n,r,i,a,o,s=0){if(s>10)return Q;if(typeof t==`string`)return typeof e==`string`?e:typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`?String(e):Q;if(typeof t==`number`){let t=typeof e==`number`?e:typeof e==`string`&&e.trim()?Number(e):NaN;return Number.isFinite(t)?t:Q}if(typeof t==`boolean`)return typeof e==`boolean`?e:e===`true`?!0:e===`false`?!1:Q;if(Array.isArray(t)){if(!Array.isArray(e)||t.length===0)return Q;let c=e.slice(0,64).map(e=>{let c=t.map(t=>({weight:Xe(t),value:$(e,t,n,r,i,a,`${o}[]`,s+1)})).filter(e=>e.value!==Q).sort((e,t)=>t.weight-e.weight)[0]?.value;return c===void 0?Q:c}).filter(e=>e!==Q&&(typeof e!=`string`||e.trim()!==``));return c.length?c:Q}if(t&&typeof t==`object`){if(!e||typeof e!=`object`||Array.isArray(e))return Q;let c=e;if(i.has(o)){let e=Object.values(t)[0]??``,l={};for(let[t,u]of Object.entries(c).slice(0,200)){let c=$(u,e,n,r,i,a,`${o}.${t}`,s+1);c!==Q&&(l[t]=c)}return Object.keys(l).length?l:Q}let l={},u=Object.entries(t).slice(0,64);if(!u.length)return Q;let d=n.get(o)??new Set;for(let[e,t]of u){if(!(e in c)){if(!d.has(e)&&(typeof t==`string`||typeof t==`boolean`)||r.has(`${o}.${e}`))continue;return Q}let u=$(c[e],t,n,r,i,a,`${o}.${e}`,s+1);if(u===Q)return Q;let f=typeof u==`string`?a.get(`${o}.${e}`):void 0;if(f){let t=Qe(u,f.values);if(t!==null){l[e]=t;continue}if(f.strict)return Q;d.has(e)&&(l[e]=u);continue}l[e]=u}for(let e of d)e in c&&!(e in l)&&(l[e]=c[e]);return l}return Q}function Ze(e){if(!e||!/\|\s*["']/.test(e))return null;let t=e.indexOf(`e.g.`);if(t!==-1&&t<e.search(/["']/))return null;let n=[...e.matchAll(/["']([^"']+)["']/g)].map(e=>e[1]);return n.length>=2?new Set(n):null}function Qe(e,t){if(t.has(e))return e;let n=e=>e.endsWith(`ies`)?e.slice(0,-3)+`y`:e.endsWith(`s`)?e.slice(0,-1):e,r=n(e.trim().toLowerCase());if(!r)return null;for(let e of t)if(n(e.toLowerCase())===r)return e;return null}var $e={datatable:new Set([`rows[]`]),scatterplotmatrix:new Set([`rows[]`]),pivot:new Set([`rows[].cells[].values`]),leaderboard:new Set([`rows[].values`]),parallelcoordinates:new Set([`lines[].values`])},et=new Set;function tt(e,t){let n={...t};for(let t of e.itemShapes??[])n[t.prop]!==void 0&&(n[t.prop]=Ke(n[t.prop],t));for(let t of e.stringItems??[])n[t]!==void 0&&(n[t]=Ye(n[t]));let r=ae[e.type];if(!r||typeof r!=`object`||Array.isArray(r))return null;let i=new Map,a=(e,t)=>{let n=new Set([...e.text?[e.text]:[],...e.requiredFields??[]]);n.size&&i.set(`${t}[]`,n),e.children&&a(e.children,`${t}[].${e.children.prop}`)};for(let t of e.itemShapes??[])a(t,t.prop);let o=new Set(Object.entries(e.propHints??{}).filter(([,e])=>/\boptional\b/i.test(e)).map(([e])=>e)),s=$e[e.type]??et,c=new Set,l=(e,t)=>{e.closedVocab&&e.text&&c.add(`${t}[].${e.text}`),e.children&&l(e.children,`${t}[].${e.children.prop}`)};for(let t of e.itemShapes??[])l(t,t.prop);let u=new Map;for(let[t,n]of Object.entries(e.propHints??{})){if(!t.includes(`.`))continue;let e=Ze(n);e&&u.set(t,{values:e,strict:c.has(t)})}for(let t of[...e.requires,...e.optional]){if(n[t]===void 0)continue;if(!(t in r)){if(e.requires.includes(t))return null;delete n[t];continue}let a=$(n[t],r[t],i,o,s,u,t);if(a===Q)delete n[t];else{let r=Ze(e.propHints?.[t]);if(r&&typeof a==`string`){let e=Qe(a,r);e===null?delete n[t]:n[t]=e}else n[t]=a}}for(let t of e.requires){let e=n[t];if(e==null||typeof e==`string`&&e.trim()===``||Array.isArray(e)&&e.length===0)return null}let d=nt[e.type],f={};for(let t of[...e.requires,...e.optional]){if(n[t]===void 0)continue;if(d?.has(t)){f[t]=n[t];continue}let e=d&&We(d,t);f[t]=e?Ge(n[t],e):X(n[t])}return f}var nt={codeblock:new Set([`code`]),messagedraft:new Set([`body`]),stacktrace:new Set([`message`,`fix`]),equationblock:new Set([`tex`,`math`]),svgblock:new Set([`svg`]),molecularstructure:new Set([`smiles`]),whatchanged:new Set([`before`,`after`,`footer`,`diff.c`]),reasoning:new Set([`conclusion`,`footer`,`steps.detail`]),retrieval:new Set([`footer`,`chunks.body`])};function rt(e){let t=s(R(e,`src`,`url`,`image`))??``,n=[...F(e.candidates),...F(e.urls)].map(e=>s(I(e))).filter(e=>!!e&&e!==t),r=t||n[0]||``;if(!r)return null;let i=r===t?n:n.slice(1),a={src:r};i.length&&(a.candidates=i);let o=L(e.title);o&&(a.title=o);let c=L(e.alt);c&&(a.alt=c);let l=L(e.caption);return l&&(a.caption=l),a}var it=new Set([`default`,`start`,`accent`,`good`,`warn`,`muted`]),at=new Set([`default`,`accent`,`good`,`warn`,`muted`]),ot=new Set([`cycle`,`layered`,`free`]);function st(e){let t=I(e.title).trim();if(!t)return null;let n=F(e.nodes).map(e=>{let t=P(e),n=I(t.id).trim(),r=(R(t,`label`,`name`,`text`)||``).trim();if(!n||!r)return null;let i={id:n,label:r},a=L(t.sub);a&&(i.sub=a);let o=I(t.kind).trim();return it.has(o)&&(i.kind=o),typeof t.x==`number`&&Number.isFinite(t.x)&&(i.x=H(t.x,0,1)),typeof t.y==`number`&&Number.isFinite(t.y)&&(i.y=H(t.y,0,1)),i}).filter(e=>e!==null),r=new Set,i=n.filter(e=>r.has(e.id)?!1:(r.add(e.id),!0));if(i.length<2)return null;let a=new Set(i.map(e=>e.id)),o={title:t,nodes:i,edges:F(e.edges).map(e=>{let t=P(e),n=(R(t,`from`,`source`,`start`)||``).trim(),r=(R(t,`to`,`target`,`end`)||``).trim();if(!a.has(n)||!a.has(r))return null;let i={from:n,to:r},o=L(t.label);o&&(i.label=o);let s=I(t.kind).trim();return at.has(s)&&(i.kind=s),B(t.bidirectional)&&(i.bidirectional=!0),B(t.dashed)&&(i.dashed=!0),i}).filter(e=>e!==null)},s=J(e.icon);s&&(o.icon=s),L(e.iconColor)&&(o.iconColor=G(e.iconColor));let c=I(e.layout).trim();ot.has(c)&&(o.layout=c);let l=L(e.footer);return l&&(o.footer=l),o}var ct=new Set([`circle`,`rect`,`line`,`polygon`,`path`]);function lt(e){let t=(e.match(/-?\d+(?:\.\d+)?/g)??[]).map(Number).filter(e=>Number.isFinite(e)),n=[];for(let e=0;e+1<t.length;e+=2)n.push([t[e],t[e+1]]);return n}function ut(e){let t=P(e),n=I(t.kind).toLowerCase().trim();if(!ct.has(n))return null;let r={kind:n};switch(n){case`circle`:{let e=V(t.r,NaN);if(!Number.isFinite(e)||e<=0)return null;r.cx=U(t.cx),r.cy=U(t.cy),r.r=H(e,.5,100);break}case`rect`:{let e=V(t.w,NaN),n=V(t.h,NaN);if(!Number.isFinite(e)||!Number.isFinite(n)||e<=0||n<=0)return null;r.x=U(t.x),r.y=U(t.y),r.w=H(e,.5,100),r.h=H(n,.5,100);break}case`line`:{let e=U(t.x1),n=U(t.y1),i=U(t.x2),a=U(t.y2);if(e===i&&n===a)return null;r.x1=e,r.y1=n,r.x2=i,r.y2=a,B(t.arrow)&&(r.arrow=!0);break}case`polygon`:{let e=lt(I(t.points));if(new Set(e.map(([e,t])=>`${Math.round(e)},${Math.round(t)}`)).size<3)return null;r.points=e.map(([e,t])=>`${H(e,0,100)},${H(t,0,100)}`).join(` `);break}case`path`:{let e=I(t.d).trim(),n=(e.match(/-?\d+(?:\.\d+)?/g)??[]).map(Number);if(!e||n.length<2||n.some(e=>!Number.isFinite(e))||n.some(e=>Math.abs(e)>200))return null;r.d=e;break}}let i=L(t.color);i&&(r.color=G(i));let a=L(t.fill);return a&&(r.fill=G(a)),r}function dt(e){let t=P(e),n=R(t,`text`,`label`,`name`).trim();if(!n)return null;let r={x:U(t.x),y:U(t.y),text:W(n,60)},i=I(t.side).toLowerCase().trim();(i===`left`||i===`right`||i===`top`||i===`bottom`)&&(r.side=i);let a=L(t.color);return a&&(r.color=G(a)),r}function ft(e){let t=I(e.title).trim();if(!t)return null;let n=z(e,`shapes`,`figure`).slice(0,24).map(ut).filter(e=>e!==null);if(n.length===0)return null;let r={title:t,shapes:n,labels:z(e,`labels`,`callouts`,`annotations`).slice(0,24).map(dt).filter(e=>e!==null)},i=J(e.icon);i&&(r.icon=i),L(e.iconColor)&&(r.iconColor=G(e.iconColor));let a=V(e.ratio,NaN);Number.isFinite(a)&&(r.ratio=H(a,.4,4));let o=L(e.footer);return o&&(r.footer=o),r}function pt(e){let t=P(e),n=z(t,`add`,`shapes`,`figure`).slice(0,24).map(ut).filter(e=>e!==null),r=z(t,`labels`,`callouts`,`annotations`).slice(0,24).map(dt).filter(e=>e!==null);if(n.length===0&&r.length===0)return null;let o=R(t,`caption`,`label`,`title`,`text`,`say`),s={caption:W(i(o).trim(),120),add:n},c=a(o).trim();c&&c!==s.caption&&(s.captionSpoken=W(c,160)),r.length&&(s.labels=r);let l=F(t.emphasize).map(e=>V(e,NaN)).filter(e=>Number.isFinite(e)&&e>=0&&e<n.length).map(e=>Math.floor(e));return l.length&&(s.emphasize=l),s}function mt(e){let t=I(e.title).trim();if(!t)return null;let n=z(e,`steps`,`frames`).slice(0,8).map(pt).filter(e=>e!==null);if(n.length===0)return null;let r={title:t,steps:n},i=z(e,`baseShapes`,`base`).slice(0,24).map(ut).filter(e=>e!==null);i.length&&(r.baseShapes=i);let a=z(e,`baseLabels`).slice(0,24).map(dt).filter(e=>e!==null);a.length&&(r.baseLabels=a);let o=J(e.icon);o&&(r.icon=o),L(e.iconColor)&&(r.iconColor=G(e.iconColor));let s=V(e.ratio,NaN);Number.isFinite(s)&&(r.ratio=H(s,.4,4));let c=L(e.footer);return c&&(r.footer=c),r}function ht(e,t,n){let r=I(e.title).trim();if(!r)return null;let i=new Set([...t].filter(e=>e!==`composite`)),a=1,o=F(e.regions).map(e=>{let t=P(e),r=yt(t.block===void 0?e:t.block,12,0,a,i,n);if(!r)return null;r.type===`insight`&&a++;let o={block:r},s=t.span;return typeof s==`number`&&Number.isFinite(s)&&(o.span=Math.min(12,Math.max(1,Math.round(s)))),o}).filter(e=>e!==null);if(o.length<2)return null;let s={title:r,regions:o},c=J(e.icon);c&&(s.icon=c),L(e.iconColor)&&(s.iconColor=G(e.iconColor));let l=L(e.footer);return l&&(s.footer=l),s}function gt(e){let{type:t,props:n,...r}=e;return r}var _t=new Set([`carousel`,`beforeafter`,`imagecallouts`,`moodboard`,`mediacard`]);function vt(e,t){let n=e=>!!c(R(e,`src`,`url`,`image`));switch(e){case`carousel`:return z(t,`slides`,`items`,`cards`).some(e=>n(P(e)));case`moodboard`:return z(t,`tiles`,`items`,`images`).some(e=>n(P(e)));case`beforeafter`:return n(P(t.before))||n(P(t.after));case`imagecallouts`:return n(P(t.image));case`mediacard`:return n(P(t.cover));default:return!0}}function yt(e,t,n,r,i,a){let o=P(e),c=I(o.type).toLowerCase().trim(),l=o.props!==void 0&&typeof o.props==`object`?P(o.props):gt(o);if(!i.has(c)&&!(c===`photo`&&s(R(l,`src`,`url`,`image`)))||_t.has(c)&&!vt(c,l))return null;switch(c){case`insight`:{let e=Z(Ae(l,a));return e?{type:`insight`,col:t,delay:n,id:`live-${r}`,num:String(r),props:e}:null}case`chart`:{let e=Z(je(l,a));return e?{type:`chart`,col:t,delay:n,props:e}:null}case`breakdown`:{let e=Z(Me(l,a));return e?{type:`breakdown`,col:t,delay:n,props:e}:null}case`list`:{let e=Z(Pe(l));return e?{type:`list`,col:t,delay:n,props:e}:null}case`timeline`:{let e=Z(Fe(l));return e?{type:`timeline`,col:t,delay:n,props:e}:null}case`compare`:{let e=Z(Ie(l));return e?{type:`compare`,col:t,delay:n,props:e}:null}case`kpi`:{let e=Z(Le(l,a));return e?{type:`kpi`,col:t,delay:n,props:e}:null}case`ring`:{let e=Z(Re(l));return e?{type:`ring`,col:t,delay:n,props:e}:null}case`bars`:{let e=Z(ze(l,a));return e?{type:`bars`,col:t,delay:n,props:e}:null}case`stack`:{let e=Z(Be(l,a));return e?{type:`stack`,col:t,delay:n,props:e}:null}case`donut`:{let e=Z(Ve(l,a));return e?{type:`donut`,col:t,delay:n,props:e}:null}case`gauge`:{let e=Z(He(l,a));return e?{type:`gauge`,col:t,delay:n,props:e}:null}case`photo`:{let e=Z(rt(l));return e?{type:`photo`,col:t,delay:n,props:e}:null}case`diagram`:{let e=Z(ft(l));return e?{type:`diagram`,col:t,delay:n,props:e}:null}case`teachdiagram`:{let e=Z(mt(l));return e?{type:`teachdiagram`,col:t,delay:n,props:e}:null}case`diagramflow`:{let e=Z(st(l));return e?{type:`diagramflow`,col:t,delay:n,props:e}:null}case`blanks`:{let e=Z(Oe(l));return e?{type:`blanks`,col:t,delay:n,props:e}:null}case`composite`:{let e=Z(ht(l,i,a));return e?{type:`composite`,col:t,delay:n,props:e}:null}case`action`:{let e=I(l.id).trim();if(!u(e))return null;let r={id:e,args:X(P(l.args))},i=L(l.label);return i&&(r.label=i),{type:`action`,col:t,delay:n,props:r}}case`imagecallouts`:{let e=p(c);if(!e||e.coercer!==`generic`)return null;let r=tt(e,l);if(!r)return null;let i=P(r.image);return r.image={...i,src:s(I(i.src))??``},{type:c,col:t,delay:n,props:r}}default:{let e=p(c);if(e&&e.coercer===`generic`){let r=tt(e,l);if(r)return St(c,r,l),{type:c,col:t,delay:n,props:r}}return null}}}var bt={datatable:e=>{let t=F(e.columns).map(P),n=F(e.rows).map(P),r=t.map(e=>I(e.key)).filter(Boolean),i=r[0]??``;return{columnKeys:r,rowLabels:i?n.map(e=>I(e[i])).filter(Boolean):[]}}},xt=new Set(Object.keys(bt));function St(e,t,n){let r=bt[e];if(!r)return t;let i=n.annotations;if(i===void 0)return t;let a=f(i,r(t));return a.length?t.annotations=a:delete t.annotations,t}var Ct=new Set([`example`,`derivation`,`edge`,`analogy`,`history`,`check`]);function wt(e){if(e!=null){if(typeof e==`number`){let t=Math.round(e);return Number.isFinite(t)?Math.max(0,Math.min(3,t)):void 0}if(typeof e==`string`){let t={gist:0,summary:0,overview:0,standard:1,normal:1,main:1,detailed:2,detail:2,deep:3,deeper:3,exhaustive:3,advanced:3},n=e.toLowerCase().trim();if(n in t)return t[n];let r=parseInt(n,10);if(!isNaN(r))return Math.max(0,Math.min(3,r))}}}function Tt(e,t=g,a=6,s=!1){let c=e;if(typeof e==`string`)try{c=JSON.parse(e)}catch{let t=e.match(/\{[\s\S]*\}/),n=null;if(t)try{n=JSON.parse(t[0])}catch{}if(n===null){let t=ee(e);if(!t.length)return null;n={title:oe(e,`title`),sub:oe(e,`sub`),narration:oe(e,`narration`),blocks:t}}c=n}let l=P(c),u=A(I(l.title).trim(),D(`response`,`title`,`text`)),d=A(I(l.sub).trim(),{maxGraphemes:180,maxLines:4}),f=W(I(l.narration).trim(),320),m=o(r(f)),h=o(n(f)),_=h&&h!==m?h:``,v=[],y=1,b=1;for(let e of F(l.blocks)){if(v.length>=a)break;let i=v.length,o=P(e),c=I(o.type).toLowerCase().trim();if(c===`insight`&&y>1)continue;let l=yt(e,le[c]??6,Math.min(i*70,560),y,t,s);if(!l)continue;l.props=ie(l.type,l.props,p(l.type)),l.type===`insight`&&(y+=1),l.id=`live-${b}`;let u=W(I(o.note).trim(),170),d=r(u);if(d){l.note=d;let e=n(u);e&&e!==d&&(l.noteSpoken=e)}let f=I(o.section).trim().slice(0,60);f&&(l.section=f);let m=o.order;if(m!=null){let e=Math.round(Number(m));Number.isFinite(e)&&e>=1&&(l.order=Math.min(e,99))}let h=wt(o.depth);h!==void 0&&(l.depth=h);let g=I(o.facet).toLowerCase().trim();Ct.has(g)&&(l.facet=g),b+=1,v.push(l)}if(!u&&!v.length)return null;let x=I(l.continuity).toLowerCase().trim(),S=x===`replace`||x===`augment`||x===`refine`?x:void 0,C=new Set,w=[],te=(e,t)=>{let n=P(e),r=L(n.kind)??``,a=L(n.at),o=se.has(r)?r:void 0;if(!o||!a)return;let s=i(L(n.label)??``).slice(0,28);if(o===`note`&&!s)return;let c=i(L(n.to)??``).slice(0,80);if(o===`question`){let e=v[t].props?.conf;if(e!==`inferred`&&e!==`partial`)return}if(o===`brace`&&!c)return;let l=L(n.color),u=o===`star`?`key`:l===`warm`||l===`key`||l===`cool`?l:o===`strike`?`cool`:void 0,d;if(o===`connect`){let e=Math.round(V(n.onIndex,-1));if(e>=0&&e<v.length&&e!==t&&(d=e),!c||d===void 0)return}let f=o===`rising`||o===`falling`||o===`bracket`||o===`brace`;return{kind:o,at:i(a).slice(0,80),...(f||o===`connect`)&&c?{to:c}:{},...(o===`note`||o===`bracket`||o===`brace`)&&s?{label:s}:{},...u?{color:u}:{},...typeof d==`number`?{onIndex:d}:{}}},T=0,E=0,ne=0,re=0,O=0;for(let e of F(l.tour)){if(w.length>=v.length)break;let t=P(e),i=Math.round(V(t.index,-1));if(i<0||i>=v.length||C.has(i))continue;C.add(i);let a=F(t.marks),o=!1,s=(a.length?a:[t.mark]).map(e=>te(e,i)).filter(e=>!!e).filter((e,t,n)=>n.findIndex(t=>t.kind===e.kind&&t.at===e.at)===t).slice(0,6).filter(e=>e.kind===`connect`?o||T>=2?!1:(o=!0,T+=1,!0):!0).filter(e=>e.kind===`star`?E++<1:e.kind===`question`?ne++<1:e.kind===`strike`?re++<2:e.kind===`brace`?O++<2:!0),c=s[0],l=c?{mark:c,...s.length>1?{marks:s}:{}}:{},u=L(t.say);if(!u){w.push({index:i,...l});continue}let d=r(u),f=n(u);w.push({index:i,say:d,...f&&f!==d?{saySpoken:f}:{},...l})}let k=ge(l.sources),j=_e(l.chips),M=ve(l.memory),ae=ye(l.understood),ce=be(l.corrects),N=xe(l.track),ue=Se(l.bend,v),de=De(v),fe=F(l.blanks).map(Te).filter(e=>e!==null),pe=Ee([...de,...fe]),R=I(l.topic).trim().replace(/[^a-zA-Z0-9&/ -]/g,``).trim().slice(0,40);return{title:u||`Response`,sub:d,narration:m,blocks:v,...R?{topic:R}:{},...S?{continuity:S}:{},...w.length?{tour:w}:{},...k?{sources:k}:{},...j?{chips:j}:{},...M?{memory:M}:{},...ae?{understood:ae}:{},...ce?{corrects:ce}:{},...N?{track:N}:{},...ue?{bend:ue}:{},...pe.length?{blanks:pe,awaiting:!0}:{},..._?{spoken:_}:{}}}export{xt as ANNOTATABLE_TYPES,pe as liveSystemPrompt,M as t,Tt as validateLiveResponse};