@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,14 @@
1
+ function e(e,t){return e[13]=1,e[14]=t>>8,e[15]=t&255,e[16]=t>>8,e[17]=t&255,e}var t=112,n=72,r=89,i=115,a;function o(){let e=new Int32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e}function s(e){let t=-1;a||=o();for(let n=0;n<e.length;n++)t=a[(t^e[n])&255]^t>>>8;return t^-1}function c(e){let a=e.length-1;for(let o=a;o>=4;o--)if(e[o-4]===9&&e[o-3]===t&&e[o-2]===n&&e[o-1]===r&&e[o]===i)return o-3;return 0}function l(e,a,o=!1){let l=new Uint8Array(13);a*=39.3701,l[0]=t,l[1]=n,l[2]=r,l[3]=i,l[4]=a>>>24,l[5]=a>>>16,l[6]=a>>>8,l[7]=a&255,l[8]=l[4],l[9]=l[5],l[10]=l[6],l[11]=l[7],l[12]=1;let u=s(l),d=new Uint8Array(4);if(d[0]=u>>>24,d[1]=u>>>16,d[2]=u>>>8,d[3]=u&255,o){let t=c(e);return e.set(l,t),e.set(d,t+13),e}else{let t=new Uint8Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=9;let n=new Uint8Array(54);return n.set(e,0),n.set(t,33),n.set(l,37),n.set(d,50),n}}var u=`AAlwSFlz`,d=`AAAJcEhZ`,f=`AAAACXBI`;function p(e){let t=e.indexOf(u);return t===-1&&(t=e.indexOf(d)),t===-1&&(t=e.indexOf(f)),t}var m=`[modern-screenshot]`,h=typeof window<`u`,g=h&&`Worker`in window,_=h&&`atob`in window,v=h&&`btoa`in window,y=h?window.navigator?.userAgent:``,b=y.includes(`Chrome`),x=y.includes(`AppleWebKit`)&&!b,S=y.includes(`Firefox`),ee=e=>e&&`__CONTEXT__`in e,te=e=>e.constructor.name===`CSSFontFaceRule`,ne=e=>e.constructor.name===`CSSImportRule`,re=e=>e.constructor.name===`CSSLayerBlockRule`,C=e=>e.nodeType===1,w=e=>typeof e.className==`object`,T=e=>e.tagName===`image`,ie=e=>e.tagName===`use`,E=e=>C(e)&&e.style!==void 0&&!w(e),ae=e=>e.nodeType===8,oe=e=>e.nodeType===3,D=e=>e.tagName===`IMG`,O=e=>e.tagName===`VIDEO`,se=e=>e.tagName===`CANVAS`,ce=e=>e.tagName===`TEXTAREA`,le=e=>e.tagName===`INPUT`,ue=e=>e.tagName===`STYLE`,de=e=>e.tagName===`SCRIPT`,fe=e=>e.tagName===`SELECT`,pe=e=>e.tagName===`SLOT`,me=e=>e.tagName===`IFRAME`,he=(...e)=>console.warn(m,...e);function ge(e){let t=e?.createElement?.(`canvas`);return t&&(t.height=t.width=1),!!t&&`toDataURL`in t&&!!t.toDataURL(`image/webp`).includes(`image/webp`)}var k=e=>e.startsWith(`data:`);function A(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(h&&e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i)||!h)return e;let n=j().implementation.createHTMLDocument(),r=n.createElement(`base`),i=n.createElement(`a`);return n.head.appendChild(r),n.body.appendChild(i),t&&(r.href=t),i.href=e,i.href}function j(e){return(e&&C(e)?e?.ownerDocument:e)??window.document}var M=`http://www.w3.org/2000/svg`;function N(e,t,n){let r=j(n).createElementNS(M,`svg`);return r.setAttributeNS(null,`width`,e.toString()),r.setAttributeNS(null,`height`,t.toString()),r.setAttributeNS(null,`viewBox`,`0 0 ${e} ${t}`),r}function P(e,t){let n=new XMLSerializer().serializeToString(e);return t&&(n=n.replace(/[\u0000-\u0008\v\f\u000E-\u001F\uD800-\uDFFF\uFFFE\uFFFF]/gu,``)),`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`}async function _e(e,t=`image/png`,n=1){try{return await new Promise((r,i)=>{e.toBlob(e=>{e?r(e):i(Error(`Blob is null`))},t,n)})}catch(r){if(_)return ve(e.toDataURL(t,n));throw r}}function ve(e){let[t,n]=e.split(`,`),r=t.match(/data:(.+);/)?.[1]??void 0,i=window.atob(n),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e+=1)o[e]=i.charCodeAt(e);return new Blob([o],{type:r})}function F(e,t){return new Promise((n,r)=>{let i=new FileReader;i.onload=()=>n(i.result),i.onerror=()=>r(i.error),i.onabort=()=>r(Error(`Failed read blob to ${t}`)),t===`dataUrl`?i.readAsDataURL(e):t===`arrayBuffer`&&i.readAsArrayBuffer(e)})}var ye=e=>F(e,`dataUrl`),be=e=>F(e,`arrayBuffer`);function I(e,t){let n=j(t).createElement(`img`);return n.decoding=`sync`,n.loading=`eager`,n.src=e,n}function L(e,t){return new Promise(n=>{let{timeout:r,ownerDocument:i,onError:a,onWarn:o}=t??{},s=typeof e==`string`?I(e,j(i)):e,c=null,l=null;function u(){n(s),c&&clearTimeout(c),l?.()}if(r&&(c=setTimeout(u,r)),O(s)){let e=s.currentSrc||s.src;if(!e)return s.poster?L(s.poster,t).then(n):u();if(s.readyState>=2)return u();let r=u,i=t=>{o?.(`Failed video load`,e,t),a?.(t),u()};l=()=>{s.removeEventListener(`loadeddata`,r),s.removeEventListener(`error`,i)},s.addEventListener(`loadeddata`,r,{once:!0}),s.addEventListener(`error`,i,{once:!0})}else{let e=T(s)?s.href.baseVal:s.currentSrc||s.src;if(!e)return u();let t=async()=>{if(D(s)&&`decode`in s)try{await s.decode()}catch(t){o?.(`Failed to decode image, trying to render anyway`,s.dataset.originalSrc||e,t)}u()},n=t=>{o?.(`Failed image load`,s.dataset.originalSrc||e,t),u()};if(D(s)&&s.complete)return t();l=()=>{s.removeEventListener(`load`,t),s.removeEventListener(`error`,n)},s.addEventListener(`load`,t,{once:!0}),s.addEventListener(`error`,n,{once:!0})}})}async function R(e,t){E(e)&&(D(e)||O(e)?await L(e,t):await Promise.all([`img`,`video`].flatMap(n=>Array.from(e.querySelectorAll(n)).map(e=>L(e,t)))))}var z=function(){let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)}();function B(e){return e?.split(`,`).map(e=>e.trim().replace(/"|'/g,``).toLowerCase()).filter(Boolean)}var V=0;function xe(e){let t=`${m}[#${V}]`;return V++,{time:n=>e&&console.time(`${t} ${n}`),timeEnd:n=>e&&console.timeEnd(`${t} ${n}`),warn:(...t)=>e&&he(...t)}}function Se(e){return{cache:e?`no-cache`:`force-cache`}}async function H(e,t){return ee(e)?e:U(e,{...t,autoDestruct:!0})}async function U(e,t){let{scale:n=1,workerUrl:r,workerNumber:i=1}=t||{},a=!!t?.debug,o=t?.features??!0,s=e.ownerDocument??(h?window.document:void 0),c=e.ownerDocument?.defaultView??(h?window:void 0),l=new Map,u={width:0,height:0,quality:1,type:`image/png`,scale:n,backgroundColor:null,style:null,filter:null,maximumCanvasSize:0,timeout:3e4,progress:null,debug:a,fetch:{requestInit:Se(t?.fetch?.bypassingCache),placeholderImage:`data:image/png;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7`,bypassingCache:!1,...t?.fetch},fetchFn:null,font:{},drawImageInterval:100,workerUrl:null,workerNumber:i,onCloneEachNode:null,onCloneNode:null,onEmbedNode:null,onCreateForeignObjectSvg:null,includeStyleProperties:null,autoDestruct:!1,...t,__CONTEXT__:!0,log:xe(a),node:e,ownerDocument:s,ownerWindow:c,dpi:n===1?null:96*n,svgStyleElement:W(s),svgDefsElement:s?.createElementNS(M,`defs`),svgStyles:new Map,defaultComputedStyles:new Map,workers:[...Array.from({length:g&&r&&i?i:0})].map(()=>{try{let e=new Worker(r);return e.onmessage=async e=>{let{url:t,result:n}=e.data;n?l.get(t)?.resolve?.(n):l.get(t)?.reject?.(Error(`Error receiving message from worker: ${t}`))},e.onmessageerror=e=>{let{url:t}=e.data;l.get(t)?.reject?.(Error(`Error receiving message from worker: ${t}`))},e}catch(e){return u.log.warn(`Failed to new Worker`,e),null}}).filter(Boolean),fontFamilies:new Map,fontCssTexts:new Map,acceptOfImage:`${[ge(s)&&`image/webp`,`image/svg+xml`,`image/*`,`*/*`].filter(Boolean).join(`,`)};q=0.8`,requests:l,drawImageCount:0,tasks:[],features:o,isEnable:e=>e===`restoreScrollPosition`?typeof o==`boolean`?!1:o[e]??!1:typeof o==`boolean`?o:o[e]??!0,shadowRoots:[]};u.log.time(`wait until load`),await R(e,{timeout:u.timeout,onWarn:u.log.warn}),u.log.timeEnd(`wait until load`);let{width:d,height:f}=Ce(e,u);return u.width=d,u.height=f,u}function W(e){if(!e)return;let t=e.createElement(`style`),n=t.ownerDocument.createTextNode(`
2
+ .______background-clip--text {
3
+ background-clip: text;
4
+ -webkit-background-clip: text;
5
+ }
6
+ `);return t.appendChild(n),t}function Ce(e,t){let{width:n,height:r}=t;if(C(e)&&(!n||!r)){let t=e.getBoundingClientRect();n=n||t.width||Number(e.getAttribute(`width`))||0,r=r||t.height||Number(e.getAttribute(`height`))||0}return{width:n,height:r}}async function we(e,t){let{log:n,timeout:r,drawImageCount:i,drawImageInterval:a}=t;n.time(`image to canvas`);let o=await L(e,{timeout:r,onWarn:t.log.warn}),{canvas:s,context2d:c}=Te(e.ownerDocument,t),l=()=>{try{c?.drawImage(o,0,0,s.width,s.height)}catch(e){t.log.warn(`Failed to drawImage`,e)}};if(l(),t.isEnable(`fixSvgXmlDecode`))for(let e=0;e<i;e++)await new Promise(t=>{setTimeout(()=>{c?.clearRect(0,0,s.width,s.height),l(),t()},e+a)});return t.drawImageCount=0,n.timeEnd(`image to canvas`),s}function Te(e,t){let{width:n,height:r,scale:i,backgroundColor:a,maximumCanvasSize:o}=t,s=e.createElement(`canvas`);s.width=Math.floor(n*i),s.height=Math.floor(r*i),s.style.width=`${n}px`,s.style.height=`${r}px`,o&&(s.width>o||s.height>o)&&(s.width>o&&s.height>o?s.width>s.height?(s.height*=o/s.width,s.width=o):(s.width*=o/s.height,s.height=o):s.width>o?(s.height*=o/s.width,s.width=o):(s.width*=o/s.height,s.height=o));let c=s.getContext(`2d`);return c&&a&&(c.fillStyle=a,c.fillRect(0,0,s.width,s.height)),{canvas:s,context2d:c}}function G(e,t){if(e.ownerDocument)try{let t=e.toDataURL();if(t!==`data:,`)return I(t,e.ownerDocument)}catch(e){t.log.warn(`Failed to clone canvas`,e)}let n=e.cloneNode(!1),r=e.getContext(`2d`),i=n.getContext(`2d`);try{return r&&i&&i.putImageData(r.getImageData(0,0,e.width,e.height),0,0),n}catch(e){t.log.warn(`Failed to clone canvas`,e)}return n}function Ee(e,t){try{if(e?.contentDocument?.documentElement)return q(e.contentDocument.documentElement,t)}catch(e){t.log.warn(`Failed to clone iframe`,e)}return e.cloneNode(!1)}function De(e){let t=e.cloneNode(!1);return e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=``),t.loading===`lazy`&&(t.loading=`eager`),t}async function Oe(e,t){if(e.ownerDocument&&!e.currentSrc&&e.poster)return I(e.poster,e.ownerDocument);let n=e.cloneNode(!1);n.crossOrigin=`anonymous`,e.currentSrc&&e.currentSrc!==e.src&&(n.src=e.currentSrc);let r=n.ownerDocument;if(r){let i=!0;if(await L(n,{onError:()=>i=!1,onWarn:t.log.warn}),!i)return e.poster?I(e.poster,e.ownerDocument):n;n.currentTime=e.currentTime,await new Promise(e=>{n.addEventListener(`seeked`,e,{once:!0})});let a=r.createElement(`canvas`);a.width=e.offsetWidth,a.height=e.offsetHeight;try{let e=a.getContext(`2d`);e&&e.drawImage(n,0,0,a.width,a.height)}catch(r){return t.log.warn(`Failed to clone video`,r),e.poster?I(e.poster,e.ownerDocument):n}return G(a,t)}return n}function ke(e,t){return se(e)?G(e,t):me(e)?Ee(e,t):D(e)?De(e):O(e)?Oe(e,t):e.cloneNode(!1)}function Ae(e){let t=e.sandbox;if(!t){let{ownerDocument:n}=e;try{n&&(t=n.createElement(`iframe`),t.id=`__SANDBOX__${z()}`,t.width=`0`,t.height=`0`,t.style.visibility=`hidden`,t.style.position=`fixed`,n.body.appendChild(t),t.srcdoc=`<!DOCTYPE html><meta charset="UTF-8"><title></title><body>`,e.sandbox=t)}catch(t){e.log.warn(`Failed to getSandBox`,t)}}return t}var je=[`width`,`height`,`-webkit-text-fill-color`],Me=[`stroke`,`fill`];function K(e,t,n){let{defaultComputedStyles:r}=n,i=e.nodeName.toLowerCase(),a=w(e)&&i!==`svg`,o=a?Me.map(t=>[t,e.getAttribute(t)]).filter(([,e])=>e!==null):[],s=[a&&`svg`,i,o.map((e,t)=>`${e}=${t}`).join(`,`),t].filter(Boolean).join(`:`);if(r.has(s))return r.get(s);let c=Ae(n)?.contentWindow;if(!c)return new Map;let l=c?.document,u,d;a?(u=l.createElementNS(M,`svg`),d=u.ownerDocument.createElementNS(u.namespaceURI,i),o.forEach(([e,t])=>{d.setAttributeNS(null,e,t)}),u.appendChild(d)):u=d=l.createElement(i),d.textContent=` `,l.body.appendChild(u);let f=c.getComputedStyle(d,t),p=new Map;for(let e=f.length,t=0;t<e;t++){let e=f.item(t);je.includes(e)||p.set(e,f.getPropertyValue(e))}return l.body.removeChild(u),r.set(s,p),p}function Ne(e,t,n){let r=new Map,i=[],a=new Map;if(n)for(let e of n)o(e);else for(let t=e.length,n=0;n<t;n++)o(e.item(n));for(let e=i.length,t=0;t<e;t++)a.get(i[t])?.forEach((e,t)=>r.set(t,e));function o(n){let o=e.getPropertyValue(n),s=e.getPropertyPriority(n),c=n.lastIndexOf(`-`),l=c>-1?n.substring(0,c):void 0;if(l){let e=a.get(l);e||(e=new Map,a.set(l,e)),e.set(n,[o,s])}t.get(n)===o&&!s||(l?i.push(l):r.set(n,[o,s]))}return r}function Pe(e,t,n,r){let{ownerWindow:i,includeStyleProperties:a,currentParentNodeStyle:o}=r,s=t.style,c=i.getComputedStyle(e),l=K(e,null,r);o?.forEach((e,t)=>{l.delete(t)});let u=Ne(c,l,a);u.delete(`transition-property`),u.delete(`all`),u.delete(`d`),u.delete(`content`),n&&(u.delete(`position`),u.delete(`margin-top`),u.delete(`margin-right`),u.delete(`margin-bottom`),u.delete(`margin-left`),u.delete(`margin-block-start`),u.delete(`margin-block-end`),u.delete(`margin-inline-start`),u.delete(`margin-inline-end`),u.set(`box-sizing`,[`border-box`,``])),u.get(`background-clip`)?.[0]===`text`&&t.classList.add(`______background-clip--text`),b&&(u.has(`font-kerning`)||u.set(`font-kerning`,[`normal`,``]),(u.get(`overflow-x`)?.[0]===`hidden`||u.get(`overflow-y`)?.[0]===`hidden`)&&u.get(`text-overflow`)?.[0]===`ellipsis`&&e.scrollWidth===e.clientWidth&&u.set(`text-overflow`,[`clip`,``]));for(let e=s.length,t=0;t<e;t++)s.removeProperty(s.item(t));return u.forEach(([e,t],n)=>{s.setProperty(n,e,t)}),u}function Fe(e,t){(ce(e)||le(e)||fe(e))&&t.setAttribute(`value`,e.value)}var Ie=[`::before`,`::after`],Le=[`::-webkit-scrollbar`,`::-webkit-scrollbar-button`,`::-webkit-scrollbar-thumb`,`::-webkit-scrollbar-track`,`::-webkit-scrollbar-track-piece`,`::-webkit-scrollbar-corner`,`::-webkit-resizer`];function Re(e,t,n,r,i){let{ownerWindow:a,svgStyleElement:o,svgStyles:s,currentNodeStyle:c}=r;if(!o||!a)return;function l(n){let o=a.getComputedStyle(e,n),l=o.getPropertyValue(`content`);if(!l||l===`none`)return;i?.(l),l=l.replace(/(')|(")|(counter\(.+\))/g,``);let u=[z()],d=K(e,n,r);c?.forEach((e,t)=>{d.delete(t)});let f=Ne(o,d,r.includeStyleProperties);f.delete(`content`),f.delete(`-webkit-locale`),f.get(`background-clip`)?.[0]===`text`&&t.classList.add(`______background-clip--text`);let p=[`content: '${l}';`];if(f.forEach(([e,t],n)=>{p.push(`${n}: ${e}${t?` !important`:``};`)}),p.length===1)return;try{t.className=[t.className,...u].join(` `)}catch(e){r.log.warn(`Failed to copyPseudoClass`,e);return}let m=p.join(`
7
+ `),h=s.get(m);h||(h=[],s.set(m,h)),h.push(`.${u[0]}${n}`)}Ie.forEach(l),n&&Le.forEach(l)}var ze=new Set([`symbol`]);async function Be(e,t,n,r,i){if(C(n)&&(ue(n)||de(n))||r.filter&&!r.filter(n))return;ze.has(t.nodeName)||ze.has(n.nodeName)?r.currentParentNodeStyle=void 0:r.currentParentNodeStyle=r.currentNodeStyle;let a=await q(n,r,!1,i);r.isEnable(`restoreScrollPosition`)&&He(e,a),t.appendChild(a)}async function Ve(e,t,n,r){let i=e.firstChild;C(e)&&e.shadowRoot&&(i=e.shadowRoot?.firstChild,n.shadowRoots.push(e.shadowRoot));for(let a=i;a;a=a.nextSibling)if(!ae(a))if(C(a)&&pe(a)&&typeof a.assignedNodes==`function`){let i=a.assignedNodes();for(let a=0;a<i.length;a++)await Be(e,t,i[a],n,r)}else await Be(e,t,a,n,r)}function He(e,t){if(!E(e)||!E(t))return;let{scrollTop:n,scrollLeft:r}=e;if(!n&&!r)return;let{transform:i}=t.style,a=new DOMMatrix(i),{a:o,b:s,c,d:l}=a;a.a=1,a.b=0,a.c=0,a.d=1,a.translateSelf(-r,-n),a.a=o,a.b=s,a.c=c,a.d=l,t.style.transform=a.toString()}function Ue(e,t){let{backgroundColor:n,width:r,height:i,style:a}=t,o=e.style;if(n&&o.setProperty(`background-color`,n,`important`),r&&o.setProperty(`width`,`${r}px`,`important`),i&&o.setProperty(`height`,`${i}px`,`important`),a)for(let e in a)o[e]=a[e]}var We=/^[\w-:]+$/;async function q(e,t,n=!1,r){let{ownerDocument:i,ownerWindow:a,fontFamilies:o,onCloneEachNode:s}=t;if(i&&oe(e))return r&&/\S/.test(e.data)&&r(e.data),i.createTextNode(e.data);if(i&&a&&C(e)&&(E(e)||w(e))){let r=await ke(e,t);if(t.isEnable(`removeAbnormalAttributes`)){let e=r.getAttributeNames();for(let t=e.length,n=0;n<t;n++){let t=e[n];We.test(t)||r.removeAttribute(t)}}let i=t.currentNodeStyle=Pe(e,r,n,t);n&&Ue(r,t);let a=!1;if(t.isEnable(`copyScrollbar`)){let t=[i.get(`overflow-x`)?.[0],i.get(`overflow-y`)?.[0]];a=t.includes(`scroll`)||(t.includes(`auto`)||t.includes(`overlay`))&&(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)}let c=i.get(`text-transform`)?.[0],l=B(i.get(`font-family`)?.[0]),u=l?e=>{c===`uppercase`?e=e.toUpperCase():c===`lowercase`?e=e.toLowerCase():c===`capitalize`&&(e=e[0].toUpperCase()+e.substring(1)),l.forEach(t=>{let n=o.get(t);n||o.set(t,n=new Set),e.split(``).forEach(e=>n.add(e))})}:void 0;return Re(e,r,a,t,u),Fe(e,r),O(e)||await Ve(e,r,t,u),await s?.(r),r}let c=e.cloneNode(!1);return await Ve(e,c,t),await s?.(c),c}function Ge(e){if(e.ownerDocument=void 0,e.ownerWindow=void 0,e.svgStyleElement=void 0,e.svgDefsElement=void 0,e.svgStyles.clear(),e.defaultComputedStyles.clear(),e.sandbox){try{e.sandbox.remove()}catch(t){e.log.warn(`Failed to destroyContext`,t)}e.sandbox=void 0}e.workers=[],e.fontFamilies.clear(),e.fontCssTexts.clear(),e.requests.clear(),e.tasks=[],e.shadowRoots=[]}function Ke(e){let{url:t,timeout:n,responseType:r,...i}=e,a=new AbortController,o=n?setTimeout(()=>a.abort(),n):void 0;return fetch(t,{signal:a.signal,...i}).then(e=>{if(!e.ok)throw Error(`Failed fetch, not 2xx response`,{cause:e});switch(r){case`arrayBuffer`:return e.arrayBuffer();case`dataUrl`:return e.blob().then(ye);default:return e.text()}}).finally(()=>clearTimeout(o))}function J(e,t){let{url:n,requestType:r=`text`,responseType:i=`text`,imageDom:a}=t,o=n,{timeout:s,acceptOfImage:c,requests:l,fetchFn:u,fetch:{requestInit:d,bypassingCache:f,placeholderImage:p},font:m,workers:h,fontFamilies:g}=e;r===`image`&&(x||S)&&e.drawImageCount++;let _=l.get(n);if(!_){f&&f instanceof RegExp&&f.test(o)&&(o+=(/\?/.test(o)?`&`:`?`)+new Date().getTime());let t=r.startsWith(`font`)&&m&&m.minify,v=new Set;t&&r.split(`;`)[1].split(`,`).forEach(e=>{g.has(e)&&g.get(e).forEach(e=>v.add(e))});let y=t&&v.size,b={url:o,timeout:s,responseType:y?`arrayBuffer`:i,headers:r===`image`?{accept:c}:void 0,...d};_={type:r,resolve:void 0,reject:void 0,response:null},_.response=(async()=>{if(u&&r===`image`){let e=await u(n);if(e)return e}return!x&&n.startsWith(`http`)&&h.length?new Promise((e,t)=>{h[l.size&h.length-1].postMessage({rawUrl:n,...b}),_.resolve=e,_.reject=t}):Ke(b)})().catch(t=>{if(l.delete(n),r===`image`&&p)return e.log.warn(`Failed to fetch image base64, trying to use placeholder image`,o),typeof p==`string`?p:p(a);throw t}),l.set(n,_)}return _.response}async function qe(e,t,n,r){if(!Je(e))return e;for(let[i,a]of Xe(e,t))try{let t=await J(n,{url:a,requestType:r?`image`:`text`,responseType:`dataUrl`});e=e.replace(Ze(i),`$1${t}$3`)}catch(e){n.log.warn(`Failed to fetch css data url`,i,e)}return e}function Je(e){return/url\((['"]?)([^'"]+?)\1\)/.test(e)}var Ye=/url\((['"]?)([^'"]+?)\1\)/g;function Xe(e,t){let n=[];return e.replace(Ye,(e,r,i)=>(n.push([i,A(i,t)]),e)),n.filter(([e])=>!k(e))}function Ze(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,`\\$1`);return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,`g`)}var Qe=[`background-image`,`border-image-source`,`-webkit-border-image`,`-webkit-mask-image`,`list-style-image`];function $e(e,t){return Qe.map(n=>{let r=e.getPropertyValue(n);return!r||r===`none`?null:((x||S)&&t.drawImageCount++,qe(r,null,t,!0).then(t=>{!t||r===t||e.setProperty(n,t,e.getPropertyPriority(n))}))}).filter(Boolean)}function et(e,t){if(D(e)){let n=e.currentSrc||e.src;if(!k(n))return[J(t,{url:n,imageDom:e,requestType:`image`,responseType:`dataUrl`}).then(t=>{t&&(e.srcset=``,e.dataset.originalSrc=n,e.src=t||``)})];(x||S)&&t.drawImageCount++}else if(w(e)&&!k(e.href.baseVal)){let n=e.href.baseVal;return[J(t,{url:n,imageDom:e,requestType:`image`,responseType:`dataUrl`}).then(t=>{t&&(e.dataset.originalSrc=n,e.href.baseVal=t||``)})]}return[]}function tt(e,t){let{ownerDocument:n,svgDefsElement:r}=t,i=e.getAttribute(`href`)??e.getAttribute(`xlink:href`);if(!i)return[];let[a,o]=i.split(`#`);if(o){let i=`#${o}`,s=t.shadowRoots.reduce((e,t)=>e??t.querySelector(`svg ${i}`),n?.querySelector(`svg ${i}`));if(a&&e.setAttribute(`href`,i),r?.querySelector(i))return[];if(s)return r?.appendChild(s.cloneNode(!0)),[];if(a)return[J(t,{url:a,responseType:`text`}).then(e=>{r?.insertAdjacentHTML(`beforeend`,e)})]}return[]}function Y(e,t){let{tasks:n}=t;C(e)&&((D(e)||T(e))&&n.push(...et(e,t)),ie(e)&&n.push(...tt(e,t))),E(e)&&n.push(...$e(e.style,t)),e.childNodes.forEach(e=>{Y(e,t)})}async function nt(e,t){let{ownerDocument:n,svgStyleElement:r,fontFamilies:i,fontCssTexts:a,tasks:o,font:s}=t;if(!(!n||!r||!i.size))if(s&&s.cssText){let e=ct(s.cssText,t);r.appendChild(n.createTextNode(`${e}
8
+ `))}else{let e=Array.from(n.styleSheets).filter(e=>{try{return`cssRules`in e&&!!e.cssRules.length}catch(n){return t.log.warn(`Error while reading CSS rules from ${e.href}`,n),!1}}),s=n.implementation.createHTMLDocument(``),c=s.createElement(`style`);s.head.appendChild(c);let l=c.sheet;await Promise.all(e.flatMap(e=>Array.from(e.cssRules).map(async e=>{if(ne(e)){let n=e.href,r=``;try{r=await J(t,{url:n,requestType:`text`,responseType:`text`})}catch(e){t.log.warn(`Error fetch remote css import from ${n}`,e)}let i=r.replace(Ye,(e,t,r)=>e.replace(r,A(r,n)));for(let e of at(i))try{l.insertRule(e,l.cssRules.length)}catch(n){t.log.warn(`Error inserting rule from remote css import`,{rule:e,error:n})}}}))),l.cssRules.length&&e.push(l);let u=[];e.forEach(e=>{X(e.cssRules,u)}),u.filter(e=>te(e)&&Je(e.style.getPropertyValue(`src`))&&B(e.style.getPropertyValue(`font-family`))?.some(e=>i.has(e))).forEach(e=>{let i=e,s=a.get(i.cssText);s?r.appendChild(n.createTextNode(`${s}
9
+ `)):o.push(qe(i.cssText,i.parentStyleSheet?i.parentStyleSheet.href:null,t).then(e=>{e=ct(e,t),a.set(i.cssText,e),r.appendChild(n.createTextNode(`${e}
10
+ `))}))})}}var rt=/(\/\*[\s\S]*?\*\/)/g,it=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function at(e){if(e==null)return[];let t=[],n=e.replace(rt,``);for(;;){let e=it.exec(n);if(!e)break;t.push(e[0])}n=n.replace(it,``);let r=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,i=RegExp(`((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})`,`gi`);for(;;){let e=r.exec(n);if(e)i.lastIndex=r.lastIndex;else if(e=i.exec(n),e)r.lastIndex=i.lastIndex;else break;t.push(e[0])}return t}var ot=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,st=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function ct(e,t){let{font:n}=t,r=n?n?.preferredFormat:void 0;return r?e.replace(st,e=>{for(;;){let[t,,n]=ot.exec(e)||[];if(!n)return``;if(n===r)return`src: ${t};`}}):e}function X(e,t=[]){for(let n of Array.from(e))re(n)?t.push(...X(n.cssRules)):`cssRules`in n?X(n.cssRules,t):t.push(n);return t}var lt=/\bx?link:?href\s*=\s*["'](?!data:)[^"']+["']/i;function ut(e){return lt.test(e.innerHTML)}async function dt(e,t){let n=await H(e,t);if(C(n.node)&&w(n.node)&&!ut(n.node))return n.node;let{ownerDocument:r,log:i,tasks:a,svgStyleElement:o,svgDefsElement:s,svgStyles:c,font:l,progress:u,autoDestruct:d,onCloneNode:f,onEmbedNode:p,onCreateForeignObjectSvg:m}=n;i.time(`clone node`);let h=await q(n.node,n,!0);if(o&&r){let e=``;c.forEach((t,n)=>{e+=`${t.join(`,
11
+ `)} {
12
+ ${n}
13
+ }
14
+ `}),o.appendChild(r.createTextNode(e))}i.timeEnd(`clone node`),await f?.(h),l!==!1&&C(h)&&(i.time(`embed web font`),await nt(h,n),i.timeEnd(`embed web font`)),i.time(`embed node`),Y(h,n);let g=a.length,_=0,v=async()=>{for(;;){let e=a.pop();if(!e)break;try{await e}catch(e){n.log.warn(`Failed to run task`,e)}u?.(++_,g)}};u?.(_,g),await Promise.all([...Array.from({length:4})].map(v)),i.timeEnd(`embed node`),await p?.(h);let y=ft(h,n);return s&&y.insertBefore(s,y.children[0]),o&&y.insertBefore(o,y.children[0]),d&&Ge(n),await m?.(y),y}function ft(e,t){let{width:n,height:r}=t,i=N(n,r,e.ownerDocument),a=i.ownerDocument.createElementNS(i.namespaceURI,`foreignObject`);return a.setAttributeNS(null,`x`,`0%`),a.setAttributeNS(null,`y`,`0%`),a.setAttributeNS(null,`width`,`100%`),a.setAttributeNS(null,`height`,`100%`),a.append(e),i.appendChild(a),i}async function Z(e,t){let n=await H(e,t),r=await dt(n),i=P(r,n.isEnable(`removeControlCharacter`));return n.autoDestruct||(n.svgStyleElement=W(n.ownerDocument),n.svgDefsElement=n.ownerDocument?.createElementNS(M,`defs`),n.svgStyles.clear()),await we(I(i,r.ownerDocument),n)}async function pt(t,n){let r=await H(t,n),{log:i,type:a,quality:o,dpi:s}=r,c=await Z(r);i.time(`canvas to blob`);let u=await _e(c,a,o);if([`image/png`,`image/jpeg`].includes(a)&&s){let t=await be(u.slice(0,33)),n=new Uint8Array(t);return a===`image/png`?n=l(n,s):a===`image/jpeg`&&(n=e(n,s)),i.timeEnd(`canvas to blob`),new Blob([n,u.slice(33)],{type:a})}return i.timeEnd(`canvas to blob`),u}async function Q(t,n){let r=await H(t,n),{log:i,quality:a,type:o,dpi:s}=r,c=await Z(r);i.time(`canvas to data url`);let u=c.toDataURL(o,a);if([`image/png`,`image/jpeg`].includes(o)&&s&&_&&v){let[t,n]=u.split(`,`),r=0,i=!1;if(o===`image/png`){let e=p(n);e>=0?(r=Math.ceil((e+28)/3)*4,i=!0):r=33/3*4}else o===`image/jpeg`&&(r=18/3*4);let a=n.substring(0,r),c=n.substring(r),d=window.atob(a),f=new Uint8Array(d.length);for(let e=0;e<f.length;e++)f[e]=d.charCodeAt(e);let m=o===`image/png`?l(f,s,i):e(f,s);u=[t,`,`,window.btoa(String.fromCharCode(...m)),c].join(``)}return i.timeEnd(`canvas to data url`),u}async function $(e,t){let n=await H(e,t),{width:r,height:i,ownerDocument:a}=n,o=await Q(n),s=N(r,i,a),c=s.ownerDocument.createElementNS(s.namespaceURI,`image`);return c.setAttributeNS(null,`href`,o),c.setAttributeNS(null,`height`,`100%`),c.setAttributeNS(null,`width`,`100%`),s.appendChild(c),P(s,n.isEnable(`removeControlCharacter`))}async function mt(e,t){let n=await H(e,t),{ownerDocument:r,width:i,height:a,scale:o,type:s}=n,c=I(s===`image/svg+xml`?await $(n):await Q(n),r);return c.width=Math.floor(i*o),c.height=Math.floor(a*o),c.style.width=`${i}px`,c.style.height=`${a}px`,c}async function ht(e,t){return Q(await H(e,{...t,type:`image/jpeg`}))}async function gt(e,t){let n=await Z(await H(e,t));return n.getContext(`2d`).getImageData(0,0,n.width,n.height).data}async function _t(e,t){return Q(await H(e,{...t,type:`image/png`}))}async function vt(e,t){return Q(await H(e,{...t,type:`image/webp`}))}export{U as createContext,Ge as destroyContext,pt as domToBlob,Z as domToCanvas,Q as domToDataUrl,dt as domToForeignObjectSvg,mt as domToImage,ht as domToJpeg,gt as domToPixel,_t as domToPng,$ as domToSvg,vt as domToWebp,L as loadMedia,R as waitUntilLoad};
@@ -0,0 +1 @@
1
+ var e={eligibilitycheck:{title:`Do you qualify for the first-time buyer down-payment grant`,icon:`proof`,overall:`depends`,requirements:[{rule:`First-time buyer (no owned home in the last 3 years)`,status:`pass`,detail:`You said you have rented for the past 6 years — clears the rule.`},{rule:`Household income under $96,000`,status:`pass`,detail:`You stated $78k combined, comfortably under the cap.`},{rule:`Complete an approved homebuyer education course`,status:`needs-info`,detail:`You have not mentioned a course, and it is required before closing.`,fix:`Finish a HUD-approved class (free, ~8 hours online) and keep the certificate.`},{rule:`Minimum credit score of 640`,status:`fail`,detail:`You mentioned a score around 615, below the 640 floor.`,fix:`Raise it ~25 points — clearing a balance or two often does it within a cycle.`}],caveat:`This weighs the published rules against what you told me — confirm the exact thresholds with the program office before you apply.`},evidencetrace:{title:`Why I flagged onboarding`,icon:`proof`,iconColor:`var(--presence)`,claim:`Confusing onboarding is the <b>top reason</b> first-month accounts churned.`,summary:`12 of 240 churned accounts`,items:[{text:`“I never figured out how to invite my team, so we gave up in week one.”`,source:`ticket #4821`,when:`Apr 12`},{text:`“The setup wizard kept looping me back to the start. Cancelled.”`,source:`cancel survey`,when:`Apr 19`},{text:`“Couldn’t connect our calendar — no clear next step after sign-up.”`,source:`ticket #4910`,when:`Apr 23`},{text:`“Too many empty screens on day one. Didn’t know where to begin.”`,source:`exit interview`,when:`May 2`},{text:`“Import failed silently and I assumed the product was broken.”`,source:`ticket #5033`,when:`May 8`}],caveat:`Self-reported in cancellation flows — weighted toward people who chose to explain why they left.`,footer:`Each line is a verbatim record from a churned account, not a summary.`},reviewsynth:{title:`What buyers say about the cashmere wrap`,rating:4.4,count:1842,distribution:[1180,410,150,60,42],loves:[{theme:`Feels genuinely luxe`,freq:`68% mention`,quote:`Softer than scarves twice the price — it actually feels special.`},{theme:`Generous, drapey size`,freq:`common`,quote:`Big enough to wrap up in on a cold flight, not a flimsy little thing.`}],complaints:[{theme:`Sheds at first`,freq:`1 in 5`,quote:`Lost a few fibers the first week, then it settled down.`},{theme:`Hand-wash only`,freq:`occasional`,quote:`Wish I could toss it in the machine — the care is fussy.`}],dealbreaker:`It must be hand-washed and laid flat — if she would not fuss over it, the machine-washable merino blend is the safer gift.`,footer:`Synthesized from 1,842 verified-purchase reviews.`},annotateddoc:{title:`The trial abstract, annotated`,icon:`doc`,iconColor:`var(--presence)`,docName:`STEP 1 · NEJM 2021 · abstract`,paragraphs:[`In this 68-week, double-blind trial, we randomly assigned 1,961 adults with a body-mass index of 30 or greater to once-weekly semaglutide (2.4 mg) or placebo, plus lifestyle intervention.`,`The mean change in body weight from baseline to week 68 was −14.9% in the semaglutide group, as compared with −2.4% with placebo. Participants who received semaglutide had greater improvements in cardiometabolic risk factors.`,`Nausea and diarrhea were the most common adverse events; they were typically transient and mild-to-moderate and subsided over time.`],highlights:[{phrase:`1,961 adults`,note:`Large, adequately powered sample for a Phase 3 obesity RCT.`,color:`var(--insight)`,author:`Sample`},{phrase:`−14.9%`,note:`The headline efficacy figure, replicated downstream in STEP 2–4.`,color:`var(--presence)`,author:`Endpoint`},{phrase:`Nausea and diarrhea`,note:`Real but tolerable, drives much of the early discontinuation.`,color:`var(--warning)`,author:`Safety`}],footer:`Click a highlight to read why it matters to the verdict.`},redline:{title:`How the abstract's claim was tightened`,icon:`edit`,iconColor:`var(--warning)`,docName:`Draft conclusion · v3 → v4`,tokens:[{text:`Semaglutide `},{del:`cures obesity`,by:`AM`},{ins:`produces clinically meaningful weight loss`,by:`AM`},{text:` and `},{del:`eliminates`,by:`ED`},{ins:`reduces`,by:`ED`},{text:` cardiovascular risk in trial populations.`}],footer:`2 deletions · 2 insertions, softening "cure" to "clinically meaningful."`},citationchain:{title:`Claim → source → sub-evidence`,icon:`link`,iconColor:`var(--presence-soft)`,root:{label:`<b>Semaglutide drives ~15% weight loss</b> at 68 weeks`,cite:`synthesis`,color:`var(--insight)`,strength:`strong`,children:[{label:`STEP 1 randomized trial`,cite:`nejm.org`,color:`var(--presence)`,strength:`strong`,children:[{label:`Table 2, mean change −14.9%`,cite:`p. 994`,strength:`strong`},{label:`Pre-registered endpoint`,cite:`NCT03548935`,strength:`strong`}]},{label:`Cochrane meta-analysis`,cite:`cochrane.org`,color:`var(--presence-soft)`,strength:`strong`,children:[{label:`Pooled across 11 RCTs`,cite:`2024`,strength:`strong`},{label:`Low heterogeneity (I²=22%)`,cite:`forest plot`,strength:`partial`}]}]},footer:`Every node traces to a primary document, expand to walk the chain.`},factcheck:{title:`The load-bearing claims, checked`,icon:`proof`,iconColor:`var(--presence)`,claims:[{claim:`Semaglutide produces ~15% mean weight loss at 68 weeks.`,verdict:`true`,confidence:96,sources:[`nejm.org`,`cochrane.org`],detail:`STEP 1 reported <mark>−14.9%</mark>; the Cochrane synthesis corroborates within 1pt.`},{claim:`Tirzepatide outperforms semaglutide on weight loss.`,verdict:`partly`,confidence:74,sources:[`nejm.org`,`jama.com`],detail:`SURMOUNT-1 (−20.9%) vs STEP 1 (−14.9%), but no head-to-head at matched doses yet.`},{claim:`GLP-1 drugs have cured the obesity epidemic.`,verdict:`false`,confidence:91,sources:[`cdc.gov`,`claims data`],detail:`Population obesity prevalence has not meaningfully fallen; reach is ~2% of eligible adults.`},{claim:`Therapy reduces major cardiovascular events.`,verdict:`true`,confidence:89,sources:[`nejm.org`],detail:`SELECT showed a <mark>20% relative MACE reduction</mark> in overweight CV patients.`}],footer:`Each verdict expands to its sources, green is replicated, amber is single-study.`},confidencemeter:{title:`Confidence in the headline number`,icon:`shield`,iconColor:`var(--insight)`,claim:`<b>~15% weight loss</b> at 68 weeks on semaglutide 2.4mg`,overall:94,segments:[{label:`RCT design`,weight:38,band:`strong`,basis:`Randomized, double-blind, placebo-controlled Phase 3.`},{label:`Replication`,weight:30,band:`strong`,basis:`Reproduced across STEP 1–4 and a Cochrane meta-analysis.`},{label:`Sample size`,weight:18,band:`strong`,basis:`n=1,961 in the anchor trial alone.`},{label:`Generalizability`,weight:14,band:`partial`,basis:`Trial adherence far exceeds real-world persistence.`}],footer:`The only soft segment is generalizing trial results to everyday use.`},highlightsnippet:{title:`The sentence everything hangs on`,icon:`quote`,iconColor:`var(--insight)`,quote:`The mean change in body weight from baseline to week 68 was −14.9% in the semaglutide group, as compared with −2.4% in the placebo group.`,phrase:`−14.9% in the semaglutide group`,source:`NEJM · STEP 1`,locator:`p. 994`,color:`var(--insight)`,footer:`Pulled verbatim, this is the primary endpoint, not a press summary.`},annotcallouts:{title:`Contact sheet · notes`,icon:`doc`,iconColor:`var(--presence)`,caption:`Day 2 selects, what made the cut and why.`,ratio:1.7777777777777777,callouts:[{x:20,y:30,label:`01 · keep`,note:`Cleanest horizon line of the morning, <b>this is the poster</b>.`,color:`var(--presence)`},{x:56,y:26,label:`02 · maybe`,note:`Nice light, but a tourist on the path. <mark>Clone-out or cut.</mark>`,color:`var(--warning)`},{x:38,y:70,label:`03 · cut`,note:`Cloud went flat here, no separation in the greens.`,color:`var(--danger)`},{x:80,y:64,label:`04 · keep`,note:`The transition frame for the hydrangea road.`,color:`var(--insight)`}],footer:`Pins map to the selects in your edit folder.`},sourcelist:{title:`Sources I kept`,icon:`doc`,iconColor:`var(--insight)`,sources:[{domain:`nejm.org`,titleText:`STEP 1: Once-Weekly Semaglutide in Adults with Overweight`,relevance:98,glyph:`N`,color:`var(--insight)`,date:`2021`,snippet:`The anchor efficacy RCT, <mark>−14.9%</mark> mean weight change.`},{domain:`nejm.org`,titleText:`SURMOUNT-1: Tirzepatide for Obesity`,relevance:95,glyph:`N`,color:`var(--insight)`,date:`2022`,snippet:`−20.9% at the 15mg dose over 72 weeks.`},{domain:`nejm.org`,titleText:`SELECT: Semaglutide and Cardiovascular Outcomes`,relevance:92,glyph:`N`,color:`var(--presence)`,date:`2023`,snippet:`20% relative reduction in major adverse CV events.`},{domain:`cochrane.org`,titleText:`GLP-1 agonists for weight management (review)`,relevance:90,glyph:`C`,color:`var(--presence-soft)`,date:`2024`},{domain:`cdc.gov`,titleText:`Adult Obesity Prevalence Maps`,relevance:78,glyph:`C`,color:`var(--text-muted)`,date:`2025`}],footer:`Ranked by relevance, three NEJM RCTs carry the efficacy claim.`},claimgrid:{title:`Claims × evidence, who backs what`,icon:`table`,iconColor:`var(--presence-soft)`,columns:[`STEP 1`,`SURMOUNT-1`,`SELECT`,`Cochrane`,`Claims data`],rows:[{claim:`~15% weight loss`,cells:[{state:`yes`,note:`−14.9% primary endpoint`},{state:`yes`,note:`Exceeds it (−20.9%)`},{state:`partial`,note:`Secondary outcome`},{state:`yes`,note:`Pooled confirmation`},{state:`na`}]},{claim:`Cardiovascular benefit`,cells:[{state:`na`},{state:`na`},{state:`yes`,note:`−20% MACE`},{state:`partial`,note:`Noted, not pooled`},{state:`na`}]},{claim:`Durable in real life`,cells:[{state:`partial`,note:`Only to 68 weeks`},{state:`partial`},{state:`na`},{state:`no`,note:`Trials ≠ adherence`},{state:`no`,note:`33% persist at 1yr`}]},{claim:`Cured obesity epidemic`,cells:[{state:`no`},{state:`no`},{state:`no`},{state:`no`},{state:`no`,note:`Prevalence flat`}]}],footer:`The bottom row is empty of green, which is exactly the headline.`},docoutline:{title:`How the report is structured`,icon:`layers`,iconColor:`var(--insight)`,docName:`GLP-1 evidence review`,activeIndex:1,sections:[{heading:`1 · The question`,loc:`p.1`,weight:6},{heading:`2 · Efficacy evidence`,loc:`p.2`,weight:40,children:[{heading:`2.1 Anchor RCT (STEP 1)`,loc:`p.2`,weight:16},{heading:`2.2 Tirzepatide comparison`,loc:`p.4`,weight:14},{heading:`2.3 Meta-analysis`,loc:`p.5`,weight:10}]},{heading:`3 · Real-world impact`,loc:`p.6`,weight:28,children:[{heading:`3.1 Adherence & persistence`,loc:`p.6`,weight:16},{heading:`3.2 Access & cost`,loc:`p.7`,weight:12}]},{heading:`4 · Verdict & caveats`,loc:`p.8`,weight:14}],footer:`The efficacy section carries the most weight, and the strongest evidence.`},docview:{title:`The method paper, the scheme I used`,icon:`doc`,iconColor:`var(--presence)`,source:`Hoffmann et al. · uploaded · 22 pp`,page:{n:7,of:22},blocks:[{kind:`h2`,text:`§4.1, Pressure-velocity coupling`},{kind:`p`,text:`We use a collocated finite-volume discretization with Rhie–Chow interpolation to suppress checkerboard pressure modes.`},{kind:`p`,text:`Stability requires the under-relaxation factors to satisfy α_p + α_u ≤ 1 on stretched meshes.`,spot:!0},{kind:`eq`,text:`α_p = 0.3 , α_u = 0.7 ⇒ α_p + α_u = 1.0`},{kind:`p`,text:`Outside this bound the continuity residual stalls rather than decays, the failure mode in run 043.`}],note:`This is the line your run 043 violated (you had α_u = 0.85). Run 044 sits exactly on the bound, which is why the residual finally <b>decays instead of stalling</b>.`,footer:`I pulled the stability condition straight from the paper and tied it to why 043 stalled and 044 converged, no re-reading 22 pages.`},pdfreader:{title:`The reference, in full`,icon:`doc`,iconColor:`var(--text-muted)`,source:`NASA CR, A First Course in CFD · public domain`,file:`/demo-assets/pdf/cfd-primer.pdf`,footer:`The actual report, embedded, scroll the real PDF for the derivations behind the scheme.`},diffviewer:{title:`Your answer, corrected`,leftLabel:`submitted`,rightLabel:`key`,lines:[{kind:`ctx`,text:`Step 1: identify the nucleophile`,oldNo:1,newNo:1},{kind:`del`,text:`Step 2: SN1, backside attack`,oldNo:2},{kind:`add`,text:`Step 2: SN2, backside attack inverts config`,newNo:2},{kind:`ctx`,text:`Step 3: name the product`,oldNo:3,newNo:3}]},clinicaltimeline:{title:`Admission timeline, Mr. Alvarez`,events:[{date:`48h ago`,type:`symptom`,label:`Fever 39.1°C, productive cough, dyspnoea on exertion`},{date:`36h ago`,type:`visit`,label:`ED presentation, SpO₂ 91% on room air`},{date:`34h ago`,type:`test`,label:`CXR ordered, right lower lobe infiltrate`},{date:`34h ago`,type:`test`,label:`Blood cultures × 2, CBC, CRP, procalcitonin`},{date:`30h ago`,type:`result`,label:`WBC 14.2, CRP 187, procalcitonin 2.1, bacterial picture`},{date:`29h ago`,type:`diagnosis`,label:`Community-acquired pneumonia, RLL, admitted`},{date:`28h ago`,type:`treatment`,label:`IV amoxicillin-clavulanate started, O₂ via NRB mask`},{date:`Now`,type:`result`,label:`Fever breaking, SpO₂ 96% on 2L nasal cannula`}]},researchsummary:{title:`GLP-1 agonists, evidence summary`,question:`Are GLP-1 receptor agonists effective and safe for long-term weight management in adults with obesity?`,method:`Cochrane systematic review + meta-analysis of 14 RCTs`,sampleSize:`~18,000 participants, follow-up 52–208 weeks`,year:`2023`,findings:[`Semaglutide 2.4 mg achieved mean body-weight reduction of 12–15% vs 2–3% for placebo.`,`All GLP-1 agonists outperformed placebo on the primary weight outcome (high certainty).`,`Cardiovascular event rates fell significantly in high-risk populations (SELECT trial).`,`Gastrointestinal side-effects (nausea, vomiting) are common but typically transient.`],conclusion:`GLP-1 agonists are the most effective pharmacotherapy for obesity currently available. Long-term benefit requires continuous use, discontinuation leads to weight regain within one year.`,limitations:`Most trials exclude people with prior GI surgery; long-term safety beyond 5 years is not yet established.`,source:`Iepsen et al. · Cochrane Database Syst Rev · 2023`},hypothesiscard:{title:`SELECT trial, primary hypothesis`,icon:`proof`,iconColor:`var(--presence)`,h0:`Semaglutide 2.4 mg does not reduce the rate of major adverse cardiovascular events (MACE) versus placebo in adults with overweight or obesity and established cardiovascular disease, without diabetes.`,h1:`Semaglutide 2.4 mg reduces the rate of MACE versus placebo in this population.`,direction:`two-tailed`,alpha:.05,variables:{iv:`Treatment arm, semaglutide 2.4 mg vs placebo`,dv:`Time to first MACE (CV death, non-fatal MI, non-fatal stroke)`},rejected:!0,footer:`HR 0.80 (95% CI 0.72&ndash;0.90), p &lt; 0.001 &mdash; a highly significant reduction in MACE.`},paralleltext:{title:`One line, three hands`,icon:`layers`,iconColor:`var(--presence)`,caption:`Dante, Inferno I.1 — the opening tercet, original beside two canonical English renderings.`,columns:[{label:`Dante (1320)`,lang:`Italian`},{label:`Longfellow, 1867`,lang:`en`},{label:`Ciardi, 1954`,lang:`en`}],rows:[{cells:[`Nel mezzo del cammin di nostra vita`,`Midway upon the journey of our life`,`Midway in our life’s journey, I went astray`],note:`Ciardi pulls “I went astray” up from line 3 to keep the pentameter; Longfellow tracks the Italian word order.`},{cells:[`mi ritrovai per una selva oscura,`,`I found myself within a forest dark,`,`from the straight road and woke to find myself`],note:`Both keep the dark wood, but Longfellow mirrors the line break while Ciardi enjambs across it.`,diverge:!0},{cells:[`ché la diritta via era smarrita.`,`For the straightforward pathway had been lost.`,`alone in a dark wood. How shall I say`],note:`“diritta via” — the straight way — is rendered literally by Longfellow; Ciardi defers it, ending instead on the speaker’s hesitation.`,diverge:!0}],footer:`Read each row across: the same Italian line, weighed differently for <strong>meter</strong> vs <strong>literal sense</strong>.`},resume:{name:`Jordan Alvarez`,title:`Senior Product Manager`,icon:`doc`,iconColor:`var(--presence)`,contact:[`jordan.alvarez@email.com`,`Austin, TX`,`linkedin.com/in/jordanalvarez`],summary:`Product leader with eight years in B2B SaaS, the last three managing a team of five. Led the usage-based pricing rework that lifted net revenue retention 18 points.`,experience:[{role:`Senior Product Manager`,org:`Meridian Analytics`,start:`2022`,location:`Austin, TX`,bullets:[`Led the pricing-model rework that took net revenue retention from 96% to 114%.`,`Grew the team from two to five PMs and stood up a quarterly roadmap review.`,`Owned the platform API surface used by 40+ enterprise integrations.`]},{role:`Product Manager`,org:`Northwind Labs`,start:`2019`,end:`2022`,location:`Remote`,bullets:[`Shipped the self-serve onboarding flow that cut time-to-first-value from 9 days to 36 hours.`,`Ran discovery for the mobile app, now 30% of monthly active usage.`]},{role:`Associate Product Manager`,org:`Fieldstone Software`,start:`2017`,end:`2019`,location:`Chicago, IL`,bullets:[`Owned the reporting-module roadmap for the mid-market tier.`]}],education:[{school:`University of Illinois at Urbana-Champaign`,credential:`B.S. Industrial Engineering`,start:`2013`,end:`2017`,detail:`Minor in Computer Science`}],skills:[`Product strategy`,`Pricing & packaging`,`SQL`,`Roadmapping`,`A/B testing`,`Stakeholder management`,`API design`],footer:`Kept current from your LinkedIn export, in case the new role wants it this week.`},changelog:{title:`What six weeks of a source publication could look like`,icon:`doc`,iconColor:`var(--presence)`,versions:[{version:`v1.0`,date:`Wk 6`,entries:[{kind:`added`,text:`Public release: docs site and the reviewed source-available snapshot.`},{kind:`added`,text:`Maintainer-built connector catalog.`}]},{version:`v0.4`,date:`Wk 4`,entries:[{kind:`added`,text:`Soft launch to twelve design-partner teams.`},{kind:`changed`,text:`Switched the component schema to the stable v1 contract.`},{kind:`fixed`,text:`Local build no longer requires the internal package registry.`}]},{version:`v0.3`,date:`Wk 3`,entries:[{kind:`added`,text:`PolyForm Noncommercial terms, feedback policy, and legal notices.`},{kind:`deprecated`,text:`The old private-snapshot publication script.`}]},{version:`v0.2`,date:`Wk 2`,entries:[{kind:`removed`,text:`Internal-only connectors, scrubbed from the public snapshot.`},{kind:`security`,text:`Purged secrets accidentally left in the git history before the split.`}]},{version:`v0.1`,date:`Wk 1`,entries:[{kind:`added`,text:`Client and schema carved out into their own repository.`}]}],footer:`Five fictional milestones from carve-out to public source release.`},lessonplan:{title:`Today's tutoring session: reaction mechanisms`,icon:`doc`,iconColor:`var(--presence)`,subject:`Organic Chemistry`,gradeLevel:`Undergraduate · Org Chem II`,objectives:[`Distinguish SN1 from SN2 by substrate, nucleophile strength, and solvent.`,`Predict the major product and stereochemistry for a given substitution reaction.`,`Read a rate law and identify the reaction order it implies.`],materials:[`Flashcard deck`,`Practice problem set 7`,`Molecular model kit`],procedure:[{step:`Warm-up recall`,detail:`Quick flashcard pass on SN1 vs SN2 triggers.`,minutes:10},{step:`Mechanism walkthrough`,detail:`Work three mechanisms on the board, narrating each arrow-pushing step.`,minutes:25},{step:`Paired practice`,detail:`Two students per problem from set 7, then swap and check.`,minutes:20},{step:`Timed mini-mock`,detail:`Five questions, exam conditions, no notes.`,minutes:15},{step:`Debrief`,detail:`Review the two most-missed questions together.`,minutes:10}],assessment:`Exit ticket: one SN1 and one SN2 prediction, graded on mechanism arrows and stereochemistry, not just the final product.`,footer:`Built around the two gaps your last mock exposed: arrow-pushing notation and solvent effects.`},casebrief:{title:`The precedent behind that redline`,icon:`proof`,iconColor:`var(--presence)`,citation:`812 F. Supp. 2d 501 (D. Del. 2019)`,parties:{plaintiff:`Bell Fabrication, Inc.`,defendant:`Meridian Systems, LLC`},facts:`Bell signed a 24-month services agreement with a silent auto-renewal clause requiring 90 days notice to opt out. Bell missed the window by six days and was billed for a full renewal term it no longer wanted.`,issue:`Whether a 90-day auto-renewal notice window, buried in a boilerplate term clause, is enforceable against a sophisticated commercial buyer who never separately negotiated it.`,holding:`Enforceable, but only narrowly — the clause was conspicuously formatted and the buyer had counsel review the contract; the court signaled a shorter, negotiated window would likely have been required otherwise.`,reasoning:`The court weighed three things: whether the term was buried or set apart, whether the buyer had a real chance to negotiate it, and whether 90 days exceeds commercial custom (it found market practice clusters at 30–60 days). All three cut close, so it upheld the clause narrowly rather than setting a bright-line rule.`,footer:`The takeaway for §8.2: a 90-day window is defensible, but only barely, negotiating it down to 30 removes the risk entirely.`},patentclaimchart:{title:`One more diligence check: Acme's sync engine against a live patent`,icon:`table`,iconColor:`var(--presence)`,claimElements:[{id:`1.1`,text:`receiving, at a server, a stream of shipment-location updates from a plurality of mobile devices`},{id:`1.2`,text:`storing each location update in a distributed ledger replicated across at least three nodes`},{id:`1.3`,text:`detecting a conflict between two location updates for the same shipment received within a threshold time window`},{id:`1.4`,text:`automatically resolving the conflict using a timestamp-priority rule without human intervention`},{id:`1.5`,text:`pushing the resolved location to a customer-facing dashboard in real time`}],references:[`Acme's platform (accused)`,`US 9,112,233 (prior art)`],cells:[[{state:`disclosed`,quote:`Edge devices stream GPS pings to the ingest cluster every 4 seconds.`},{state:`disclosed`,quote:`Sensor readings are logged to a central event bus polled by field units.`}],[{state:`disclosed`,quote:`Every update is written to a 3-node Raft-replicated ledger before ack.`},{state:`disclosed`,quote:`Readings are mirrored to a backup store for durability.`}],[{state:`disputed`,quote:`Acme’s docs describe "duplicate suppression," which may or may not be the claimed conflict detection — worth a follow-up question.`},{state:`not-disclosed`}],[{state:`not-disclosed`},{state:`not-disclosed`}],[{state:`disclosed`,quote:`Resolved coordinates post to the live tracking map within 400ms.`},{state:`not-disclosed`}]],footer:`Acme's platform is missing element 1.4 — conflicts get flagged for manual review, not auto-resolved — so it doesn't literally practice the claim; no license carve-out needed to sign. Same gap means this reference doesn't invalidate the patent either, so revisit if Acme ever ships auto-resolution.`},storystructure:{title:`Draft: council approves bridge funding`,icon:`doc`,iconColor:`var(--presence)`,lede:`The City Council voted 5-2 Tuesday night to approve $12 million in emergency funding for a new pedestrian bridge over Route 9, after two years of delay following a fatal crossing accident.`,nutGraf:`The vote ends a contentious two-year debate that pitted residents demanding safer crossings against a council wary of the price tag. Construction is expected to begin next spring and finish by 2028, funded largely by a state safety grant secured last month.`,body:[`Council member Elena Vasquez, who sponsored the funding measure, said the vote “finally puts safety ahead of cost” after years of near-misses at the intersection.`,`The bridge will connect the Riverside neighborhood to the transit hub on the north side of Route 9, a stretch pedestrians currently cross at grade despite a 45 mph speed limit.`,`Two council members who voted no, Raymond Chu and Priya Patel, said they support the bridge in principle but wanted a competitive bid process before locking in a contractor.`,`Construction is slated to begin in April, with the city's public works department targeting a completion date in late 2027.`],background:[`The push for a bridge gained urgency after a cyclist was struck and killed at the intersection in March 2025, prompting a petition that collected more than 3,000 signatures.`,`The city considered a traffic-light-only fix in 2023 but shelved it after a traffic study found it would only reduce, not eliminate, the crossing risk.`,`The $12 million project includes an $8 million state Safe Streets grant awarded last month, with the remaining $4 million drawn from the city's capital reserve fund.`],wordCount:179,wordCountBudget:250,footer:`Inverted pyramid: the vote and its stakes lead, the who-said-what follows, history stays below the fold.`},vetpatientchart:{title:`Biscuit's first wellness exam`,icon:`doc`,iconColor:`var(--presence)`,species:`Canine`,name:`Biscuit`,breed:`Golden Retriever`,sex:`Male`,weightKg:5,vitals:[{label:`Temperature`,value:101.8,unit:`°F`},{label:`Heart rate`,value:150,unit:`bpm`},{label:`Respiratory rate`,value:24,unit:`bpm`},{label:`Body condition score`,value:`5/9`},{label:`Gum color`,value:`Pink`},{label:`Capillary refill`,value:`<2s`}],problems:[`Transient loose stool — post-adoption stress, monitoring`],footer:`All vitals normal for a 9-week Golden. The loose stool is expected from the move; call Maple Animal Care if it persists past a couple more days.`},scoutingreport:{title:`Up next: scouting Thursday's Nuggets`,icon:`chart`,iconColor:`var(--presence)`,opponent:`Denver Nuggets`,tendencies:[`Run their offense almost entirely through Jokić at the elbow, he's averaging 9 assists a game from the post.`,`Switch aggressively on the perimeter, which has bothered Golden State's off-ball movement in past meetings.`,`Struggle to defend in transition, allowing the 4th-most fast-break points in the league.`,`Lean heavily on their bench trio in the second quarter, often their most vulnerable defensive stretch.`],matchupNotes:[{label:`Pace`,note:`Denver plays slower than Golden State prefers; expect the Warriors to push tempo early rather than get pulled into a half-court grind.`},{label:`Rebounding`,note:`The Nuggets crash the offensive glass hard, Golden State needs to box out or risk giving up second-chance points.`},{label:`3-point defense`,note:`Denver ranks middle-of-the-pack defending the arc, exactly where Golden State's offense lives.`}],keyPlayers:[{name:`Nikola Jokić`,role:`C`,note:`Reigning MVP-caliber center who doubles as their point guard from the elbow. He's a step slower going left, force him that direction.`},{name:`Jamal Murray`,role:`PG`,note:`Streaky scorer who heats up in isolation late in games; live with early clock jumpers rather than switching everything off him.`},{name:`Aaron Gordon`,role:`PF`,note:`Their best transition finisher, get back on makes and misses alike.`}],footer:`A win Thursday pulls the Warriors within one game of Denver for the 2-seed, exactly the matchup the West race hinges on.`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e={allocatepeople:{title:`Chores split fairly this week`,icon:`layers`,iconColor:`var(--presence)`,people:[`Maya`,`Devon`,`Priya`],assignments:[{task:`Cook dinner Mon–Wed`,who:`Maya`,weight:4},{task:`Wipe down the kitchen`,who:`Maya`,weight:1},{task:`Vacuum the living areas`,who:`Devon`,weight:3},{task:`Take out trash & recycling`,who:`Devon`,weight:1},{task:`Grocery run + restock`,who:`Devon`,weight:2},{task:`Bathroom deep-clean`,who:`Priya`,weight:3},{task:`Laundry & fold`,who:`Priya`,weight:2}],footer:`Loads land close — Devon's three lighter jobs balance Maya's cooking. Swap the trash run if it still feels off.`},forecast:{title:`5-Day Forecast`,icon:`sun`,iconColor:`var(--presence)`,location:`San Francisco, CA`,unit:`F`,asOf:`as of this morning`,days:[{label:`Mon`,condition:`Partly cloudy`,hi:`68°`,lo:`54°`,precipitation:`10%`},{label:`Tue`,condition:`Sunny`,hi:`72°`,lo:`56°`,precipitation:`0%`},{label:`Wed`,condition:`Sunny`,hi:`74°`,lo:`57°`,precipitation:`0%`},{label:`Thu`,condition:`Fog morning`,hi:`67°`,lo:`53°`,precipitation:`5%`},{label:`Fri`,condition:`Partly cloudy`,hi:`65°`,lo:`52°`,precipitation:`15%`}],summary:`A lovely stretch. Tuesday and Wednesday are your best days for outdoor plans.`,footer:`Data sourced from NWS, always verify before outdoor events.`},agenda:{title:`Tuesday's Schedule`,icon:`clock`,iconColor:`var(--insight)`,date:`Tuesday, June 10`,items:[{time:`9:00 AM`,duration:`30 min`,title:`Team standup`,location:`Zoom`},{time:`10:30 AM`,duration:`1h`,title:`Product review with Design`,location:`HQ, Conf Room B`,note:`Bring the updated mockups`},{time:`12:30 PM`,title:`Lunch break`,note:`Protected, no meetings`},{time:`2:00 PM`,duration:`1h 30 min`,title:`Outdoor strategy walk`,location:`Embarcadero waterfront`,note:`Best weather window of the week`},{time:`4:00 PM`,duration:`45 min`,title:`1:1 with Priya`,location:`Her office`},{time:`6:00 PM`,title:`Evening free`,done:!1}],footer:`Block your lunch, last week it vanished to a last-minute call.`},picks:{title:`Lunch Picks Near HQ`,icon:`spark`,iconColor:`var(--presence)`,category:`Restaurants · SoMa / Embarcadero`,items:[{name:`Tartine Manufactory`,tagline:`Legendary bakery with a full lunch menu`,why:`The tartine toast and grain bowls are exceptional. Worth the walk, it's 12 minutes on foot.`,price:`$$`,rating:`4.6★`,badge:`Best overall`},{name:`Trou Normand`,tagline:`Charcuterie-focused bistro with excellent cocktails`,why:`Great for a client lunch, quiet enough to talk, impressive without being stuffy.`,price:`$$$`,rating:`4.4★`},{name:`Souvla`,tagline:`Greek fast-casual with rotisserie meats`,why:`Fast, healthy, and filling. Best pick if you only have 45 minutes.`,price:`$`,rating:`4.5★`,badge:`Quick pick`}],footer:`Reservations recommended for Trou Normand on weekdays.`},timezones:{title:`World Clock`,icon:`globe`,iconColor:`var(--text-muted)`,baseTime:`2:00 PM San Francisco`,rows:[{city:`San Francisco`,timezone:`America/Los_Angeles`,offset:`UTC−7`,localTime:`2:00 PM`,isHome:!0},{city:`New York`,timezone:`America/New_York`,offset:`UTC−4`,localTime:`5:00 PM`},{city:`London`,timezone:`Europe/London`,offset:`UTC+1`,localTime:`10:00 PM`},{city:`Berlin`,timezone:`Europe/Berlin`,offset:`UTC+2`,localTime:`11:00 PM`},{city:`Singapore`,timezone:`Asia/Singapore`,offset:`UTC+8`,localTime:`5:00 AM+1`},{city:`Sydney`,timezone:`Australia/Sydney`,offset:`UTC+10`,localTime:`7:00 AM+1`}],footer:`Your 2 PM window works for New York. London is end-of-day.`},transitroute:{title:`Getting to the Embarcadero`,icon:`globe`,iconColor:`var(--insight)`,origin:`SoMa HQ (4th & Brannan)`,destination:`Embarcadero Waterfront`,totalTime:`18 min`,totalDistance:`1.4 mi`,steps:[{mode:`walk`,instruction:`Walk to 4th & King Caltrain station`,duration:`5 min`,distance:`0.3 mi`},{mode:`train`,instruction:`Take Caltrain northbound to Embarcadero`,duration:`8 min`,line:`Baby Bullet`},{mode:`walk`,instruction:`Walk to the Ferry Building waterfront`,duration:`5 min`,distance:`0.3 mi`}],footer:`Caltrain runs every 15 minutes during lunch, no need to time it exactly.`},amortization:{title:`Mortgage Amortization`,icon:`layers`,iconColor:`var(--presence)`,principal:`$340,000`,rate:`6.75% APR`,term:`30 years`,monthlyPayment:`$2,205`,rows:[{period:`Year 1`,payment:`$26,460`,principal:`$4,212`,interest:`$22,248`,balance:`$335,788`},{period:`Year 2`,payment:`$26,460`,principal:`$4,498`,interest:`$21,962`,balance:`$331,290`},{period:`Year 3`,payment:`$26,460`,principal:`$4,801`,interest:`$21,659`,balance:`$326,489`},{period:`Year 5`,payment:`$26,460`,principal:`$5,473`,interest:`$20,987`,balance:`$315,481`},{period:`Year 10`,payment:`$26,460`,principal:`$7,630`,interest:`$18,830`,balance:`$283,640`},{period:`Year 15`,payment:`$26,460`,principal:`$10,641`,interest:`$15,819`,balance:`$238,764`},{period:`Year 20`,payment:`$26,460`,principal:`$14,831`,interest:`$11,629`,balance:`$174,680`},{period:`Year 25`,payment:`$26,460`,principal:`$20,672`,interest:`$5,788`,balance:`$83,700`},{period:`Year 30`,payment:`$26,460`,principal:`$26,197`,interest:`$263`,balance:`$0`}],footer:`Total interest paid over 30 years: ~$453,800. Refinancing at 5.5% would save ~$65K.`},receipt:{title:`Trip Receipt`,icon:`layers`,iconColor:`var(--insight)`,merchant:`Trattoria da Enzo, Rome`,date:`June 5, 2025`,lines:[{item:`Cacio e pepe`,qty:`2`,unit:`$18`,total:`$36`},{item:`Carbonara`,qty:`1`,unit:`$21`,total:`$21`},{item:`Antipasto misto`,qty:`1`,unit:`$14`,total:`$14`},{item:`House wine (500ml)`,qty:`2`,unit:`$12`,total:`$24`},{item:`Sparkling water`,qty:`3`,unit:`$4`,total:`$12`},{item:`Tiramisu`,qty:`2`,unit:`$9`,total:`$18`}],subtotal:`$125`,tax:`$11`,total:`$136`,footer:`Paid on Alex card, split below.`},settleup:{title:`Settle Up`,icon:`chat`,iconColor:`var(--presence)`,people:[`Alex`,`Jordan`,`Sam`,`Morgan`],expenses:[{description:`Trattoria dinner`,amount:`$136`,paidBy:`Alex`},{description:`Colosseum tickets`,amount:`$96`,paidBy:`Jordan`},{description:`Hotel (2 nights)`,amount:`$520`,paidBy:`Sam`},{description:`Airport taxi`,amount:`$48`,paidBy:`Morgan`}],settlements:[{from:`Alex`,to:`Sam`,amount:`$96`},{from:`Jordan`,to:`Sam`,amount:`$34`},{from:`Morgan`,to:`Sam`,amount:`$62`}],footer:`Three transfers settle everything. Sam overpaid the most.`},bracketbar:{title:`Expense Breakdown`,icon:`layers`,iconColor:`var(--insight)`,metric:`Trip cost by category`,items:[{label:`Hotel`,value:520,bar:`$520`,badge:`#1`},{label:`Food & dining`,value:280,bar:`$280`,badge:`#2`},{label:`Activities`,value:96,bar:`$96`,badge:`#3`},{label:`Transport`,value:48,bar:`$48`,badge:`#4`},{label:`Shopping`,value:38,bar:`$38`,badge:`#5`}],footer:`Total trip: $982 for 4 people · $246 per person.`},recipecard:{title:`Creamy Garlic Pasta`,servings:`2`,prepTime:`5 min`,cookTime:`20 min`,difficulty:`easy`,ingredients:[{qty:`200g`,name:`spaghetti`},{qty:`4`,name:`garlic cloves, sliced`},{qty:`150ml`,name:`heavy cream`},{qty:`40g`,name:`parmesan, grated`},{qty:`handful`,name:`fresh parsley`}],steps:[`Cook spaghetti in salted water until al dente. Reserve 100ml pasta water.`,`Gently fry garlic in olive oil until golden, about 2 min. Lower heat.`,`Add cream and half the parmesan. Simmer 3 min until slightly thickened.`,`Toss pasta in the sauce with pasta water until glossy. Finish with parsley.`],tips:[`Off the heat for the final toss, keeps the sauce silky, not grainy.`]},workoutplan:{title:`Half-Marathon Build Plan`,goal:`Sub-2:00 half marathon`,weeks:8,sessions:[{day:`Tuesday`,focus:`Tempo Run`,exercises:[{name:`Warm-up jog`,sets:1,reps:`10 min easy`},{name:`Tempo pace`,sets:3,reps:`2 km`,rest:`90 sec`},{name:`Cool-down`,sets:1,reps:`5 min easy`}]},{day:`Saturday`,focus:`Long Run`,exercises:[{name:`Easy long run`,sets:1,reps:`14–18 km`,rest:`none`}]}]},medicationschedule:{title:`Current medication orders`,medications:[{name:`Amoxicillin-clavulanate`,dose:`1.2g IV`,frequency:`every 8 hours`,times:[`6:00 AM`,`2:00 PM`,`10:00 PM`],withFood:!1,notes:`Switch to oral when tolerating`},{name:`Paracetamol`,dose:`1g IV/oral`,frequency:`every 6 hours PRN`,times:[`6:00 AM`,`12:00 PM`,`6:00 PM`,`12:00 AM`],withFood:!1,notes:`For fever > 38.5°C only`}]},macrobreakdown:{title:`Race-day fuel target`,calories:2800,protein:140,carbs:360,fat:70,fiber:30,items:[{label:`Morning oats + banana`,calories:520,protein:18,carbs:92,fat:8},{label:`Mid-run gels (×3)`,calories:300,protein:0,carbs:75,fat:0},{label:`Post-run chicken + rice`,calories:680,protein:58,carbs:70,fat:14}]},plangrid:{title:`If you want to plan the week ahead`,icon:`clock`,iconColor:`var(--insight)`,caption:`A loose dinner plan from what you tend to keep stocked — swap any night.`,columns:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],rows:[{slot:`Dinner`,cells:[{col:`Mon`,label:`Garlic pasta`,sub:`20 min`,accent:`var(--presence)`},{col:`Tue`,label:`Veggie omelette`,sub:`12 min`},{col:`Wed`,label:`Fried rice`,sub:`18 min`},{col:`Thu`,label:`Sheet-pan chicken`,sub:`35 min`},{col:`Fri`,label:`Pizza night`,sub:`takeout`,accent:`var(--warning)`},{col:`Sat`,label:`Tacos`,sub:`25 min`},{col:`Sun`,label:`Roast + leftovers`,sub:`60 min`,accent:`var(--insight)`}]},{slot:`Prep`,cells:[{col:`Wed`,label:`Defrost chicken`,sub:`overnight`},{col:`Sun`,label:`Chop veg, cook rice`,sub:`for the week`}]}],summary:[`~650`,`~500`,`~620`,`~700`,`~800`,`~720`,`~750`],footer:`Mostly things you can make from staples; Friday and Sunday are the easy nights.`},budgetallocator:{title:`Your monthly budget`,icon:`chart`,iconColor:`var(--presence)`,income:4200,unit:`$`,incomeLabel:`Take-home`,caption:`Assign every dollar a job; the remainder is still yours to place.`,envelopes:[{label:`Rent`,amount:1500,group:`fixed`},{label:`Groceries`,amount:500,group:`flexible`},{label:`Utilities`,amount:220,group:`fixed`,note:`power, water, internet`},{label:`Transport`,amount:180,group:`fixed`},{label:`Savings`,amount:600,group:`savings`,note:`auto-transfer on payday`},{label:`Dining out`,amount:300,group:`flexible`},{label:`Fun money`,amount:200,group:`flexible`}],footer:`$700 still unassigned — bump savings or start a travel envelope.`},howtosteps:{title:`Fix a running toilet yourself`,icon:`check`,iconColor:`var(--insight)`,time:`15 min`,difficulty:`easy`,warning:`Turn off the water at the shutoff valve behind the toilet before you start.`,tools:[`Adjustable pliers`,`A towel`,`Replacement flapper (~$6)`],steps:[{action:`Take off the tank lid and watch a flush`,detail:`See whether the flapper fails to seal or the water keeps rising past the overflow tube.`,check:`you can tell which part is leaking`},{action:`If the flapper looks warped, swap it`,detail:`Unhook the old flapper from the flush valve and clip the new one on in its place.`,tip:`Bring the old flapper to the store to match the size.`,check:`the new flapper drops flat and seals the opening`},{action:`Adjust the float so the water stops below the overflow tube`,detail:`Turn the adjustment screw or pinch-clip down about half an inch.`,caution:`Set it too low and the flush goes weak — aim for ~1 inch below the tube top.`,check:`the tank fills, then the valve shuts off on its own`},{action:`Turn the water back on and test two flushes`,check:`the tank refills and goes silent within a minute`}],footer:`If it still runs after a new flapper, the flush valve seat may be worn — that one is worth a call to the landlord.`},livecompute:{title:`Play with the runway yourself`,icon:`sliders`,inputs:[{key:`cash`,label:`Cash in the bank`,min:2,max:25,value:14.2,step:.1,prefix:`$`,unit:`M`},{key:`burn`,label:`Net burn`,min:200,max:1200,value:740,step:10,prefix:`$`,unit:`k/mo`}],formula:`cash * 1000 / burn`,output:{label:`Months of runway`,unit:`months`,decimals:1},caveat:`Estimate from the current balance and burn — assumes burn holds flat and ignores new revenue.`,footer:`Drag burn down to ~$650k and you cross 21 months.`},countdown:{title:`Time to decide`,icon:`clock`,target:`2026-06-24T17:00:00`,label:`Brightline needs your answer by Tuesday 5pm`,dueWhat:`A yes or no on the offer (a short email is fine)`,consequence:`After this the offer may be released to the next candidate.`,footer:`Need longer? Asking for 48 more hours is normal — most teams say yes.`},livescore:{title:`Keep score yourself`,icon:`spark`,unit:`pts`,step:1,entries:[{name:`The Martins`,score:9,color:`var(--presence)`},{name:`Gomez crew`,score:7,color:`var(--warning)`},{name:`Kid Squad`,score:6,color:`var(--insight)`}],footer:`Tap +/- as each round lands — the ranking updates as you go.`},nutritionlabel:{title:`Nutrition facts`,icon:`doc`,servingSize:`1 cup (55g)`,servings:`about 8`,calories:210,nutrients:[{name:`Total Fat`,amount:`3g`,dv:4,bold:!0},{name:`Saturated Fat`,amount:`0.5g`,dv:3,indent:!0},{name:`Trans Fat`,amount:`0g`,indent:!0},{name:`Sodium`,amount:`180mg`,dv:8,bold:!0},{name:`Total Carbohydrate`,amount:`44g`,dv:16,bold:!0},{name:`Dietary Fiber`,amount:`5g`,dv:18,indent:!0},{name:`Total Sugars`,amount:`12g`,indent:!0},{name:`Added Sugars`,amount:`9g`,dv:18,indent:!0},{name:`Protein`,amount:`4g`,bold:!0},{name:`Iron`,amount:`8.1mg`,dv:45}],allergens:[`wheat`,`almonds`]},unitconvert:{title:`Quick conversions`,icon:`table`,quantity:1,from:`cup`,category:`volume`,equivalents:[{value:`240`,unit:`ml`},{value:`16`,unit:`tbsp`},{value:`48`,unit:`tsp`},{value:`8`,unit:`fl oz`}]},packlist:{title:`Packing checklist`,icon:`check`,context:`3 days · mild, light rain`,groups:[{name:`Clothes`,items:[{label:`T-shirts`,count:3,packed:!0},{label:`Jeans`,count:1,packed:!0},{label:`Light rain jacket`,count:1,packed:!1},{label:`Socks`,count:4,packed:!0},{label:`Underwear`,count:4,packed:!1}]},{name:`Toiletries`,items:[{label:`Toothbrush`,count:1,packed:!0},{label:`Travel toothpaste`,count:1,packed:!1},{label:`Deodorant`,count:1,packed:!0}]},{name:`Tech`,items:[{label:`Phone charger`,count:1,packed:!0},{label:`Power bank`,count:1,packed:!1},{label:`EU travel adapter`,count:1,packed:!1}]}]},pregnancyweek:{title:`This week`,icon:`clock`,week:20,trimester:2,fruitSize:`banana`,lengthCm:25.6,weightG:300,milestones:[`Halfway there — the anatomy scan usually happens around now.`,`Baby can hear your voice and may respond to sound.`,`Taste buds are forming and swallowing practice has begun.`,`You may start to feel distinct kicks and flutters.`]},cycletrack:{title:`Cycle overview`,icon:`clock`,cycleLength:28,periodDays:5,currentDay:8,fertileWindow:[11,16],ovulationDay:14,caption:`Day 8 of 28 — fertile window opens in 3 days.`},contractiontimer:{title:`Contraction log`,icon:`clock`,rule:`5-1-1`,contractions:[{start:`1:42 PM`,durationSec:45,intervalMin:8},{start:`1:50 PM`,durationSec:50,intervalMin:7},{start:`1:57 PM`,durationSec:55,intervalMin:6},{start:`2:03 PM`,durationSec:58,intervalMin:6},{start:`2:09 PM`,durationSec:62}],caption:`About 6 min apart, ~55s each — closing in on the 5-1-1 rule.`},prayertimes:{title:`Prayer times`,icon:`sun`,iconColor:`var(--warning)`,date:`Friday, June 20`,location:`Istanbul, Turkey`,next:`Asr`,sunArc:!0,slots:[{name:`Fajr`,time:`3:38 AM`},{name:`Dhuhr`,time:`1:13 PM`},{name:`Asr`,time:`5:13 PM`},{name:`Maghrib`,time:`8:47 PM`},{name:`Isha`,time:`10:36 PM`}],caption:`Five daily prayers — the next one is highlighted on the day arc.`},labprotocol:{title:`PCR: amplifying the target gene fragment`,iconColor:`var(--insight)`,reagents:[{name:`Template DNA`,amount:`1 µL`,conc:`10 ng/µL`},{name:`Forward primer`,amount:`1 µL`,conc:`10 µM`},{name:`Reverse primer`,amount:`1 µL`,conc:`10 µM`},{name:`dNTP mix`,amount:`1 µL`,conc:`10 mM each`},{name:`Taq polymerase buffer`,amount:`5 µL`,conc:`10x`},{name:`Taq DNA polymerase`,amount:`0.25 µL`,conc:`5 U/µL`},{name:`Ethidium bromide`,amount:`2 µL`,conc:`10 mg/mL`,hazard:`toxic`}],equipment:[`Thermal cycler`,`PCR tubes, 0.2 mL`,`Micropipette set`,`Ice bucket`],steps:[{text:`Assemble the master mix on ice, then aliquot into each PCR tube.`,temp:`4°C`},{text:`Initial denaturation — fully separate the template strands before cycling.`,duration:`3 min`,temp:`95°C`}],cycles:{repeat:30,steps:[{text:`Denature`,duration:`30 sec`,temp:`95°C`},{text:`Anneal primers`,duration:`30 sec`,temp:`58°C`},{text:`Extend`,duration:`45 sec`,temp:`72°C`}]},footer:`Finish with a 5 min extension at 72°C, then hold at 4°C. Run 5 µL on a 1.5% agarose gel to confirm product size.`},caregivercoord:{title:`Dad's care, coordinated`,icon:`shield`,iconColor:`var(--presence)`,personName:`Robert Voss`,relation:`Dad`,medications:[{name:`Lisinopril 10mg`,times:[`8:00 AM`],takenBy:`Self, checked by home aide`},{name:`Metformin 500mg`,times:[`8:00 AM`,`6:00 PM`],takenBy:`Self`},{name:`Atorvastatin 20mg`,times:[`9:00 PM`],takenBy:`Home aide`}],appointments:[{date:`Jun 20, 2026`,provider:`Dr. Alvarez`,purpose:`Blood pressure follow-up`},{date:`Jul 2, 2026`,provider:`Maple Physical Therapy`,purpose:`Balance & gait`}],contacts:[{name:`Marisol Reyes`,role:`Home aide, weekdays 9–1`,phone:`(555) 019-2244`},{name:`Dr. Alvarez`,role:`Primary care physician`,phone:`(555) 083-7710`},{name:`You`,role:`Backup + weekends`,phone:`(555) 200-4471`}],footer:`The aide covers weekday mornings; the two of you split what she can&rsquo;t.`},readinglist:{title:`This week’s reading`,icon:`doc`,iconColor:`var(--presence)`,books:[{title:`Klara and the Sun`,author:`Kazuo Ishiguro`,status:`reading`,rating:4.5,discussionQuestions:[`Is Klara’s devotion to Josie a form of love, or something else entirely?`,`What does the book suggest about what makes a person irreplaceable?`]},{title:`The Overstory`,author:`Richard Powers`,status:`queued`},{title:`Educated`,author:`Tara Westover`,status:`done`,rating:5,discussionQuestions:[`How did you see the definition of "family" shift over the course of the memoir?`]}],footer:`Book club meets Thursday — bring a Klara question if you finish it in time.`},cocktailcard:{title:`Pairs with: a French 75`,icon:`sparkle`,iconColor:`var(--warning)`,rating:4.5,pours:[{qty:`1 oz`,item:`Gin`},{qty:`0.5 oz`,item:`Fresh lemon juice`},{qty:`0.5 oz`,item:`Simple syrup`},{qty:`top with`,item:`Chilled champagne`}],notes:{aroma:`Bright citrus with a floral gin lift.`,taste:`Crisp and tart, the bubbles cut the cream sauce nicely.`,finish:`Clean and short, doesn’t fight the garlic.`}},runninglog:{title:`Your last six runs`,icon:`chart`,unit:`mi`,entries:[{date:`May 27`,distance:3.1,pace:`9:30`,route:`Riverside loop`},{date:`May 29`,distance:4,pace:`9:22`,route:`Park hill repeats`,elevationGainM:62},{date:`Jun 1`,distance:5,pace:`9:08`,route:`Riverside loop`},{date:`Jun 4`,distance:4.5,pace:`9:01`,route:`Downtown out-and-back`},{date:`Jun 6`,distance:6.2,pace:`8:52`,route:`Ridge trail`,elevationGainM:118},{date:`Jun 8`,distance:5.5,pace:`8:52`,route:`Riverside loop`}],footer:`Distance climbed steadily while pace kept dropping — no single spike did this.`},userpersona:{title:`Who the migration journey is for`,icon:`eye`,iconColor:`var(--presence-soft)`,name:`Priya Nandakumar`,role:`Integrating partner engineer`,quote:`I don't want to learn your whole platform, I just want my search calls to work.`,goals:[`Ship the v3 migration without a multi-week detour reading docs`,`Verify parity against v2 before flipping the flag in prod`,`Keep the integration boring, no surprise breaking changes later`],frustrations:[`The migration guide assumes she already knows our internal terms`,`No single command tells her how far the codemod actually got`,`Shadow-mode parity results are buried in a log, not surfaced inline`],behaviors:[`Skims docs for code samples first`,`Copies from the changelog, not the guide`],footer:`Priya is why the codemod and an inline parity score outrank more docs.`},runofshow:{title:`Coastal shoot day — run of show`,icon:`clock`,iconColor:`var(--presence)`,eventDate:`Day 3 · Ponta da Ferraria`,cues:[{time:`5:40 AM`,cue:`Crew call, load the van`,owner:`Mara`,state:`done`},{time:`6:15 AM`,cue:`Sunrise coastline wides`,owner:`Mara`,duration:`25 min`,state:`done`},{time:`7:10 AM`,cue:`Drone pass, north cliffs`,owner:`Dev`,duration:`20 min`,state:`live`},{time:`8:00 AM`,cue:`Interview setup, hot spring overlook`,owner:`Théo`,duration:`15 min`,state:`next`},{time:`8:30 AM`,cue:`Interview take`,owner:`Mara`,duration:`30 min`},{time:`9:15 AM`,cue:`Wrap coastline, move to caldera`,owner:`Dev`}],footer:`The drone window closes once wind picks up after 7:30 — Dev is racing it now.`},podcastplanner:{title:`Next week's episode, planned`,icon:`mic`,iconColor:`var(--presence)`,guest:`Sana Osei, staff engineer turned solo founder`,topics:[`Why she left a staff role to build alone`,`The first six months without a team to lean on`,`What she automated first, and what she still does by hand`,`Advice for someone considering the same jump`],chapters:[{timecode:`00:00`,label:`Intro`},{timecode:`03:40`,label:`Leaving the staff role`},{timecode:`14:10`,label:`The lonely first months`}],footer:`Add this as a Piece in the tracker once it&rsquo;s recorded.`},vaxschedule:{title:`Shot series, on the age axis`,icon:`shield`,iconColor:`var(--insight)`,doses:[{vaccine:`DHPP · 1st`,dueAt:`8 weeks`,status:`done`},{vaccine:`Deworming`,dueAt:`8 weeks`,status:`done`},{vaccine:`DHPP · 2nd`,dueAt:`12 weeks`,status:`due`,note:`Book the booster now to hold the slot.`},{vaccine:`Bordetella`,dueAt:`12 weeks`,status:`due`},{vaccine:`DHPP · 3rd`,dueAt:`16 weeks`,status:`due`},{vaccine:`Rabies`,dueAt:`16 weeks`,status:`due`}],footer:`Same series as above, laid out by when each shot actually falls due.`},claimagecompare:{title:`When to claim Social Security`,icon:`chart`,iconColor:`var(--presence)`,ages:[{age:62,monthlyBenefit:1540},{age:67,monthlyBenefit:2200},{age:70,monthlyBenefit:2728}],breakeven:{age:78,note:`waiting to 70 pays more in total once you live past this age`},footer:`Claiming at 62 gets money sooner but at a lower rate — the crossover only pays off past age 78.`},weathernow:{title:`Lisbon right now`,icon:`sun`,iconColor:`var(--warning)`,location:`Lisbon, Portugal`,tempF:70,feelsLikeF:69,condition:`Partly cloudy`,hi:74,lo:61,asOf:`2:14 PM local time`,hourly:[{time:`Now`,tempF:70,icon:`sun`,precipPct:0},{time:`3 PM`,tempF:71,icon:`sun`,precipPct:0},{time:`4 PM`,tempF:70,icon:`cloud`,precipPct:10},{time:`5 PM`,tempF:68,icon:`cloud`,precipPct:20},{time:`6 PM`,tempF:65,icon:`rain`,precipPct:40},{time:`7 PM`,tempF:63,icon:`rain`,precipPct:30}],tiles:[{label:`UV Index`,value:`6 of 10`,icon:`sun`},{label:`Wind`,value:`9 mph W`,icon:`wind`},{label:`Humidity`,value:`58%`,icon:`cloud`}]},tierlist:{title:`Category tier list, by how the room did`,icon:`layers`,iconColor:`var(--warning)`,caption:`Ranked by tonight's hit rate, not difficulty on paper.`,rows:[{tier:`S`,color:`var(--danger)`,items:[`Movie quotes`,`90s cartoons`]},{tier:`A`,color:`var(--warning)`,items:[`World capitals`,`Music trivia`]},{tier:`B`,color:`var(--insight)`,items:[`Sports history`]},{tier:`C`,color:`var(--text-muted)`,items:[]}],footer:`Nobody touched a C-tier question tonight — maybe next round.`},paystub:{title:`Your latest paycheck`,icon:`doc`,iconColor:`var(--presence)`,employer:`Northwind Logistics`,payPeriod:`Jun 1 – Jun 15, 2026`,payDate:`Jun 20, 2026`,grossPay:`$2,884.62`,earnings:[{label:`Regular hours (80)`,amount:`$2,769.23`},{label:`Overtime (3)`,amount:`$115.39`}],deductions:[{label:`Federal tax`,amount:`$412.10`},{label:`State tax`,amount:`$98.44`},{label:`Social Security`,amount:`$178.85`},{label:`Medicare`,amount:`$41.83`},{label:`401(k) (6%)`,amount:`$173.08`},{label:`Health insurance`,amount:`$96.50`}],netPay:`$1,883.82`,ytdNet:`$21,822.40`,footer:`Your 401(k) contribution went up to 6% this period — the employer match kicked in.`},taxbracket:{title:`Your 2026 federal tax bracket`,icon:`chart`,iconColor:`var(--presence)`,filingStatus:`Single`,income:78e3,bands:[{min:0,max:11600,rate:10},{min:11600,max:47150,rate:12},{min:47150,max:100525,rate:22},{min:100525,max:191950,rate:24},{min:191950,max:243725,rate:32},{min:243725,max:609350,rate:35},{min:609350,rate:37}],footer:`You're taxed at 22% only on the slice above $47,150 — everything below that is taxed at its own lower band.`},menucard:{title:`Dinner reservation, Saturday night`,icon:`sparkle`,iconColor:`var(--presence)`,venue:`Taberna Riverside`,subtitle:`Tasting menu · Baixa waterfront`,sections:[{name:`Starters`,items:[{name:`Bacalhau croquettes`,price:`€8`,desc:`Salt cod, potato, parsley aioli`},{name:`Grilled octopus`,price:`€14`,tags:[`gluten-free`]}]},{name:`Mains`,items:[{name:`Cataplana de marisco`,price:`€26`,desc:`Shellfish stew, tomato, coriander`},{name:`Wild mushroom risotto`,price:`€19`,tags:[`vegetarian`]}]},{name:`Dessert`,items:[{name:`Pastel de nata, two ways`,price:`€6`}]}],footer:`Reservation for two at 8:30 PM — mention the window table when you arrive.`},familytree:{title:`Your family tree`,icon:`share`,iconColor:`var(--presence)`,rootId:`you`,people:[{id:`gma`,name:`Eleanor Voss`,birth:`1938`,death:`2021`},{id:`gpa`,name:`Harold Voss`,birth:`1935`,death:`2019`,partner:`gma`},{id:`gma2`,name:`Rosa Delgado`,birth:`1941`},{id:`gpa2`,name:`Miguel Delgado`,birth:`1939`,death:`2015`,partner:`gma2`},{id:`mom`,name:`Carla Voss`,birth:`1966`,parents:[`gma`,`gpa`],partner:`dad`},{id:`dad`,name:`James Delgado`,birth:`1964`,parents:[`gma2`,`gpa2`]},{id:`aunt`,name:`Sofia Voss`,birth:`1969`,parents:[`gma`,`gpa`]},{id:`you`,name:`You`,birth:`1992`,parents:[`mom`,`dad`]},{id:`sib`,name:`Nate Delgado`,birth:`1995`,parents:[`mom`,`dad`]},{id:`kid1`,name:`Maya`,birth:`2019`,parents:[`you`]}],footer:`Four generations, from your grandparents down to Maya.`},seatingchart:{title:`Table assignments`,icon:`table`,iconColor:`var(--presence)`,venue:`O'Malley's back room`,tables:[{id:`t1`,label:`Team Martin`,seats:4,shape:`round`},{id:`t2`,label:`Gomez Crew`,seats:4,shape:`round`},{id:`t3`,label:`The Aunties`,seats:4,shape:`round`},{id:`t4`,label:`Kid Squad`,seats:6,shape:`rect`}],assignments:[{tableId:`t1`,seatIndex:0,guest:`Dana Martin`},{tableId:`t1`,seatIndex:1,guest:`Rob Martin`},{tableId:`t1`,seatIndex:2,guest:`Pepper (the dog)`},{tableId:`t2`,seatIndex:0,guest:`Elena Gomez`},{tableId:`t2`,seatIndex:1,guest:`Marco Gomez`},{tableId:`t3`,seatIndex:0,guest:`Bev`},{tableId:`t3`,seatIndex:1,guest:`Franny`},{tableId:`t3`,seatIndex:2,guest:`Colleen`},{tableId:`t4`,seatIndex:0,guest:`Theo`},{tableId:`t4`,seatIndex:1,guest:`Priya`},{tableId:`t4`,seatIndex:2,guest:`Sam`}],footer:`A few open seats left at Team Martin and Kid Squad — send stragglers there.`},relationshipmap:{title:`Who's coming to the reunion`,icon:`share`,iconColor:`var(--presence)`,layout:`circle`,people:[{id:`carla`,name:`Carla`,role:`Mom`},{id:`james`,name:`James`,role:`Dad`},{id:`sofia`,name:`Sofia`,role:`Aunt`},{id:`greg`,name:`Greg`,role:`Sofia's husband`},{id:`nate`,name:`Nate`,role:`Brother`},{id:`you`,name:`You`}],ties:[{source:`carla`,target:`james`,kind:`romance`},{source:`sofia`,target:`greg`,kind:`romance`},{source:`carla`,target:`you`,kind:`family`},{source:`james`,target:`you`,kind:`family`},{source:`carla`,target:`nate`,kind:`family`},{source:`james`,target:`nate`,kind:`family`},{source:`carla`,target:`sofia`,kind:`family`,label:`Sisters`},{source:`james`,target:`greg`,kind:`rival`,label:`Still not over the poker night`},{source:`nate`,target:`you`,kind:`ally`,label:`Partners in crime`}],footer:`James and Greg are still frosty — maybe don't seat them at the same table.`},meetingnotes:{title:`Notes from the review`,icon:`doc`,iconColor:`var(--presence)`,meetingDate:`Q2 business review · Jul 8`,attendees:[`Priya (CEO)`,`Marcus (CFO)`,`Dana (VP Sales)`,`Wei (VP Eng)`],discussionPoints:[`ARR crossed $5.4M, up 18% QoQ, ahead of plan`,`Pipeline coverage is at 2.6×, below the 3× target for Q3`,`CAC crept up 9.2% — mostly paid channels, not organic`],decisions:[`Hold headcount flat in Sales until pipeline coverage recovers`,`Shift 20% of the paid budget to the channels with the best CAC payback`],actionItems:[{task:`Rebuild the Q3 pipeline plan with the new coverage target`,owner:`Dana`,dueDate:`Jul 15`,done:!1},{task:`Audit paid channel spend by CAC payback`,owner:`Marcus`,dueDate:`Jul 12`,done:!0},{task:`Share the runway model with the board`,owner:`Priya`,dueDate:`Jul 10`,done:!1}],footer:`Next review: Oct 8. Dana owns the pipeline rebuild before then.`},stickerchart:{title:`Potty training chart`,icon:`sparkle`,iconColor:`var(--warning)`,behavior:`Went potty outside`,days:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],marks:[{day:`Mon`,earned:!0},{day:`Tue`,earned:!0},{day:`Wed`,earned:!1},{day:`Thu`,earned:!0},{day:`Fri`,earned:!0},{day:`Sat`,earned:!0}],rewardAt:20,footer:`5 stars this week — 15 to go before the new chew toy.`},statblock:{title:`Homebrew bestiary — session prep`,icon:`shield`,iconColor:`var(--presence)`,name:`Ember Drake Hatchling`,meta:`Small dragon, chaotic neutral`,ac:15,hp:44,hpFormula:`8d6+16`,speed:`30 ft., fly 60 ft.`,abilities:{str:14,dex:16,con:15,int:8,wis:12,cha:13},saves:[`Dex +5`,`Con +4`],skills:[`Perception +3`,`Stealth +5`],senses:`darkvision 60 ft., passive Perception 13`,languages:`Draconic`,challenge:`2 (450 XP)`,traits:[{name:`Kindled Scales`,text:`A creature that touches the drake or hits it with a melee attack while within 5 feet takes 2 (1d4) fire damage.`},{name:`Updraft Glide`,text:`The drake doesn't provoke opportunity attacks when it flies out of an enemy's reach.`}],actions:[{name:`Bite`,text:`Melee weapon attack: +5 to hit, reach 5 ft., one target. Hit: 7 (1d8+3) piercing damage plus 3 (1d6) fire damage.`},{name:`Cinder Breath (Recharge 5–6)`,text:`The drake exhales a 15-foot cone of embers. Each creature in the cone must make a DC 12 Dexterity saving throw, taking 14 (4d6) fire damage on a failed save, or half as much on a success.`}],reactions:[{name:`Wing Buffet`,text:`When a creature the drake can see ends its turn within 5 feet, the drake beats its wings to push that creature 5 feet away.`}],footer:`Balanced for a level-3 party of four — treat the breath recharge as the spotlight beat of the encounter.`}};export{e as default};
@@ -0,0 +1,13 @@
1
+ import{t as e}from"./providers-wzm7E8Pa.js";import{i as t,n,t as r}from"./cache-BumECILO.js";import{n as i}from"./speed-DwPw9KSv.js";import{t as a}from"./json-B0N3XRZU.js";import{r as o}from"./verbatim-CBMzUDlf.js";import{n as s}from"./citation-BcvmjKS8.js";var c=new Set([`root`,`mechanism`,`outcome`]),l=[`T0`,`T1`,`T2`,`T3`],u=e=>e===`T1`||e===`T2`;function d(e,t){if(typeof e!=`string`)return null;let n=e.trim();return n?n.length>t?n.slice(0,t):n:null}var f=e=>e<0?0:e>1?1:e;function p(e){return o(e??``)}function m(e,t){let n=e&&typeof e==`object`?e:{},r=d(n.url,400),i=d(n.host,80)??(r?s(r):null),a=d(n.date,40),o=d(n.cell,12);return{quote:t,...r?{url:r}:{},...i?{host:i}:{},...a?{date:a}:{},...o?{cell:o}:{}}}function h(e){return e.receipt&&typeof e.receipt==`object`?d(e.receipt.quote,240):d(e.quote,240)}function g(e,t){let n=typeof e==`string`?a(e):e;if(!n||typeof n!=`object`||Array.isArray(n))return null;let r=n,i=d(r.center,140);if(!i)return null;let o=r.provenance&&typeof r.provenance==`object`?r.provenance:{},s=o.illustrative===!0,g=p(t),_=[];for(let e of Array.isArray(r.nodes)?r.nodes:[]){if(!e||typeof e!=`object`)continue;let t=e,n=d(t.id,40),r=d(t.label,120);if(!n||!r)continue;let i=c.has(t.role)?t.role:`mechanism`,a=typeof t.depth==`number`&&Number.isFinite(t.depth)?Math.max(0,Math.round(t.depth)):i===`root`?0:i===`outcome`?2:1,o=l.includes(t.tier)?t.tier:`T0`,f=typeof t.value==`number`&&Number.isFinite(t.value)?t.value:void 0,p=d(t.unit,12)??void 0,v=h(t),y;if(u(o))if(v&&g(v)){if(y=m(t.receipt,v),f!==void 0){let e=String(f).replace(/[^0-9]/g,``),t=v.match(/\d[\d,.]*\d|\d/g)?.map(e=>e.replace(/[^0-9]/g,``));e&&!t?.includes(e)&&(f=void 0)}}else o=`T0`,f=void 0;else o===`T3`?(!s||f===void 0)&&(o=`T0`,f=void 0):f=void 0;_.push({id:n,label:r,role:i,depth:a,tier:o,...f===void 0?{}:{value:f},...p?{unit:p}:{},...y?{receipt:y}:{}})}if(_.length<2)return null;let v=new Set(_.map(e=>e.id)),y=[];for(let e of Array.isArray(r.edges)?r.edges:[]){if(!e||typeof e!=`object`)continue;let t=e,n=d(t.from,40),r=d(t.to,40);if(!n||!r||!v.has(n)||!v.has(r)||n===r)continue;let i=t.sign===-1?-1:1,a=d(t.verb,24)??void 0,o=l.includes(t.tier)?t.tier:`T0`,s=typeof t.weight==`number`&&Number.isFinite(t.weight)?f(t.weight):void 0,c=h(t),p,_=!1;u(o)&&s!==void 0&&c&&g(c)?p=m(t.receipt,c):(o=`T0`,s=void 0,_=!0),y.push({from:n,to:r,sign:i,tier:o,...a?{verb:a}:{},...s===void 0?{}:{weight:s},...p?{receipt:p}:{},..._?{provisional:!0}:{}})}let b=d(r.outcomeId,40);(!b||!v.has(b))&&(b=(_.find(e=>e.role===`outcome`)??_.reduce((e,t)=>t.depth>e.depth?t:e)).id);let x=Array.isArray(o.notes)?o.notes.map(e=>String(e)).slice(0,6):void 0;return{center:i,outcomeId:b,nodes:_,edges:y,provenance:{...s?{illustrative:!0}:{},...x&&x.length?{notes:x}:{}}}}var _=`You are Mavéa's causal explainer. Given a "why" question and SOURCES, build a causal web: root causes → mechanisms → the outcome. Return ONLY compact JSON, no prose.
2
+
3
+ HARD HONESTY RULES:
4
+ - A node's numeric "value" or an edge's "weight" (a 0..1 share of the outcome it explains) may ONLY be given when you can quote it VERBATIM from SOURCES — put that exact sentence in "quote" and set "tier":"T2" (or "T1" if it came from the user's own attached data). weights of the edges INTO the outcome should sum to ≤ 1.
5
+ - If a cause or link comes from general knowledge with NO source sentence, set "tier":"T0" and OMIT value/weight/quote. Never invent a number, a percentage, or a citation.
6
+ - If SOURCES is empty, EVERY node and edge is "T0" with no numbers — a qualitative structure only.
7
+ - "sign" is 1 (reinforces) or -1 (dampens). "role" is "root" | "mechanism" | "outcome". "depth" grows from roots (0) to the outcome.
8
+ Shape: {"center":"the question","outcomeId":"<id of the outcome node>","nodes":[{"id":"","label":"","role":"","depth":0,"tier":"T0","value":0,"unit":"","quote":""}],"edges":[{"from":"","to":"","verb":"","weight":0,"sign":1,"tier":"T0","quote":""}],"provenance":{"illustrative":false}}`,v={type:`object`,properties:{center:{type:`string`},outcomeId:{type:`string`},nodes:{type:`array`,minItems:2,items:{type:`object`,properties:{id:{type:`string`},label:{type:`string`},role:{type:`string`,enum:[`root`,`mechanism`,`outcome`]},depth:{type:`number`},tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},value:{type:`number`},unit:{type:`string`},quote:{type:`string`}},required:[`id`,`label`,`role`]}},edges:{type:`array`,items:{type:`object`,properties:{from:{type:`string`},to:{type:`string`},verb:{type:`string`},weight:{type:`number`},sign:{type:`number`},tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},quote:{type:`string`}},required:[`from`,`to`,`sign`]}},provenance:{type:`object`,properties:{illustrative:{type:`boolean`}}}},required:[`center`,`nodes`,`edges`]};function y(e){let t={slow:6,standard:9}[i(e)]??12;return{maxTokens:250+t*170,nodeCap:t}}function b(e,t,n){let r=t.trim()?t.trim().slice(0,6e3):`(none — use only general knowledge; mark EVERY node and edge "T0" with no numbers)`;return`QUESTION: ${e.trim()}
9
+
10
+ SOURCES:
11
+ ${r}
12
+
13
+ Build the causal web (${n} nodes max). Quote SOURCES verbatim for any number/weight; otherwise T0 with no numbers. Reply as compact JSON on one line.`}async function x(i,a,o,s){let c=t(`why:${i}\0${a}`,o.provider);try{let e=await r(c);if(e)return e}catch{}let{maxTokens:l,nodeCap:u}=y(o.model??o.provider),d;try{d=(await e(o.provider).generate({system:_,history:[],user:b(i,a,u),maxTokens:l,thinkingLevel:`minimal`,format:v,...s?{signal:s}:{}},o)).raw}catch{return null}if(s?.aborted)return null;let f=g(d,a);if(f)try{await n(c,f)}catch{}return f}export{x as explodeWhy};
@@ -0,0 +1 @@
1
+ function e(e){switch((e??``).toLowerCase()){case`k`:case`thousand`:return 1e3;case`m`:case`mn`:case`million`:return 1e6;case`b`:case`bn`:case`billion`:return 1e9;case`t`:case`tn`:case`trillion`:return 0xe8d4a51000;default:return 1}}function t(e){return Number(e.replace(/,/g,``))}var n=new Set(`a.an.the.of.in.to.by.and.or.for.at.on.with.from.is.are.was.were.be.we.our.it.its.their.this.that.these.those.about.over.up.than.as.reached.reaches.rose.grew.delivered.posted`.split(`.`));function r(e,t){let r=e.slice(0,t).toLowerCase().replace(/[^a-z0-9\s%$€£-]/g,` `).split(/\s+/).filter(Boolean),i=[];for(let e=r.length-1;e>=0&&i.length<4;--e){let t=r[e];n.has(t)||/^[\d.,%$€£-]+$/.test(t)||i.unshift(t)}return i.join(` `)}var i=[{unit:`currency`,re:/([$€£])\s?(\d[\d,]*(?:\.\d+)?)\s*(k|m|mn|b|bn|t|tn|thousand|million|billion|trillion)?/gi,value:n=>t(n[2])*e(n[3])},{unit:`%`,re:/(\d[\d,]*(?:\.\d+)?)\s*%/g,value:e=>t(e[1])},{unit:`x`,re:/(\d[\d,]*(?:\.\d+)?)\s?(?:x|×)(?![a-z])/gi,value:e=>t(e[1])},{unit:`count`,re:/(\d[\d,]*(?:\.\d+)?)\s?(thousand|million|billion|trillion)\b/gi,value:n=>t(n[1])*e(n[2])}];function a(e){let t=[],n=[],r=(e,t)=>n.some(([n,r])=>e<r&&t>n);for(let a of i){a.re.lastIndex=0;let i;for(;(i=a.re.exec(e.quote))!==null;){let e=i.index,o=e+i[0].length;if(r(e,o))continue;let s=a.value(i);Number.isFinite(s)&&(n.push([e,o]),t.push({start:e,end:o,raw:i[0].trim(),value:s,unit:a.unit}))}}return t.sort((e,t)=>e.start-t.start)}function o(e){let t=[];for(let n of e)a(n).forEach((e,i)=>{t.push({id:`${n.id}#${i}`,claimId:n.id,page:n.page,raw:e.raw,value:e.value,unit:e.unit,label:r(n.quote,e.start),quote:n.quote})});return t}export{o as t};
@@ -0,0 +1 @@
1
+ var e=[`ai`,`charts1`,`charts2`,`code`,`compose`,`core`,`diagrams`,`display`,`docs`,`everyday`,`finance`,`flows`,`forms`,`layout`,`learn`,`media`,`nav`,`overlays`,`pickers`,`reference`,`stats`,`status`,`tables`],t=[`timeline`,`flow`,`tree`,`compare`,`trend`,`bar`,`scatter`,`distribution`,`matrix`,`composition`,`stat`,`code`,`prose`,`list`,`media`,`control`,`graph`,`canvas`,`table`,`document`,`steps`,`map`],n=[`sequence`,`flow`,`hierarchy`,`comparison`,`ranking`,`text`,`series`,`distribution`,`list`,`relationship`,`geo`,`status`,`composition`,`tabular`,`structure`,`scalar`,`keyvalue`,`code`,`media`,`navigation`,`selection`,`action`,`overlay`],r=[`frontier`,`cutting`,`base`],i=[`generic`,`custom`],a=[`none`,`fluid`],o=[`explain`,`reference`,`analyze`,`teach`,`decide`,`compare`,`quantify`,`reflect`,`track`,`plan`,`visualize`,`howto`,`draft`,`organize`,`comfort`,`locate`],s=`code.tech.data.ai.education.business.money.health.science.startup.math.finance.cooking.nature.home.engineering.design.writing.media.sports.language.career.legal.fitness.productivity.travel.creative.games.relationship.music.art.psychology.ecology.chemistry.physics.biology.photo.retail.security.shopping.lifestyle`.split(`.`),c=[`currency`,`percent`,`total-row`,`status-color`,`in-cell-bar`,`sort`,`search`],l=[[`reasoning`,0,0,[0],0,.68,1,0,8,6,0,[],[],[],[`title`,`steps`]],[`toolcalls`,0,1,[1,0],0,.65,1,0,8,6,0,[],[],[],[`title`,`calls`]],[`agenttrace`,0,2,[2,3,4],1,.72,1,0,8,6,0,[],[],[],[`title`,`nodes`]],[`modelcompare`,0,3,[3,5],0,.7,1,0,12,8,0,[],[],[],[`title`,`outputs`]],[`tokenstream`,0,4,[6,7],0,.75,1,0,8,6,0,[],[],[],[`title`,`tokens`]],[`retrieval`,0,5,[4,8],0,.62,1,0,8,6,0,[],[],[],[`title`,`chunks`]],[`whatchanged`,0,3,[3,0],0,.68,1,0,8,6,0,[],[],[],[`title`,`before`,`after`,`diff`]],[`routing`,0,3,[3,1],0,.7,1,0,8,6,0,[],[],[],[`title`,`choices`]],[`embedmap`,0,6,[9,10],1,.82,1,0,8,6,0,[],[],[],[`title`,`clusters`,`points`]],[`calibration`,0,6,[9,7],1,.78,1,0,6,5,0,[],[],[],[`title`,`bins`]],[`httpexchange`,0,0,[0,1,11],0,.72,1,0,8,6,0,[0,1],[0,1,2],[],[`exchanges`]],[`trainingcurve`,0,4,[6,3],0,.82,0,0,8,6,0,[2,0,3],[3,4],[],[`epochs`,`trainLoss`]],[`treemap`,1,2,[2,12],1,.78,0,0,8,6,0,[],[],[],[`title`,`root`]],[`sunburst`,1,2,[2,12],1,.82,0,0,8,6,0,[],[],[],[`title`,`root`]],[`sankey`,1,1,[1,9],1,.85,0,0,12,8,0,[],[],[],[`title`,`nodes`,`links`]],[`network`,1,6,[9,2],1,.88,0,0,10,8,0,[],[],[],[`title`,`nodes`,`edges`]],[`radar`,1,3,[3,6],0,.72,0,0,8,6,0,[],[],[],[`title`,`axes`,`series`]],[`waterfall`,1,1,[1,3],0,.68,0,0,10,8,0,[],[],[],[`title`,`steps`]],[`funnel`,1,1,[1,4],0,.65,0,0,8,6,0,[],[],[],[`title`,`stages`]],[`histogram`,1,7,[7],0,.62,0,0,8,6,0,[],[],[],[`title`,`bins`]],[`boxplot`,1,7,[7,3],0,.7,0,0,8,6,0,[],[],[],[`title`,`groups`]],[`streamgraph`,1,4,[6,12],0,.79,0,0,12,8,0,[],[],[],[`title`,`ticks`,`series`]],[`correlationheatmap`,1,8,[9,13],0,.74,0,0,8,6,0,[],[],[],[`title`,`variables`,`matrix`]],[`bcgmatrix`,1,8,[3,9],0,.8,0,0,8,7,0,[4,2,5],[5],[],[`title`,`items`]],[`flowchord`,1,1,[1,9],1,.82,0,0,10,8,0,[],[],[],[`title`,`nodes`,`flows`]],[`venn`,1,6,[9,3],0,.7,1,0,6,5,0,[],[],[],[`title`,`sets`]],[`quadrant`,1,3,[3],0,.75,0,0,8,6,0,[],[],[],[`title`,`items`]],[`piedonut`,1,9,[12],0,.72,0,0,6,0,0,[],[],[],[`title`,`slices`]],[`distributioncurve`,1,7,[7],0,.78,0,0,8,6,0,[],[],[],[`title`]],[`latencydist`,1,7,[7],1,.78,1,0,8,6,0,[6,0],[2,0,1],[],[`title`,`bins`]],[`captable`,1,9,[12,13],0,.72,1,0,8,6,0,[6,0],[6,5],[],[`title`,`holders`]],[`lifewheel`,1,3,[3,12],0,.74,0,0,8,6,0,[7,8],[7,5],[],[`domains`]],[`violinplot`,1,7,[7,3],0,.78,0,0,8,6,0,[5,2,3],[4,8,2],[],[`groups`]],[`stemleafplot`,1,7,[7],2,.6,0,0,6,4,0,[2,3],[4],[],[`values`]],[`tamsam`,1,9,[12,3],0,.76,0,0,6,5,0,[2,5],[5,9],[],[`markets`]],[`slopegraph`,2,3,[3,6],0,.72,0,0,8,6,0,[],[],[],[`title`,`rows`]],[`dumbbell`,2,3,[3,7],0,.68,0,0,8,6,0,[],[],[],[`title`,`rows`]],[`lollipop`,2,5,[4,3],2,.62,0,0,8,6,0,[],[],[],[`title`,`rows`]],[`bulletchart`,2,10,[11,3],0,.7,0,0,8,6,0,[],[],[],[`title`,`rows`]],[`candlestick`,2,4,[6,7],1,.78,0,0,12,8,0,[],[],[],[`title`,`candles`]],[`gantt`,2,0,[0,1],1,.82,0,0,12,8,0,[],[],[],[`title`,`cols`,`tasks`]],[`bubble`,2,6,[9,12],1,.75,0,0,12,8,0,[],[],[],[`title`,`categories`,`points`]],[`arearange`,2,4,[6,7],0,.65,0,0,12,8,0,[],[],[],[`title`,`points`]],[`waffle`,2,9,[12],0,.72,0,0,6,4,0,[],[],[],[`title`,`cats`]],[`groupedbars`,2,3,[3,6],2,.68,0,0,12,8,0,[],[],[],[`title`,`groups`,`series`]],[`bridge`,2,9,[12,1,3],0,.76,0,0,8,6,0,[0,6,4],[],[],[`title`,`start`,`end`,`steps`]],[`calheat`,2,8,[6,7],0,.72,0,0,8,6,0,[],[],[],[`title`,`days`]],[`bump`,2,4,[6,4],0,.74,1,0,8,6,0,[],[],[],[`title`,`periods`,`series`]],[`marimekko`,2,9,[12,3],0,.76,1,0,8,6,0,[],[],[],[`title`,`columns`]],[`plot`,2,4,[6,9],0,.8,1,0,8,6,0,[],[],[],[`title`,`curves`]],[`dualaxis`,2,4,[6,3],0,.76,0,0,12,8,0,[],[],[],[`title`,`categories`,`bar`,`line`]],[`scatterregression`,2,6,[9,7],0,.81,0,0,10,7,0,[],[],[],[`title`,`points`]],[`dotplot`,2,7,[7,9],0,.76,0,0,8,6,0,[],[],[],[`title`,`values`]],[`controlchart`,2,4,[6,3],0,.8,0,0,10,8,0,[],[],[],[`title`,`points`,`ucl`,`lcl`,`centerLine`]],[`areaplot`,2,6,[9,6,7],0,.82,0,0,8,6,0,[0,3,6],[10,8,2],[],[`title`,`curves`]],[`supplydemand`,2,6,[9,3],0,.82,0,0,8,6,0,[0,3,6],[5,2,4],[],[`title`,`supply`,`demand`]],[`bigo`,2,6,[9,3,6],0,.82,1,0,8,6,0,[0,3,1,6],[0,10,4],[],[`title`]],[`errorbars`,2,3,[3,7,9],0,.82,0,0,8,6,0,[6,0,1],[2,8,4],[],[`title`,`groups`]],[`eratimeline`,2,0,[0,3,9],0,.82,0,0,12,8,0,[0,3,1],[4,5],[],[`title`,`tracks`]],[`payoffdiagram`,2,6,[9,3,7],0,.83,0,0,8,6,0,[0,3,6],[11,5,4],[],[`title`,`legs`]],[`phasediagram`,2,6,[9,14,3],0,.83,0,0,8,6,0,[0,3,1,6],[8,4],[],[`title`,`boundaries`]],[`indifferencecurve`,2,6,[9,3],0,.82,0,0,8,6,0,[0,3,6],[5,2,4],[],[`title`,`curves`]],[`breakeven`,2,6,[9,3],0,.76,0,0,8,6,0,[6,0,4],[6,5],[],[`fixedCost`,`pricePerUnit`,`costPerUnit`]],[`burnrunway`,2,4,[6,15],0,.82,0,0,8,6,0,[8,6,2],[5,6],[],[`months`]],[`loaddiagram`,2,6,[9,6,14],1,.78,0,0,8,6,0,[0,3,6,1],[8,10,4],[],[`title`,`span`,`supports`,`loads`]],[`ecgstrip`,2,4,[6,11],1,.82,0,0,10,7,0,[0,1],[7],[],[]],[`vitalstrip`,2,4,[6,11,16],1,.78,0,0,8,5,0,[8,0],[7],[],[`channels`]],[`growthcurve`,2,4,[6,9,11],1,.78,0,0,8,5,0,[8,6,0],[7],[],[`metric`,`percentiles`,`plotted`]],[`sleepcycle`,2,4,[6,0,11],0,.76,0,0,8,5,0,[0,8],[7],[],[`stages`]],[`seasonband`,2,0,[0,3,11],0,.74,0,0,8,6,0,[9,1],[12,13,14],[],[`rows`]],[`roccurve`,2,4,[6,3,9],0,.84,0,0,8,6,0,[0,5,1],[2,0,8,7],[],[`curves`]],[`surfaceplot`,2,6,[9,7],0,.4,0,0,8,6,0,[0,10,3],[10,8,2],[],[`title`,`grid`]],[`gradientdescent`,2,6,[9,0],0,.4,0,0,8,6,0,[0,10,3],[10,8,2,0],[],[`contour`,`path`]],[`biasvariance`,2,6,[9,3],0,.4,0,0,6,4,0,[0,10,3],[10,8,2,0],[],[`complexity`,`trainError`,`testError`]],[`timeseriesdecomposition`,2,4,[6,14],0,.4,0,0,8,6,0,[0,2,10],[2,5,8],[],[`dates`,`observed`,`trend`,`seasonal`,`residual`]],[`precisionrecallcurve`,2,4,[6,3,9],0,.82,0,0,8,6,0,[0,5,1],[2,0,8,7],[],[`curves`]],[`chromatogram`,2,4,[6,12],0,.82,0,0,9,7,0,[0,1,6],[8,4],[],[`title`,`peaks`]],[`stressstraincurve`,2,4,[6,9],0,.8,0,0,8,6,0,[0,1,6],[8,15,4],[],[`title`,`curve`]],[`gatingplot`,2,6,[9,7],1,.84,1,0,9,7,0,[0,1,6],[8,7],[],[`title`,`xLabel`,`yLabel`,`points`]],[`gellane`,2,9,[12,3],0,.78,0,0,8,5,0,[0,1,6],[8,4],[],[`title`,`lanes`]],[`flightchart`,2,0,[0,3],0,.76,0,0,12,8,0,[9,6,1],[5],[],[`title`,`channels`,`flights`]],[`paybandchart`,2,3,[3,11],0,.7,0,0,8,6,0,[1,6,4],[5],[],[`title`,`role`,`min`,`mid`,`max`,`markers`]],[`linebalance`,2,3,[3,6],0,.72,0,0,10,7,0,[1,6,8],[5,16],[],[`title`,`takt`,`stations`]],[`epicurve`,2,4,[6,12],0,.76,0,0,10,7,0,[1,6,8],[7,8],[],[`title`,`cases`]],[`pareto`,2,5,[4,12],0,.75,0,0,10,7,0,[1,6,4],[5,2],[],[`title`,`bars`]],[`populationpyramid`,2,3,[3,12],0,.74,0,0,8,6,0,[1,0],[8,5],[],[`title`,`bands`,`leftLabel`,`rightLabel`]],[`parallelcoordinates`,2,6,[9,3],1,.79,0,0,10,8,0,[1,4,6],[2,5,8],[],[`title`,`axes`,`lines`]],[`scatterplotmatrix`,2,6,[9,7],1,.77,0,0,8,6,0,[1,6],[2,8],[],[`title`,`vars`,`rows`]],[`pictogramchart`,2,9,[12],0,.73,0,0,6,4,0,[1,6],[2,4],[],[`title`,`categories`]],[`qqplot`,2,7,[7,3],0,.4,0,0,6,4,0,[2,10,0],[2,10,8],[],[`title`,`values`]],[`samplingdistribution`,2,7,[7],0,.82,0,0,8,6,0,[3,0],[4],[],[]],[`hrdiagram`,2,7,[7,3],0,.82,0,0,8,6,0,[3,0,1],[8,4],[],[`title`,`stars`]],[`ternaryplot`,2,9,[12,3],0,.8,0,0,6,5,0,[0,6,1],[8,4],[],[`title`,`axes`,`points`]],[`parliamentseats`,2,9,[12,4],0,.84,1,0,8,5,0,[0,6],[4,5],[],[`title`,`parties`]],[`componentapi`,3,11,[13,16,17],0,.68,0,0,10,7,0,[1,0],[0],[],[`title`,`component`,`props`]],[`stacktrace`,3,11,[5,17],2,.72,0,0,10,7,0,[],[],[],[`title`,`errorType`,`message`]],[`syntaxbreakdown`,3,11,[17,5],0,.7,0,0,10,7,0,[],[],[],[`title`,`lines`]],[`codewalk`,3,11,[0,17],0,.72,0,0,10,7,0,[],[],[],[`title`,`steps`]],[`terminal`,3,11,[17,0,5],2,.74,0,0,10,7,0,[11,0,1],[0,1,2],[],[`lines`]],[`logstream`,3,11,[0,13,11],0,.72,1,0,10,7,0,[0,8,1],[0,1,2],[],[`entries`]],[`gitgraph`,3,11,[2,0,9],0,.78,0,0,10,7,0,[0,1],[0,1],[],[`commits`]],[`queryplan`,3,11,[2,13,17],0,.7,0,0,10,7,0,[0,1],[0,1,2],[],[`nodes`]],[`flamegraph`,3,11,[2,7,17],1,.8,0,0,12,8,0,[0,6],[0,1,2],[],[`frames`]],[`regexscope`,3,11,[17,5],0,.72,0,0,8,6,0,[0,1],[0,1],[],[`pattern`,`parts`]],[`sequencealign`,3,11,[0,13,5],0,.7,0,0,8,5,0,[0,1,6],[8,0,2],[],[`title`,`kind`,`sequences`]],[`voicestyle`,4,12,[5,3],0,.74,0,0,7,5,0,[12,5],[],[],[`title`,`traits`,`sample`]],[`messagedraft`,4,12,[5],2,.72,0,0,8,6,0,[],[],[],[`title`,`subject`,`body`]],[`chatthread`,4,0,[0,5],2,.68,0,0,8,6,0,[],[],[],[`title`,`messages`]],[`dialogue`,4,0,[0,5],2,.68,0,0,8,6,0,[],[],[],[`title`,`lines`]],[`variants`,4,3,[3,5],2,.7,0,0,8,6,0,[],[],[],[`title`,`variants`]],[`verse`,4,12,[5],2,.62,0,0,6,4,0,[],[],[],[`title`,`stanzas`]],[`slidedeck`,4,0,[0,8],2,.7,0,0,10,7,0,[],[],[],[`title`,`deck`,`slides`]],[`screenplay`,4,0,[0,5],0,.72,0,0,8,6,0,[12,1],[17,18],[],[`elements`]],[`socialpost`,4,12,[5],2,.66,0,0,6,4,0,[],[],[],[`title`,`platform`,`handle`,`body`]],[`insight`,5,12,[15],2,.35,0,1,4,3,0,[],[],[],[`title`]],[`chart`,5,4,[6],2,.65,0,1,8,6,0,[],[],[],[`title`,`labels`,`series`]],[`breakdown`,5,9,[12],2,.6,0,1,6,4,0,[],[],[],[`title`,`rows`]],[`timeline`,5,0,[0],2,.55,0,1,8,6,0,[],[],[],[`events`]],[`list`,5,13,[8],2,.3,0,1,6,5,0,[],[],[],[`title`,`items`]],[`compare`,5,3,[3],2,.7,1,1,12,8,0,[],[],[],[`options`,`criteria`]],[`ring`,5,10,[12,11],2,.65,0,1,6,4,0,[],[],[],[`title`,`rings`]],[`bars`,5,5,[4,3],2,.6,0,1,8,6,0,[],[],[],[`title`,`bars`]],[`stack`,5,9,[12],2,.55,0,1,8,6,0,[],[],[],[`title`,`segments`]],[`scatter`,5,6,[9,7],0,.7,0,0,8,6,0,[],[],[],[`title`,`points`]],[`heat`,5,8,[13,7],1,.75,0,1,12,8,0,[],[],[],[`title`,`rows`]],[`flow`,5,1,[1],2,.7,0,0,12,8,0,[],[],[],[`title`,`steps`]],[`web`,5,13,[8,5],0,.45,0,0,8,6,0,[],[],[],[`results`]],[`gallery`,5,14,[18],0,.75,0,0,12,8,0,[],[],[],[`items`]],[`codemap`,5,11,[17,2],0,.8,0,0,8,6,0,[],[],[],[`center`,`nodes`]],[`diff`,5,11,[17,5],0,.65,0,0,8,6,0,[],[],[],[`file`,`add`,`del`,`lines`]],[`checks`,5,10,[11],2,.55,0,0,6,4,0,[],[],[],[`items`]],[`donut`,5,9,[12],2,.65,0,1,6,4,0,[],[],[],[`title`,`rows`]],[`gauge`,5,10,[15,11],0,.7,0,1,6,4,0,[],[],[],[`title`,`value`]],[`scoreboard`,5,3,[3,16],0,.55,0,0,8,6,0,[],[],[],[`games`]],[`standings`,5,5,[4,13],2,.5,0,0,6,6,0,[],[],[],[`rows`]],[`pipeline`,5,1,[1,12],0,.65,0,0,8,6,0,[],[],[],[`stages`]],[`kpi`,5,10,[16],2,.4,0,1,8,6,0,[],[],[],[`title`,`kpis`]],[`quotes`,5,12,[5],0,.5,0,0,6,5,0,[],[],[],[`quotes`]],[`checklist`,5,13,[8,11],2,.5,0,0,6,5,0,[],[],[],[`rows`]],[`understand`,5,12,[5],0,.45,0,0,8,6,0,[],[],[],[`items`]],[`schema`,5,2,[2,9],1,.85,0,1,12,8,0,[],[],[],[`entities`]],[`screenmap`,5,15,[19],0,.65,0,0,8,6,0,[],[],[],[`screens`]],[`buildprog`,5,1,[1,11],0,.55,0,0,8,6,0,[],[],[],[`steps`]],[`preview`,5,14,[18,13],1,.95,1,1,12,8,0,[],[],[],[`app`,`nav`,`stages`,`rows`,`kpis`,`columns`]],[`diagramflow`,6,16,[1,9,0,2],1,.82,0,1,8,6,0,[],[],[],[`title`,`nodes`,`edges`]],[`composite`,6,12,[3,9,12,16],1,.86,0,1,12,8,1,[],[],[],[`title`,`regions`]],[`sequencediagram`,6,0,[0,1],0,.83,0,0,10,7,0,[],[],[],[`title`,`actors`,`messages`]],[`statemachine`,6,1,[1,0],0,.84,0,0,10,6,0,[],[],[],[`title`,`states`,`transitions`]],[`erdiagram`,6,6,[9,2],0,.82,0,0,12,8,0,[],[],[],[`title`,`entities`,`relationships`]],[`circuitdiagram`,6,1,[1],1,.79,0,0,10,7,0,[],[],[],[`title`,`components`,`wires`]],[`controlblockdiagram`,6,1,[1,14],1,.8,0,0,10,7,0,[0,3,1],[15,8,0],[],[`title`,`blocks`,`wires`]],[`fiveforces`,6,3,[3,14],0,.76,0,0,6,5,0,[0,4,1],[5],[],[`title`,`industry`,`forces`]],[`fivewhychain`,6,0,[0,14],2,.72,0,0,6,5,0,[0,7,1],[5,0,4],[],[`title`,`problem`,`whys`]],[`sysarchdiagram`,6,1,[1,14,9],1,.85,0,0,10,7,0,[0,3,1],[0,1,5],[],[`title`,`nodes`,`edges`]],[`datapipeline`,6,1,[1,14],1,.8,0,0,10,7,0,[0,3,1],[0,1,8],[],[`title`,`stages`,`edges`]],[`threatmodel`,6,17,[14,9],1,.82,0,0,9,7,0,[0,1,4],[0,1,5],[],[`title`,`assets`,`threats`]],[`foodweb`,6,17,[14,9],0,.77,0,0,8,6,0,[0,3,1],[8,4],[],[`title`,`tiers`,`organisms`,`links`]],[`recursiontree`,6,2,[2,14,0],0,.78,0,0,9,6,0,[0,3,11],[0,4],[],[`title`,`root`]],[`primefactortree`,6,2,[2,14],0,.7,0,0,7,5,0,[0,3,11],[4],[],[`title`,`number`,`nodes`]],[`nnarchitecture`,6,2,[2,14,1],0,.8,0,0,9,7,0,[0,3,1],[0,4,8],[],[`title`,`layers`]],[`synthesisroute`,6,1,[1,14,0],1,.83,0,0,10,7,0,[0,3,1],[8,4],[],[`title`,`nodes`,`edges`]],[`plasmidmap`,6,17,[14,12],1,.81,0,0,7,6,0,[0,1],[8,4],[],[`title`,`sizeBp`,`features`,`sites`]],[`argumentmap`,6,3,[3,5],0,.82,0,0,10,7,0,[],[],[],[`title`,`claim`,`premises`]],[`toulmin`,6,3,[3,5,9],0,.8,0,0,10,7,0,[0,1],[4],[],[`claim`,`grounds`,`warrant`]],[`castmap`,6,6,[9,2],0,.84,0,0,8,6,0,[0,1,7],[4,5],[],[`nodes`,`links`]],[`probabilitytree`,6,2,[2,1],0,.84,0,0,10,8,0,[],[],[],[`title`,`branches`]],[`datastructure`,6,17,[14,2,0,8],0,.83,0,0,10,6,0,[0,3,1],[0,4],[],[`title`,`kind`]],[`causationchain`,6,6,[9,1,2],0,.83,0,0,10,8,0,[0,3,1],[4,5],[],[`title`,`event`,`causes`,`consequences`]],[`protocolstack`,6,2,[2,1,14],0,.74,1,0,10,7,0,[0,1],[1,0],[],[`layers`]],[`wiringdiagram`,6,1,[1,14,9],1,.78,0,0,10,7,0,[0,11,1],[1,8],[],[`nodes`,`wires`]],[`pipingschematic`,6,1,[1,14,9],1,.76,0,0,10,7,0,[0,1],[1,8],[],[`components`,`lines`]],[`logicgates`,6,1,[1,14,9],1,.78,0,0,10,7,0,[0,1],[0,1],[],[`inputs`,`gates`]],[`algorithmtrace`,6,0,[0,17,14],1,.8,1,0,10,7,0,[0],[0],[],[`values`,`steps`]],[`dptable`,6,18,[13,14,0],0,.85,1,0,10,7,0,[0,3],[0,10,4],[],[`rows`,`cols`,`cells`]],[`cyclewheel`,6,1,[1,0,9],0,.74,0,0,7,5,0,[0,1],[8,13],[],[`stages`]],[`hashtable`,6,17,[14,8,9],0,.83,0,0,10,7,0,[0,3,1],[0,4],[],[`size`,`entries`]],[`trie`,6,2,[2,14,0],0,.82,0,0,10,7,0,[0,3,1],[0,4],[],[`words`]],[`graphtrace`,6,17,[14,0,9],0,.86,1,0,10,8,0,[0,3,11],[0,4],[],[`nodes`,`edges`,`steps`]],[`binarytree`,6,2,[2,14,0],0,.87,1,0,10,7,0,[0,3,11],[0,4],[],[`nodes`,`root`]],[`sortingviz`,6,0,[0,14],0,.88,1,0,10,7,0,[0,3,11],[0,4],[],[`algorithm`,`values`,`steps`]],[`gridtrace`,6,0,[0,14],0,.89,1,0,10,7,0,[0,3,11],[0,4],[],[`steps`]],[`tournamentbracket`,6,2,[2,0,4],0,.82,0,0,12,8,0,[8,1],[19,5,4],[],[`title`,`rounds`,`matchups`]],[`prooftree`,6,2,[2,14],0,.78,0,0,9,6,0,[0,3,1],[4,10],[],[`title`,`steps`]],[`fishbone`,6,6,[9,14],0,.8,0,0,10,7,0,[0,7,4],[5,4,1],[],[`title`,`effect`,`categories`]],[`classdiagram`,6,17,[14,9],0,.84,0,0,12,8,0,[0,3,1],[0,4],[],[`title`,`classes`,`relations`]],[`avatar`,7,14,[18],2,.6,1,0,4,4,0,[],[],[],[`title`]],[`avatargroup`,7,9,[12],2,.65,1,0,4,4,0,[],[],[],[`title`,`members`]],[`badgeset`,7,10,[16,11],2,.55,1,0,6,5,0,[],[],[],[`title`,`badges`]],[`chipset`,7,15,[20],2,.6,1,0,8,6,0,[],[],[],[`title`,`chips`]],[`kbd`,7,13,[8,19],2,.5,1,0,6,5,0,[],[],[],[`title`,`shortcuts`]],[`codeblock`,7,11,[17,5],2,.65,0,0,8,6,0,[],[],[],[`title`,`code`]],[`banner`,7,15,[21,5],2,.5,1,0,12,8,0,[],[],[],[`title`,`message`]],[`toaststack`,7,15,[21,11],2,.6,1,0,5,5,0,[],[],[],[`title`,`toasts`]],[`spinner`,7,10,[11],2,.55,1,0,4,4,0,[],[],[],[`title`]],[`notification`,7,13,[8,21],2,.65,1,0,6,5,0,[],[],[],[`title`,`items`]],[`eligibilitycheck`,8,10,[11,8,3],0,.72,0,0,6,5,0,[4,1,0],[],[],[`title`,`requirements`]],[`evidencetrace`,8,13,[8,5],0,.74,1,0,7,5,0,[1,0,6],[],[],[`title`,`claim`,`items`]],[`reviewsynth`,8,9,[12,7,3],0,.74,0,0,7,6,0,[4,1,5],[],[],[`title`]],[`annotateddoc`,8,12,[5],0,.7,1,0,8,6,0,[],[],[],[`title`,`paragraphs`,`highlights`]],[`redline`,8,12,[5],0,.65,1,0,8,6,0,[],[],[],[`title`,`tokens`]],[`citationchain`,8,2,[2],1,.75,1,0,8,6,0,[],[],[],[`title`,`root`]],[`factcheck`,8,13,[8],0,.65,1,0,8,6,0,[],[],[],[`title`,`claims`]],[`confidencemeter`,8,9,[12],0,.7,1,0,6,5,0,[],[],[],[`title`,`segments`]],[`highlightsnippet`,8,12,[5],2,.55,1,0,6,5,0,[],[],[],[`title`,`quote`,`phrase`]],[`annotcallouts`,8,14,[18],0,.8,1,0,8,6,0,[],[],[],[`title`,`callouts`]],[`sourcelist`,8,5,[4],0,.7,1,0,8,6,0,[],[],[],[`title`,`sources`]],[`claimgrid`,8,3,[3,13],1,.75,1,0,12,8,0,[],[],[],[`title`,`columns`,`rows`]],[`docoutline`,8,2,[2],1,.65,1,0,6,6,0,[],[],[],[`title`,`sections`]],[`docview`,8,19,[5,18],0,.65,0,0,8,0,0,[],[],[],[`title`,`blocks`]],[`pdfreader`,8,19,[5,18],0,.6,0,0,12,0,0,[],[],[],[`title`]],[`diffviewer`,8,3,[3,5],0,.74,0,0,12,8,0,[],[],[],[`title`,`lines`]],[`clinicaltimeline`,8,0,[0,11],0,.8,0,0,8,6,0,[],[],[],[`title`,`events`]],[`researchsummary`,8,12,[5,8],0,.78,0,0,9,6,0,[],[],[],[`title`,`question`,`findings`,`conclusion`]],[`hypothesiscard`,8,3,[3,11],0,.72,0,0,7,6,0,[],[],[],[`h0`,`h1`]],[`paralleltext`,8,12,[5,13],0,.7,0,0,10,6,0,[1,0],[20],[],[`columns`,`rows`]],[`resume`,8,12,[5,0],0,.72,0,0,8,6,0,[12,1],[21,5],[],[`name`,`experience`]],[`changelog`,8,0,[0,8],0,.7,0,0,8,6,0,[1,8],[0,1,5],[],[`title`,`versions`]],[`lessonplan`,8,0,[0,8],0,.68,0,0,8,6,0,[9,3,12],[4],[],[`title`,`objectives`,`procedure`]],[`casebrief`,8,12,[5],0,.7,0,0,8,6,0,[1,0],[22,4],[],[`title`,`parties`,`facts`,`issue`,`holding`,`reasoning`]],[`patentclaimchart`,8,3,[3,13],1,.76,1,0,12,8,0,[2,1],[22],[],[`title`,`claimElements`,`references`,`cells`]],[`storystructure`,8,12,[5,0],0,.68,1,0,8,6,0,[12,13],[17,18],[],[`title`,`lede`,`nutGraf`,`body`]],[`vetpatientchart`,8,10,[16,11],0,.68,0,0,7,6,0,[1,8],[7],[],[`title`,`species`,`name`]],[`scoutingreport`,8,13,[8,5],0,.7,0,0,8,6,0,[2,9],[19],[],[`title`,`opponent`,`tendencies`]],[`allocatepeople`,9,9,[12,8,3],0,.74,0,0,8,5,0,[9,4,5],[],[],[`title`,`people`,`assignments`]],[`forecast`,9,4,[6,8],2,.7,0,0,10,7,0,[],[],[],[`title`,`days`]],[`agenda`,9,0,[0,8],2,.78,0,0,8,5,0,[],[],[],[`title`,`items`]],[`picks`,9,13,[8,4],2,.68,0,0,8,5,0,[],[],[],[`title`,`items`]],[`timezones`,9,3,[3,8],2,.55,0,0,6,4,0,[],[],[],[`title`,`rows`]],[`transitroute`,9,0,[0,8],2,.65,0,0,8,5,0,[],[],[],[`title`,`origin`,`destination`,`steps`]],[`amortization`,9,18,[13,8],0,.68,0,0,10,7,0,[],[],[],[`title`,`principal`,`rate`,`term`,`monthlyPayment`,`rows`]],[`receipt`,9,18,[13,8],2,.6,0,0,6,4,0,[],[],[],[`title`,`lines`,`total`]],[`settleup`,9,13,[8,3],2,.62,0,0,7,5,0,[],[],[],[`title`,`settlements`]],[`bracketbar`,9,5,[4,3],2,.65,0,0,7,5,0,[],[],[],[`title`,`items`]],[`recipecard`,9,20,[0,8],0,.82,1,0,10,7,0,[],[],[],[`title`,`ingredients`,`steps`]],[`workoutplan`,9,20,[0,13],0,.8,1,0,9,6,0,[],[],[],[`title`,`sessions`]],[`medicationschedule`,9,0,[0,8],0,.76,0,0,8,6,0,[],[],[],[`title`,`medications`]],[`macrobreakdown`,9,9,[12,15],0,.78,0,0,7,5,0,[],[],[],[`title`,`calories`,`protein`,`carbs`,`fat`]],[`plangrid`,9,0,[0,13,16],0,.7,0,0,12,8,0,[9,8,13],[12,23,4,24,25],[],[`title`,`columns`,`rows`]],[`budgetallocator`,9,9,[12,15],0,.74,0,0,6,5,0,[9,4,13,8],[6,5,24],[],[`title`,`income`,`envelopes`]],[`howtosteps`,9,20,[0,8],0,.66,0,0,7,5,0,[11,0,9],[14,1,23,24],[],[`title`,`steps`]],[`livecompute`,9,10,[15,9],0,.82,1,0,6,5,0,[4,6,9],[],[],[`title`,`inputs`,`formula`,`output`]],[`countdown`,9,10,[15,11],0,.64,1,0,5,4,0,[9,8],[],[],[`title`,`target`]],[`livescore`,9,5,[4],0,.6,1,0,5,4,0,[8],[],[],[`title`,`entries`]],[`nutritionlabel`,9,9,[12,13,16],0,.78,0,0,5,4,0,[1,0],[12,7],[],[`servingSize`,`calories`,`nutrients`]],[`unitconvert`,9,10,[16,15],2,.66,0,0,4,3,0,[6,1],[12,14],[],[`quantity`,`from`,`equivalents`]],[`packlist`,9,13,[8,11,12],0,.7,0,0,6,5,0,[9,1],[25,14],[],[`groups`]],[`pregnancyweek`,9,10,[11,15,8],0,.74,0,0,6,5,0,[0,8,1],[7],[],[`week`]],[`cycletrack`,9,0,[0,11,6],0,.72,0,0,6,5,0,[8,0],[7],[],[`cycleLength`,`periodDays`]],[`contractiontimer`,9,4,[6,0,11],0,.7,0,0,6,5,0,[8,1],[7],[],[`contractions`]],[`prayertimes`,9,0,[0,11],0,.72,0,0,5,4,0,[1,8],[13,14],[],[`slots`]],[`labprotocol`,9,0,[0,8],0,.78,0,0,10,7,0,[11,1],[8,7],[],[`title`,`steps`]],[`caregivercoord`,9,0,[0,8],0,.75,0,0,8,6,0,[9,8,13],[7,14],[],[`title`,`personName`,`relation`]],[`readinglist`,9,13,[8,11],0,.68,1,0,7,5,0,[8,1],[14],[],[`title`,`books`]],[`cocktailcard`,9,0,[0,8],0,.72,0,0,6,5,0,[11,1],[12,14],[],[`title`,`pours`]],[`runninglog`,9,4,[6,0,8],0,.76,0,0,8,6,0,[8,6],[23],[],[`title`,`entries`]],[`userpersona`,9,13,[8,5],0,.74,0,0,8,6,0,[0,1],[5,24],[],[`title`,`name`,`goals`,`frustrations`]],[`runofshow`,9,0,[0,11],0,.76,0,0,8,6,0,[9,8],[5,26],[],[`title`,`cues`]],[`podcastplanner`,9,0,[0,8],0,.66,0,0,6,5,0,[9,12],[26,5],[],[`title`]],[`vaxschedule`,9,0,[0,11],0,.7,0,0,8,6,0,[8,1],[7],[],[`title`,`doses`]],[`claimagecompare`,9,3,[3,6,15],0,.78,0,0,8,6,0,[4,6,9],[6],[],[`title`,`ages`]],[`weathernow`,9,10,[15,16],2,.72,0,0,8,5,0,[1,8],[25],[],[`title`,`tempF`,`condition`,`asOf`]],[`tierlist`,9,5,[4,8],2,.68,0,0,7,5,0,[4,1],[],[],[`title`,`rows`]],[`paystub`,9,18,[13,8],0,.62,0,0,6,4,0,[],[],[],[`title`,`payPeriod`,`grossPay`,`earnings`,`deductions`,`netPay`]],[`taxbracket`,9,9,[12,15],0,.76,0,0,8,6,0,[0,6],[6],[],[`title`,`bands`,`income`]],[`menucard`,9,13,[8,2],2,.7,0,0,6,4,0,[1,9],[12],[],[`title`,`sections`]],[`familytree`,9,2,[2,14],0,.82,0,0,9,7,0,[1,0],[],[],[`title`,`people`]],[`seatingchart`,9,21,[10,8],0,.78,0,0,8,6,0,[9,1],[],[],[`title`,`tables`,`assignments`]],[`relationshipmap`,9,6,[9,2],1,.84,0,0,9,7,0,[0,1],[],[],[`title`,`people`,`ties`]],[`meetingnotes`,9,13,[8,0],2,.7,0,0,7,5,0,[1,8],[5],[],[`title`,`actionItems`]],[`stickerchart`,9,10,[11,13],2,.72,0,0,7,5,0,[8,1],[7],[],[`title`,`days`,`marks`]],[`statblock`,9,10,[16,11],2,.72,0,0,6,4,0,[1,12],[27,26],[],[`name`,`ac`,`hp`,`abilities`]],[`vestingschedule`,10,0,[0,11],0,.72,0,0,10,7,0,[6,0,8],[6,5],[],[`title`,`grants`]],[`termsheet`,10,10,[16,5],2,.6,0,0,6,4,0,[1,0,4],[6,5],[],[`title`,`terms`]],[`fundraisingrounds`,10,4,[6,3],0,.75,0,0,9,7,0,[6,0,8],[6,5],[],[`title`,`rounds`]],[`saferterms`,10,10,[16,15],0,.62,0,0,6,5,0,[6,0,1],[6,5],[],[`title`,`instrument`,`principal`]],[`dilutionwaterfall`,10,9,[12,0],1,.8,1,0,10,7,0,[6,0,8],[6,5],[],[`title`,`rounds`]],[`threestatementlink`,10,18,[13,1],1,.78,0,0,12,9,0,[0,1,6],[6,5],[],[`title`,`period`,`statements`]],[`yieldcurve`,10,4,[6,9],0,.72,1,0,8,6,0,[0,6,1],[6,5],[],[`title`,`curve`]],[`efficientfrontier`,10,6,[9,7],1,.77,1,0,8,6,0,[0,4,6],[6,5],[],[`title`,`assets`,`frontier`]],[`bondladder`,10,0,[0,3],2,.6,0,0,7,5,0,[6,1,8],[6,5],[],[`title`,`rungs`]],[`cashflowtimeline`,10,4,[6,1],0,.74,1,0,9,6,0,[6,0,4],[6,5,4],[],[`title`,`flows`]],[`trustmap`,11,1,[1,9,8],0,.7,0,0,10,8,0,[1,0,4],[],[],[`title`,`flows`]],[`kanban`,11,1,[1,11],0,.75,1,0,12,8,0,[],[],[],[`title`,`stages`]],[`wizard`,11,1,[0,19],0,.65,1,0,8,6,0,[],[],[],[`title`,`steps`]],[`decisiontree`,11,1,[1,2],1,.8,0,0,10,8,0,[],[],[],[`title`,`rootId`,`nodes`]],[`goaltree`,11,1,[2,11],0,.7,0,0,10,8,0,[],[],[],[`title`,`objectives`]],[`plandag`,11,1,[1,2],1,.85,0,0,12,8,0,[],[],[],[`title`,`nodes`,`edges`]],[`milestones`,11,1,[0],2,.65,0,0,12,8,0,[],[],[],[`title`,`milestones`]],[`processflow`,11,1,[1,0],2,.6,0,0,10,8,0,[],[],[],[`title`,`steps`]],[`journeymap`,11,1,[1,0],0,.8,0,0,12,8,0,[],[],[],[`title`,`stages`]],[`logicmodel`,11,1,[1,0],0,.68,0,0,12,9,0,[],[],[],[`title`,`columns`]],[`orgchart`,11,1,[2],1,.75,0,0,10,8,0,[],[],[],[`title`,`rootId`,`nodes`]],[`issuetree`,11,1,[2],1,.78,0,0,10,8,0,[],[],[],[`title`,`rootQuestion`,`nodes`]],[`roadmap`,11,1,[0,1,3],0,.78,1,0,12,8,0,[],[],[],[`title`,`quarters`,`lanes`]],[`contentcalendar`,11,1,[13,11],0,.66,0,0,12,8,0,[],[],[],[`title`,`platforms`,`weeks`,`cells`]],[`headcountplan`,11,1,[11,12],2,.62,0,0,8,6,0,[],[],[],[`title`,`depts`]],[`chronologicaltimeline`,11,1,[0],0,.71,0,0,10,6,0,[],[],[],[`title`,`events`]],[`skilltree`,11,1,[2,11],1,.76,0,0,10,8,0,[9,0,1],[19,4,24],[],[`nodes`]],[`businesscanvas`,11,1,[16,12],0,.78,0,0,12,8,0,[9,0,4],[5],[],[`valueProposition`]],[`blanks`,12,12,[20,3],0,.85,1,1,8,6,0,[],[],[],[`title`,`slots`]],[`buttonbar`,12,15,[20,21],2,.65,1,0,8,6,0,[],[],[],[`title`,`buttons`]],[`textfield`,12,15,[20],2,.6,1,0,8,6,0,[],[],[],[`title`,`fields`]],[`textarea`,12,15,[20],2,.55,1,0,12,8,0,[],[],[],[`title`]],[`select`,12,15,[20],2,.58,1,0,6,5,0,[],[],[],[`title`,`options`]],[`combobox`,12,15,[20],0,.65,1,0,8,6,0,[],[],[],[`title`,`items`]],[`checkboxgroup`,12,15,[20],2,.6,1,0,8,6,0,[],[],[],[`title`,`items`]],[`actionchecklist`,12,15,[0,8],0,.62,1,0,6,4,0,[],[],[],[`title`,`items`]],[`radiogroup`,12,15,[20],2,.62,1,0,10,7,0,[],[],[],[`title`,`options`]],[`switchset`,12,15,[20],2,.58,1,0,8,6,0,[],[],[],[`title`,`items`]],[`togglegroup`,12,15,[20],0,.63,1,0,6,5,0,[],[],[],[`title`,`items`]],[`otp`,12,15,[20],0,.72,1,0,6,5,0,[],[],[],[`title`]],[`preflightchecklist`,12,15,[0,8],0,.5,1,0,6,4,0,[],[],[],[`title`,`sections`]],[`estateplanchecklist`,12,15,[11,8],0,.5,0,0,6,4,0,[],[],[],[`title`,`documents`]],[`visachecklist`,12,15,[11,8],0,.5,0,0,6,4,0,[],[],[],[`title`,`documents`]],[`callout`,13,12,[5],2,.45,1,0,8,6,0,[],[],[],[`title`,`body`]],[`verdictcard`,13,3,[3,5],0,.7,0,0,6,5,0,[],[],[],[`title`,`verdict`]],[`scenarioset`,13,3,[3,7],0,.72,0,0,6,6,0,[],[],[],[`title`,`scenarios`]],[`worthit`,13,3,[3,15],0,.68,0,0,6,5,0,[4,5],[],[],[`title`,`verdict`]],[`companionnote`,13,12,[5],2,.5,0,0,7,5,0,[14,7],[],[],[`reflection`]],[`positioncard`,13,10,[11,15],0,.7,0,0,6,5,0,[0,4,7],[],[],[`title`,`levels`]],[`differential`,13,5,[4,3],0,.72,0,0,6,5,0,[0,4],[],[],[`title`,`causes`]],[`reframecard`,13,12,[5],0,.62,0,0,7,5,0,[14,7],[],[],[`thought`,`reframe`]],[`breathpacer`,13,0,[0,11],2,.6,0,0,5,4,0,[14,7],[],[],[]],[`copingmenu`,13,13,[8,20],2,.62,0,0,6,5,0,[14,9,11],[],[],[`options`]],[`subtextdecode`,13,5,[4,5,3],0,.7,0,0,6,5,0,[7,4,12,14],[],[],[`title`,`message`,`readings`]],[`rehearsal`,13,1,[1,0,5],0,.72,0,0,6,5,0,[12,9,14,7],[],[],[`title`,`opener`,`branches`]],[`messagescriptset`,13,13,[8,5],0,.68,0,0,7,5,0,[12,9,11],[],[],[`title`,`scripts`]],[`talktrack`,13,0,[0,5],0,.66,0,0,7,5,0,[12,9,14,11],[],[],[`title`,`lines`]],[`lifeline`,13,12,[5,8],2,.5,0,0,6,5,0,[14],[],[],[`resources`]],[`proscons`,13,3,[3],0,.65,1,0,12,8,0,[],[],[],[`title`,`pros`,`cons`]],[`takeaways`,13,13,[8],2,.55,1,0,6,5,0,[],[],[],[`title`,`items`]],[`faq`,13,13,[8],2,.5,1,0,8,6,0,[],[],[],[`title`,`items`]],[`tabs`,13,15,[19],2,.6,1,0,10,7,0,[],[],[],[`title`,`tabs`]],[`divider`,13,15,[19],2,.35,0,0,12,8,0,[],[],[],[`title`,`heading`]],[`pullquote`,13,12,[5],0,.7,1,0,8,6,0,[],[],[],[`title`,`quote`]],[`storystrip`,13,0,[0],0,.8,1,0,12,8,0,[],[],[],[`title`,`panels`]],[`casestudy`,13,0,[0],0,.75,1,0,12,8,0,[],[],[],[`title`,`subject`,`setup`,`action`,`result`,`lesson`]],[`deflist`,13,13,[8],2,.5,1,0,8,6,0,[],[],[],[`title`,`items`]],[`accordion`,13,13,[8,5],2,.52,1,0,8,6,0,[],[],[],[`title`,`sections`]],[`scansionmark`,13,0,[0,5],0,.7,0,0,8,6,0,[0,1],[20],[],[`lines`]],[`typespec`,13,13,[8,13],0,.74,0,0,8,6,0,[1,0],[16],[],[`styles`]],[`shotlist`,13,0,[0,8],0,.72,0,0,8,6,0,[9,1],[18],[],[`shots`]],[`beatsheet`,13,0,[0,8],0,.72,0,0,8,6,0,[9,0,1],[17,18],[],[`beats`]],[`promptset`,13,13,[8,5],0,.66,0,0,6,5,0,[7],[28,24],[],[`prompts`]],[`zoneladder`,13,10,[11,8],0,.72,0,0,6,5,0,[0,1],[23,7],[],[`zones`]],[`picturesequence`,13,0,[0,8],0,.7,0,0,8,6,0,[0,11],[20,4],[],[`panels`]],[`storyarc`,13,0,[0],0,.81,0,0,10,7,0,[9,0,1],[17,18,4],[],[`framework`]],[`devicemark`,13,12,[5],0,.79,0,0,10,7,0,[0,3,2],[17,18,4],[],[`text`,`marks`]],[`thoughtrecord`,13,12,[5,3],0,.68,0,0,8,6,0,[14,7],[],[],[`situation`,`automaticThought`,`emotion`]],[`equationblock`,14,12,[5,17],0,.77,0,0,8,5,0,[],[],[],[`title`,`math`]],[`numberline`,14,10,[15,6],0,.68,0,0,8,5,0,[],[],[],[`title`,`min`,`max`]],[`workedexample`,14,0,[0],0,.72,0,0,8,5,0,[],[],[],[`title`,`steps`]],[`quiz`,14,15,[20],0,.73,1,0,7,0,0,[],[],[],[`title`,`question`,`options`]],[`flashcard`,14,12,[5,16],0,.69,1,0,6,0,0,[],[],[],[`title`,`cards`]],[`molecularstructure`,14,17,[14,9],0,.8,0,0,8,6,0,[],[],[],[`title`]],[`periodictable`,14,17,[13,3],1,.88,0,0,12,10,0,[],[],[],[`title`,`elements`]],[`bodymap`,14,10,[16,8],0,.72,0,0,6,4,0,[],[],[],[`title`]],[`geometrycanvas`,14,6,[9,15],0,.82,0,0,8,6,0,[],[],[],[`title`]],[`freebodydiagram`,14,17,[9],0,.78,0,0,6,5,0,[],[],[],[`title`,`forces`]],[`musicstaff`,14,0,[0],0,.76,0,0,10,7,0,[],[],[],[`title`,`notes`]],[`vectorspace`,14,6,[9,15],0,.8,0,0,7,5,0,[0,6],[10,8,4,2],[],[`title`,`vectors`]],[`reactionmechanism`,14,17,[14,0],0,.74,0,0,12,8,0,[],[],[],[`title`,`steps`]],[`chorddiagram`,14,17,[18,8],0,.85,0,0,7,5,0,[],[],[],[`title`,`chordName`,`frets`]],[`developmentmilestone`,14,13,[8,11],0,.8,1,0,8,6,0,[],[],[],[`title`,`ageLabel`,`domains`]],[`teachdiagram`,14,1,[1,0,14],0,.92,1,0,10,8,0,[],[],[],[`title`,`steps`]],[`gridmatrix`,14,8,[13,3],0,.82,0,0,8,6,0,[],[],[],[`title`,`cells`]],[`fractionbar`,14,9,[12,3],0,.78,0,0,8,6,0,[],[],[],[`title`,`fractions`]],[`wave`,14,6,[9,6],0,.8,0,0,7,5,0,[0,3,6],[8,10,4],[],[`title`,`waves`]],[`energydiagram`,14,0,[0,9],0,.82,0,0,7,5,0,[0,3,6],[8,4],[],[`title`]],[`phylotree`,14,2,[2,9],0,.82,0,0,8,6,0,[0,3,1],[8,4],[],[`title`,`root`]],[`parsetree`,14,2,[2,14],0,.82,0,0,8,6,0,[0,3,1],[4],[],[`title`,`root`]],[`celldiagram`,14,17,[14,2],0,.82,0,0,8,6,0,[0,3,1],[8,4],[],[`title`]],[`raydiagram`,14,6,[9,15],0,.82,0,0,7,5,0,[0,3],[8,4],[],[`title`,`objectDistance`,`focalLength`]],[`vectorfield`,14,6,[9,7],0,.83,0,0,7,5,0,[0,3,6],[10,8,4],[],[`title`,`samples`]],[`pedigree`,14,2,[2,9],0,.83,0,0,8,6,0,[0,3,1],[8,4],[],[`title`,`people`]],[`bohrmodel`,14,17,[14,12],0,.82,0,0,6,5,0,[0,3,1],[8,4],[],[`title`,`protons`,`shells`]],[`equationbalancer`,14,17,[14,13],0,.76,0,0,8,6,0,[0,6],[8,4],[],[`title`,`reactants`,`products`]],[`yieldcalc`,14,10,[15,13],0,.72,0,0,7,5,0,[6,0],[8,4],[],[`title`]],[`vseprmolecule`,14,17,[14,9],1,.8,0,0,7,5,0,[0],[8,4],[],[`title`,`central`,`bonds`]],[`unitcircle`,14,17,[9,15],1,.8,0,0,6,5,0,[0,6],[10,4],[],[`title`,`angleDeg`]],[`solidfigure`,14,17,[14,15],1,.78,0,0,6,5,0,[0,6],[10,4],[],[`title`,`solid`]],[`crosssection`,14,17,[14,12],0,.74,0,0,7,5,0,[0,15],[8,4],[],[`title`,`layers`]],[`pianokeys`,14,17,[18,8],1,.8,0,0,8,6,0,[0,1],[29],[],[`highlight`]],[`fretboardmap`,14,17,[18,8],1,.8,0,0,8,6,0,[0,1],[29],[],[`dots`]],[`circleoffifths`,14,6,[9,14],0,.78,0,0,6,5,0,[0,1],[29],[],[`title`]],[`odontogram`,14,17,[13,11],1,.74,0,0,8,6,0,[1,0],[7],[],[`teeth`]],[`clockface`,14,10,[15,11],0,.76,0,0,6,4,0,[0,1],[10,4],[],[`time`]],[`moneytray`,14,9,[12,15],0,.72,0,0,6,5,0,[6,0],[10,6,4],[],[`tokens`]],[`placevaluechart`,14,9,[12,15],0,.74,0,0,7,5,0,[0,6],[10,4],[],[`value`]],[`shapecard`,14,17,[14,8],0,.74,0,0,7,5,0,[0,1],[10,4],[],[`shapes`]],[`letterform`,14,0,[0,5],0,.7,0,0,5,4,0,[11,1],[20,4],[],[`letter`,`strokes`]],[`toolscale`,14,10,[15,11],0,.72,0,0,6,5,0,[0,11,1],[10,4],[],[`instrument`,`value`,`max`]],[`craftchart`,14,18,[13,14],0,.72,0,0,7,5,0,[11,1],[16,30],[],[`rows`,`cols`,`cells`]],[`areamodel`,14,9,[12,14],0,.4,0,0,6,4,0,[0,10,3],[10],[],[`title`,`factorA`,`factorB`]],[`gridtransform`,14,6,[9,14],0,.4,0,0,8,6,0,[0,10,3],[10,0],[],[`title`,`matrix`]],[`polarplot`,14,6,[9,14],0,.4,0,0,6,4,0,[0,10,3],[10,8],[],[`title`]],[`twocolumnproof`,14,17,[14,0],2,.4,0,0,6,4,0,[0,3],[10,4],[],[`title`,`given`,`prove`,`steps`]],[`pyramidtiers`,14,2,[2,4],2,.4,0,0,5,4,0,[0,10,3],[4,8,31,32],[],[`title`,`tiers`]],[`linespectrum`,14,7,[7,6],2,.4,0,0,6,5,0,[0,10,3],[8,33,34],[],[`title`,`lines`]],[`dnahelix`,14,17,[14,0],2,.4,0,0,4,3,0,[0,10,3],[8,35],[],[`title`]],[`taylorseries`,14,4,[6,9],0,.4,0,0,6,5,0,[0,10,3],[10,4],[],[`title`,`fn`]],[`phaseportrait`,14,6,[9],0,.87,0,0,6,5,0,[0,3,10],[4,10,8],[],[`fx`,`gy`]],[`sightwordlist`,14,13,[8,11],2,.62,1,0,6,4,0,[1,11],[4,20],[],[`title`,`words`]],[`alphabetchart`,14,13,[8],2,.55,0,0,8,5,0,[1],[4,20],[],[`title`]],[`columnarithmetic`,14,0,[0,14],2,.68,0,0,5,4,0,[3,0,11],[4],[],[`title`,`op`,`operands`]],[`titrationcurve`,14,6,[9,6],0,.78,0,0,7,5,0,[0,3,6],[8,4],[],[`title`,`points`]],[`interferencepattern`,14,6,[9,6],0,.76,0,0,7,5,0,[0,3],[8,4],[],[`title`,`slits`,`intensity`]],[`orbitaldiagram`,14,17,[14,0],0,.76,0,0,6,5,0,[0,3],[8,4],[],[`title`,`orbitals`]],[`pictograph`,14,9,[12,3],2,.7,0,0,6,4,0,[6,5,0],[],[],[`title`,`unitValue`,`rows`]],[`particlemodel`,14,3,[3,14],2,.68,0,0,7,5,0,[0,3,5],[8,4],[],[`title`,`panels`]],[`morphemebreakdown`,14,17,[14,5],2,.66,0,0,6,4,0,[0,3,1],[4,20],[],[`title`,`word`,`morphemes`]],[`practicelog`,14,4,[6,11],0,.74,0,0,7,5,0,[8,7,6],[4,29],[],[`title`,`instrument`,`sessions`]],[`taxonrank`,14,2,[2],2,.68,0,0,4,3,0,[0,3,1],[8,4],[],[`title`,`ranks`]],[`numbersequence`,14,0,[0],2,.66,0,0,8,5,0,[0,1],[8,4],[],[`title`,`kind`,`terms`]],[`constantcard`,14,10,[15],2,.62,0,0,5,4,0,[0,1],[8,4],[],[`title`,`symbol`,`value`,`significance`]],[`elementcard`,14,10,[16],2,.72,0,0,6,5,0,[0,1],[8,4],[],[`title`,`symbol`,`name`,`z`]],[`energybarchart`,14,3,[3,6],0,.8,0,0,8,5,0,[0,3,1],[8,4],[],[`title`,`snapshots`]],[`guitartab`,14,0,[0],0,.82,0,0,8,6,0,[0,3,1],[29],[],[`title`,`notes`]],[`karyotype`,14,17,[14],0,.82,0,0,8,6,0,[0,3,1],[8,4],[],[]],[`frayermodel`,14,10,[16,5],2,.66,0,0,6,5,0,[0,3,1],[4],[],[`term`,`definition`,`characteristics`,`examples`,`nonexamples`]],[`numberbond`,14,10,[15,14],2,.64,0,0,5,4,0,[3,0],[4],[],[`parts`]],[`beforeafter`,15,3,[3],0,.8,1,0,8,6,0,[5],[36,14,16,18],[],[`title`,`before`,`after`]],[`carousel`,15,0,[0,18],0,.75,1,0,8,6,0,[],[],[],[`title`,`slides`]],[`imagecallouts`,15,14,[18,9],0,.8,1,0,8,6,0,[],[],[],[`title`,`image`,`callouts`]],[`waveform`,15,4,[6,18],0,.78,1,0,10,8,0,[],[],[],[`title`,`bars`]],[`videoembed`,15,14,[18,0],0,.85,1,1,10,8,0,[],[],[],[`title`,`thumb`,`chapters`]],[`geomap`,15,21,[10],0,.92,1,0,10,8,2,[],[],[],[`title`,`markers`]],[`lightbox`,15,14,[18],0,.7,1,0,8,6,0,[],[],[],[`title`,`items`]],[`moodboard`,15,14,[18,12],0,.88,0,0,10,8,0,[],[],[],[`title`,`tiles`]],[`palette`,15,9,[12,16],0,.72,0,0,10,7,0,[],[],[],[`title`,`swatches`]],[`mediacard`,15,10,[16,5],0,.72,0,0,7,5,0,[4,1],[18],[],[`title`,`cover`]],[`diagram`,15,6,[9,2],0,.8,0,0,8,0,0,[],[],[],[`title`,`shapes`,`labels`]],[`svgblock`,15,6,[9,2,5,18],0,.42,0,0,8,0,0,[],[],[],[`title`,`svg`]],[`sportspitch`,15,17,[18,13],0,.88,0,0,9,6,0,[],[],[],[`title`,`sport`]],[`floorplan`,15,17,[18,13],0,.85,0,0,8,6,0,[],[],[],[`title`,`rooms`]],[`dimensiondrawing`,15,6,[9,13],1,.78,0,0,7,5,0,[0,1],[16,1],[],[`outline`,`dimensions`]],[`explodedview`,15,2,[2,0,13],0,.74,0,0,6,4,0,[0,11,1],[16,1],[],[`parts`]],[`weldsymbol`,15,6,[9,16],1,.72,0,0,6,5,0,[0,1],[16,1],[],[`joint`]],[`cutlist`,15,18,[13,12],0,.74,0,0,7,5,0,[11,6,1],[16,14],[],[`stock`,`parts`]],[`spacefit`,15,14,[18,13,12],0,.74,0,0,7,5,0,[9,4,6],[14,16],[],[`room`,`items`]],[`anatomyfigure`,15,17,[18,9],1,.82,1,0,8,6,0,[0,15,1],[7,8],[],[`organ`,`pins`]],[`exposuretriangle`,15,6,[9,16],0,.74,0,0,6,5,0,[0,4],[36,18],[],[`aperture`,`shutter`,`iso`]],[`colorwheel`,15,9,[12,9],0,.78,0,0,7,5,0,[0,1],[16,30],[],[`baseHue`]],[`artanalysis`,15,14,[18,12],0,.74,0,0,8,6,0,[0,1],[30,16],[],[`overlay`]],[`mixerboard`,15,0,[0,13,18],0,.74,0,0,10,8,0,[0,1],[29,18],[],[`tracks`]],[`wireframe`,15,17,[14],0,.72,0,0,8,6,0,[9,12,1],[16],[],[`regions`]],[`maproute`,15,21,[10,0],1,.8,1,0,10,8,0,[9,15,1],[25,13],[],[`waypoints`]],[`moonphase`,15,17,[15,11],0,.76,0,0,6,5,0,[0,1],[13,8],[],[`illumination`]],[`skychart`,15,17,[10,9],1,.8,0,0,7,6,0,[15,1],[13,8],[],[`stars`]],[`orbitdiagram`,15,6,[9,12],1,.8,0,0,7,6,0,[0,1],[8,13],[],[`center`,`bodies`]],[`gameboard`,15,14,[18,9,13],1,.78,0,0,7,5,0,[0,1],[19],[],[`board`,`pieces`]],[`patternpiece`,15,14,[18,13,12],0,.72,0,0,7,5,0,[11,1],[16,14],[],[`fabric`,`pieces`]],[`emotionwheel`,15,9,[12,9],0,.72,0,0,7,5,0,[0,7,1],[7,4,31],[],[]],[`creativetest`,15,3,[3,18],0,.82,0,0,10,7,0,[5,4],[5,16,18],[],[`title`,`variants`]],[`brandguide`,15,9,[12,16],0,.78,0,0,10,7,0,[1,0],[16,5,18],[],[`title`,`colors`]],[`siteplan`,15,14,[18,13],0,.82,0,0,8,6,0,[1,9,0],[14,16,22],[],[`title`,`boundary`]],[`zoningmap`,15,21,[10],0,.9,1,0,10,8,2,[1,0,4],[14,22,25],[],[`title`,`markers`]],[`wordsearch`,15,13,[8,18],0,.8,1,0,8,6,0,[12,0,1],[4,18],[],[`words`]],[`playingcards`,15,15,[20,18],2,.78,0,0,8,6,0,[0,1],[19,18,4],[],[`groups`]],[`stitchchart`,15,0,[0,14],0,.76,0,0,8,6,0,[11,1],[14,16],[],[`rows`]],[`pianoroll`,15,0,[0,6],0,.82,0,0,10,8,0,[0,1],[29,18],[],[`notes`]],[`navbar`,16,15,[19],2,.65,1,0,12,8,0,[],[],[],[`title`,`brand`,`links`]],[`sidenav`,16,15,[19],2,.65,1,0,3,3,0,[],[],[],[`title`,`groups`]],[`breadcrumb`,16,15,[19],2,.5,1,0,12,8,0,[],[],[],[`title`,`items`]],[`pagination`,16,15,[19],2,.55,1,0,12,8,0,[],[],[],[`title`,`total`]],[`menubar`,16,15,[19],2,.6,1,0,12,8,0,[],[],[],[`title`,`menus`]],[`megamenu`,16,15,[19],0,.7,1,0,12,8,0,[],[],[],[`title`,`tabs`,`columns`]],[`toolbar`,16,15,[21],2,.6,1,0,12,8,0,[],[],[],[`title`,`groups`]],[`commandbar`,16,15,[21],0,.62,1,0,12,8,0,[],[],[],[`title`,`actions`]],[`treeview`,16,15,[2],1,.68,1,0,6,6,0,[],[],[],[`title`,`nodes`]],[`bottomnav`,16,15,[19],2,.58,1,0,12,8,0,[],[],[],[`title`,`tabs`]],[`modal`,17,15,[22],2,.75,1,0,6,6,0,[],[],[],[`title`]],[`confirmdialog`,17,15,[22],2,.72,1,0,6,6,0,[],[],[],[`title`]],[`drawer`,17,15,[22],2,.78,1,0,6,6,0,[],[],[],[`title`]],[`sheet`,17,15,[22],2,.76,1,0,6,6,0,[],[],[],[`title`]],[`popover`,17,15,[22],2,.74,1,0,4,4,0,[],[],[],[`title`]],[`hovercard`,17,15,[22],0,.8,1,0,6,6,0,[],[],[],[`title`]],[`tooltip`,17,15,[22],2,.68,1,0,6,6,0,[],[],[],[`title`]],[`menu`,17,15,[22],2,.72,1,0,4,4,0,[],[],[],[`title`]],[`contextmenu`,17,15,[22],2,.71,1,0,4,4,0,[],[],[],[`title`]],[`commandk`,17,15,[22],0,.85,1,0,8,6,0,[],[],[],[`title`]],[`datepicker`,18,15,[20],2,.65,1,0,4,4,0,[],[],[],[`title`,`value`]],[`calendarpick`,18,15,[20,11],2,.75,1,0,6,5,0,[],[],[],[`title`]],[`daterange`,18,15,[20],2,.7,1,0,8,6,0,[],[],[],[`title`]],[`timepicker`,18,15,[20],2,.6,1,0,4,4,0,[],[],[],[`title`]],[`colorpicker`,18,15,[20],2,.7,1,0,4,4,0,[],[],[],[`title`]],[`fileupload`,18,15,[20,21],0,.75,1,0,6,5,0,[],[],[],[`title`]],[`tagsinput`,18,15,[20,8],2,.65,1,0,6,5,0,[],[],[],[`title`]],[`numberstepper`,18,15,[20,15],2,.6,1,0,4,4,0,[],[],[],[`title`]],[`searchselect`,18,15,[20],2,.7,1,0,6,5,0,[],[],[],[`title`,`options`]],[`formpanel`,18,15,[20,21],0,.8,1,0,8,6,0,[],[],[],[`title`,`fields`]],[`scalefelt`,19,10,[15,3,8],0,.74,0,0,6,5,0,[0,6,1],[],[],[`title`,`value`,`comparisons`]],[`hearit`,19,13,[8,18],0,.74,1,0,6,4,0,[1,0],[],[],[`title`,`items`]],[`factsheet`,19,12,[5,8],2,.68,0,0,7,5,0,[],[],[],[`title`,`subject`,`facts`]],[`newsdigest`,19,13,[8,5],0,.72,0,0,8,6,0,[],[],[],[`title`,`asOf`,`items`]],[`dictionary`,19,12,[5],2,.7,0,0,7,5,0,[],[],[],[`title`,`word`,`senses`]],[`translation`,19,12,[5,3],2,.65,0,0,8,6,0,[],[],[],[`title`,`fromLang`,`toLang`,`text`,`result`]],[`pronunciation`,19,12,[5],2,.55,0,0,5,3,0,[],[],[],[`title`,`word`]],[`gloss`,19,13,[8,5],2,.6,0,0,7,5,0,[],[],[],[`title`,`entries`]],[`ipachart`,19,17,[14,8,5],0,.72,0,0,6,4,0,[1,0],[20],[],[`title`]],[`scriptstroke`,19,0,[0,14,5],0,.72,0,0,5,4,0,[11,1],[20],[],[`title`,`glyph`,`strokes`]],[`phonicsword`,19,13,[8,5],0,.72,1,0,5,3,0,[0,11,1],[20,4],[],[`word`,`chunks`]],[`speciescard`,19,10,[16,18,5],0,.72,0,0,6,5,0,[1,0],[13],[],[`commonName`,`marks`]],[`etymtree`,19,2,[2,5],0,.78,0,0,8,6,0,[0,3,1],[17,4],[],[`word`,`roots`]],[`hazardcard`,19,10,[16,8,5],0,.68,0,0,6,4,0,[0,1],[8,7,4],[],[`title`,`signalWord`,`pictograms`,`hazards`,`precautions`]],[`termbase`,19,18,[13,3,5],0,.68,0,0,8,6,0,[1,0,8],[17,5],[],[`title`,`terms`]],[`sizecompare`,19,3,[3,15],0,.76,0,0,8,6,0,[0,6,1],[],[],[`title`,`subjects`]],[`baseconversion`,19,3,[3,15],2,.62,0,0,6,4,0,[0,1,6],[0,4],[],[`title`,`value`,`bases`]],[`historicalperson`,19,12,[5,16,0],0,.7,0,0,7,5,0,[0,1],[4,17],[],[`title`,`name`]],[`onthisday`,19,0,[0,8,5],0,.66,0,0,7,5,0,[1,0],[4],[],[`title`,`date`,`events`]],[`countrycard`,19,10,[16,5],2,.66,0,0,6,4,0,[1,0],[25,4],[],[`title`,`name`]],[`worldgrid`,19,3,[3,16],2,.6,0,0,8,6,0,[1,5,0],[25,4],[],[`title`,`countries`]],[`warconflict`,19,3,[3,0,5],0,.68,0,0,8,6,0,[0,1],[4],[],[`title`,`sides`]],[`posbreakdown`,19,12,[5,0],2,.68,1,0,6,4,0,[0,3,1],[4,20],[],[`title`,`tokens`]],[`sparkstat`,20,10,[15,6],2,.65,0,0,6,4,0,[],[],[],[`title`,`value`,`points`]],[`counter`,20,10,[15],2,.55,0,0,4,3,0,[],[],[],[`title`,`value`,`label`]],[`herostat`,20,10,[15],2,.8,1,0,6,5,0,[],[],[],[`title`,`value`]],[`trendtile`,20,10,[15,6],2,.65,0,0,4,3,0,[],[],[],[`title`,`value`,`delta`,`bars`]],[`scorebadge`,20,10,[15,12],2,.75,1,0,4,4,0,[],[],[],[`title`,`score`]],[`percentilebar`,20,10,[15,7],2,.65,1,0,6,5,0,[],[],[],[`title`,`percentile`,`value`]],[`statpair`,20,3,[3,9],2,.6,0,0,6,6,0,[],[],[],[`title`,`left`,`right`]],[`scorecard`,20,10,[16,12],2,.7,1,0,8,6,0,[],[],[],[`title`,`tiles`]],[`deltacascade`,20,1,[1,0],0,.75,1,0,8,6,0,[],[],[],[`title`,`steps`]],[`bulletkpi`,20,3,[3,11],2,.65,0,0,8,6,0,[],[],[],[`title`,`rows`]],[`confusionmatrix`,20,8,[13,7,3],0,.82,0,0,6,5,0,[0,6,1,3],[2,8,4],[],[`title`,`classes`,`matrix`]],[`kpidashboard`,20,10,[16,6,15],0,.78,1,0,8,6,0,[8,6],[5,2,6],[],[`tiles`]],[`abtestresult`,20,3,[3,7],0,.72,0,0,6,6,0,[6,4,8],[5,2,8],[],[`title`,`control`,`variant`]],[`powersample`,20,10,[15,6],0,.68,0,0,6,5,0,[6,4,9],[5,2,8],[],[`effectSize`]],[`inventoryreorder`,20,10,[11,3],0,.68,0,0,8,6,0,[8,4],[5,37],[],[`title`,`items`]],[`boardgamescore`,20,18,[13,4],0,.62,0,0,8,6,0,[8,1],[27,14],[],[`title`,`players`]],[`cvssscorecard`,20,10,[15,11],0,.75,0,0,6,5,0,[6,8],[38,0],[],[`title`,`baseScore`,`severity`]],[`ridgeplot`,20,7,[7,3],0,.8,0,0,8,6,0,[6,0],[2,8,5],[],[`title`,`categories`]],[`ecdf`,20,7,[7],2,.7,0,0,6,5,0,[6,0],[2,8,5],[],[`title`,`values`]],[`forestplot`,20,3,[3,7],0,.84,0,0,8,6,0,[6,0,3,4],[8,2,4],[],[`studies`]],[`a11yaudit`,21,10,[11,8],0,.68,0,0,8,6,0,[1,4,8],[],[],[`title`,`checks`]],[`progressbar`,21,10,[11],0,.65,1,0,8,6,0,[],[],[],[`title`,`segments`]],[`stepindicator`,21,10,[11,0],0,.68,1,0,8,6,0,[],[],[],[`title`,`steps`]],[`statustimeline`,21,10,[11,0],0,.7,1,0,8,6,0,[],[],[],[`title`,`events`]],[`healthgrid`,21,8,[11,12],0,.72,1,0,8,6,0,[],[],[],[`title`,`cells`]],[`emptystate`,21,10,[11,21],2,.6,1,0,6,5,0,[],[],[],[`title`,`headline`]],[`skeleton`,21,10,[11],2,.45,1,0,6,5,0,[],[],[],[`title`]],[`sliderinput`,21,15,[20,11],0,.7,1,0,6,5,0,[],[],[],[`title`,`min`,`max`]],[`segmented`,21,15,[20],2,.58,1,0,6,5,0,[],[],[],[`title`,`options`]],[`rangefilter`,21,15,[20,11],0,.73,1,0,8,6,0,[],[],[],[`title`,`min`,`max`,`items`]],[`ratinginput`,21,15,[20,11],0,.75,1,0,6,5,0,[],[],[],[`title`]],[`litigationtimeline`,21,10,[11,0],0,.72,1,0,8,6,0,[8,1],[22],[],[`title`,`events`]],[`billtracker`,21,10,[11,0],0,.7,0,0,8,6,0,[8,1],[22],[],[`title`,`bill`,`stages`]],[`triageboard`,21,10,[11,4],0,.72,0,0,8,6,0,[8,4],[7],[],[`title`,`patients`]],[`mentalhealthscreen`,21,10,[11,15],0,.7,0,0,8,6,0,[8,1],[7,31],[],[`title`,`instrument`,`items`,`total`,`maxTotal`,`bands`]],[`usabilityfindings`,21,10,[11,8],0,.68,0,0,8,6,0,[8,1],[16,5],[],[`title`,`issues`]],[`roomblockdashboard`,21,10,[11,12],0,.68,1,0,8,6,0,[8,1],[25,5],[],[`title`,`cells`]],[`immigrationcase`,21,10,[11,0],0,.7,0,0,8,6,0,[8,1],[22],[],[`title`,`visaCategory`,`stages`]],[`painscale`,21,10,[11,15],0,.7,0,0,6,5,0,[1,7],[7],[],[`value`]],[`habittracker`,21,10,[11,13],0,.72,0,0,8,6,0,[8],[24,7],[],[`habits`]],[`streakgrid`,21,10,[11,6],0,.72,0,0,6,5,0,[8],[23,24],[],[`days`]],[`datatable`,22,18,[13],1,.65,1,0,12,8,0,[],[],[0,1,2,3,4,5,6],[`title`,`columns`,`rows`]],[`pivot`,22,18,[13,12],1,.78,1,0,12,8,0,[],[],[],[`title`,`rowGroup`,`colHeaders`,`measures`,`rows`]],[`leaderboard`,22,18,[4,3],0,.72,1,0,8,6,0,[],[],[],[`title`,`metrics`,`rows`]],[`treetable`,22,18,[2,13],1,.8,1,0,10,8,0,[],[],[],[`title`,`nodes`]],[`swimlane`,22,18,[1,0],0,.85,1,0,12,8,0,[],[],[],[`title`,`lanes`]],[`footnotetable`,22,18,[13],0,.58,1,0,10,8,0,[],[],[],[`title`,`columns`,`rows`,`notes`]],[`sparktable`,22,18,[6,13],0,.76,1,0,10,8,0,[],[],[],[`title`,`rows`]],[`smallmultiples`,22,18,[6,3],0,.82,1,0,12,8,0,[],[],[],[`title`,`panels`]],[`comparebars`,22,18,[3,4],0,.73,1,0,10,8,0,[],[],[],[`title`,`series`,`rows`]],[`comparematrix`,22,18,[3,13],0,.78,0,0,10,8,0,[5,4,0,1],[],[],[`title`,`cols`,`rows`]],[`matrixgrid`,22,8,[13,9],1,.8,1,0,10,8,0,[],[],[],[`title`,`rowLabels`,`colLabels`,`cells`]],[`clearancematrix`,22,18,[13,3,11],0,.76,0,0,10,7,0,[4,1,5,0],[],[],[`title`,`rows`,`columns`,`cells`]],[`matrix`,22,8,[13,2],0,.72,0,0,6,0,0,[],[],[],[`title`,`rows`]],[`sensitivitytable`,22,18,[13,3],0,.76,0,0,10,7,0,[],[],[],[`title`,`rowVar`,`rows`,`colVar`,`cols`,`cells`]],[`labpanel`,22,18,[13,11],0,.75,0,0,8,6,0,[],[],[],[`title`,`results`]],[`ingredientmatrix`,22,18,[13,3],0,.74,0,0,10,7,0,[],[],[],[`title`,`recipes`,`ingredients`,`matrix`]],[`conjugation`,22,18,[13,8],0,.8,0,0,10,8,0,[],[],[],[`title`,`verb`,`tenses`]],[`financialstatement`,22,18,[13,3],0,.74,0,0,9,6,0,[6,0,1],[6,5],[],[`periods`,`rows`]],[`cohortgrid`,22,8,[13,6],1,.78,0,0,10,7,0,[8,6],[5,2],[],[`cohorts`]],[`riskmatrix`,22,8,[3,7,11],0,.74,1,0,9,6,0,[4,8,6],[5,24],[],[`risks`]],[`careplan`,22,18,[13,0,11],0,.72,0,0,12,8,0,[9,8,1],[7],[],[`entries`]],[`doseladder`,22,18,[0,13,16],0,.72,0,0,8,6,0,[6,11,1],[7],[],[`drug`,`ladder`]],[`sizechart`,22,18,[13,3],2,.66,0,0,8,5,0,[1,4],[39,14],[],[`columns`,`rows`]],[`pricingtable`,22,18,[3,13],0,.8,0,0,10,8,0,[4,5,1],[5,6],[],[`title`,`plans`,`features`]],[`raci`,22,18,[13,11],0,.72,0,0,9,6,0,[9,4,1],[5],[],[`title`,`tasks`,`roles`,`cells`]],[`rubric`,22,18,[13,11],0,.74,0,0,10,7,0,[0,1,4],[4],[],[`title`,`criteria`,`levels`,`cells`]],[`interviewscorecard`,22,18,[3,13],0,.72,0,0,10,7,0,[4,5,1],[5],[],[`title`,`candidates`,`criteria`,`cells`]],[`gradebook`,22,18,[13,11],0,.72,0,0,10,7,0,[8,1,0],[4],[],[`title`,`students`,`assignments`,`cells`]],[`datadictionary`,22,18,[13,16],0,.62,0,0,9,6,0,[1,0],[2,8,5],[],[`title`,`variables`]],[`ablationtable`,22,18,[3,13],0,.72,0,0,8,6,0,[0,6,1],[2,8,0],[],[`baseline`,`baselineValue`,`metric`,`rows`]],[`spectrumtable`,22,18,[13,14],0,.7,0,0,8,6,0,[0,1],[8,33,4],[],[`technique`,`peaks`]],[`fmeatable`,22,18,[4,13,11],0,.72,0,0,9,6,0,[4,8,6],[5,8,24],[],[`items`]],[`billofmaterials`,22,18,[2,13],0,.68,0,0,8,6,0,[6,1,9],[5,8],[],[`rows`]],[`complexitysummary`,22,18,[3,13],0,.66,0,0,8,6,0,[5,0,1],[0,4],[],[`title`,`approaches`]],[`expressionheatmap`,22,8,[13,9],1,.78,1,0,10,8,0,[0,6,1],[8,35,2],[],[`title`,`genes`,`samples`,`values`]],[`discoverytracker`,22,18,[13,11],0,.66,1,0,9,7,0,[8,1],[5],[],[`title`,`requests`]],[`dentaltreatmentplan`,22,18,[13,0],0,.62,0,0,8,6,0,[9,6],[7],[],[`title`,`entries`]],[`rollcall`,22,18,[13,11],0,.68,0,0,9,6,0,[1,8],[5],[],[`title`,`bill`,`legislators`]],[`collectiontracker`,22,18,[13,8],0,.58,0,0,8,6,0,[8,1],[40],[],[`title`,`items`]],[`cma`,22,18,[13,3],0,.76,0,0,10,8,0,[4,6],[14,6],[],[`title`,`subject`,`comps`,`suggestedListPrice`]],[`taxreturnsummary`,22,18,[13,15],0,.66,0,0,7,5,0,[6,1],[6],[],[`title`,`filingStatus`,`taxYear`,`rows`,`refundOrOwed`]],[`depreciationschedule`,22,18,[13,6],0,.64,0,0,9,6,0,[6,1],[6,5],[],[`title`,`assetDescription`,`cost`,`method`,`usefulLife`,`annualDepreciation`,`rows`]],[`vendortracker`,22,18,[13,11],0,.62,0,0,8,6,0,[9,8],[40,6],[],[`title`,`vendors`]],[`sponsorshiptracker`,22,18,[13,11],0,.62,0,0,8,6,0,[8,6],[6,18],[],[`title`,`deals`]],[`caseload`,22,18,[13,11],0,.58,0,0,8,6,0,[8,1],[7],[],[`title`,`cases`]]];function u(l){let[u,d,f,p,m,h,g,_,v,y,b,x,S,C,w]=l,T={type:u,family:e[d],archetype:t[f],dataShapes:p.map(e=>n[e]),tier:r[m],wowWeight:h,interactive:g===1,coercer:i[_],colDefault:v,requires:w};return y&&(T.colMin=y),b&&(T.embed=a[b-1]),x.length&&(T.intents=x.map(e=>o[e])),S.length&&(T.domains=S.map(e=>s[e])),C.length&&(T.caps=C.map(e=>c[e])),T}var d=l.map(u),f=new Map(d.map(e=>[e.type,e])),p=new Map(d.map((e,t)=>[e.type,t]));function m(e){return p.get(e)??-1}function h(e){return f.get(e)}function g(e){return f.get(e)?.family}export{g as i,h as n,m as r,d as t};
@@ -0,0 +1 @@
1
+ var e={vestingschedule:{title:`Founder & team vesting`,icon:`clock`,iconColor:`var(--presence)`,asOf:`2026-07-02`,grants:[{holder:`Founders (common)`,grantDate:`2022-06-01`,totalShares:66e5,cliffMonths:12,vestMonths:48,color:`var(--presence)`},{holder:`Head of Eng`,grantDate:`2023-09-15`,totalShares:48e4,cliffMonths:12,vestMonths:48,color:`var(--insight)`},{holder:`New hire (Sales)`,grantDate:`2026-04-01`,totalShares:12e4,cliffMonths:12,vestMonths:48,color:`var(--warning)`}],footer:`The founder grant cleared its cliff in 2023 and is now three-quarters vested; the newest hire is still inside the one-year cliff.`},termsheet:{title:`Series A term sheet`,icon:`doc`,iconColor:`var(--presence)`,company:`Acme Robotics, Inc.`,round:`Series A`,date:`2026-05-04`,terms:[{label:`Investment amount`,value:`$4,000,000`},{label:`Pre-money valuation`,value:`$16,000,000`},{label:`Security`,value:`20% Series A Preferred`},{label:`Liquidation preference`,value:`1x non-participating`,note:`Standard for this stage; no multiple, no participation.`},{label:`Board composition`,value:`2 founders, 1 investor, 1 independent`},{label:`Pro-rata rights`,value:`Yes, major investors`,note:`Lighthouse Capital keeps the right to maintain ownership % in future rounds.`},{label:`Vesting`,value:`4-year, 1-year cliff`}],footer:`Non-binding — a definitive purchase agreement follows legal review.`},fundraisingrounds:{title:`How the raise has grown`,icon:`chart`,iconColor:`var(--presence)`,currency:`USD`,rounds:[{name:`Seed`,preMoney:4e6,raised:12e5,postMoney:52e5,leadInvestor:`Basecamp Ventures`,date:`2022-08-01`},{name:`Series A`,preMoney:16e6,raised:4e6,postMoney:2e7,leadInvestor:`Lighthouse Capital`,date:`2024-02-14`,stepUp:3.85},{name:`Series B`,preMoney:52e6,raised:14e6,postMoney:66e6,leadInvestor:`Northbeam Partners`,date:`2026-05-04`,stepUp:3.3}],footer:`Each round priced up from the last — Series B closed at a 3.3x step-up over the Series A post-money.`},saferterms:{title:`Seed SAFE`,icon:`shield`,iconColor:`var(--presence)`,instrument:`safe`,investor:`Basecamp Ventures`,principal:12e5,valuationCap:8e6,discountPct:20,mfn:!0,conversionNote:`Converts to Series A preferred at the lower of the $8M cap or the round price, whichever gives the investor more shares.`},dilutionwaterfall:{title:`Ownership across the rounds`,icon:`chart`,iconColor:`var(--presence)`,rounds:[{round:`Founding`,holders:[{holder:`Founders`,pct:100,color:`var(--presence)`}]},{round:`Seed`,holders:[{holder:`Founders`,pct:82,color:`var(--presence)`},{holder:`Seed investors`,pct:13,color:`var(--warning)`},{holder:`ESOP`,pct:5,color:`var(--text-muted)`}]},{round:`Series A`,holders:[{holder:`Founders`,pct:63,color:`var(--presence)`},{holder:`Seed investors`,pct:10,color:`var(--warning)`},{holder:`Series A (Lighthouse)`,pct:20,color:`var(--insight)`},{holder:`ESOP`,pct:7,color:`var(--text-muted)`}]},{round:`Series B`,holders:[{holder:`Founders`,pct:48,color:`var(--presence)`},{holder:`Seed investors`,pct:8,color:`var(--warning)`},{holder:`Series A (Lighthouse)`,pct:15,color:`var(--insight)`},{holder:`Series B (Northbeam)`,pct:21,color:`var(--danger)`},{holder:`ESOP`,pct:8,color:`var(--text-muted)`}]}],footer:`Founders started fully diluted at 100% and hold 48% after three rounds — the ESOP top-up at Series A is the only band that grew.`},threestatementlink:{title:`How the three statements connect`,icon:`table`,iconColor:`var(--presence)`,period:`FY25`,statements:[{name:`Income Statement`,rows:[{label:`Revenue`,value:84e5},{label:`Cost of revenue`,value:-21e5},{label:`Gross profit`,value:63e5,bold:!0},{label:`Operating expenses`,value:-48e5},{label:`Net income`,value:15e5,bold:!0}]},{name:`Balance Sheet`,rows:[{label:`Cash`,value:52e5},{label:`Other assets`,value:38e5},{label:`Total assets`,value:9e6,bold:!0},{label:`Liabilities`,value:25e5},{label:`Retained earnings`,value:15e5,indent:1},{label:`Total equity`,value:65e5,bold:!0}]},{name:`Cash Flow`,rows:[{label:`Net income`,value:15e5},{label:`Depreciation`,value:3e5},{label:`Change in working capital`,value:-2e5},{label:`Cash from operations`,value:16e5,bold:!0}]}],links:[{from:`Net income`,to:`Retained earnings`,label:`flows to equity`},{from:`Net income`,to:`Net income`,label:`opens cash flow`}],currency:`USD`,footer:`The income statement's bottom line lands twice downstream — it builds retained earnings on the balance sheet and opens the cash flow statement before working-capital adjustments.`},yieldcurve:{title:`Treasury yield curve`,icon:`chart`,iconColor:`var(--presence)`,curve:[{tenor:`1M`,rate:5.4},{tenor:`3M`,rate:5.3},{tenor:`6M`,rate:5.1},{tenor:`1Y`,rate:4.7},{tenor:`2Y`,rate:4.3},{tenor:`5Y`,rate:4},{tenor:`10Y`,rate:4.1},{tenor:`30Y`,rate:4.3}],compareCurve:[{tenor:`1M`,rate:3.2},{tenor:`3M`,rate:3.3},{tenor:`6M`,rate:3.5},{tenor:`1Y`,rate:3.7},{tenor:`2Y`,rate:3.8},{tenor:`5Y`,rate:3.9},{tenor:`10Y`,rate:4},{tenor:`30Y`,rate:4.1}],footer:`The short end pays more than the long end out to 5 years — the curve has been inverted since short rates rose faster than the market expects them to stay.`},efficientfrontier:{title:`Your portfolio vs. the efficient frontier`,icon:`chart`,iconColor:`var(--presence)`,assets:[{label:`Cash`,risk:1,return:4},{label:`Bonds`,risk:6,return:5},{label:`Your portfolio`,risk:11,return:8.5,highlight:!0},{label:`US stocks`,risk:16,return:10},{label:`Intl stocks`,risk:19,return:9},{label:`Small-cap`,risk:24,return:11.5},{label:`Crypto`,risk:55,return:14}],frontier:[{risk:1,return:4},{risk:4,return:5.2},{risk:8,return:7},{risk:13,return:9.2},{risk:19,return:10.8},{risk:30,return:12.5},{risk:55,return:14}],footer:`Your portfolio sits just below the frontier at its risk level — trimming a couple points of risk for the same return, or reaching for ~1 more point of return, is on the table without adding funds.`},bondladder:{title:`CD ladder`,icon:`chart`,iconColor:`var(--presence)`,rungs:[{label:`1-year CD`,maturity:`2027-07-01`,yieldPct:4.4,faceValue:5e3},{label:`2-year CD`,maturity:`2028-07-01`,yieldPct:4.1,faceValue:5e3},{label:`3-year CD`,maturity:`2029-07-01`,yieldPct:4.6,faceValue:5e3},{label:`4-year CD`,maturity:`2030-07-01`,yieldPct:4.3,faceValue:5e3},{label:`5-year CD`,maturity:`2031-07-01`,yieldPct:4.5,faceValue:5e3}],footer:`One CD matures every year — the 3-year rung pays the most, but each one frees up $5,000 to reinvest at whatever rate is current when it comes due.`},cashflowtimeline:{title:`Should the workshop buy the CNC router?`,icon:`chart`,iconColor:`var(--presence)`,flows:[{period:0,amount:-5e4,label:`Purchase & install`},{period:1,amount:14e3,label:`Net annual savings`},{period:2,amount:14e3,label:`Net annual savings`},{period:3,amount:14e3,label:`Net annual savings`},{period:3,amount:-8e3,label:`Mid-life overhaul`},{period:4,amount:14e3,label:`Net annual savings`},{period:5,amount:14e3,label:`Net annual savings`},{period:5,amount:6e3,label:`Salvage value`}],periodLabel:`Year`,discountRate:.08,currency:`$`,footer:`A worked textbook example: at an 8% hurdle rate the router clears it with an NPV of about +$3,600 — and the year-5 salvage value is what tips it positive.`}};export{e as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-BQSORdFI.js";import{ht as t}from"./index-y8GL67bB.js";var n=e(),r=t(),i=1056,a=794,o=1123;function s(e){return e===`a4`?{width:a,height:o}:{width:816,height:i}}function c(e){let t=e.trim().split(/\s+/).map(e=>parseFloat(e)||0);return t.length===1?{top:t[0],right:t[0],bottom:t[0],left:t[0]}:t.length===2?{top:t[0],right:t[1],bottom:t[0],left:t[1]}:t.length===3?{top:t[0],right:t[1],bottom:t[2],left:t[1]}:{top:t[0],right:t[1],bottom:t[2],left:t[3]}}function l(e){if(!e)return 0;let t=/^\s*([\d.]+)px/.exec(e);return t?parseFloat(t[1]):0}function u(e,t,n=`letter`){let r=c(e);return s(n).width-r.left-r.right-l(t)}function d(e,t,n,r=`letter`){let i=c(e);return s(r).height-i.top-i.bottom-t-n-16}function f(e,t){for(let n=0;n<t.length;n+=1)if(e<=t[n].upTo)return n;return t.length-1}function p(e,t){return t[f(e,t)]}function m(e){return{display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:e,overflow:`hidden`,overflowWrap:`anywhere`}}var h={overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},g={...h,padding:`0.15em 0.12em`,marginTop:`-0.15em`,marginBottom:`-0.15em`,marginLeft:`-0.12em`};function _(e,t){let i=(0,r.c)(9),a=(0,n.useRef)(null),[o,s]=(0,n.useState)(t),c,l;i[0]===t?(c=i[1],l=i[2]):(c=()=>{s(t)},l=[t],i[0]=t,i[1]=c,i[2]=l),(0,n.useLayoutEffect)(c,l);let u,d;i[3]!==o||i[4]!==e?(u=()=>{let t=a.current;!t||typeof window>`u`||t.clientHeight<=0||o<e-1&&t.scrollHeight>t.clientHeight+1&&s(o+1)},d=[o,e],i[3]=o,i[4]=e,i[5]=u,i[6]=d):(u=i[5],d=i[6]),(0,n.useLayoutEffect)(u,d);let f;return i[7]===o?f=i[8]:(f={idx:o,ref:a},i[7]=o,i[8]=f),f}var v=50,y=45;function b(e){let t=c(e.tokens.pad);return 1080-t.top-t.bottom-v-y}var x=790;function S(e){return b(e)<x}var C=[{upTo:32,size:156,line:.96,maxLines:2},{upTo:60,size:132,line:.98,maxLines:2},{upTo:110,size:108,line:1,maxLines:3},{upTo:180,size:84,line:1.04,maxLines:3},{upTo:1/0,size:64,line:1.08,maxLines:4}],w=[{upTo:40,size:168,line:.92,maxLines:2},{upTo:80,size:120,line:.98,maxLines:2},{upTo:1/0,size:88,line:1.02,maxLines:3}],T=[{upTo:40,size:116,line:.98,maxLines:2},{upTo:80,size:88,line:1.02,maxLines:3},{upTo:1/0,size:64,line:1.08,maxLines:3}],E=[{upTo:90,size:96,line:1.18,maxLines:4},{upTo:160,size:80,line:1.2,maxLines:5},{upTo:240,size:64,line:1.24,maxLines:6},{upTo:1/0,size:52,line:1.3,maxLines:7}],D=[{upTo:90,size:96,line:1.18,maxLines:4},{upTo:150,size:80,line:1.2,maxLines:5},{upTo:220,size:68,line:1.24,maxLines:6},{upTo:1/0,size:56,line:1.3,maxLines:7}],O=[{upTo:80,size:116,line:1.04,maxLines:4},{upTo:150,size:96,line:1.08,maxLines:5},{upTo:220,size:76,line:1.14,maxLines:6},{upTo:1/0,size:60,line:1.2,maxLines:7}],k=[{upTo:50,size:92,line:1.04,maxLines:2},{upTo:100,size:68,line:1.08,maxLines:3},{upTo:1/0,size:54,line:1.12,maxLines:3}],A=[{upTo:90,size:64,line:1.24,maxLines:3},{upTo:140,size:56,line:1.28,maxLines:3},{upTo:200,size:48,line:1.32,maxLines:4},{upTo:1/0,size:40,line:1.4,maxLines:4}],j=[{upTo:220,size:36,line:1.5,maxLines:5},{upTo:420,size:32,line:1.5,maxLines:7},{upTo:1/0,size:30,line:1.55,maxLines:8}],M=[{upTo:50,size:76,line:1.1,maxLines:2},{upTo:1/0,size:56,line:1.15,maxLines:3}],N=[{upTo:300,size:38,line:1.62,maxLines:7},{upTo:1/0,size:32,line:1.6,maxLines:9}],P=[{upTo:4,size:220,line:.86,maxLines:1},{upTo:6,size:168,line:.9,maxLines:1},{upTo:9,size:128,line:.94,maxLines:1},{upTo:1/0,size:96,line:1,maxLines:1}],F=[{upTo:180,size:30,line:1.45,maxLines:4},{upTo:1/0,size:26,line:1.45,maxLines:6}],I=[{upTo:50,size:104,line:.98,maxLines:2},{upTo:90,size:80,line:1.02,maxLines:3},{upTo:1/0,size:64,line:1.08,maxLines:3}],L=[{upTo:40,size:72,line:1.02,maxLines:2},{upTo:90,size:56,line:1.06,maxLines:2},{upTo:1/0,size:46,line:1.1,maxLines:2}];function R(e){return p(e,L)}var z=[{upTo:60,size:42,line:1.2,maxLines:2},{upTo:1/0,size:34,line:1.2,maxLines:2}];export{_ as C,s as D,u as E,c as O,R as S,d as T,g as _,I as a,p as b,D as c,M as d,j as f,m as g,E as h,T as i,O as l,A as m,w as n,F as o,k as p,C as r,P as s,z as t,N as u,S as v,i as w,f as x,h as y};
@@ -0,0 +1 @@
1
+ var e=.55,t=.6;function n(n,r,i=!1){return n.length*r*(i?t:e)}function r(e,t,r,i){let a=e=>n(e,r,i)<=t;if(a(e))return[e];let o=[],s=e;for(;s&&!a(s);){let e=1,t=s.length,n=1;for(;e<=t;){let r=e+t>>1;a(s.slice(0,r))?(n=r,e=r+1):t=r-1}o.push(s.slice(0,n)),s=s.slice(n)}return s&&o.push(s),o}function i(e,t,i,a){let o=e=>n(e,i,a)<=t,s=[],c=``;for(let n of e){let e=c?`${c} ${n}`:n;if(o(e)){c=e;continue}c&&s.push(c);let l=r(n,t,i,a);for(let e=0;e<l.length-1;e++)s.push(l[e]);c=l[l.length-1]}return c&&s.push(c),s.length?s:[``]}function a(e,t){let{maxWidth:n,fontSize:r,minFontSize:a=Math.max(9,Math.round(r*.6)),maxHeight:o,maxLines:s,lineHeight:c=1.18,bold:l=!1}=t,u=e.trim().split(/\s+/).filter(Boolean);if(!u.length)return{lines:[``],fontSize:r,lineHeightPx:r*c};let d=Math.min(a,r);for(let e=r;e>=d;e--){let t=i(u,n,e,l),r=o==null||t.length*e*c<=o,a=s==null||t.length<=s;if(r&&a)return{lines:t,fontSize:e,lineHeightPx:e*c}}return{lines:i(u,n,d,l),fontSize:d,lineHeightPx:d*c}}export{a as n,n as t};
@@ -0,0 +1 @@
1
+ var e={trustmap:{title:`Example privacy map · fictional product`,icon:`shield`,iconColor:`var(--presence)`,flows:[{data:`Email and name`,location:`Fictional database for this UI example`,access:`Not collected by Mavéa`,retention:`Example only`},{data:`Saved memories`,location:`Browser storage in the real app`,access:`Anyone with browser or device access may reach it`,retention:`Until feature deletion, site-data clearing, or browser eviction`},{data:`Voice recordings`,location:`Browser, speech endpoint, or browser-vendor service`,access:`Depends on the selected speech path`,retention:`Provider and deployment policies apply`},{data:`Usage analytics`,location:`Not collected by the unmodified Mavéa project`,access:`A modified deployment may differ`,retention:`Deployment operator must disclose changes`}],checklist:[{label:`Two-factor authentication is on`,ok:!0},{label:`Login alerts for new devices`,ok:!0},{label:`Data export available anytime`,ok:!0},{label:`A recovery email is still missing`,ok:!1}],note:`This block demonstrates a privacy-map UI; it is not a claim about a hosted Mavéa account.`,footer:`See Mavéa’s <b>Privacy Policy</b> for the project’s actual data flows.`},kanban:{title:`Current sprint board`,icon:`edit`,iconColor:`var(--presence)`,stages:[{name:`Todo`,accent:`var(--text-muted)`,cards:[{id:`k1`,title:`Audit log retention policy`,tag:`Platform`,tagColor:`var(--insight)`,assignee:`JK`,points:3},{id:`k2`,title:`Onboarding empty states`,tag:`Growth`,tagColor:`var(--presence)`,assignee:`AM`,points:2}]},{name:`In progress`,accent:`var(--insight)`,cards:[{id:`k3`,title:`Billing integration`,tag:`Billing`,tagColor:`var(--warning)`,assignee:`RP`,points:5},{id:`k4`,title:`Copilot eval harness`,tag:`AI`,tagColor:`var(--warning)`,assignee:`SL`,points:8}]},{name:`Review`,accent:`var(--presence-soft)`,cards:[{id:`k5`,title:`SCIM edge cases`,tag:`Platform`,tagColor:`var(--insight)`,assignee:`DV`,points:3}]},{name:`Done`,accent:`var(--presence)`,cards:[{id:`k6`,title:`Metering pipeline`,tag:`Billing`,tagColor:`var(--warning)`,assignee:`RP`,points:5},{id:`k7`,title:`SSO GA`,tag:`Platform`,tagColor:`var(--insight)`,assignee:`DV`,points:5}]}],footer:`23 points committed, 10 done, pace is on track for the sprint goal.`},wizard:{title:`Release plan · four gates`,icon:`check`,iconColor:`var(--presence-soft)`,activeStep:1,steps:[{label:`Foundation`,caption:`Weeks 1–3`,status:`done`,body:`Stand up the typed core and the migration shim. Dual-write the legacy stores.`,bullets:[`Typed core service live`,`Dual-write shim shipped`,`Read traffic still on legacy`]},{label:`Search index`,caption:`Weeks 4–7`,status:`active`,body:`Build and backfill the new inverted index; shadow-read against legacy for parity.`,bullets:[`Backfill 41M docs`,`Shadow-read parity ≥ 99.5%`,`Cut over behind a flag`]},{label:`Surface features`,caption:`Weeks 8–10`,status:`todo`,body:`Ship saved views, instant filters, and the command bar on top of the new index.`,bullets:[`Saved views`,`Instant filters`,`Command-K`]},{label:`Polish + GA`,caption:`Weeks 11–12`,status:`todo`,body:`Performance pass, decommission legacy reads, and open the gate to GA.`,bullets:[`Kill legacy reads`,`p95 budget check`,`GA flag flip`]}],footer:`We are mid-gate two, the search backfill is the critical path.`},decisiontree:{title:`RFC-114 · how we chose the search engine`,icon:`shield`,iconColor:`var(--insight)`,rootId:`scale`,nodes:[{id:`scale`,question:`Will the corpus pass 40M docs in a year?`,detail:`Current 41M, growing ~9%/qtr.`,yes:`latency`,no:`managed`},{id:`latency`,question:`Is sub-400ms p95 a hard requirement?`,detail:`It is, search gates four features.`,yes:`self`,no:`managed`},{id:`self`,question:`Can we staff index ops in-house?`,detail:`Two infra engineers committed.`,yes:`own`,no:`cloud`},{id:`own`,question:``,outcome:`Self-host the new index on our cluster`,outcomeColor:`var(--presence)`},{id:`cloud`,question:``,outcome:`Managed search with a latency SLA`,outcomeColor:`var(--insight)`},{id:`managed`,question:``,outcome:`Stay on the managed legacy tier`,outcomeColor:`var(--text-muted)`}],footer:`We landed on self-host, the only path that hits the latency budget at our scale.`},goaltree:{title:`The quarter in OKRs`,icon:`spark`,iconColor:`var(--insight)`,objectives:[{name:`Make Atlas feel instant`,owner:`Priya`,progress:58,keyResults:[{label:`Search p95 < 400ms`,progress:40,target:`400ms`,color:`var(--insight)`},{label:`Cold load < 1.2s`,progress:72,target:`1.2s`,color:`var(--presence)`},{label:`Zero 5xx on cutover`,progress:62,target:`0`,color:`var(--warning)`}]},{name:`One platform, not three`,owner:`Marco`,progress:71,keyResults:[{label:`Services collapsed`,progress:66,target:`3→1`,color:`var(--presence-soft)`},{label:`Legacy reads retired`,progress:35,target:`100%`,color:`var(--danger)`}]}],footer:`On track for "instant"; the platform collapse trails on legacy read retirement.`},plandag:{title:`Series B readiness plan`,icon:`share`,iconColor:`var(--insight)`,nodes:[{id:`n1`,label:`Close Q2 books`,col:0,row:1,status:`done`,meta:`Finance`},{id:`n2`,label:`Data room`,col:1,row:0,status:`active`,meta:`Finance`},{id:`n3`,label:`Metrics deck`,col:1,row:2,status:`active`,meta:`Ops`},{id:`n4`,label:`Reference calls`,col:2,row:0,status:`todo`,meta:`CEO`},{id:`n5`,label:`Model + scenarios`,col:2,row:2,status:`risk`,meta:`Finance`},{id:`n6`,label:`Partner meetings`,col:3,row:1,status:`todo`,meta:`CEO`},{id:`n7`,label:`Term sheet`,col:4,row:1,status:`todo`,meta:`Board`}],edges:[{from:`n1`,to:`n2`},{from:`n1`,to:`n3`},{from:`n2`,to:`n4`},{from:`n3`,to:`n5`},{from:`n4`,to:`n6`},{from:`n5`,to:`n6`},{from:`n6`,to:`n7`}],footer:`The financial model is the one at-risk node, it gates partner meetings.`},milestones:{title:`Company milestones`,icon:`check`,iconColor:`var(--insight)`,milestones:[{label:`$5M ARR`,date:`May 2026`,status:`done`,detail:`Crossed three weeks ahead of plan.`,owner:`Company`},{label:`First $1M+ logo`,date:`Jun 2026`,status:`done`,detail:`Meridian renewed + expanded to $284k.`,owner:`Sales`},{label:`SOC 2 Type II`,date:`Aug 2026`,status:`active`,detail:`Audit window opens next month.`,owner:`Security`},{label:`EU data residency`,date:`Q4 2026`,status:`todo`,detail:`Unlocks EMEA Enterprise pipeline.`,owner:`Platform`},{label:`Series B close`,date:`Q1 2027`,status:`todo`,detail:`Targeting on strength, not need.`,owner:`CEO`}],footer:`Two hit this quarter; SOC 2 is the next gate for Enterprise.`},processflow:{title:`A search query, end to end`,icon:`spark`,iconColor:`var(--insight)`,steps:[{label:`Edge`,detail:`TLS + auth at the edge`,icon:`lock`},{label:`Gateway`,detail:`Rate-limit, route, trace`,icon:`share`,branch:`cache hit → return in <20ms`},{label:`Query planner`,detail:`Parse + expand the query`,icon:`edit`},{label:`Index`,detail:`Inverted index lookup`,icon:`table`},{label:`Ranker`,detail:`Relevance + personalization`,icon:`chart`},{label:`Hydrate`,detail:`Join document metadata`,icon:`layers`},{label:`Response`,detail:`Stream results to client`,icon:`send`}],footer:`The planner → index → ranker hop is where the latency budget is won or lost.`},journeymap:{title:`What a developer feels adopting the new SDK`,icon:`chat`,iconColor:`var(--presence-soft)`,persona:`Integrating partner engineer`,stages:[{name:`Discover`,action:`Finds the v3 SDK in the docs`,emotion:1,touchpoints:[`Docs site`,`Changelog`],opportunity:`Lead with a 5-line quickstart`},{name:`Install`,action:`Adds the package, runs init`,emotion:1,touchpoints:[`npm`,`CLI`],opportunity:`Auto-detect the legacy config`},{name:`Migrate`,action:`Rewrites legacy search calls`,emotion:-2,touchpoints:[`Migration guide`,`Codemod`],opportunity:`Ship a codemod, this is the cliff`},{name:`Verify`,action:`Diffs results vs. v2`,emotion:0,touchpoints:[`Shadow mode`,`Parity report`],opportunity:`Surface a parity score inline`},{name:`Ship`,action:`Flips the flag in prod`,emotion:2,touchpoints:[`Dashboard`,`Alerts`],opportunity:`Celebrate + capture a quote`}],footer:`Migration is the emotional low, a codemod turns the cliff into a step.`},logicmodel:{title:`The churn fix, as a logic model`,icon:`spark`,iconColor:`var(--insight)`,columns:[{stage:`inputs`,items:[`2 hrs/week of CS time per new account`,`Rebuilt onboarding flow`]},{stage:`activities`,items:[`Week-1 welcome call`,`3-email onboarding sequence`,`In-app setup checklist`]},{stage:`outputs`,items:[`% of new solo accounts completing setup`,`Onboarding calls held per week`]},{stage:`outcomes`,items:[`Solo · Starter churn rate, currently 7.8%`]},{stage:`impact`,items:[`Retained MRR on the $48k base`]}],footer:`If setup completion and call attendance hold, solo-starter churn is the number that should move first, not price.`},orgchart:{title:`Who owns what`,icon:`share`,iconColor:`var(--presence-soft)`,rootId:`lead`,nodes:[{id:`lead`,name:`Dana R.`,role:`Eng lead · Atlas`,accent:`var(--presence)`,children:[`search`,`platform`,`surface`]},{id:`search`,name:`Priya M.`,role:`Search squad`,accent:`var(--insight)`,children:[`s1`,`s2`]},{id:`platform`,name:`Marco V.`,role:`Platform squad`,accent:`var(--presence-soft)`,children:[`p1`]},{id:`surface`,name:`Lena K.`,role:`Surface squad`,accent:`var(--warning)`,children:[`u1`]},{id:`s1`,name:`Index + backfill`,role:`2 engineers`,accent:`var(--insight)`},{id:`s2`,name:`Relevance`,role:`1 engineer`,accent:`var(--insight)`},{id:`p1`,name:`Core + migration`,role:`2 engineers`,accent:`var(--presence-soft)`},{id:`u1`,name:`Views + command bar`,role:`2 engineers`,accent:`var(--warning)`}],footer:`Eight engineers across three squads, with the search squad on the critical path.`},issuetree:{title:`Why is Q3 pipeline coverage short of target?`,icon:`share`,iconColor:`var(--warning)`,rootQuestion:`Pipeline coverage is 2.6×, below the 3× target for Q3`,nodes:[{id:`volume`,label:`Not enough pipeline created`,children:[`inbound`,`outbound`]},{id:`inbound`,label:`Inbound leads`,isLeaf:!0,finding:`On plan: 2,840 leads, flat QoQ.`},{id:`outbound`,label:`Outbound + partner`,isLeaf:!0,finding:`Down 18%, two SDR seats sat open all quarter.`},{id:`conversion`,label:`Deals not converting`,children:[`qual`,`competitive`]},{id:`qual`,label:`Lead → qualified rate`,isLeaf:!0,finding:`Steady at 34%, in line with Q1.`},{id:`competitive`,label:`Competitive losses`,isLeaf:!0,finding:`$188k lost to Northgate on price, up from $96k last quarter.`},{id:`timing`,label:`Deals slipping later`,children:[`slippage`]},{id:`slippage`,label:`Stage slippage to Q3`,isLeaf:!0,finding:`$940k pushed out, mostly Enterprise legal review.`}],footer:`The SDR gap and the Northgate losses explain most of the shortfall, not a demand problem.`},roadmap:{title:`Product roadmap · next 4 quarters`,icon:`layers`,iconColor:`var(--insight)`,quarters:[`Q2`,`Q3`,`Q4`,`Q1`],lanes:[{name:`Platform`,accent:`var(--insight)`,items:[{label:`SSO + SCIM`,startQ:0,spanQ:1,status:`done`,detail:`Shipped, unblocked 3 Enterprise deals.`},{label:`Audit log API`,startQ:1,spanQ:1,status:`active`},{label:`Data residency (EU)`,startQ:2,spanQ:2,status:`todo`,detail:`Required for EMEA Enterprise.`}]},{name:`Growth`,accent:`var(--presence)`,items:[{label:`Usage-based billing`,startQ:0,spanQ:2,status:`active`},{label:`In-product onboarding`,startQ:2,spanQ:1,status:`todo`}]},{name:`AI`,accent:`var(--warning)`,items:[{label:`Copilot beta`,startQ:1,spanQ:2,status:`risk`,detail:`Eval quality is the gating item.`},{label:`Auto-insights GA`,startQ:3,spanQ:1,status:`todo`}]}],footer:`SSO already paid for itself; usage-based billing is the Q3 revenue lever.`},contentcalendar:{title:`This month, across your channels`,icon:`table`,iconColor:`var(--presence)`,platforms:[`Newsletter`,`X`,`LinkedIn`],weeks:[`Wk 1`,`Wk 2`,`Wk 3`,`Wk 4`],cells:[{platform:`Newsletter`,week:`Wk 1`,status:`posted`,title:`The tools that stuck`},{platform:`Newsletter`,week:`Wk 2`,status:`posted`,title:`Field notes #12`},{platform:`Newsletter`,week:`Wk 3`,status:`scheduled`,title:`On craft vs. speed`},{platform:`Newsletter`,week:`Wk 4`,status:`idea`,title:`Q&A with a reader`},{platform:`X`,week:`Wk 1`,status:`posted`,title:`Thread: the tools recap`},{platform:`X`,week:`Wk 2`,status:`drafted`,title:`Interview: a solo founder`},{platform:`X`,week:`Wk 3`,status:`idea`,title:`Poll: biggest craft tradeoff`},{platform:`LinkedIn`,week:`Wk 2`,status:`idea`,title:`Why I switched stacks`},{platform:`LinkedIn`,week:`Wk 4`,status:`drafted`,title:`Cross-post: field notes recap`}],footer:`Newsletter carries the month; X and LinkedIn trail a week behind on purpose.`},headcountplan:{title:`Headcount plan by department`,icon:`layers`,iconColor:`var(--presence)`,depts:[{name:`Engineering`,budgeted:62,filled:51,openReqs:7},{name:`Go-to-market`,budgeted:34,filled:30,openReqs:4},{name:`Support & success`,budgeted:20,filled:18,openReqs:2},{name:`G&A`,budgeted:13,filled:13,openReqs:1}],footer:`Engineering carries the widest gap, 11 budgeted seats still open, 7 with active reqs.`},chronologicaltimeline:{title:`Staff notation through the centuries`,icon:`clock`,iconColor:`var(--presence)`,startLabel:`900 AD`,endLabel:`1800s`,events:[{at:0,date:`~900 AD`,title:`Neumes`,detail:`Earliest written notation, squiggles above text hinting at melodic contour, no pitch precision.`},{at:18,date:`1025`,title:`Guido of Arezzo`,detail:`Invented the four-line staff and the sol-fa syllable system (ut re mi fa sol la). First reliably readable pitch notation.`,color:`var(--presence)`},{at:34,date:`1200s`,title:`Mensural notation`,detail:`Rhythm encoded for the first time via note shapes, unlocks polyphony (multiple independent voices).`},{at:55,date:`1450s`,title:`Music printing press`,detail:`Ottaviano Petrucci's moveable-type music printing spreads sheet music across Europe.`,color:`var(--insight)`},{at:73,date:`1600s`,title:`Baroque conventions`,detail:`Five-line treble and bass staves standardised; figured bass shorthand speeds up harmonisation.`},{at:100,date:`1800s`,title:`Modern score`,detail:`Dynamics (pp→ff), articulation, and expression marks codified; engraving produces the notation we use today.`,color:`var(--warning)`}],footer:`Western notation is ~1,000 years old. Non-Western traditions (Indian raga, Arabic maqam, Chinese gongche) use entirely different systems.`},skilltree:{title:`Calculus mastery path`,icon:`spark`,iconColor:`var(--presence)`,caption:`4 of 7 skills unlocked — hover any skill to trace its prerequisites and what it unlocks next.`,nodes:[{id:`limits`,label:`Limits`,tier:0,state:`maxed`,cost:`4 pts`},{id:`functions`,label:`Functions & graphs`,tier:0,state:`unlocked`,cost:`3 pts`},{id:`derivatives`,label:`Derivatives`,tier:1,state:`unlocked`,cost:`5 pts`,requires:[`limits`]},{id:`chainrule`,label:`Chain rule`,tier:1,state:`available`,cost:`4 pts`,requires:[`derivatives`,`functions`]},{id:`integrals`,label:`Integrals`,tier:1,state:`available`,cost:`5 pts`,requires:[`limits`]},{id:`optimization`,label:`Optimization`,tier:2,state:`available`,cost:`6 pts`,requires:[`chainrule`]},{id:`series`,label:`Taylor series`,tier:2,state:`locked`,cost:`8 pts`,requires:[`derivatives`,`integrals`]}],footer:`Unlock <strong>Chain rule</strong> next — it gates Optimization and rounds out tier 2.`},businesscanvas:{title:`Ridgeline Coffee Roasters`,variant:`bmc`,keyPartners:[`Smallholder farm cooperatives in Huila and Yirgacheffe`,`Specialty green-bean importer`,`Compostable-packaging supplier`],keyActivities:[`Small-batch roasting, three profiles a week`,`Subscription fulfillment and routing`,`Cupping and quality control on every lot`],keyResources:[`25 kg drum roaster`,`Roastmaster's sensory expertise`,`Subscriber taste-profile data`],valueProposition:[`Peak-freshness beans at your door within 48 hours of roasting`,`A rotating world tour of single origins, matched to your taste profile`,`Full traceability — every bag names its farm and lot`],customerRelationships:[`Taste-profile quiz personalizes each shipment`,`Monthly virtual cupping with the roaster`,`Pause or swap anytime, no lock-in`],channels:[`Direct web subscription`,`Farmers-market stall for tastings and signups`,`Wholesale to local cafés`],customerSegments:[`Home brewers upgrading from supermarket beans`,`Remote workers who treat coffee as a ritual`,`Gift subscribers`],costStructure:[`Green beans and import freight`,`Roastery lease and equipment`,`Last-mile shipping`],revenueStreams:[`Monthly subscriptions in two tiers`,`One-off gift boxes`,`Wholesale café accounts`],footer:`Subscriptions cover the fixed roastery costs; wholesale adds the volume that keeps the roaster at capacity.`}};export{e as default};
@@ -0,0 +1 @@
1
+ var e=`\xA0`;function t(t,n={}){if(!Number.isFinite(t))return`—`;let{unit:r,decimals:i,currency:a,percent:o,compact:s,locale:c}=n,l={};if(i===void 0?l.maximumFractionDigits=3:(l.minimumFractionDigits=i,l.maximumFractionDigits=i),s&&(l.notation=`compact`),a)return new Intl.NumberFormat(c,{...l,style:`currency`,currency:a}).format(t);if(o)return new Intl.NumberFormat(c,l).format(t)+`%`;let u=new Intl.NumberFormat(c,l).format(t);return r?`${u}${e}${r}`:u}function n(n,r,i={}){let a=t(n,i),o=r?.trim();return o?/^[$€£¥₹]/.test(o)?`${o}${a}`:o===`%`?`${a}%`:`${a}${e}${o}`:a}function r(e,n={}){return Number.isFinite(e)?t(Math.abs(e)<=1?e*100:e,{percent:!0,...n}):`—`}var i={year:{year:`numeric`},month:{year:`numeric`,month:`short`},day:{year:`numeric`,month:`short`,day:`numeric`},time:{hour:`numeric`,minute:`2-digit`},datetime:{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}};function a(e,t={}){let n=e instanceof Date?e:new Date(e);return Number.isNaN(n.getTime())?`—`:new Intl.DateTimeFormat(t.locale,i[t.style??`day`]).format(n)}export{n as i,r as n,t as r,a as t};
@@ -0,0 +1 @@
1
+ function e(e,t){let n=Math.max(0,Math.round((t-e)/1e3));if(n<45)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);if(i<24)return`${i}h ago`;let a=Math.round(i/24);return a===1?`yesterday`:`${a}d ago`}function t(t,n,r){return t===null||t<=0?`not yet refreshed`:`${r===`no-change`||r===`unverified`?`checked`:`updated`} ${e(t,n)}`}function n(e){return e.metrics.filter(e=>e.query.trim()!==``&&!e.blankKey).length}function r(e){return e.widgets.filter(e=>e.refreshQuery?.trim()).length}function i(e){return n(e)>0||r(e)>0}function a(t,n){if(!i(t))return`no live metrics on this dashboard`;if(t.lastRefreshedAt===null||t.lastRefreshedAt<=0)return`not yet refreshed`;let r=e(t.lastRefreshedAt,n);return t.lastDataOutcome===`unverified`?`checked ${r} — couldn't verify with sources`:t.lastDataOutcome===`no-change`?`checked ${r} — no new data`:`updated ${r}`}function o(e){if(!Number.isFinite(e))return`—`;let t=Math.abs(e),n=t>=1e3?0:t>=100?1:t>=1?2:4;return e.toLocaleString(void 0,{maximumFractionDigits:n})}function s(e){return e.replace(/\d+\.\d{5,}/g,e=>o(Number(e)))}function c(e){return e.lastRaw?s(e.lastRaw):e.lastValue===null?`—`:`${o(e.lastValue)}${e.unit??``}`}function l(e){let t=e.metrics.find(e=>e.lastValue!==null)??e.metrics[0];return t?{value:c(t),label:t.label}:null}var u=28;function d(e){let t=e.trim().replace(/\s+/g,` `),n=t;n=n.replace(/^(?:track(?:ing)?|watch(?:ing)?|follow(?:ing)?|monitor(?:ing)?)\s+(?:the\s+)?/i,``),n=n.replace(/\s+tracker\s*$/i,``);let r=n.split(/\s+[·—–-]\s+|:\s+/)[0].trim();if(r&&r.includes(` `)&&(n=r),n||=t,n.length<=u)return n;let i=n.slice(0,29),a=i.lastIndexOf(` `);return`${(a>0?i.slice(0,a):n.slice(0,u)).replace(/[\s,;:·—–-]+$/,``)}…`}export{l as a,i,a as n,r as o,d as r,n as s,t};
@@ -0,0 +1 @@
1
+ var e={blanks:{title:`The parts only you can answer`,icon:`spark`,iconColor:`var(--presence)`,intro:`I've weighed everything I can. Two or three things are yours to fill in.`,slots:[{key:`dealbreaker`,label:`Your hard no`,prompt:`What would make this offer an automatic no?`,kind:`text`,placeholder:`e.g. no relocation help`},{key:`decide_by`,label:`Decide by`,prompt:`When do you actually have to give an answer?`,kind:`date`,accent:`var(--warning)`},{key:`energy`,label:`Energy for a change`,prompt:`How much capacity do you have for a job change right now?`,kind:`choice`,options:[`Low`,`Some`,`Plenty`]}]},buttonbar:{title:`Quick actions`,icon:`spark`,iconColor:`var(--presence)`,color:`var(--presence)`,hint:`Saved, your workspace defaults are set.`,buttons:[{label:`Save defaults`,variant:`primary`,icon:`check`},{label:`Invite a teammate`,variant:`outline`,icon:`plus`},{label:`Import settings`,variant:`secondary`,icon:`upload`},{variant:`icon`,icon:`share`},{label:`Reset`,variant:`ghost`,icon:`undo`},{label:`Delete workspace`,variant:`destructive`,icon:`x`,disabled:!0}],footer:`Delete is disabled until your workspace has data.`},textfield:{title:`Your profile`,icon:`edit`,iconColor:`var(--presence)`,color:`var(--presence)`,fields:[{label:`Full name`,value:`John Smith`,icon:`edit`,state:`success`,helper:`Looks good, this is how Mavéa will greet you.`},{label:`Display handle`,placeholder:`@you`,value:`@johnsmith`,icon:`spark`,state:`success`,helper:`@johnsmith is available.`},{label:`Work email`,value:`john.smith@example.com`,icon:`mail`,state:`default`,helper:`We'll send a 6-digit code to verify this below.`},{label:`Set a password`,placeholder:`At least 10 characters`,password:!0,icon:`lock`,state:`error`,helper:`Add one number and one symbol to make it strong.`,optional:!0}],footer:`Two are pre-filled, just confirm the rest.`},textarea:{title:`A short bio`,icon:`quote`,iconColor:`var(--presence-soft)`,color:`var(--presence-soft)`,label:`Tell Mavéa a little about you`,placeholder:`What do you work on? What are you here to figure out?`,value:`Product lead exploring voice-first AI. I want Mavéa to help me reason through decisions and show its work.`,max:240,minRows:3,footer:`This helps me tailor what I show you, totally optional.`},select:{title:`Default canvas theme`,icon:`image`,iconColor:`var(--presence-soft)`,color:`var(--presence-soft)`,label:`Appearance`,placeholder:`Pick a theme`,selected:2,options:[{label:`Light`,caption:`Bright, high-contrast`,icon:`sun`},{label:`Dark`,caption:`Easy on the eyes at night`,icon:`moon`},{label:`Match system`,caption:`Follows your device`,icon:`screen`}],footer:`You can switch instantly from any canvas.`},combobox:{title:`Where are you based?`,icon:`globe`,iconColor:`var(--insight)`,color:`var(--insight)`,label:`Time zone`,placeholder:`Search cities or zones…`,noun:`zones`,selected:1,items:[{label:`San Francisco`,meta:`PT · UTC−8`,icon:`globe`},{label:`New York`,meta:`ET · UTC−5`,icon:`globe`},{label:`London`,meta:`GMT · UTC+0`,icon:`globe`},{label:`Berlin`,meta:`CET · UTC+1`,icon:`globe`},{label:`Bengaluru`,meta:`IST · UTC+5:30`,icon:`globe`},{label:`Singapore`,meta:`SGT · UTC+8`,icon:`globe`}],footer:`I detected New York from your sign-in, change it if that’s off.`},checkboxgroup:{title:`Ingredients checklist`,icon:`cart`,iconColor:`var(--insight)`,allLabel:`Tick everything as you gather it`,items:[{label:`4 mini pizza bases (or English muffins)`,caption:`Pre-made = the easy mode`,checked:!0},{label:`1 cup pizza or pasta sauce`,caption:`Smooth, mild, kid-approved`,checked:!0},{label:`1½ cups shredded mozzarella`,caption:`The big handful of cheese`,checked:!0},{label:`Cherry tomatoes, halved`,caption:`Grown-up does the halving`},{label:`Sweetcorn + a little ham or pepperoni`,caption:`Pick your favourites`},{label:`A pinch of dried oregano`,caption:`For the chef sprinkle at the end`}],footer:`Six things, most are probably already in your fridge.`},actionchecklist:{title:`Finish setting up`,icon:`check`,iconColor:`var(--presence)`,color:`var(--presence)`,subtitle:`A few quick steps and your workspace is ready, tick them off as you go.`,items:[{label:`Confirm your profile basics`,detail:`Name, role, and a photo so teammates recognize you.`,meta:`Step 1`,done:!0},{label:`Name your workspace`,detail:`Where all your canvases live.`,priority:`medium`,meta:`Step 2`,done:!0},{label:`Choose notification preferences`,detail:`Pick only the alerts that are actually useful.`,priority:`low`,meta:`Step 3`},{label:`Verify your email`,detail:`Enter the 6-digit code to unlock everything.`,priority:`high`,meta:`Step 4`},{label:`Invite a teammate`,detail:`Optional, you can always do this later.`,priority:`low`,meta:`Optional`}],footer:`You can change any of these later in Settings.`},radiogroup:{title:`Quick quiz: which planet do we live on?`,icon:`spark`,iconColor:`var(--presence)`,layout:`card`,options:[{label:`Mars`,caption:`The red one with rovers`,icon:`globe`,value:`4th`},{label:`Earth`,caption:`The blue one with water and YOU`,icon:`check`,value:`✅ correct!`},{label:`Jupiter`,caption:`The giant gas one`,icon:`globe`,value:`5th`},{label:`The Sun`,caption:`Actually a star, not a planet!`,icon:`sun`,value:`tricky`}],selected:1,color:`var(--presence)`,footer:`You got it, Earth, the third planet from the Sun. The only home we’ve ever had.`},switchset:{title:`Notifications`,icon:`bell`,iconColor:`var(--insight)`,color:`var(--insight)`,items:[{label:`Product updates`,description:`New components and canvas features.`,icon:`sparkle`,on:!0},{label:`Weekly digest`,description:`A Monday recap of your conversations.`,icon:`mail`,on:!0},{label:`Mentions & replies`,description:`When a teammate tags you.`,icon:`chat`,on:!1},{label:`Marketing emails`,description:`Occasional tips and offers.`,icon:`send`,on:!1},{label:`Do Not Disturb`,description:`Pause everything 10pm–8am, your time.`,icon:`moon`,on:!0}],footer:`You’ll always get security alerts, those can’t be turned off.`},togglegroup:{title:`Which planet has the most moons?`,icon:`moon`,iconColor:`var(--insight)`,mode:`single`,items:[{label:`Earth (1)`,title:`Earth has just our one Moon`},{label:`Mars (2)`,title:`Mars has two tiny potato-shaped moons`},{label:`Saturn (146)`,title:`Saturn is the moon champion!`,on:!0}],hint:`Tap a planet! Saturn wins with over 140 moons. Earth has just one, the one you see at night.`,color:`var(--insight)`,footer:`Some moons have oceans hidden under ice. Scientists wonder what might live there!`},otp:{title:`Verify your email`,icon:`lock`,iconColor:`var(--insight)`,color:`var(--insight)`,prompt:`Demo UI only — enter the example 6-digit code`,length:6,code:`428913`,resendLabel:`Didn’t get it? Resend in 0:24`,footer:`Gallery fixture only. Mavéa does not create an account or send this email.`},preflightchecklist:{title:`Preflight — N172ME`,icon:`shield`,iconColor:`var(--presence)`,aircraft:`N172ME · Cessna 172S`,sections:[{name:`Before Start`,items:[{label:`Walk-around inspection — COMPLETE`,critical:!0,checked:!0},{label:`Seats, belts, doors — adjusted and locked`,critical:!0,checked:!0},{label:`Fuel quantity — CHECK visually, both tanks`,critical:!0,checked:!0},{label:`Circuit breakers — IN`,checked:!0},{label:`Parking brake — SET`,checked:!0}]},{name:`Before Takeoff`,items:[{label:`Flight controls — free and correct movement`,critical:!0},{label:`Flight instruments — set, altimeter to field elevation`},{label:`Trim tabs — set for takeoff`},{label:`Fuel selector — BOTH`,critical:!0},{label:`Mixture — rich`},{label:`Doors and windows — closed and latched`,critical:!0},{label:`Run-up — magnetos checked, max 150 RPM drop`,critical:!0}]},{name:`Cruise`,items:[{label:`Engine gauges — in the green arc`},{label:`Fuel — monitor both tanks, switch as needed`},{label:`Altitude — maintain assigned or cruise altitude`}]},{name:`Before Landing`,items:[{label:`ATIS or airport advisory — obtained`},{label:`Seatbelts and harnesses — fastened`,critical:!0},{label:`Mixture — rich`},{label:`Fuel selector — BOTH`,critical:!0},{label:`Landing light — ON`}]},{name:`Shutdown`,items:[{label:`Parking brake — SET`},{label:`Avionics and electrical — OFF`},{label:`Mixture — idle cutoff`},{label:`Ignition and master switch — OFF`,critical:!0},{label:`Control lock — installed`}]}],footer:`IMSAFE check clear, weight and balance within limits, fuel for the leg plus reserve.`},estateplanchecklist:{title:`Your estate plan, since Leo arrived`,icon:`shield`,iconColor:`var(--presence)`,documents:[{category:`Will`,status:`needs-update`,lastReviewed:`Before Leo was born`},{category:`POA`,status:`done`,lastReviewed:`January 2024`},{category:`Healthcare Proxy`,status:`done`,lastReviewed:`January 2024`},{category:`Beneficiary designations`,status:`missing`},{category:`Digital assets`,status:`missing`}],footer:`The will and beneficiaries matter most now, that's where Leo's guardian actually gets named.`},visachecklist:{title:`I-485 — Adjustment of Status`,icon:`globe`,iconColor:`var(--presence)`,caseType:`I-485 · Adjustment of Status`,documents:[{name:`Form I-485 (completed & signed)`,required:!0,status:`done`},{name:`Form I-693 (medical exam)`,required:!0,status:`pending`},{name:`Two passport-style photos`,required:!0,status:`done`},{name:`Copy of passport biographic page`,required:!0,status:`done`},{name:`Certified birth certificate + translation`,required:!0,status:`missing`},{name:`Form I-864 Affidavit of Support`,required:!0,status:`pending`},{name:`I-797 approval notice (I-140)`,required:!0,status:`done`},{name:`Form I-765 (work permit, concurrent)`,required:!1,status:`done`},{name:`Form I-131 (travel permit, concurrent)`,required:!1,status:`missing`}],footer:`The birth certificate translation is the one required document blocking the mailing — everything else is either in hand or already pending.`}};export{e as default};
@@ -0,0 +1,17 @@
1
+ import{t as e}from"./providers-wzm7E8Pa.js";import{n as t,o as n}from"./streamParse-DRgMHWye.js";import{c as r,d as i,f as a,g as o,h as s,l as c,m as l,o as u,p as d,s as f,u as p}from"./githubToken-DtcLYqwm.js";import{r as m}from"./githubBrowser-DywfDeYx.js";import{r as h}from"./cache-BumECILO.js";function g(e){let r={},o=n(e,`summary`);o?.trim()&&(r.summary=o.trim());let c=n(e,`gateRationale`);c?.trim()&&(r.gateRationale=c.trim());let l=a(t(e,`risks`));l?.length&&(r.risks=l);let u=i(t(e,`changes`));u?.length&&(r.changes=u);let f=s(t(e,`cascades`));f?.length&&(r.cascades=f);let p=d(t(e,`suggestions`));return p?.length&&(r.suggestions=p),r}var _=[`newgrad`,`working`,`principal`],v=e=>typeof e==`string`?e.trim():``,y=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?Math.round(e):void 0,b=e=>Array.isArray(e)?e.map(v).filter(e=>e.length>0):[];function x(e){if(!e||typeof e!=`object`)return;let t=e,n={};for(let e of _){let r=v(t[e]);r&&(n[e]=r)}return Object.keys(n).length?n:void 0}function S(e){if(!e||typeof e!=`object`)return;let t=e,n=v(t.question),r=v(t.answer);return n&&r?{question:n,answer:r}:void 0}function C(e){if(!e||typeof e!=`object`)return;let t=e,n=v(t.question),r=v(t.answer);if(!n||!r)return;let i={question:n,answer:r},a=v(t.explain);a&&(i.explain=a);let o=b(t.choices),s=t.correct;return o.length>=2&&typeof s==`number`&&Number.isInteger(s)&&s>=0&&s<o.length&&(i.choices=o,i.correct=s),i}function w(e){if(!Array.isArray(e))return;let t=e.map(C).filter(e=>!!e);return t.length?t:void 0}function T(e){if(!e||typeof e!=`object`)return;let t=e,n=v(t.title),r=v(t.brief),i=b(t.steps),a=b(t.acceptance);if(!(!n||!r||i.length===0||a.length===0))return{title:n,brief:r,steps:i,acceptance:a}}var E=[`beginner`,`intermediate`,`expert`],D=e=>typeof e==`string`&&E.includes(e)?e:void 0;function O(e){if(!e||typeof e!=`object`)return;let t=e,n=v(t.title),r=Array.isArray(t.lessons)?t.lessons.map(e=>{let t=e,n=v(t.title);return n?{title:n,minutes:y(t.minutes),goal:v(t.goal),explainFor:x(t.explainFor),read:b(t.read),concepts:b(t.concepts),caution:v(t.caution)||void 0,checkpoint:S(t.checkpoint)}:null}).filter(e=>e!==null):[];if(!(!n||r.length===0))return{title:n,subtitle:v(t.subtitle)||void 0,level:D(t.level),lessons:r,quiz:w(t.quiz),capstone:T(t.capstone)}}function k(e){if(!Array.isArray(e))return;let t=[];for(let n of e){let e=O(n);e&&t.push(e)}return t.length?t:void 0}var A=`You are a staff engineer giving a new teammate the orientation you wish you had on day one of an unfamiliar codebase. Explain what the project IS and how it is laid out, give each area a concrete purpose, name how the areas depend on each other, say where to start reading, and trace how a typical request or flow moves through it — all grounded in the README, the manifest, and the real area list provided. Never invent an area, file, or dependency that is not listed. Reply with STRICT JSON only — no prose, no markdown fences.`;function j(e,t,n){let r=e.modules.slice(0,24).map(e=>`- ${e.name} (${e.health}${e.entry?`; entry ${e.entry}`:``})`).join(`
2
+ `);return[`Orient a new engineer to this codebase. Return JSON of exactly this shape:`,`{`,` "summary": "2-4 sentences: what this project is and how it is architected",`,` "modules": [ { "name": "<an area name below, verbatim>", "purpose": "one concrete line", "explain": "2-3 sentences a newcomer can act on", "depends": ["area it leans on"], "usedBy": ["area that leans on it"] } ],`,` "firstWeek": [ { "title": "a day-one task", "why": "what you learn", "file": "a real area/file to open" } ],`,` "requestLife": [ "a stop a typical request/flow passes through, in order" ]`,`}`,`Rules: use the area names verbatim in "name", "depends", and "usedBy". Ground every line in the `,`README + manifest + structure. Cover the most important 8-14 areas. 3-6 firstWeek, 3-7 requestLife. `,`Omit anything you can’t ground in the inputs.`,``,t?`README:
3
+ `+t.slice(0,7e3):`No README was found.`,n?`
4
+ MANIFEST (excerpt):
5
+ `+n.slice(0,1200):``,``,`AREAS:`,r].join(`
6
+ `)}var M=`You are a staff engineer designing a real, multi-week onboarding curriculum for a codebase — a syllabus a new hire genuinely works through to understand the system deeply. Here you design only the STRUCTURE (the weeks, the lessons, and the real files each studies); the in-depth lesson content is written later, one lesson at a time. You ground every file in the real areas given and never invent one. Reply with STRICT JSON only — no prose, no markdown fences.`;function N(e,t,n,r=5,i){let a=i?e.modules.find(e=>e.name===i):void 0,o=a?new Set([a.name,...a.depends,...a.usedBy]):null,s=(e,t)=>(o?.has(e.name)?1e3:0)+e.usedBy.length*3+(e.entry?2:0)-t*.01,c=e.modules.map((e,t)=>({m:e,score:s(e,t)})).sort((e,t)=>t.score-e.score).slice(0,28).map(({m:e})=>`- ${e.name} (${e.health}${e.entry?`; entry ${e.entry}`:``})`).join(`
7
+ `),l=a?`The reader chose to FOCUS on the "${a.name}" area. Center the WHOLE curriculum on it and its immediate neighbourhood (what it depends on and what depends on it), so they learn that subsystem deeply rather than the whole repo thinly. Place it in context first, then go deep on ${a.name}.`:e.changes.length?`This is a CHANGE (a PR/branch). Center the curriculum on the code this change touches and its neighbourhood — so the reader can make/review it WITHOUT FEAR. The changed files: ${e.changes.slice(0,12).map(e=>e.file).join(`, `)}.`:`This is a whole repo. Teach it end to end, week by week, prioritising the highest-impact areas (listed first below — they carry the most weight in the system).`;return[`Design a ${r}-week onboarding curriculum for this codebase. Return ONLY the lightweight OUTLINE —`,`week titles, a one-line goal per lesson, and the real files each lesson studies. Do NOT write lesson`,`bodies, quizzes, or capstones here: those are generated later, on demand, when the reader opens a`,`course — so keep THIS response small and fast. Return JSON of exactly this shape:`,`{ "courses": [ { "title": "Week 1: Get oriented", "subtitle": "one line on the week's theme", "level": "beginner|intermediate|expert",`,` "lessons": [ { "title": "lesson title", "minutes": 40,`,` "goal": "one line: what you can DO after this lesson",`,` "read": ["real/file/or/area this lesson studies"], "concepts": ["a key idea it covers"] } ] } ] }`,``,l,``,`Return ${r} courses — one per week — forming a real progression. Set "level": roughly the first`,`third "beginner", the middle "intermediate", the last "expert". Each week is a coherent theme with`,`4-6 lessons that build on each other. Sequence it like a real syllabus: Week 1 get oriented + run it`,`locally + the shape; the middle weeks the core data model and the main flow end to end, area by area;`,`the later weeks the hard parts — concurrency, failure modes, performance, the architecture and its`,`tradeoffs. EVERY lesson must point at real files (verbatim from the areas/files below) and name 2-4`,`concepts. Ground everything in the inputs; never invent a file or area. Keep this response compact —`,`short titles, goals, files, and concepts.`,``,t?`README:
8
+ `+t.slice(0,6e3):`No README was found.`,n?`
9
+ MANIFEST (excerpt):
10
+ `+n.slice(0,1e3):``,``,`AREAS:`,c].join(`
11
+ `)}var P=`You are a staff engineer writing the end-of-week CHECK for a codebase onboarding course: a short quiz plus one small capstone project, testing exactly what the week taught and grounded only in the real files and concepts given. You never invent a file, API, or behavior that isn't in the material. Reply with STRICT JSON only — no prose, no markdown fences.`;function F(e){let t=e.lessons.map(e=>`- ${e.title}${e.goal?` — ${e.goal}`:``}${e.concepts.length?` [${e.concepts.join(`, `)}]`:``}`).join(`
12
+ `),n=Array.from(new Set(e.lessons.flatMap(e=>e.read))).slice(0,24).join(`, `);return[`Write the closing CHECK for the onboarding week "${e.title}"${e.subtitle?` (${e.subtitle})`:``}:`,`an end-of-week quiz and one small capstone project, testing what THIS week's lessons taught. Return`,`JSON of exactly this shape:`,`{ "quiz": [ { "question": "a real question testing this week's material", "choices": ["4 options, one correct"], "correct": 0, "explain": "why that's the answer, and why the others are wrong", "answer": "the correct choice's text, restated plainly" } ],`,` "capstone": { "title": "a short, concrete project name", "brief": "1-3 sentences: a small sample project grounded in THIS repo's real files and patterns (or, if a safe standalone exercise fits better, a tiny companion exercise using the same patterns)", "steps": ["a concrete step, in order"], "acceptance": ["a check a newcomer can verify themselves, without asking anyone"] } }`,``,`Give 4-6 quiz questions, each with exactly 4 "choices", a "correct" index, an "explain", and an "answer"`,`restating the right choice in plain text (so the quiz still works even if a reader never sees the`,`choices). Give exactly one "capstone". Never invent an API, file, or behavior that isn't in the`,`material below; keep the text terse.`,``,`This week's lessons:`,t,n?`\nThe real files this week studies: ${n}.`:``].join(`
13
+ `)}var I=`You are a senior engineer giving a new teammate a deep, hands-on lesson by walking them through the REAL code in front of you. You teach thoroughly and concretely: explain the idea and how it actually works HERE, walk through the important parts of the actual code (quoting the real excerpts), name the concepts and explain them properly, call out the mistakes that bite people, and set a hands-on task. You never invent code — you quote what you are shown. Reply with STRICT JSON only.`;function L(e,t,n,r){let i=r===`newgrad`?`Your reader is a NEW GRAD — assume no prior context; explain every term, reason through every step, and err on the side of more detail.`:r===`principal`?`Your reader is a PRINCIPAL ENGINEER — skip basics, focus on the non-obvious crux, trade-offs, scale implications, and design decisions that most engineers miss.`:`Your reader is a WORKING ENGINEER — explain concepts clearly without over-explaining fundamentals; focus on how and why this specific code works the way it does.`;return[`Write a DEEP, in-depth lesson titled "${t.title}" for the course "${e.title}". ${i} Teach it`,`the way a great senior engineer walks through real code — thorough, concrete, grounded in`,`the actual files below. Return JSON of exactly this shape:`,`{`,` "overview": "SEVERAL paragraphs (use \\n\\n between them) that genuinely teach the idea and how it works HERE — not a blurb",`,` "walkthrough": [ { "file": "real/file/path", "focus": "the function / section / line range", "code": "the ACTUAL excerpt quoted from the file below", "explain": "what this part does and why it matters" } ],`,` "concepts": [ { "term": "a key idea", "explain": "a real explanation, 2-4 sentences" } ],`,` "pitfalls": ["a common mistake here and why it bites"],`,` "exercise": { "task": "a concrete hands-on task in this real code", "hint": "a nudge", "check": "a concrete, self-verifiable way to know it worked" }`,`}`,``,`This lesson studies these files/areas: ${t.read.join(`, `)||`(use the code below)`}.`,t.concepts.length?`Concepts to cover: ${t.concepts.join(`, `)}.`:``,`Rules: "walkthrough" is the SPOTLIGHT — 3-6 steps through the MOST IMPORTANT parts of the real code,`,`in reading order, each quoting the actual excerpt in "code" (verbatim from below — never invent code).`,`The "overview" must be genuinely in-depth (multiple real paragraphs that explain mechanisms, not a`,`summary). Cover 3-5 concepts and 2-4 pitfalls. "exercise.task" should aim for "day-1 first-change"`,`energy — a safe, real, tiny change to make in this actual code (not a toy sandbox); "exercise.check"`,`is HOW the learner verifies it worked without asking anyone (a command to run, an output to see, a`,`behavior to observe) — concrete and self-verifiable, not "ask a teammate to review it". Ground`,`everything in the code shown; if a file wasn’t provided, teach from what is. STRICT JSON only.`,``,`REAL CODE:`,n||`(no file contents were available — teach from the file names and your knowledge)`].join(`
14
+ `)}function R(e){let t=e;if(typeof e==`string`){let n=e.replace(/```json\s*|```/gi,``),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);if(r<0||i<=r)return;try{t=JSON.parse(n.slice(r,i+1))}catch{return}}if(!(!t||typeof t!=`object`))return k(t.courses)}function z(e){let t=e;if(typeof e==`string`){let n=e.replace(/```json\s*|```/gi,``),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);if(r<0||i<=r)return;try{t=JSON.parse(n.slice(r,i+1))}catch{return}}if(!t||typeof t!=`object`)return;let n=t,r=w(n.quiz),i=T(n.capstone);return r||i?{quiz:r,capstone:i}:void 0}function B(e){return Array.isArray(e)?e.map(e=>{let t=e,n=v(t.explain),r=v(t.file);if(!n&&!r)return null;let i={file:r,explain:n};return v(t.focus)&&(i.focus=v(t.focus)),v(t.code)&&(i.code=typeof t.code==`string`?t.code:v(t.code)),i}).filter(e=>e!==null):[]}function V(e){return Array.isArray(e)?e.map(e=>{let t=e;return{term:v(t.term),explain:v(t.explain)}}).filter(e=>e.term.length>0&&e.explain.length>0):[]}function H(e){let t=e;if(typeof e==`string`){let n=e.replace(/```json\s*|```/gi,``),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);if(r<0||i<=r)return null;try{t=JSON.parse(n.slice(r,i+1))}catch{return null}}if(!t||typeof t!=`object`)return null;let n=t,r=v(n.overview),i=B(n.walkthrough),a=V(n.concepts),o=b(n.pitfalls),s=n.exercise,c=s&&v(s.task)?{task:v(s.task),...v(s.hint)?{hint:v(s.hint)}:{},...v(s.check)?{check:v(s.check)}:{}}:void 0;if(!r&&i.length===0&&a.length===0)return null;let l={overview:r,walkthrough:i,concepts:a};return o.length&&(l.pitfalls=o),c&&(l.exercise=c),l}function U(e){let t=e;if(typeof e==`string`){let n=e.replace(/```json\s*|```/gi,``),r=n.indexOf(`{`),i=n.lastIndexOf(`}`);if(r<0||i<=r)return null;try{t=JSON.parse(n.slice(r,i+1))}catch{return null}}if(!t||typeof t!=`object`)return null;let n=t,r=v(n.summary)||void 0,i=Array.isArray(n.modules)?n.modules.map(e=>{let t=e,n=v(t.name);return n?{name:n,purpose:v(t.purpose)||void 0,explain:v(t.explain)||void 0,depends:b(t.depends),usedBy:b(t.usedBy)}:null}).filter(e=>e!==null):void 0,a=[];if(Array.isArray(n.firstWeek))for(let e of n.firstWeek){let t=e,n=v(t.title);n&&a.push({title:n,why:v(t.why)||void 0,file:v(t.file)||void 0})}let o=Array.isArray(n.requestLife)?b(n.requestLife):void 0,s=k(n.courses)??(O(n.course)?[O(n.course)]:void 0);return!r&&!i?.length&&!a.length&&!o?.length&&!s?.length?null:{summary:r,modules:i,firstWeek:a.length?a:void 0,requestLife:o,courses:s}}function W(e,t){let n=new Map((t.modules??[]).map(e=>[e.name,e]));return{...e,pr:{...e.pr,summary:t.summary||e.pr.summary},modules:e.modules.map(e=>{let t=n.get(e.name);return t?{...e,purpose:t.purpose||e.purpose,explain:t.explain||e.explain,depends:t.depends&&t.depends.length?t.depends:e.depends,usedBy:t.usedBy&&t.usedBy.length?t.usedBy:e.usedBy}:e}),onboarding:{firstWeek:t.firstWeek&&t.firstWeek.length?t.firstWeek.map(e=>({team:`Week 1`,title:e.title,sub:e.why??``,file:e.file??``})):e.onboarding?.firstWeek??[],requestLife:t.requestLife&&t.requestLife.length?t.requestLife:e.onboarding?.requestLife??[]},courses:t.courses??e.courses}}async function G(t,n,r,i={}){let{signal:a,codeContext:s,onPartial:u,maxTokens:d=2600,thinkingLevel:f}=i;try{let i=``,m=u?(e,t)=>{if(t?.reasoning)return;i+=e;let n=g(i);(n.summary||n.gateRationale||n.risks||n.changes||n.cascades||n.suggestions)&&u(n)}:void 0,h=await e(r.provider).generate({system:c,systemBase:c,history:[],user:p(t,n,s),maxTokens:d,temperature:0,format:null,...f?{thinkingLevel:f}:{},...a?{signal:a}:{}},r,m);if(a?.aborted)return t;let _=o(h.raw);return _?l(t,_,r.model):null}catch(e){return e instanceof DOMException&&e.name===`AbortError`?t:null}}async function K(e,t){let[n,r]=await Promise.all([Promise.all([`README.md`,`readme.md`,`Readme.md`,`docs/README.md`].map(n=>m(n,t,e).catch(()=>({ok:!1})))).then(e=>{let t=e.find(e=>e.ok&&e.content);return t&&t.ok?t.content??``:``}),m(`package.json`,t,e).catch(()=>({ok:!1})).then(e=>e.ok&&e.content?e.content:``)]);return{readme:n,pkg:r}}async function q(t,n,r,i,a={}){let{signal:o,maxTokens:s=2600,thinkingLevel:c}=a;if(t.modules.length===0)return t;try{let{readme:a,pkg:l}=await K(n,r);if(o?.aborted)return t;let u=await e(i.provider).generate({system:A,systemBase:A,history:[],user:j(t,a,l),maxTokens:s,temperature:0,format:null,...c?{thinkingLevel:c}:{},...o?{signal:o}:{}},i).then(e=>U(e.raw)).catch(()=>null);return o?.aborted||!u?t:W(t,u)}catch{return t}}async function J(t,n,r,i,a={}){let{signal:o,count:s=5,maxTokens:c=4e3,thinkingLevel:l,focus:u}=a;if(t.modules.length!==0)try{let{readme:a,pkg:d}=await K(n,r);if(o?.aborted)return;let f=await e(i.provider).generate({system:M,systemBase:M,history:[],user:N(t,a,d,s,u),maxTokens:c,temperature:0,format:null,...l?{thinkingLevel:l}:{},...o?{signal:o}:{}},i).then(e=>R(e.raw)).catch(()=>void 0);return o?.aborted?void 0:f&&f.length?f:void 0}catch{return}}async function Y(t,n,r={}){let{signal:i,maxTokens:a=4e3,thinkingLevel:o}=r;if(t.lessons.length)try{let r=await e(n.provider).generate({system:P,systemBase:P,history:[],user:F(t),maxTokens:a,temperature:0,format:null,...o?{thinkingLevel:o}:{},...i?{signal:i}:{}},n);return i?.aborted?void 0:z(r.raw)}catch{return}}var X=3,Z=140;async function Q(e,t,n){let r=e.read.filter(e=>/\.[a-z0-9]+$/i.test(e)).slice(0,X),i=(await Promise.all(r.map(e=>m(e,t,n).catch(()=>({ok:!1})).then(t=>({file:e,r:t}))))).filter(e=>e.r.ok&&e.r.content).map(e=>{let t=e.r.content.split(`
15
+ `).slice(0,Z).join(`
16
+ `);return`FILE ${e.file}:\n${t}\n`}).join(`
17
+ `);return{codeContext:i,contentHash:h(i)}}async function $(t,n,r,i,a={}){let{signal:o,maxTokens:s=4200,thinkingLevel:c,altitude:l}=a;try{let a=await e(i.provider).generate({system:I,systemBase:I,history:[],user:L(t,n,r,l),maxTokens:s,temperature:0,format:null,...c?{thinkingLevel:c}:{},...o?{signal:o}:{}},i);return o?.aborted?null:H(a.raw)}catch{return null}}async function ee(t,n,i,a){if(!t.incident)return t;try{let o=await e(i.provider).generate({system:`You are an on-call engineer reasoning BACKWARDS from a production alert to its likely cause. You ground every claim in the alert and the change provided; you never invent deploys, services, or people. The rollback is a draft the human runs — never an action you take. Reply with STRICT JSON only.`,history:[],user:u(n,t),maxTokens:1500,temperature:0,format:null,...a?{signal:a}:{}},i);if(a?.aborted)return t;let s=r(o.raw);return s?{...t,incident:f(t.incident,s)}:t}catch{return t}}export{Y as enrichCourseClosing,J as enrichCourses,ee as enrichIncident,$ as enrichLesson,q as enrichOrientation,G as enrichShipModel,Q as gatherLessonCode};
@@ -0,0 +1 @@
1
+ var e=1700;function t(e,t){let n=e.trim()?e.trim().split(/\s+/).length:0;return n?Math.min(7e3,Math.max(1500,Math.round(n*385+500))):t}function n(e){let t=e.props;if(!t||typeof t!=`object`)return``;let n=t;for(let e of[`title`,`eyebrow`,`headline`,`head`,`label`,`name`,`query`]){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}return``}function r(e,t){let r=new Set(e.map(e=>e.id).filter(e=>!!e));if(t&&t.length){let e=new Set,n=[];for(let i of t)if(!(!i||!r.has(i.spot)||e.has(i.spot))&&(e.add(i.spot),n.push({spot:i.spot,say:i.say}),n.length>=r.size))break;if(n.length)return n}return e.filter(e=>!!e.id).map(e=>({spot:e.id,say:n(e)}))}function i(n,i={}){let a=r(n,i.tour);if(!a.length)return[];let o=i.startId?Math.max(0,a.findIndex(e=>e.spot===i.startId)):0,s=a.slice(o),c=i.maxStops?s.slice(0,Math.max(1,i.maxStops)):s,l=i.dwellMs??e,u=c.map((e,n)=>{let r=n===0?i.opener??e.say??``:e.say??``,a={spot:e.spot,pstate:`showing`,gaze:`right`};return r&&(a.caption=r),{set:a,ms:t(r,l)}});return u.push({set:{spot:null,pstate:`idle`,status:null}}),u}function a(e){return e.hasModelTour?!0:e.blockCount>=5||e.mode!==`replace`||e.teach}export{a as n,i as t};
@@ -0,0 +1,28 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./providers-wzm7E8Pa.js";var n=e({generateCheckpoint:()=>x,generateCourse:()=>b}),r=3,i=9,a=9e4;function o(e,t){let n=e instanceof Error?e.message:String(e);return/\b429\b|rate.?limit|quota|resource.?exhausted/i.test(n)?`${t} is rate-limiting right now — wait a moment and try again.`:/\b40[13]\b|api key|unauthor|permission/i.test(n)?`${t} rejected the request — check its API key in settings.`:/\b5\d\d\b|overloaded|unavailable/i.test(n)?`${t} had a server error — try again in a moment.`:`Couldn't reach ${t} to build the course — check your connection and its key, then try again.`}var s=2;function c(e){return e.replace(/^```[a-z]*\n?/,``).replace(/\n?```$/,``).trim()}function l(e){return typeof e==`string`&&e.trim().length>0}function u(e,t){return Array.isArray(e)?e.filter(l).map(e=>e.trim()).slice(0,t):[]}function d(e){return Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return!l(t.question)||!l(t.answer)?null:{question:t.question.trim(),answer:t.answer.trim()}}).filter(e=>e!==null):[]}function f(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(!l(n.title)||!l(n.goal))return null;let r=u(n.objectives,4);return r.length<2?null:{id:`l${t+1}`,title:n.title.trim(),goal:n.goal.trim(),objectives:r,concepts:u(n.concepts,8),...typeof n.minutes==`number`&&Number.isFinite(n.minutes)&&n.minutes>0?{minutes:Math.round(n.minutes)}:{}}}var p=new Set([`beginner`,`intermediate`,`expert`]);function m(e){return typeof e==`string`&&p.has(e)?e:void 0}function h(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return`course-${Date.now().toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}var g=`You are building a self-paced course syllabus — a real curriculum a motivated learner could follow lesson by lesson, each a single sitting that concretely builds on the one before.
2
+
3
+ Rules:
4
+ - 5-7 lessons. Each lesson is ONE sitting (15-30 min) with a narrow, specific scope — never a vague "overview" lesson.
5
+ - Keep every field TIGHT: a syllabus, not prose. goal is a short phrase; objectives and concepts are short phrases, never full sentences. Brevity here is a hard requirement — it is what makes the course appear quickly.
6
+ - Each lesson's objectives are exactly 2-3 CONCRETE, TESTABLE things the learner can DO afterward (e.g. "derive binary search's time complexity", not "understand binary search").
7
+ - Lessons build in a real order: lesson N assumes everything taught in lessons 1..N-1 and never re-teaches it from scratch.
8
+ - concepts: 2-3 short noun-phrase tags for what this lesson covers (used for tracking mastery later).
9
+ - NEVER invent a fact, a number, or a claim you are not confident is correct. If a topic has genuine ambiguity or a detail you are unsure of, keep the lesson at a level of description you ARE sure of rather than fabricating specifics.
10
+
11
+ Return ONLY valid JSON, no markdown fences, no prose:
12
+ {
13
+ "title": "a real course title",
14
+ "subtitle": "one line on what the learner will be able to do by the end",
15
+ "level": "beginner" | "intermediate" | "expert",
16
+ "lessons": [
17
+ { "title": "...", "minutes": 20, "goal": "one sentence on this lesson's payoff", "objectives": ["...", "..."], "concepts": ["...", "..."] }
18
+ ]
19
+ }`,_=`You write a short self-check for ONE lesson a learner just finished.
20
+
21
+ Rules:
22
+ - EXACTLY ${s} questions, each a short-answer question that tests one of THIS lesson's own objectives — never generic trivia, never anything outside the lesson's scope.
23
+ - Each answer is the real, correct answer in one short line, phrased so a learner can self-grade against it.
24
+ - NEVER invent a fact you are not confident is correct.
25
+
26
+ Return ONLY valid JSON, no markdown fences, no prose:
27
+ { "checkpoint": [{ "question": "...", "answer": "..." }, { "question": "...", "answer": "..." }] }`;function v(e){try{return JSON.parse(c(e))}catch{let t=e.match(/\{[\s\S]*\}/);return t?JSON.parse(t[0]):{}}}async function y(e,n,r,i){let s=t(e.provider),c=new AbortController,l={current:!1},u=setTimeout(()=>{l.current=!0,c.abort()},a),d=()=>c.abort();i.signal&&(i.signal.aborted?c.abort():i.signal.addEventListener(`abort`,d,{once:!0}));let f;try{f=await s.generate({system:n,history:[],user:r,maxTokens:i.maxTokens,temperature:i.temperature,format:null,signal:c.signal},e)}catch(t){throw l.current?Error(i.timeoutMessage,{cause:t}):i.signal?.aborted?t:Error(o(t,e.provider),{cause:t})}finally{clearTimeout(u),i.signal?.removeEventListener(`abort`,d)}return v(typeof f.raw==`string`?f.raw:``)}async function b(e,t,n={}){let a=await y(t,g,n.level?`Topic: "${e}"\nTarget level: ${n.level}`:`Topic: "${e}"`,{signal:n.signal,maxTokens:3200,temperature:.4,timeoutMessage:`Building the course took too long and was stopped — the model may be slow or rate-limited right now. Try again, or pick a more specific topic.`}),o=(Array.isArray(a.lessons)?a.lessons:[]).map((e,t)=>f(e,t)).filter(e=>e!==null).slice(0,i);if(o.length<r)throw Error(`Couldn't build a real course on "${e}" — only ${o.length} usable lesson${o.length===1?``:`s`} came back. Try a more specific topic, or try again.`);let s=n.level??m(a.level);return{id:h(),topic:e.trim(),title:l(a.title)?a.title.trim():e.trim(),lessons:o,createdAt:Date.now(),model:t.model,...l(a.subtitle)?{subtitle:a.subtitle.trim()}:{},...s?{level:s}:{}}}async function x(e,t,n,r){let i=e.lessons[t];if(!i)throw Error(`That lesson is no longer part of this course.`);let a=d((await y(n,_,[`Lesson: ${i.title}`,`Goal: ${i.goal}`,`Objectives:`,...i.objectives.map(e=>`- ${e}`)].join(`
28
+ `),{signal:r,maxTokens:400,temperature:.3,timeoutMessage:`Writing the checkpoint took too long and was stopped — the model may be slow or rate-limited right now. Try again in a moment.`})).checkpoint);if(a.length<s)throw Error(`Couldn't write a checkpoint for "${i.title}" — try again in a moment.`);return a.slice(0,s)}export{n,x as t};