@polderlabs/bizar 10.4.1 → 10.4.3

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 (222) hide show
  1. package/bizar-dash/dist/assets/{ActivityFeed-DtRtg-JN.js → ActivityFeed-DC0JiK49.js} +1 -1
  2. package/bizar-dash/dist/assets/{ActivityFeed-DtRtg-JN.js.map → ActivityFeed-DC0JiK49.js.map} +1 -1
  3. package/bizar-dash/dist/assets/{ActivityView-CoTXDyU_.js → ActivityView-ubEDAWMY.js} +1 -1
  4. package/bizar-dash/dist/assets/{ActivityView-CoTXDyU_.js.map → ActivityView-ubEDAWMY.js.map} +1 -1
  5. package/bizar-dash/dist/assets/{AdminView-DNc5Ll7L.js → AdminView-CI4zM2Qg.js} +1 -1
  6. package/bizar-dash/dist/assets/{AdminView-DNc5Ll7L.js.map → AdminView-CI4zM2Qg.js.map} +1 -1
  7. package/bizar-dash/dist/assets/{AgentActivity-CrX7LmQ6.js → AgentActivity-BLcqqkt2.js} +1 -1
  8. package/bizar-dash/dist/assets/{AgentActivity-CrX7LmQ6.js.map → AgentActivity-BLcqqkt2.js.map} +1 -1
  9. package/bizar-dash/dist/assets/AgentsView-CIQkZH8_.js +15 -0
  10. package/bizar-dash/dist/assets/AgentsView-CIQkZH8_.js.map +1 -0
  11. package/bizar-dash/dist/assets/{Alert-B6DjfRFI.js → Alert-MwVEymjy.js} +1 -1
  12. package/bizar-dash/dist/assets/{Alert-B6DjfRFI.js.map → Alert-MwVEymjy.js.map} +1 -1
  13. package/bizar-dash/dist/assets/{ArtifactsView-znhN8GTR.js → ArtifactsView-B-YUwZyb.js} +1 -1
  14. package/bizar-dash/dist/assets/{ArtifactsView-znhN8GTR.js.map → ArtifactsView-B-YUwZyb.js.map} +1 -1
  15. package/bizar-dash/dist/assets/{AuthView-Rk8eKUPr.js → AuthView-LaQuGo4u.js} +1 -1
  16. package/bizar-dash/dist/assets/{AuthView-Rk8eKUPr.js.map → AuthView-LaQuGo4u.js.map} +1 -1
  17. package/bizar-dash/dist/assets/{Avatar-B41upSD1.js → Avatar-Dg4OF4RD.js} +1 -1
  18. package/bizar-dash/dist/assets/{Avatar-B41upSD1.js.map → Avatar-Dg4OF4RD.js.map} +1 -1
  19. package/bizar-dash/dist/assets/{BackgroundJobsView-BLWuN9qz.js → BackgroundJobsView-CO3DEG8R.js} +1 -1
  20. package/bizar-dash/dist/assets/{BackgroundJobsView-BLWuN9qz.js.map → BackgroundJobsView-CO3DEG8R.js.map} +1 -1
  21. package/bizar-dash/dist/assets/{BackupView-CqbtcnuQ.js → BackupView-Cjf23ZWc.js} +1 -1
  22. package/bizar-dash/dist/assets/{BackupView-CqbtcnuQ.js.map → BackupView-Cjf23ZWc.js.map} +1 -1
  23. package/bizar-dash/dist/assets/{Card-rF59wHiO.js → Card-BmXiT4c6.js} +1 -1
  24. package/bizar-dash/dist/assets/{Card-rF59wHiO.js.map → Card-BmXiT4c6.js.map} +1 -1
  25. package/bizar-dash/dist/assets/ChatView-DXKFwvgp.js +9 -0
  26. package/bizar-dash/dist/assets/ChatView-DXKFwvgp.js.map +1 -0
  27. package/bizar-dash/dist/assets/{Chip-Dc2KmeWl.js → Chip-Dei66BLx.js} +1 -1
  28. package/bizar-dash/dist/assets/{Chip-Dc2KmeWl.js.map → Chip-Dei66BLx.js.map} +1 -1
  29. package/bizar-dash/dist/assets/{ClaudeSessionsView-CiaHQdDZ.js → ClaudeSessionsView-D-YNmzKi.js} +1 -1
  30. package/bizar-dash/dist/assets/{ClaudeSessionsView-CiaHQdDZ.js.map → ClaudeSessionsView-D-YNmzKi.js.map} +1 -1
  31. package/bizar-dash/dist/assets/{ClipboardView-DdP6aVso.js → ClipboardView-BA323V2J.js} +1 -1
  32. package/bizar-dash/dist/assets/{ClipboardView-DdP6aVso.js.map → ClipboardView-BA323V2J.js.map} +1 -1
  33. package/bizar-dash/dist/assets/{ConfigView-B2ysnTZU.js → ConfigView-BMBgifw5.js} +1 -1
  34. package/bizar-dash/dist/assets/{ConfigView-B2ysnTZU.js.map → ConfigView-BMBgifw5.js.map} +1 -1
  35. package/bizar-dash/dist/assets/DiagnosticsView-C0sdqhEl.js +2 -0
  36. package/bizar-dash/dist/assets/DiagnosticsView-C0sdqhEl.js.map +1 -0
  37. package/bizar-dash/dist/assets/{DialogsView-BcqDDCZQ.js → DialogsView-DzTnyX8K.js} +1 -1
  38. package/bizar-dash/dist/assets/{DialogsView-BcqDDCZQ.js.map → DialogsView-DzTnyX8K.js.map} +1 -1
  39. package/bizar-dash/dist/assets/{DoctorView-BQwqvMAh.js → DoctorView-CiFwRMW0.js} +1 -1
  40. package/bizar-dash/dist/assets/{DoctorView-BQwqvMAh.js.map → DoctorView-CiFwRMW0.js.map} +1 -1
  41. package/bizar-dash/dist/assets/{EmptyState-D65J5FQN.js → EmptyState-CdDQmfEL.js} +1 -1
  42. package/bizar-dash/dist/assets/{EmptyState-D65J5FQN.js.map → EmptyState-CdDQmfEL.js.map} +1 -1
  43. package/bizar-dash/dist/assets/{EnvVarsView-DX-3oGH-.js → EnvVarsView-CNO03NDJ.js} +1 -1
  44. package/bizar-dash/dist/assets/{EnvVarsView-DX-3oGH-.js.map → EnvVarsView-CNO03NDJ.js.map} +1 -1
  45. package/bizar-dash/dist/assets/{ErrorState-DULZnttJ.js → ErrorState-BRvj8qZZ.js} +1 -1
  46. package/bizar-dash/dist/assets/{ErrorState-DULZnttJ.js.map → ErrorState-BRvj8qZZ.js.map} +1 -1
  47. package/bizar-dash/dist/assets/{EvalView-CpdFu_ID.js → EvalView-lgUhlGJh.js} +1 -1
  48. package/bizar-dash/dist/assets/{EvalView-CpdFu_ID.js.map → EvalView-lgUhlGJh.js.map} +1 -1
  49. package/bizar-dash/dist/assets/{GoalsView-Br8oPPfb.js → GoalsView-DmkCCs9i.js} +1 -1
  50. package/bizar-dash/dist/assets/{GoalsView-Br8oPPfb.js.map → GoalsView-DmkCCs9i.js.map} +1 -1
  51. package/bizar-dash/dist/assets/{Grid-BSXhsCPC.js → Grid-BThCPJaV.js} +1 -1
  52. package/bizar-dash/dist/assets/{Grid-BSXhsCPC.js.map → Grid-BThCPJaV.js.map} +1 -1
  53. package/bizar-dash/dist/assets/{HistoryView-D0J3aoZF.js → HistoryView-Cn2cPiHZ.js} +1 -1
  54. package/bizar-dash/dist/assets/{HistoryView-D0J3aoZF.js.map → HistoryView-Cn2cPiHZ.js.map} +1 -1
  55. package/bizar-dash/dist/assets/{Input-CZmRw5QX.js → Input-cAQOvR8U.js} +1 -1
  56. package/bizar-dash/dist/assets/{Input-CZmRw5QX.js.map → Input-cAQOvR8U.js.map} +1 -1
  57. package/bizar-dash/dist/assets/LibrariesView-Ca_PRjUm.js +6 -0
  58. package/bizar-dash/dist/assets/{LibrariesView-B1YX9wzp.js.map → LibrariesView-Ca_PRjUm.js.map} +1 -1
  59. package/bizar-dash/dist/assets/{LightRAGView-CykR0t9y.js → LightRAGView-CMk9wOae.js} +1 -1
  60. package/bizar-dash/dist/assets/{LightRAGView-CykR0t9y.js.map → LightRAGView-CMk9wOae.js.map} +1 -1
  61. package/bizar-dash/dist/assets/{ListHeader-Dpun-r36.js → ListHeader-BLAeshe0.js} +1 -1
  62. package/bizar-dash/dist/assets/{ListHeader-Dpun-r36.js.map → ListHeader-BLAeshe0.js.map} +1 -1
  63. package/bizar-dash/dist/assets/{MemoryView-BbER5ZKt.js → MemoryView-wo2Pu7xQ.js} +1 -1
  64. package/bizar-dash/dist/assets/{MemoryView-BbER5ZKt.js.map → MemoryView-wo2Pu7xQ.js.map} +1 -1
  65. package/bizar-dash/dist/assets/{MessageBubble-5vUAquDx.js → MessageBubble-CrCJ0SYG.js} +1 -1
  66. package/bizar-dash/dist/assets/{MessageBubble-5vUAquDx.js.map → MessageBubble-CrCJ0SYG.js.map} +1 -1
  67. package/bizar-dash/dist/assets/{MiscView-DLNEGdML.js → MiscView-fBT1TOXC.js} +1 -1
  68. package/bizar-dash/dist/assets/{MiscView-DLNEGdML.js.map → MiscView-fBT1TOXC.js.map} +1 -1
  69. package/bizar-dash/dist/assets/{ModsView-P7gDeNHM.js → ModsView-CV_RxdzJ.js} +1 -1
  70. package/bizar-dash/dist/assets/{ModsView-P7gDeNHM.js.map → ModsView-CV_RxdzJ.js.map} +1 -1
  71. package/bizar-dash/dist/assets/{NotificationsView-DAm2O0yf.js → NotificationsView-BKAZLxM2.js} +1 -1
  72. package/bizar-dash/dist/assets/{NotificationsView-DAm2O0yf.js.map → NotificationsView-BKAZLxM2.js.map} +1 -1
  73. package/bizar-dash/dist/assets/{ObsidianView-Ci80gnwS.js → ObsidianView-C-AvHfpT.js} +1 -1
  74. package/bizar-dash/dist/assets/{ObsidianView-Ci80gnwS.js.map → ObsidianView-C-AvHfpT.js.map} +1 -1
  75. package/bizar-dash/dist/assets/{OverviewView-rriw1GjA.js → OverviewView-CKYzZJe3.js} +1 -1
  76. package/bizar-dash/dist/assets/{OverviewView-rriw1GjA.js.map → OverviewView-CKYzZJe3.js.map} +1 -1
  77. package/bizar-dash/dist/assets/{ProgressBar-BahmeJhP.js → ProgressBar-ya2PCj8L.js} +1 -1
  78. package/bizar-dash/dist/assets/{ProgressBar-BahmeJhP.js.map → ProgressBar-ya2PCj8L.js.map} +1 -1
  79. package/bizar-dash/dist/assets/ProjectsView-N9zqFZ_O.js +11 -0
  80. package/bizar-dash/dist/assets/ProjectsView-N9zqFZ_O.js.map +1 -0
  81. package/bizar-dash/dist/assets/{ProvidersView-BftGn8Cr.js → ProvidersView-BcL8jjwK.js} +1 -1
  82. package/bizar-dash/dist/assets/{ProvidersView-BftGn8Cr.js.map → ProvidersView-BcL8jjwK.js.map} +1 -1
  83. package/bizar-dash/dist/assets/{SchedulesView-CtNxtzN6.js → SchedulesView-8qxH3bg7.js} +1 -1
  84. package/bizar-dash/dist/assets/{SchedulesView-CtNxtzN6.js.map → SchedulesView-8qxH3bg7.js.map} +1 -1
  85. package/bizar-dash/dist/assets/{Select-0VcfTDeL.js → Select-D5AuVxxV.js} +1 -1
  86. package/bizar-dash/dist/assets/{Select-0VcfTDeL.js.map → Select-D5AuVxxV.js.map} +1 -1
  87. package/bizar-dash/dist/assets/{SettingsRow-BLic3DQl.js → SettingsRow-BBALf9dA.js} +1 -1
  88. package/bizar-dash/dist/assets/{SettingsRow-BLic3DQl.js.map → SettingsRow-BBALf9dA.js.map} +1 -1
  89. package/bizar-dash/dist/assets/{SettingsView-BjS3i4nr.js → SettingsView-UD403neY.js} +1 -1
  90. package/bizar-dash/dist/assets/{SettingsView-BjS3i4nr.js.map → SettingsView-UD403neY.js.map} +1 -1
  91. package/bizar-dash/dist/assets/{Sheet-BOProMs2.js → Sheet-CxXf6gvC.js} +1 -1
  92. package/bizar-dash/dist/assets/{Sheet-BOProMs2.js.map → Sheet-CxXf6gvC.js.map} +1 -1
  93. package/bizar-dash/dist/assets/{Slider-B0eLEEUt.js → Slider-hvaVD_SW.js} +1 -1
  94. package/bizar-dash/dist/assets/{Slider-B0eLEEUt.js.map → Slider-hvaVD_SW.js.map} +1 -1
  95. package/bizar-dash/dist/assets/{Sparkline-SSrdgyW0.js → Sparkline-DqmQzdJH.js} +1 -1
  96. package/bizar-dash/dist/assets/{Sparkline-SSrdgyW0.js.map → Sparkline-DqmQzdJH.js.map} +1 -1
  97. package/bizar-dash/dist/assets/{Switch-B3EQzb_q.js → Switch-C-_zcNdl.js} +1 -1
  98. package/bizar-dash/dist/assets/{Switch-B3EQzb_q.js.map → Switch-C-_zcNdl.js.map} +1 -1
  99. package/bizar-dash/dist/assets/{TasksView-SWjF_ZUQ.js → TasksView-DseftDlx.js} +1 -1
  100. package/bizar-dash/dist/assets/{TasksView-SWjF_ZUQ.js.map → TasksView-DseftDlx.js.map} +1 -1
  101. package/bizar-dash/dist/assets/{Textarea-QuofpMlq.js → Textarea-CcQGSgSH.js} +1 -1
  102. package/bizar-dash/dist/assets/{Textarea-QuofpMlq.js.map → Textarea-CcQGSgSH.js.map} +1 -1
  103. package/bizar-dash/dist/assets/{UpdateView-CEHW2nd6.js → UpdateView-B9Lh4svM.js} +1 -1
  104. package/bizar-dash/dist/assets/{UpdateView-CEHW2nd6.js.map → UpdateView-B9Lh4svM.js.map} +1 -1
  105. package/bizar-dash/dist/assets/{UsageView-BqOw6FBg.js → UsageView-P5_pQ68d.js} +1 -1
  106. package/bizar-dash/dist/assets/{UsageView-BqOw6FBg.js.map → UsageView-P5_pQ68d.js.map} +1 -1
  107. package/bizar-dash/dist/assets/{ViewHeader-B6P-C4GD.js → ViewHeader-BaCWNuVX.js} +1 -1
  108. package/bizar-dash/dist/assets/{ViewHeader-B6P-C4GD.js.map → ViewHeader-BaCWNuVX.js.map} +1 -1
  109. package/bizar-dash/dist/assets/{VoiceView-CwrPwWgi.js → VoiceView-BwR9gm5e.js} +1 -1
  110. package/bizar-dash/dist/assets/{VoiceView-CwrPwWgi.js.map → VoiceView-BwR9gm5e.js.map} +1 -1
  111. package/bizar-dash/dist/assets/{brain-CwZt9Kta.js → brain-D6tAeUDE.js} +1 -1
  112. package/bizar-dash/dist/assets/{brain-CwZt9Kta.js.map → brain-D6tAeUDE.js.map} +1 -1
  113. package/bizar-dash/dist/assets/{calendar-C5oK0_nM.js → calendar-BrMJf3vl.js} +1 -1
  114. package/bizar-dash/dist/assets/{calendar-C5oK0_nM.js.map → calendar-BrMJf3vl.js.map} +1 -1
  115. package/bizar-dash/dist/assets/{circle-alert-HdHe7m8K.js → circle-alert-D7jn06kH.js} +1 -1
  116. package/bizar-dash/dist/assets/{circle-alert-HdHe7m8K.js.map → circle-alert-D7jn06kH.js.map} +1 -1
  117. package/bizar-dash/dist/assets/{circle-check-Cs-xoV7R.js → circle-check-DHs37Sot.js} +1 -1
  118. package/bizar-dash/dist/assets/{circle-check-Cs-xoV7R.js.map → circle-check-DHs37Sot.js.map} +1 -1
  119. package/bizar-dash/dist/assets/{circle-D1Lc_P2a.js → circle-fPTATiOs.js} +1 -1
  120. package/bizar-dash/dist/assets/{circle-D1Lc_P2a.js.map → circle-fPTATiOs.js.map} +1 -1
  121. package/bizar-dash/dist/assets/{clock-DEIuPV60.js → clock-E-G5aGua.js} +1 -1
  122. package/bizar-dash/dist/assets/{clock-DEIuPV60.js.map → clock-E-G5aGua.js.map} +1 -1
  123. package/bizar-dash/dist/assets/{cmdk-DVxytz9i.js → cmdk-C3F6LD6N.js} +5 -5
  124. package/bizar-dash/dist/assets/{cmdk-DVxytz9i.js.map → cmdk-C3F6LD6N.js.map} +1 -1
  125. package/bizar-dash/dist/assets/{dnd-kit-DrHErSkw.js → dnd-kit-BAOLODOI.js} +1 -1
  126. package/bizar-dash/dist/assets/{dnd-kit-DrHErSkw.js.map → dnd-kit-BAOLODOI.js.map} +1 -1
  127. package/bizar-dash/dist/assets/{download-Clkq90Ct.js → download-DBkNb6oI.js} +1 -1
  128. package/bizar-dash/dist/assets/{download-Clkq90Ct.js.map → download-DBkNb6oI.js.map} +1 -1
  129. package/bizar-dash/dist/assets/{external-link-D5tq2o_I.js → external-link-C4pHGbz2.js} +1 -1
  130. package/bizar-dash/dist/assets/{external-link-D5tq2o_I.js.map → external-link-C4pHGbz2.js.map} +1 -1
  131. package/bizar-dash/dist/assets/{file-text-CQ12t7Oc.js → file-text-CEhDgLq2.js} +1 -1
  132. package/bizar-dash/dist/assets/{file-text-CQ12t7Oc.js.map → file-text-CEhDgLq2.js.map} +1 -1
  133. package/bizar-dash/dist/assets/{filter-BcbE37wP.js → filter-CEYjeWFX.js} +1 -1
  134. package/bizar-dash/dist/assets/{filter-BcbE37wP.js.map → filter-CEYjeWFX.js.map} +1 -1
  135. package/bizar-dash/dist/assets/{git-pull-request-D1qNDRia.js → git-pull-request-Bo_wBZZw.js} +1 -1
  136. package/bizar-dash/dist/assets/{git-pull-request-D1qNDRia.js.map → git-pull-request-Bo_wBZZw.js.map} +1 -1
  137. package/bizar-dash/dist/assets/{index-CASP1n-5.js → index-B1OIS316.js} +1 -1
  138. package/bizar-dash/dist/assets/{index-CASP1n-5.js.map → index-B1OIS316.js.map} +1 -1
  139. package/bizar-dash/dist/assets/{index-C4Vq_2LM.js → index-CR0TeJmc.js} +1 -1
  140. package/bizar-dash/dist/assets/{index-C4Vq_2LM.js.map → index-CR0TeJmc.js.map} +1 -1
  141. package/bizar-dash/dist/assets/main-BZMmD6a8.js +249 -0
  142. package/bizar-dash/dist/assets/main-BZMmD6a8.js.map +1 -0
  143. package/bizar-dash/dist/assets/{main-CcQfRfIJ.css → main-DDAMz_H5.css} +1 -1
  144. package/bizar-dash/dist/assets/{network-DJdvVaHx.js → network-BsfwrUA-.js} +1 -1
  145. package/bizar-dash/dist/assets/{network-DJdvVaHx.js.map → network-BsfwrUA-.js.map} +1 -1
  146. package/bizar-dash/dist/assets/{pause-DUn9L5PB.js → pause-C8PN1_yO.js} +1 -1
  147. package/bizar-dash/dist/assets/{pause-DUn9L5PB.js.map → pause-C8PN1_yO.js.map} +1 -1
  148. package/bizar-dash/dist/assets/{pencil-DVrBlYV3.js → pencil---XuvKlz.js} +1 -1
  149. package/bizar-dash/dist/assets/{pencil-DVrBlYV3.js.map → pencil---XuvKlz.js.map} +1 -1
  150. package/bizar-dash/dist/assets/{play-CZjsr3XM.js → play-fMLPTihK.js} +1 -1
  151. package/bizar-dash/dist/assets/{play-CZjsr3XM.js.map → play-fMLPTihK.js.map} +1 -1
  152. package/bizar-dash/dist/assets/{plug-BKuyIe5W.js → plug-CG8al2Kq.js} +1 -1
  153. package/bizar-dash/dist/assets/{plug-BKuyIe5W.js.map → plug-CG8al2Kq.js.map} +1 -1
  154. package/bizar-dash/dist/assets/{plus-77h62zZm.js → plus-uA5Ecuch.js} +1 -1
  155. package/bizar-dash/dist/assets/{plus-77h62zZm.js.map → plus-uA5Ecuch.js.map} +1 -1
  156. package/bizar-dash/dist/assets/{power-DLmx-gCP.js → power-DSUlNIuR.js} +1 -1
  157. package/bizar-dash/dist/assets/{power-DLmx-gCP.js.map → power-DSUlNIuR.js.map} +1 -1
  158. package/bizar-dash/dist/assets/{power-off-BFKzHXic.js → power-off-1CAQsHHy.js} +1 -1
  159. package/bizar-dash/dist/assets/{power-off-BFKzHXic.js.map → power-off-1CAQsHHy.js.map} +1 -1
  160. package/bizar-dash/dist/assets/{refresh-ccw-DenGBOcq.js → refresh-ccw-BL7B0NO1.js} +1 -1
  161. package/bizar-dash/dist/assets/{refresh-ccw-DenGBOcq.js.map → refresh-ccw-BL7B0NO1.js.map} +1 -1
  162. package/bizar-dash/dist/assets/{refresh-cw-ENBVR8hW.js → refresh-cw-CR9BzJik.js} +1 -1
  163. package/bizar-dash/dist/assets/{refresh-cw-ENBVR8hW.js.map → refresh-cw-CR9BzJik.js.map} +1 -1
  164. package/bizar-dash/dist/assets/{rotate-ccw-MxryaY7q.js → rotate-ccw-BtnitLfb.js} +1 -1
  165. package/bizar-dash/dist/assets/{rotate-ccw-MxryaY7q.js.map → rotate-ccw-BtnitLfb.js.map} +1 -1
  166. package/bizar-dash/dist/assets/{rotate-cw-CDOlRtUR.js → rotate-cw-CHgXCO7O.js} +1 -1
  167. package/bizar-dash/dist/assets/{rotate-cw-CDOlRtUR.js.map → rotate-cw-CHgXCO7O.js.map} +1 -1
  168. package/bizar-dash/dist/assets/{save-Db1b-1Uq.js → save-RcZOXR0U.js} +1 -1
  169. package/bizar-dash/dist/assets/{save-Db1b-1Uq.js.map → save-RcZOXR0U.js.map} +1 -1
  170. package/bizar-dash/dist/assets/{send-yz6HFZM5.js → send-Bg2X_ibk.js} +1 -1
  171. package/bizar-dash/dist/assets/{send-yz6HFZM5.js.map → send-Bg2X_ibk.js.map} +1 -1
  172. package/bizar-dash/dist/assets/{shield-alert-DY6RAaC8.js → shield-alert-Dm48D034.js} +1 -1
  173. package/bizar-dash/dist/assets/{shield-alert-DY6RAaC8.js.map → shield-alert-Dm48D034.js.map} +1 -1
  174. package/bizar-dash/dist/assets/{trash-2-Cv7U38jw.js → trash-2-B885GY46.js} +1 -1
  175. package/bizar-dash/dist/assets/{trash-2-Cv7U38jw.js.map → trash-2-B885GY46.js.map} +1 -1
  176. package/bizar-dash/dist/assets/{trending-up-CRPNagyX.js → trending-up-CqUBvVxw.js} +1 -1
  177. package/bizar-dash/dist/assets/{trending-up-CRPNagyX.js.map → trending-up-CqUBvVxw.js.map} +1 -1
  178. package/bizar-dash/dist/assets/{triangle-alert-tUTXbcEP.js → triangle-alert-DLmUhymD.js} +1 -1
  179. package/bizar-dash/dist/assets/{triangle-alert-tUTXbcEP.js.map → triangle-alert-DLmUhymD.js.map} +1 -1
  180. package/bizar-dash/dist/assets/{upload-Cq7uTsrT.js → upload-C-oafpyE.js} +1 -1
  181. package/bizar-dash/dist/assets/{upload-Cq7uTsrT.js.map → upload-C-oafpyE.js.map} +1 -1
  182. package/bizar-dash/dist/assets/{zap-5lAQBAPX.js → zap-O_4Ys_hh.js} +1 -1
  183. package/bizar-dash/dist/assets/{zap-5lAQBAPX.js.map → zap-O_4Ys_hh.js.map} +1 -1
  184. package/bizar-dash/dist/index.html +3 -3
  185. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  186. package/bizar-dash/src/server/api.mjs +0 -4
  187. package/bizar-dash/src/server/routes/audit.mjs +2 -1
  188. package/bizar-dash/src/web/v8/App.tsx +62 -2
  189. package/bizar-dash/src/web/v8/__tests__/chat-view.test.tsx +4 -4
  190. package/bizar-dash/src/web/v8/shell/AppShell.tsx +38 -2
  191. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +44 -33
  192. package/bizar-dash/src/web/v8/shell/Topbar.tsx +5 -2
  193. package/bizar-dash/src/web/v8/ui/styles/globals.css +26 -0
  194. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +26 -1
  195. package/bizar-dash/src/web/v8/views/Chat/ChatView.tsx +13 -1
  196. package/bizar-dash/src/web/v8/views/ClaudeSessions/NewSessionModal.tsx +136 -0
  197. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +14 -4
  198. package/bizar-dash/src/web/v8/views/Diagnostics/DiagnosticsView.tsx +50 -7
  199. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +6 -1
  200. package/bizar-dash/src/web/v8/views/Projects/ProjectsView.tsx +21 -1
  201. package/bizar-dash/tests/admin-labels.test.mjs +42 -0
  202. package/bizar-dash/tests/agents-summary-sanitize.test.ts +51 -0
  203. package/bizar-dash/tests/chat-new-session.test.mjs +63 -0
  204. package/bizar-dash/tests/kanban-empty-column.test.mjs +56 -0
  205. package/bizar-dash/tests/library-dedupe.test.mjs +62 -0
  206. package/bizar-dash/tests/projects-filter.test.mjs +48 -0
  207. package/bizar-dash/tests/settings-labels.test.mjs +80 -0
  208. package/bizar-dash/tests/sidebar-responsive.test.tsx +48 -0
  209. package/bizar-dash/tests/sidebar-section-toggle.test.tsx +63 -0
  210. package/package.json +1 -1
  211. package/packages/sdk/package.json +1 -1
  212. package/bizar-dash/dist/assets/AgentsView-Du-G_skK.js +0 -13
  213. package/bizar-dash/dist/assets/AgentsView-Du-G_skK.js.map +0 -1
  214. package/bizar-dash/dist/assets/ChatView-CUriVEgU.js +0 -9
  215. package/bizar-dash/dist/assets/ChatView-CUriVEgU.js.map +0 -1
  216. package/bizar-dash/dist/assets/DiagnosticsView-88OZ5k0f.js +0 -2
  217. package/bizar-dash/dist/assets/DiagnosticsView-88OZ5k0f.js.map +0 -1
  218. package/bizar-dash/dist/assets/LibrariesView-B1YX9wzp.js +0 -6
  219. package/bizar-dash/dist/assets/ProjectsView-ChzM12bs.js +0 -11
  220. package/bizar-dash/dist/assets/ProjectsView-ChzM12bs.js.map +0 -1
  221. package/bizar-dash/dist/assets/main-Cxeu4LhG.js +0 -244
  222. package/bizar-dash/dist/assets/main-Cxeu4LhG.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LightRAGView-CykR0t9y.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-play.js","../../src/web/v8/views/LightRAG/LightRAGView.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CirclePlay = createLucideIcon(\"CirclePlay\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polygon\", { points: \"10 8 16 12 10 16 10 8\", key: \"1cimsy\" }]\n]);\n\nexport { CirclePlay as default };\n//# sourceMappingURL=circle-play.js.map\n","/**\n * v8/views/LightRAG/LightRAGView.tsx — Sprint S43, v9.3.0.\n *\n * Defaults override form (GET/PUT /api/lightrag/defaults), runtime\n * status (GET /api/lightrag/status: running, pid, host:port, log\n * tail), and an Autostart trigger (POST /api/lightrag/autostart).\n */\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Database, RefreshCcw, Save, PlayCircle, Circle } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Input } from '../../ui/controls/Input.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\n\ninterface Defaults {\n llm: string;\n embedding: string;\n source?: string;\n llmSource?: string;\n embeddingSource?: string;\n builtin?: { llm: string; embedding: string };\n envVars?: { BIZAR_LIGHTRAG_LLM: string | null; BIZAR_LIGHTRAG_EMBEDDING: string | null };\n}\n\ninterface Status {\n running: boolean;\n pid: number | null;\n host?: string;\n port?: number;\n llmBinding?: string;\n embeddingBinding?: string;\n llmModel?: string;\n embeddingModel?: string;\n logSize?: number;\n logTail?: string[];\n}\n\nexport function LightRAGView(): JSX.Element {\n const defaultsPayload = useFetch<Defaults>('/api/lightrag/defaults');\n const statusPayload = useFetch<Status>('/api/lightrag/status');\n const [llm, setLlm] = useState<string>('');\n const [embedding, setEmbedding] = useState<string>('');\n const [busy, setBusy] = useState<boolean>(false);\n const [saved, setSaved] = useState<boolean>(false);\n const [autostarting, setAutostarting] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (defaultsPayload.data) {\n setLlm(defaultsPayload.data.llm ?? '');\n setEmbedding(defaultsPayload.data.embedding ?? '');\n }\n }, [defaultsPayload.data]);\n\n const refresh = useCallback(() => { void defaultsPayload.refetch(); void statusPayload.refetch(); }, [defaultsPayload, statusPayload]);\n\n const save = async (): Promise<void> => {\n setBusy(true);\n setError(null);\n setSaved(false);\n try {\n await fetchJson('/api/lightrag/defaults', { method: 'PUT', body: { llm, embedding } });\n setSaved(true);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n } finally {\n setBusy(false);\n }\n };\n\n const autostart = async (): Promise<void> => {\n setAutostarting(true);\n setError(null);\n try {\n await fetchJson('/api/lightrag/autostart', { method: 'POST' });\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n } finally {\n setAutostarting(false);\n }\n };\n\n const status = statusPayload.data;\n\n return (\n <Stack gap={4} data-testid=\"lightrag-view\">\n <ViewHeader\n title=\"LightRAG\"\n description=\"LightRAG defaults + runtime status + autostart.\"\n actions={\n <Inline align=\"center\" gap={2}>\n {error !== null && (\n <span role=\"alert\" data-testid=\"lightrag-error\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>{error}</span>\n )}\n <Button variant=\"ghost\" onClick={() => void refresh()} data-testid=\"lightrag-refresh\">\n <RefreshCcw size={14} aria-hidden /> Refresh\n </Button>\n <Button variant=\"primary\" onClick={() => void save()} disabled={busy} data-testid=\"lightrag-save\">\n <Save size={14} aria-hidden /> {busy ? 'Saving…' : 'Save'}\n </Button>\n </Inline>\n }\n />\n\n <Card variant=\"default\">\n <CardBody>\n <strong style={{ fontSize: 'var(--fs-13)' }}>Defaults</strong>\n {defaultsPayload.loading && defaultsPayload.data === null ? (\n <Skeleton style={{ height: 100, marginTop: 'var(--space-2)' }} />\n ) : (\n <Stack gap={2} style={{ marginTop: 'var(--space-2)' }}>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>LLM binding</span>\n <Input value={llm} onChange={(e) => setLlm((e.target as HTMLInputElement).value)} data-testid=\"lightrag-llm\" />\n </label>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Embedding binding</span>\n <Input value={embedding} onChange={(e) => setEmbedding((e.target as HTMLInputElement).value)} data-testid=\"lightrag-embedding\" />\n </label>\n {defaultsPayload.data?.builtin && (\n <Inline gap={2} style={{ fontSize: 'var(--fs-11)', color: 'var(--fg-subtle)' }}>\n <span>built-in:</span>\n <code>{defaultsPayload.data.builtin.llm}</code> /\n <code>{defaultsPayload.data.builtin.embedding}</code>\n </Inline>\n )}\n {saved && <span data-testid=\"lightrag-saved\" style={{ color: 'var(--success)', fontSize: 'var(--fs-12)' }}>Saved</span>}\n </Stack>\n )}\n </CardBody>\n </Card>\n\n <Card variant=\"default\">\n <CardBody>\n <Inline align=\"center\" justify=\"between\" gap={2}>\n <strong style={{ fontSize: 'var(--fs-13)' }}>Status</strong>\n <Inline align=\"center\" gap={2}>\n {status === null || status === undefined ? (\n <Skeleton style={{ width: 80, height: 14 }} />\n ) : status.running ? (\n <Inline align=\"center\" gap={1} data-testid=\"lightrag-running\">\n <Circle size={10} aria-hidden style={{ color: 'var(--success)', fill: 'var(--success)' }} />\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--success)' }}>running · pid {status.pid}</span>\n </Inline>\n ) : (\n <Inline align=\"center\" gap={1} data-testid=\"lightrag-stopped\">\n <Circle size={10} aria-hidden style={{ color: 'var(--fg-muted)', fill: 'var(--fg-muted)' }} />\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>stopped</span>\n </Inline>\n )}\n <Button variant=\"ghost\" onClick={() => void autostart()} disabled={autostarting} data-testid=\"lightrag-autostart\">\n <PlayCircle size={14} aria-hidden /> {autostarting ? 'Starting…' : 'Autostart'}\n </Button>\n </Inline>\n </Inline>\n {status && (\n <Stack gap={1} style={{ marginTop: 'var(--space-2)', fontSize: 'var(--fs-12)' }}>\n <Inline gap={2}>\n <Database size={12} aria-hidden style={{ color: 'var(--fg-muted)' }} />\n <code>{status.host}:{status.port}</code>\n {status.llmBinding && <span style={{ color: 'var(--fg-muted)' }}>· llm: <code>{status.llmBinding}</code></span>}\n {status.embeddingBinding && <span style={{ color: 'var(--fg-muted)' }}>· embedding: <code>{status.embeddingBinding}</code></span>}\n </Inline>\n {status.logTail && status.logTail.length > 0 && (\n <div data-testid=\"lightrag-log\" style={{ background: 'var(--surface-1)', borderRadius: 'var(--radius-sm)', padding: 'var(--space-2)', fontFamily: 'var(--font-mono)', fontSize: 'var(--fs-11)', maxHeight: 160, overflow: 'auto' }}>\n {status.logTail.filter(Boolean).slice(-10).map((l, i) => (<div key={i}>{l}</div>))}\n </div>\n )}\n </Stack>\n )}\n </CardBody>\n </Card>\n </Stack>\n );\n}"],"names":["CirclePlay","createLucideIcon","LightRAGView","defaultsPayload","useFetch","statusPayload","llm","setLlm","useState","embedding","setEmbedding","busy","setBusy","saved","setSaved","autostarting","setAutostarting","error","setError","useEffect","refresh","useCallback","save","fetchJson","err","FetchError","autostart","status","jsxs","Stack","jsx","ViewHeader","Inline","Button","RefreshCcw","Save","Card","CardBody","Skeleton","Input","e","_a","Circle","PlayCircle","Database","l","i"],"mappings":"8YAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAMA,EAAaC,EAAiB,aAAc,CAChD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,UAAW,CAAE,OAAQ,wBAAyB,IAAK,QAAQ,CAAE,CAChE,CAAC,EC+BM,SAASC,GAA4B,OAC1C,MAAMC,EAAkBC,EAAmB,wBAAwB,EAC7DC,EAAgBD,EAAiB,sBAAsB,EACvD,CAACE,EAAKC,CAAM,EAAIC,EAAAA,SAAiB,EAAE,EACnC,CAACC,EAAWC,CAAY,EAAIF,EAAAA,SAAiB,EAAE,EAC/C,CAACG,EAAMC,CAAO,EAAIJ,EAAAA,SAAkB,EAAK,EACzC,CAACK,EAAOC,CAAQ,EAAIN,EAAAA,SAAkB,EAAK,EAC3C,CAACO,EAAcC,CAAe,EAAIR,EAAAA,SAAkB,EAAK,EACzD,CAACS,EAAOC,CAAQ,EAAIV,EAAAA,SAAwB,IAAI,EAEtDW,EAAAA,UAAU,IAAM,CACVhB,EAAgB,OAClBI,EAAOJ,EAAgB,KAAK,KAAO,EAAE,EACrCO,EAAaP,EAAgB,KAAK,WAAa,EAAE,EAErD,EAAG,CAACA,EAAgB,IAAI,CAAC,EAEzB,MAAMiB,EAAUC,EAAAA,YAAY,IAAM,CAAOlB,EAAgB,QAAA,EAAgBE,EAAc,QAAA,CAAW,EAAG,CAACF,EAAiBE,CAAa,CAAC,EAE/HiB,EAAO,SAA2B,CACtCV,EAAQ,EAAI,EACZM,EAAS,IAAI,EACbJ,EAAS,EAAK,EACd,GAAI,CACF,MAAMS,EAAU,yBAA0B,CAAE,OAAQ,MAAO,KAAM,CAAE,IAAAjB,EAAK,UAAAG,CAAA,EAAa,EACrFK,EAAS,EAAI,EACbM,EAAA,CACF,OAASI,EAAK,CACZN,GAASM,aAAeC,EAAaD,EAAI,QAAgC,CAC3E,QAAA,CACEZ,EAAQ,EAAK,CACf,CACF,EAEMc,EAAY,SAA2B,CAC3CV,EAAgB,EAAI,EACpBE,EAAS,IAAI,EACb,GAAI,CACF,MAAMK,EAAU,0BAA2B,CAAE,OAAQ,OAAQ,EAC7DH,EAAA,CACF,OAASI,EAAK,CACZN,GAASM,aAAeC,EAAaD,EAAI,QAAgC,CAC3E,QAAA,CACER,EAAgB,EAAK,CACvB,CACF,EAEMW,EAAStB,EAAc,KAE7B,OACEuB,EAAAA,KAACC,EAAA,CAAM,IAAK,EAAG,cAAY,gBACzB,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACC,MAAM,WACN,YAAY,kDACZ,QACEH,EAAAA,KAACI,EAAA,CAAO,MAAM,SAAS,IAAK,EACzB,SAAA,CAAAf,IAAU,MACTa,MAAC,OAAA,CAAK,KAAK,QAAQ,cAAY,iBAAiB,MAAO,CAAE,MAAO,gBAAiB,SAAU,gBAAmB,SAAAb,EAAM,EAEtHW,EAAAA,KAACK,EAAA,CAAO,QAAQ,QAAQ,QAAS,IAAM,KAAKb,EAAA,EAAW,cAAY,mBACjE,SAAA,CAAAU,EAAAA,IAACI,EAAA,CAAW,KAAM,GAAI,cAAW,GAAC,EAAE,UAAA,EACtC,EACAN,EAAAA,KAACK,EAAA,CAAO,QAAQ,UAAU,QAAS,IAAM,KAAKX,EAAA,EAAQ,SAAUX,EAAM,cAAY,gBAChF,SAAA,CAAAmB,EAAAA,IAACK,EAAA,CAAK,KAAM,GAAI,cAAW,GAAC,EAAE,IAAExB,EAAO,UAAY,MAAA,CAAA,CACrD,CAAA,CAAA,CACF,CAAA,CAAA,EAIJmB,MAACM,EAAA,CAAK,QAAQ,UACZ,gBAACC,EAAA,CACC,SAAA,CAAAP,MAAC,UAAO,MAAO,CAAE,SAAU,cAAA,EAAkB,SAAA,WAAQ,EACpD3B,EAAgB,SAAWA,EAAgB,OAAS,KACnD2B,MAACQ,EAAA,CAAS,MAAO,CAAE,OAAQ,IAAK,UAAW,gBAAA,EAAoB,EAE/DV,OAACC,EAAA,CAAM,IAAK,EAAG,MAAO,CAAE,UAAW,gBAAA,EACjC,SAAA,CAAAD,EAAAA,KAAC,QAAA,CAAM,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,gBAAA,EAC7D,SAAA,CAAAE,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,iBAAA,EAAqB,SAAA,aAAA,CAAW,EAChFA,EAAAA,IAACS,EAAA,CAAM,MAAOjC,EAAK,SAAWkC,GAAMjC,EAAQiC,EAAE,OAA4B,KAAK,EAAG,cAAY,cAAA,CAAe,CAAA,EAC/G,EACAZ,EAAAA,KAAC,QAAA,CAAM,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,gBAAA,EAC7D,SAAA,CAAAE,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,iBAAA,EAAqB,SAAA,mBAAA,CAAiB,EACtFA,EAAAA,IAACS,EAAA,CAAM,MAAO9B,EAAW,SAAW+B,GAAM9B,EAAc8B,EAAE,OAA4B,KAAK,EAAG,cAAY,oBAAA,CAAqB,CAAA,EACjI,IACCC,EAAAtC,EAAgB,OAAhB,YAAAsC,EAAsB,UACrBb,EAAAA,KAACI,EAAA,CAAO,IAAK,EAAG,MAAO,CAAE,SAAU,eAAgB,MAAO,oBACxD,SAAA,CAAAF,EAAAA,IAAC,QAAK,SAAA,WAAA,CAAS,EACfA,EAAAA,IAAC,OAAA,CAAM,SAAA3B,EAAgB,KAAK,QAAQ,IAAI,EAAO,KAC/C2B,EAAAA,IAAC,OAAA,CAAM,SAAA3B,EAAgB,KAAK,QAAQ,SAAA,CAAU,CAAA,EAChD,EAEDU,GAASiB,EAAAA,IAAC,OAAA,CAAK,cAAY,iBAAiB,MAAO,CAAE,MAAO,iBAAkB,SAAU,cAAA,EAAkB,SAAA,OAAA,CAAK,CAAA,CAAA,CAClH,CAAA,CAAA,CAEJ,CAAA,CACF,EAEAA,MAACM,EAAA,CAAK,QAAQ,UACZ,gBAACC,EAAA,CACC,SAAA,CAAAT,OAACI,GAAO,MAAM,SAAS,QAAQ,UAAU,IAAK,EAC5C,SAAA,CAAAF,MAAC,UAAO,MAAO,CAAE,SAAU,cAAA,EAAkB,SAAA,SAAM,EACnDF,EAAAA,KAACI,EAAA,CAAO,MAAM,SAAS,IAAK,EACzB,SAAA,CAAAL,GAAW,KACVG,EAAAA,IAACQ,GAAS,MAAO,CAAE,MAAO,GAAI,OAAQ,EAAA,EAAM,EAC1CX,EAAO,QACTC,EAAAA,KAACI,EAAA,CAAO,MAAM,SAAS,IAAK,EAAG,cAAY,mBACzC,SAAA,CAAAF,EAAAA,IAACY,EAAA,CAAO,KAAM,GAAI,cAAW,GAAC,MAAO,CAAE,MAAO,iBAAkB,KAAM,gBAAA,CAAiB,CAAG,EAC1Fd,OAAC,QAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,kBAAoB,SAAA,CAAA,iBAAeD,EAAO,GAAA,CAAA,CAAI,CAAA,CAAA,CAChG,SAECK,EAAA,CAAO,MAAM,SAAS,IAAK,EAAG,cAAY,mBACzC,SAAA,CAAAF,EAAAA,IAACY,EAAA,CAAO,KAAM,GAAI,cAAW,GAAC,MAAO,CAAE,MAAO,kBAAmB,KAAM,iBAAA,CAAkB,CAAG,EAC5FZ,EAAAA,IAAC,QAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,iBAAA,EAAqB,SAAA,SAAA,CAAO,CAAA,EAC9E,EAEFF,EAAAA,KAACK,EAAA,CAAO,QAAQ,QAAQ,QAAS,IAAM,KAAKP,EAAA,EAAa,SAAUX,EAAc,cAAY,qBAC3F,SAAA,CAAAe,EAAAA,IAACa,EAAA,CAAW,KAAM,GAAI,cAAW,GAAC,EAAE,IAAE5B,EAAe,YAAc,WAAA,CAAA,CACrE,CAAA,CAAA,CACF,CAAA,EACF,EACCY,GACCC,EAAAA,KAACC,EAAA,CAAM,IAAK,EAAG,MAAO,CAAE,UAAW,iBAAkB,SAAU,cAAA,EAC7D,SAAA,CAAAD,EAAAA,KAACI,EAAA,CAAO,IAAK,EACX,SAAA,CAAAF,EAAAA,IAACc,EAAA,CAAS,KAAM,GAAI,cAAW,GAAC,MAAO,CAAE,MAAO,iBAAA,CAAkB,CAAG,SACpE,OAAA,CAAM,SAAA,CAAAjB,EAAO,KAAK,IAAEA,EAAO,IAAA,EAAK,EAChCA,EAAO,YAAcC,EAAAA,KAAC,OAAA,CAAK,MAAO,CAAE,MAAO,mBAAqB,SAAA,CAAA,UAAOE,EAAAA,IAAC,OAAA,CAAM,SAAAH,EAAO,UAAA,CAAW,CAAA,EAAO,EACvGA,EAAO,kBAAoBC,EAAAA,KAAC,OAAA,CAAK,MAAO,CAAE,MAAO,mBAAqB,SAAA,CAAA,gBAAaE,EAAAA,IAAC,OAAA,CAAM,SAAAH,EAAO,gBAAA,CAAiB,CAAA,CAAA,CAAO,CAAA,EAC5H,EACCA,EAAO,SAAWA,EAAO,QAAQ,OAAS,GACzCG,MAAC,OAAI,cAAY,eAAe,MAAO,CAAE,WAAY,mBAAoB,aAAc,mBAAoB,QAAS,iBAAkB,WAAY,mBAAoB,SAAU,eAAgB,UAAW,IAAK,SAAU,QACvN,SAAAH,EAAO,QAAQ,OAAO,OAAO,EAAE,MAAM,GAAG,EAAE,IAAI,CAACkB,EAAGC,IAAOhB,MAAC,OAAa,SAAAe,CAAA,EAAJC,CAAM,CAAO,CAAA,CACnF,CAAA,CAAA,CAEJ,CAAA,CAAA,CAEJ,CAAA,CACF,CAAA,EACF,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"LightRAGView-CMk9wOae.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-play.js","../../src/web/v8/views/LightRAG/LightRAGView.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CirclePlay = createLucideIcon(\"CirclePlay\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polygon\", { points: \"10 8 16 12 10 16 10 8\", key: \"1cimsy\" }]\n]);\n\nexport { CirclePlay as default };\n//# sourceMappingURL=circle-play.js.map\n","/**\n * v8/views/LightRAG/LightRAGView.tsx — Sprint S43, v9.3.0.\n *\n * Defaults override form (GET/PUT /api/lightrag/defaults), runtime\n * status (GET /api/lightrag/status: running, pid, host:port, log\n * tail), and an Autostart trigger (POST /api/lightrag/autostart).\n */\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Database, RefreshCcw, Save, PlayCircle, Circle } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Input } from '../../ui/controls/Input.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\n\ninterface Defaults {\n llm: string;\n embedding: string;\n source?: string;\n llmSource?: string;\n embeddingSource?: string;\n builtin?: { llm: string; embedding: string };\n envVars?: { BIZAR_LIGHTRAG_LLM: string | null; BIZAR_LIGHTRAG_EMBEDDING: string | null };\n}\n\ninterface Status {\n running: boolean;\n pid: number | null;\n host?: string;\n port?: number;\n llmBinding?: string;\n embeddingBinding?: string;\n llmModel?: string;\n embeddingModel?: string;\n logSize?: number;\n logTail?: string[];\n}\n\nexport function LightRAGView(): JSX.Element {\n const defaultsPayload = useFetch<Defaults>('/api/lightrag/defaults');\n const statusPayload = useFetch<Status>('/api/lightrag/status');\n const [llm, setLlm] = useState<string>('');\n const [embedding, setEmbedding] = useState<string>('');\n const [busy, setBusy] = useState<boolean>(false);\n const [saved, setSaved] = useState<boolean>(false);\n const [autostarting, setAutostarting] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (defaultsPayload.data) {\n setLlm(defaultsPayload.data.llm ?? '');\n setEmbedding(defaultsPayload.data.embedding ?? '');\n }\n }, [defaultsPayload.data]);\n\n const refresh = useCallback(() => { void defaultsPayload.refetch(); void statusPayload.refetch(); }, [defaultsPayload, statusPayload]);\n\n const save = async (): Promise<void> => {\n setBusy(true);\n setError(null);\n setSaved(false);\n try {\n await fetchJson('/api/lightrag/defaults', { method: 'PUT', body: { llm, embedding } });\n setSaved(true);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n } finally {\n setBusy(false);\n }\n };\n\n const autostart = async (): Promise<void> => {\n setAutostarting(true);\n setError(null);\n try {\n await fetchJson('/api/lightrag/autostart', { method: 'POST' });\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n } finally {\n setAutostarting(false);\n }\n };\n\n const status = statusPayload.data;\n\n return (\n <Stack gap={4} data-testid=\"lightrag-view\">\n <ViewHeader\n title=\"LightRAG\"\n description=\"LightRAG defaults + runtime status + autostart.\"\n actions={\n <Inline align=\"center\" gap={2}>\n {error !== null && (\n <span role=\"alert\" data-testid=\"lightrag-error\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>{error}</span>\n )}\n <Button variant=\"ghost\" onClick={() => void refresh()} data-testid=\"lightrag-refresh\">\n <RefreshCcw size={14} aria-hidden /> Refresh\n </Button>\n <Button variant=\"primary\" onClick={() => void save()} disabled={busy} data-testid=\"lightrag-save\">\n <Save size={14} aria-hidden /> {busy ? 'Saving…' : 'Save'}\n </Button>\n </Inline>\n }\n />\n\n <Card variant=\"default\">\n <CardBody>\n <strong style={{ fontSize: 'var(--fs-13)' }}>Defaults</strong>\n {defaultsPayload.loading && defaultsPayload.data === null ? (\n <Skeleton style={{ height: 100, marginTop: 'var(--space-2)' }} />\n ) : (\n <Stack gap={2} style={{ marginTop: 'var(--space-2)' }}>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>LLM binding</span>\n <Input value={llm} onChange={(e) => setLlm((e.target as HTMLInputElement).value)} data-testid=\"lightrag-llm\" />\n </label>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Embedding binding</span>\n <Input value={embedding} onChange={(e) => setEmbedding((e.target as HTMLInputElement).value)} data-testid=\"lightrag-embedding\" />\n </label>\n {defaultsPayload.data?.builtin && (\n <Inline gap={2} style={{ fontSize: 'var(--fs-11)', color: 'var(--fg-subtle)' }}>\n <span>built-in:</span>\n <code>{defaultsPayload.data.builtin.llm}</code> /\n <code>{defaultsPayload.data.builtin.embedding}</code>\n </Inline>\n )}\n {saved && <span data-testid=\"lightrag-saved\" style={{ color: 'var(--success)', fontSize: 'var(--fs-12)' }}>Saved</span>}\n </Stack>\n )}\n </CardBody>\n </Card>\n\n <Card variant=\"default\">\n <CardBody>\n <Inline align=\"center\" justify=\"between\" gap={2}>\n <strong style={{ fontSize: 'var(--fs-13)' }}>Status</strong>\n <Inline align=\"center\" gap={2}>\n {status === null || status === undefined ? (\n <Skeleton style={{ width: 80, height: 14 }} />\n ) : status.running ? (\n <Inline align=\"center\" gap={1} data-testid=\"lightrag-running\">\n <Circle size={10} aria-hidden style={{ color: 'var(--success)', fill: 'var(--success)' }} />\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--success)' }}>running · pid {status.pid}</span>\n </Inline>\n ) : (\n <Inline align=\"center\" gap={1} data-testid=\"lightrag-stopped\">\n <Circle size={10} aria-hidden style={{ color: 'var(--fg-muted)', fill: 'var(--fg-muted)' }} />\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>stopped</span>\n </Inline>\n )}\n <Button variant=\"ghost\" onClick={() => void autostart()} disabled={autostarting} data-testid=\"lightrag-autostart\">\n <PlayCircle size={14} aria-hidden /> {autostarting ? 'Starting…' : 'Autostart'}\n </Button>\n </Inline>\n </Inline>\n {status && (\n <Stack gap={1} style={{ marginTop: 'var(--space-2)', fontSize: 'var(--fs-12)' }}>\n <Inline gap={2}>\n <Database size={12} aria-hidden style={{ color: 'var(--fg-muted)' }} />\n <code>{status.host}:{status.port}</code>\n {status.llmBinding && <span style={{ color: 'var(--fg-muted)' }}>· llm: <code>{status.llmBinding}</code></span>}\n {status.embeddingBinding && <span style={{ color: 'var(--fg-muted)' }}>· embedding: <code>{status.embeddingBinding}</code></span>}\n </Inline>\n {status.logTail && status.logTail.length > 0 && (\n <div data-testid=\"lightrag-log\" style={{ background: 'var(--surface-1)', borderRadius: 'var(--radius-sm)', padding: 'var(--space-2)', fontFamily: 'var(--font-mono)', fontSize: 'var(--fs-11)', maxHeight: 160, overflow: 'auto' }}>\n {status.logTail.filter(Boolean).slice(-10).map((l, i) => (<div key={i}>{l}</div>))}\n </div>\n )}\n </Stack>\n )}\n </CardBody>\n </Card>\n </Stack>\n );\n}"],"names":["CirclePlay","createLucideIcon","LightRAGView","defaultsPayload","useFetch","statusPayload","llm","setLlm","useState","embedding","setEmbedding","busy","setBusy","saved","setSaved","autostarting","setAutostarting","error","setError","useEffect","refresh","useCallback","save","fetchJson","err","FetchError","autostart","status","jsxs","Stack","jsx","ViewHeader","Inline","Button","RefreshCcw","Save","Card","CardBody","Skeleton","Input","e","_a","Circle","PlayCircle","Database","l","i"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- import{r as f,j as e}from"./cmdk-DVxytz9i.js";import{g as x}from"./main-Cxeu4LhG.js";const g=f.forwardRef(function(l,d){const{title:n,count:a,sparkline:s,filters:r,actions:t,description:i,testid:o,className:c,...p}=l;return e.jsxs("div",{ref:d,"data-testid":o??"list-header",className:x("v8-list-header",c),style:{display:"flex",flexDirection:"column",gap:"var(--space-2)",marginBottom:"var(--space-2)"},...p,children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",flexWrap:"wrap"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",flex:1,minWidth:0},children:[e.jsx("h2",{style:{margin:0,fontSize:"var(--fs-16)",fontWeight:600},children:n}),a!=null&&e.jsx("span",{"data-testid":"list-header-count",style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",fontVariantNumeric:"tabular-nums",background:"var(--surface-1)",padding:"2px 8px",borderRadius:"var(--radius-pill)",border:"1px solid var(--border)"},children:a}),s!==void 0&&e.jsx("span",{"data-testid":"list-header-sparkline",children:s}),i!==void 0&&e.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)"},children:i})]}),t!==void 0&&e.jsx("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-1)",flexShrink:0},children:t})]}),r!==void 0&&e.jsx("div",{"data-testid":"list-header-filters",style:{display:"flex",alignItems:"center",gap:"var(--space-1)",flexWrap:"wrap"},children:r})]})});export{g as L};
1
+ import{r as f,j as e}from"./cmdk-C3F6LD6N.js";import{g as x}from"./main-BZMmD6a8.js";const g=f.forwardRef(function(l,d){const{title:n,count:a,sparkline:s,filters:r,actions:t,description:i,testid:o,className:c,...p}=l;return e.jsxs("div",{ref:d,"data-testid":o??"list-header",className:x("v8-list-header",c),style:{display:"flex",flexDirection:"column",gap:"var(--space-2)",marginBottom:"var(--space-2)"},...p,children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)",flexWrap:"wrap"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",flex:1,minWidth:0},children:[e.jsx("h2",{style:{margin:0,fontSize:"var(--fs-16)",fontWeight:600},children:n}),a!=null&&e.jsx("span",{"data-testid":"list-header-count",style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",fontVariantNumeric:"tabular-nums",background:"var(--surface-1)",padding:"2px 8px",borderRadius:"var(--radius-pill)",border:"1px solid var(--border)"},children:a}),s!==void 0&&e.jsx("span",{"data-testid":"list-header-sparkline",children:s}),i!==void 0&&e.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)"},children:i})]}),t!==void 0&&e.jsx("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-1)",flexShrink:0},children:t})]}),r!==void 0&&e.jsx("div",{"data-testid":"list-header-filters",style:{display:"flex",alignItems:"center",gap:"var(--space-1)",flexWrap:"wrap"},children:r})]})});export{g as L};
@@ -1 +1 @@
1
- {"version":3,"file":"ListHeader-Dpun-r36.js","sources":["../../src/web/v8/ui/data/ListHeader.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../utils/cx.js';\n\n/**\n * ListHeader — section header for list/grid views.\n *\n * Composes a label + count badge + optional sparkline + optional\n * filter chips + right-aligned actions. Use at the top of a Card\n * or as a standalone section divider.\n *\n * Two patterns supported:\n * - Minimal: `<title> <count?> <actions?>`\n * - Data-driven: `<title> <sparkline?> <chips?> <actions?>`\n */\nexport interface ListHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n title: ReactNode;\n /** Optional numeric badge — e.g. `42` rendered as `42 items`. */\n count?: number | null;\n /** Inline sparkline (pass a Sparkline node, not raw data). */\n sparkline?: ReactNode;\n /** Inline filter chips — rendered as a wrapping row. */\n filters?: ReactNode;\n /** Right-aligned action area (buttons, refresh, etc). */\n actions?: ReactNode;\n /** Optional helper text under the title. */\n description?: ReactNode;\n testid?: string;\n}\n\nexport const ListHeader = forwardRef<HTMLDivElement, ListHeaderProps>(function ListHeader(props, ref) {\n const { title, count, sparkline, filters, actions, description, testid, className, ...rest } = props;\n return (\n <div\n ref={ref}\n data-testid={testid ?? 'list-header'}\n className={cx('v8-list-header', className)}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: 'var(--space-2)',\n marginBottom: 'var(--space-2)',\n }}\n {...rest}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--space-3)',\n flexWrap: 'wrap',\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-2)', flex: 1, minWidth: 0 }}>\n <h2 style={{ margin: 0, fontSize: 'var(--fs-16)', fontWeight: 600 }}>{title}</h2>\n {count !== undefined && count !== null && (\n <span\n data-testid=\"list-header-count\"\n style={{\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-muted)',\n fontVariantNumeric: 'tabular-nums',\n background: 'var(--surface-1)',\n padding: '2px 8px',\n borderRadius: 'var(--radius-pill)',\n border: '1px solid var(--border)',\n }}\n >\n {count}\n </span>\n )}\n {sparkline !== undefined && (\n <span data-testid=\"list-header-sparkline\">{sparkline}</span>\n )}\n {description !== undefined && (\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-subtle)' }}>{description}</span>\n )}\n </div>\n {actions !== undefined && (\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-1)', flexShrink: 0 }}>\n {actions}\n </div>\n )}\n </div>\n {filters !== undefined && (\n <div\n data-testid=\"list-header-filters\"\n style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-1)', flexWrap: 'wrap' }}\n >\n {filters}\n </div>\n )}\n </div>\n );\n});"],"names":["ListHeader","forwardRef","props","ref","title","count","sparkline","filters","actions","description","testid","className","rest","jsxs","cx","jsx"],"mappings":"qFA6BO,MAAMA,EAAaC,EAAAA,WAA4C,SAAoBC,EAAOC,EAAK,CACpG,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,UAAAC,EAAW,QAAAC,EAAS,QAAAC,EAAS,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,EAAW,GAAGC,CAAA,EAASV,EAC/F,OACEW,EAAAA,KAAC,MAAA,CACC,IAAAV,EACA,cAAaO,GAAU,cACvB,UAAWI,EAAG,iBAAkBH,CAAS,EACzC,MAAO,CACL,QAAS,OACT,cAAe,SACf,IAAK,iBACL,aAAc,gBAAA,EAEf,GAAGC,EAEJ,SAAA,CAAAC,EAAAA,KAAC,MAAA,CACC,MAAO,CACL,QAAS,OACT,WAAY,SACZ,IAAK,iBACL,SAAU,MAAA,EAGZ,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,KAAM,EAAG,SAAU,GAC7F,SAAA,CAAAE,EAAAA,IAAC,KAAA,CAAG,MAAO,CAAE,OAAQ,EAAG,SAAU,eAAgB,WAAY,GAAA,EAAQ,SAAAX,CAAA,CAAM,EACpDC,GAAU,MAChCU,EAAAA,IAAC,OAAA,CACC,cAAY,oBACZ,MAAO,CACL,SAAU,eACV,MAAO,kBACP,mBAAoB,eACpB,WAAY,mBACZ,QAAS,UACT,aAAc,qBACd,OAAQ,yBAAA,EAGT,SAAAV,CAAA,CAAA,EAGJC,IAAc,QACbS,EAAAA,IAAC,OAAA,CAAK,cAAY,wBAAyB,SAAAT,EAAU,EAEtDG,IAAgB,QACfM,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,oBAAuB,SAAAN,CAAA,CAAY,CAAA,EAEvF,EACCD,IAAY,QACXO,MAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,WAAY,CAAA,EACrF,SAAAP,CAAA,CACH,CAAA,CAAA,CAAA,EAGHD,IAAY,QACXQ,EAAAA,IAAC,MAAA,CACC,cAAY,sBACZ,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,SAAU,MAAA,EAEhF,SAAAR,CAAA,CAAA,CACH,CAAA,CAAA,CAIR,CAAC"}
1
+ {"version":3,"file":"ListHeader-BLAeshe0.js","sources":["../../src/web/v8/ui/data/ListHeader.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { cx } from '../utils/cx.js';\n\n/**\n * ListHeader — section header for list/grid views.\n *\n * Composes a label + count badge + optional sparkline + optional\n * filter chips + right-aligned actions. Use at the top of a Card\n * or as a standalone section divider.\n *\n * Two patterns supported:\n * - Minimal: `<title> <count?> <actions?>`\n * - Data-driven: `<title> <sparkline?> <chips?> <actions?>`\n */\nexport interface ListHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n title: ReactNode;\n /** Optional numeric badge — e.g. `42` rendered as `42 items`. */\n count?: number | null;\n /** Inline sparkline (pass a Sparkline node, not raw data). */\n sparkline?: ReactNode;\n /** Inline filter chips — rendered as a wrapping row. */\n filters?: ReactNode;\n /** Right-aligned action area (buttons, refresh, etc). */\n actions?: ReactNode;\n /** Optional helper text under the title. */\n description?: ReactNode;\n testid?: string;\n}\n\nexport const ListHeader = forwardRef<HTMLDivElement, ListHeaderProps>(function ListHeader(props, ref) {\n const { title, count, sparkline, filters, actions, description, testid, className, ...rest } = props;\n return (\n <div\n ref={ref}\n data-testid={testid ?? 'list-header'}\n className={cx('v8-list-header', className)}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: 'var(--space-2)',\n marginBottom: 'var(--space-2)',\n }}\n {...rest}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--space-3)',\n flexWrap: 'wrap',\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-2)', flex: 1, minWidth: 0 }}>\n <h2 style={{ margin: 0, fontSize: 'var(--fs-16)', fontWeight: 600 }}>{title}</h2>\n {count !== undefined && count !== null && (\n <span\n data-testid=\"list-header-count\"\n style={{\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-muted)',\n fontVariantNumeric: 'tabular-nums',\n background: 'var(--surface-1)',\n padding: '2px 8px',\n borderRadius: 'var(--radius-pill)',\n border: '1px solid var(--border)',\n }}\n >\n {count}\n </span>\n )}\n {sparkline !== undefined && (\n <span data-testid=\"list-header-sparkline\">{sparkline}</span>\n )}\n {description !== undefined && (\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-subtle)' }}>{description}</span>\n )}\n </div>\n {actions !== undefined && (\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-1)', flexShrink: 0 }}>\n {actions}\n </div>\n )}\n </div>\n {filters !== undefined && (\n <div\n data-testid=\"list-header-filters\"\n style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-1)', flexWrap: 'wrap' }}\n >\n {filters}\n </div>\n )}\n </div>\n );\n});"],"names":["ListHeader","forwardRef","props","ref","title","count","sparkline","filters","actions","description","testid","className","rest","jsxs","cx","jsx"],"mappings":"qFA6BO,MAAMA,EAAaC,EAAAA,WAA4C,SAAoBC,EAAOC,EAAK,CACpG,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,UAAAC,EAAW,QAAAC,EAAS,QAAAC,EAAS,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,EAAW,GAAGC,CAAA,EAASV,EAC/F,OACEW,EAAAA,KAAC,MAAA,CACC,IAAAV,EACA,cAAaO,GAAU,cACvB,UAAWI,EAAG,iBAAkBH,CAAS,EACzC,MAAO,CACL,QAAS,OACT,cAAe,SACf,IAAK,iBACL,aAAc,gBAAA,EAEf,GAAGC,EAEJ,SAAA,CAAAC,EAAAA,KAAC,MAAA,CACC,MAAO,CACL,QAAS,OACT,WAAY,SACZ,IAAK,iBACL,SAAU,MAAA,EAGZ,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,KAAM,EAAG,SAAU,GAC7F,SAAA,CAAAE,EAAAA,IAAC,KAAA,CAAG,MAAO,CAAE,OAAQ,EAAG,SAAU,eAAgB,WAAY,GAAA,EAAQ,SAAAX,CAAA,CAAM,EACpDC,GAAU,MAChCU,EAAAA,IAAC,OAAA,CACC,cAAY,oBACZ,MAAO,CACL,SAAU,eACV,MAAO,kBACP,mBAAoB,eACpB,WAAY,mBACZ,QAAS,UACT,aAAc,qBACd,OAAQ,yBAAA,EAGT,SAAAV,CAAA,CAAA,EAGJC,IAAc,QACbS,EAAAA,IAAC,OAAA,CAAK,cAAY,wBAAyB,SAAAT,EAAU,EAEtDG,IAAgB,QACfM,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,oBAAuB,SAAAN,CAAA,CAAY,CAAA,EAEvF,EACCD,IAAY,QACXO,MAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,WAAY,CAAA,EACrF,SAAAP,CAAA,CACH,CAAA,CAAA,CAAA,EAGHD,IAAY,QACXQ,EAAAA,IAAC,MAAA,CACC,cAAY,sBACZ,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,SAAU,MAAA,EAEhF,SAAAR,CAAA,CAAA,CACH,CAAA,CAAA,CAIR,CAAC"}
@@ -1,4 +1,4 @@
1
- import{j as e,r as m}from"./cmdk-DVxytz9i.js";import{c as N,B,g as j,u as L,a as O,S as y,d as p,I as g,h as P,i as x,F as b}from"./main-Cxeu4LhG.js";import{V as A}from"./ViewHeader-B6P-C4GD.js";import{F as I}from"./file-text-CQ12t7Oc.js";import{E as R}from"./EmptyState-D65J5FQN.js";import{C as S}from"./Chip-Dc2KmeWl.js";import{S as D,a as T}from"./Sheet-BOProMs2.js";import{T as _}from"./Textarea-QuofpMlq.js";import{D as F}from"./download-Clkq90Ct.js";import{P as w}from"./plus-77h62zZm.js";import{B as M}from"./brain-CwZt9Kta.js";/**
1
+ import{j as e,r as m}from"./cmdk-C3F6LD6N.js";import{c as N,B,g as j,u as L,a as O,S as y,d as p,I as g,h as P,i as x,F as b}from"./main-BZMmD6a8.js";import{V as A}from"./ViewHeader-BaCWNuVX.js";import{F as I}from"./file-text-CEhDgLq2.js";import{E as R}from"./EmptyState-CdDQmfEL.js";import{C as S}from"./Chip-Dei66BLx.js";import{S as D,a as T}from"./Sheet-CxXf6gvC.js";import{T as _}from"./Textarea-CcQGSgSH.js";import{D as F}from"./download-DBkNb6oI.js";import{P as w}from"./plus-uA5Ecuch.js";import{B as M}from"./brain-D6tAeUDE.js";/**
2
2
  * @license lucide-react v0.460.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryView-BbER5ZKt.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/hash.js","../../src/web/v8/ui/memory/MemoryVault.tsx","../../src/web/v8/views/Memory/MemoryView.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Hash = createLucideIcon(\"Hash\", [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n]);\n\nexport { Hash as default };\n//# sourceMappingURL=hash.js.map\n","import { type ReactNode } from 'react';\nimport { FileText, Hash } from 'lucide-react';\nimport { cx } from '../utils/cx.js';\nimport { Badge } from '../data/Badge.js';\n\n/**\n * MemoryVault — list of memory entries (memos) grouped by scope.\n *\n * PLAN.md: memos are the durable cross-session notes the harness writes\n * down. Scopes: `project` (committed to repo) vs `global` (user-wide).\n * Each entry: content (truncated to 3 lines), tags, last-updated time,\n * scope badge.\n */\n\nexport type MemoryScope = 'project' | 'global';\n\nexport interface MemoryEntry {\n id: string;\n content: string;\n tags?: readonly string[];\n scope: MemoryScope;\n /** Relative time label (\"3 days ago\", \"Just now\"). */\n updatedAt: string;\n}\n\nexport interface MemoryVaultProps {\n entries: readonly MemoryEntry[];\n /** Optional click handler — opens memo detail. */\n onOpen?: (entry: MemoryEntry) => void;\n /** Optional empty state. */\n empty?: ReactNode;\n className?: string;\n}\n\nconst SCOPE_LABEL: Record<MemoryScope, string> = {\n project: 'Project',\n global: 'Global',\n};\n\nconst SCOPE_TONE: Record<MemoryScope, 'accent' | 'info'> = {\n project: 'accent',\n global: 'info',\n};\n\nexport function MemoryVault(props: MemoryVaultProps) {\n const { entries, onOpen, empty, className } = props;\n\n if (entries.length === 0 && empty !== undefined) {\n return <>{empty}</>;\n }\n\n return (\n <div className={cx('v8-memory-vault', className)}>\n {entries.map((entry) => (\n <button\n type=\"button\"\n key={entry.id}\n onClick={() => onOpen?.(entry)}\n className={cx('v8-memory-vault__item', `v8-memory-vault__item--${entry.scope}`)}\n style={{\n display: 'block',\n width: '100%',\n padding: 'var(--space-3) var(--space-4)',\n background: 'var(--surface-1)',\n border: '1px solid var(--border)',\n borderRadius: 'var(--radius)',\n textAlign: 'left',\n cursor: onOpen !== undefined ? 'pointer' : 'default',\n font: 'inherit',\n color: 'inherit',\n marginBottom: 'var(--space-2)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--space-2)',\n marginBottom: 6,\n }}\n >\n <Badge tone={SCOPE_TONE[entry.scope]} size=\"sm\">\n {SCOPE_LABEL[entry.scope]}\n </Badge>\n <span\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 4,\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-subtle)',\n fontVariantNumeric: 'tabular-nums',\n }}\n >\n <FileText size={12} aria-hidden=\"true\" />\n {entry.updatedAt}\n </span>\n </div>\n <div\n style={{\n fontSize: 'var(--fs-13)',\n color: 'var(--fg)',\n lineHeight: 'var(--lh-snug)',\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n }}\n >\n {entry.content}\n </div>\n {entry.tags !== undefined && entry.tags.length > 0 && (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n marginTop: 'var(--space-2)',\n flexWrap: 'wrap',\n }}\n >\n <Hash size={11} aria-hidden=\"true\" style={{ color: 'var(--fg-subtle)' }} />\n {entry.tags.map((tag) => (\n <span\n key={tag}\n style={{\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-muted)',\n }}\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n </button>\n ))}\n <style>{`\n .v8-memory-vault__item:hover { border-color: var(--accent); }\n `}</style>\n </div>\n );\n}","import { useMemo, useState, useCallback } from 'react';\nimport { Plus, Download } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { MemoryVault, type MemoryEntry, type MemoryScope } from '../../ui/memory/MemoryVault.js';\nimport { EmptyState } from '../../ui/feedback/EmptyState.js';\nimport { Brain } from 'lucide-react';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { Chip } from '../../ui/data/Chip.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Sheet, SheetContent } from '../../ui/feedback/Sheet.js';\nimport { Textarea } from '../../ui/controls/Textarea.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { useWsMessage } from '../../data/useWebSocket.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\nimport type { WsMessage } from '../../data/types.js';\n\n/**\n * MemoryView — Sprint S10 + S15b. Pulls `/api/memory`, lets the user\n * create / edit / delete notes via the dashboard's control surface.\n *\n * Notes are stored via `/api/memory/notes` (POST create, PUT/DELETE\n * per-note). Scope is `project` (in the repo) vs `global` (user-wide).\n */\n\ninterface RawMemoryEntry {\n id?: string;\n content?: string;\n tags?: string[];\n scope?: 'project' | 'global';\n updatedAt?: string | number;\n}\n\ninterface MemoryResponse {\n notes?: RawMemoryEntry[];\n count?: number;\n}\n\nfunction toEntry(e: RawMemoryEntry): MemoryEntry {\n return {\n id: e.id || '',\n content: e.content || '',\n tags: e.tags || [],\n scope: (e.scope || 'project') as MemoryScope,\n updatedAt:\n typeof e.updatedAt === 'number'\n ? new Date(e.updatedAt).toLocaleString()\n : e.updatedAt || '',\n };\n}\n\ninterface NoteDraft {\n id?: string;\n content: string;\n scope: MemoryScope;\n}\n\nexport function MemoryView(): JSX.Element {\n const mem = useFetch<MemoryResponse>('/api/memory/notes');\n const [scope, setScope] = useState<MemoryScope | 'all'>('all');\n const [draft, setDraft] = useState<NoteDraft | null>(null);\n const [busy, setBusy] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const entries = useMemo<MemoryEntry[]>(() => {\n const list = (mem.data?.notes || []).map(toEntry);\n if (scope === 'all') return list;\n return list.filter((e) => e.scope === scope);\n }, [mem.data, scope]);\n\n const refresh = (): void => { void mem.refetch(); };\n\n const onMemoryChange = useCallback((msg: WsMessage) => {\n const m = msg as { type?: string };\n if (m.type === 'memory:change' || m.type === 'memory:new' || m.type === 'memory:removed') {\n refresh();\n }\n }, [mem]);\n useWsMessage(['memory:change', 'memory:new', 'memory:removed'], onMemoryChange);\n\n const exportNotes = (): void => {\n const blob = new Blob([JSON.stringify(entries, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `bizar-memory-${new Date().toISOString().slice(0, 10)}.json`;\n document.body.appendChild(a);\n a.click();\n a.remove();\n URL.revokeObjectURL(url);\n };\n\n const saveDraft = async (): Promise<void> => {\n if (!draft || !draft.content.trim()) return;\n setBusy(true);\n setError(null);\n try {\n if (draft.id) {\n // Edit\n await fetchJson(`/api/memory/notes/${encodeURIComponent(draft.id)}`, {\n method: 'PUT',\n body: { content: draft.content, scope: draft.scope },\n });\n } else {\n await fetchJson('/api/memory/notes', {\n method: 'POST',\n body: { content: draft.content, scope: draft.scope },\n });\n }\n setDraft(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : String(err));\n } finally {\n setBusy(false);\n }\n };\n\n const deleteEntry = async (id: string): Promise<void> => {\n setBusy(true);\n setError(null);\n try {\n await fetchJson(`/api/memory/notes/${encodeURIComponent(id)}`, { method: 'DELETE' });\n setDraft(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : String(err));\n } finally {\n setBusy(false);\n }\n };\n\n return (\n <Stack gap={5} data-testid=\"memory-view\">\n <ViewHeader\n title=\"Memory\"\n description=\"Cross-session notes. Project memos live in the repo; global memos live on the user.\"\n actions={\n <Button variant=\"secondary\" onClick={exportNotes} disabled={entries.length === 0}>\n <Download size={12} aria-hidden /> Export JSON\n </Button>\n }\n />\n <Inline align=\"center\" justify=\"between\" gap={2} wrap>\n <Inline gap={2}>\n {(['all', 'project', 'global'] as const).map((s) => (\n <Chip key={s} selected={scope === s} onClick={() => setScope(s)}>\n {s === 'all' ? 'All' : s === 'project' ? 'Project' : 'Global'}\n </Chip>\n ))}\n </Inline>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => setDraft({ content: '', scope: 'project' })}\n data-testid=\"memory-new\"\n >\n <Plus size={14} aria-hidden /> New note\n </Button>\n </Inline>\n {error !== null && (\n <div\n role=\"alert\"\n style={{\n padding: 'var(--space-2) var(--space-3)',\n background: 'color-mix(in oklch, var(--danger) 12%, var(--surface-0))',\n border: '1px solid color-mix(in oklch, var(--danger) 40%, var(--border))',\n borderRadius: 'var(--radius-md)',\n fontSize: 'var(--fs-12)',\n color: 'var(--danger)',\n }}\n >\n {error}\n </div>\n )}\n {mem.loading ? (\n <Skeleton style={{ height: 240 }} />\n ) : entries.length === 0 ? (\n <EmptyState\n icon={<Brain size={32} aria-hidden />}\n title=\"No memory entries\"\n description=\"Memos land here once they are written via the memory tools. Add one with the button above.\"\n action={\n <Button variant=\"primary\" size=\"sm\" onClick={() => setDraft({ content: '', scope: 'project' })}>\n <Plus size={14} aria-hidden /> New note\n </Button>\n }\n />\n ) : (\n <MemoryVault\n entries={entries}\n onOpen={(e) => setDraft({ id: e.id, content: e.content, scope: e.scope })}\n />\n )}\n <Sheet open={draft !== null} onOpenChange={(o) => { if (!o) setDraft(null); }}>\n <SheetContent side=\"right\" title={draft?.id ? 'Edit note' : 'New note'}>\n {draft !== null && (\n <Stack gap={4} style={{ padding: 'var(--space-4)' }}>\n <Stack gap={2}>\n <label\n htmlFor=\"memory-content\"\n style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}\n >\n Content\n </label>\n <Textarea\n id=\"memory-content\"\n value={draft.content}\n onChange={(e) => setDraft({ ...draft, content: e.target.value })}\n rows={10}\n disabled={busy}\n data-testid=\"memory-content\"\n />\n </Stack>\n <Stack gap={2}>\n <label style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Scope</label>\n <Inline gap={2}>\n {(['project', 'global'] as const).map((s) => (\n <Chip\n key={s}\n selected={draft.scope === s}\n onClick={() => setDraft({ ...draft, scope: s })}\n >\n {s === 'project' ? 'Project (in-repo)' : 'Global (user-wide)'}\n </Chip>\n ))}\n </Inline>\n </Stack>\n <Inline gap={2}>\n <Button\n variant=\"primary\"\n onClick={() => { void saveDraft(); }}\n disabled={busy || !draft.content.trim()}\n >\n {draft.id ? 'Save' : 'Create'}\n </Button>\n <Button variant=\"ghost\" onClick={() => setDraft(null)} disabled={busy}>\n Cancel\n </Button>\n {draft.id !== undefined && (\n <Button\n variant=\"danger\"\n onClick={() => { void deleteEntry(draft.id!); }}\n disabled={busy}\n style={{ marginLeft: 'auto' }}\n >\n Delete\n </Button>\n )}\n </Inline>\n </Stack>\n )}\n </SheetContent>\n </Sheet>\n </Stack>\n );\n}"],"names":["Hash","createLucideIcon","SCOPE_LABEL","SCOPE_TONE","MemoryVault","props","entries","onOpen","empty","className","cx","entry","jsxs","jsx","Badge","FileText","tag","toEntry","e","MemoryView","mem","useFetch","scope","setScope","useState","draft","setDraft","busy","setBusy","error","setError","useMemo","list","_a","refresh","onMemoryChange","useCallback","msg","m","useWsMessage","exportNotes","blob","url","a","saveDraft","fetchJson","err","FetchError","deleteEntry","id","Stack","ViewHeader","Button","Download","Inline","s","Chip","Plus","Skeleton","EmptyState","Brain","Sheet","o","SheetContent","Textarea"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"MemoryView-wo2Pu7xQ.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/hash.js","../../src/web/v8/ui/memory/MemoryVault.tsx","../../src/web/v8/views/Memory/MemoryView.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Hash = createLucideIcon(\"Hash\", [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n]);\n\nexport { Hash as default };\n//# sourceMappingURL=hash.js.map\n","import { type ReactNode } from 'react';\nimport { FileText, Hash } from 'lucide-react';\nimport { cx } from '../utils/cx.js';\nimport { Badge } from '../data/Badge.js';\n\n/**\n * MemoryVault — list of memory entries (memos) grouped by scope.\n *\n * PLAN.md: memos are the durable cross-session notes the harness writes\n * down. Scopes: `project` (committed to repo) vs `global` (user-wide).\n * Each entry: content (truncated to 3 lines), tags, last-updated time,\n * scope badge.\n */\n\nexport type MemoryScope = 'project' | 'global';\n\nexport interface MemoryEntry {\n id: string;\n content: string;\n tags?: readonly string[];\n scope: MemoryScope;\n /** Relative time label (\"3 days ago\", \"Just now\"). */\n updatedAt: string;\n}\n\nexport interface MemoryVaultProps {\n entries: readonly MemoryEntry[];\n /** Optional click handler — opens memo detail. */\n onOpen?: (entry: MemoryEntry) => void;\n /** Optional empty state. */\n empty?: ReactNode;\n className?: string;\n}\n\nconst SCOPE_LABEL: Record<MemoryScope, string> = {\n project: 'Project',\n global: 'Global',\n};\n\nconst SCOPE_TONE: Record<MemoryScope, 'accent' | 'info'> = {\n project: 'accent',\n global: 'info',\n};\n\nexport function MemoryVault(props: MemoryVaultProps) {\n const { entries, onOpen, empty, className } = props;\n\n if (entries.length === 0 && empty !== undefined) {\n return <>{empty}</>;\n }\n\n return (\n <div className={cx('v8-memory-vault', className)}>\n {entries.map((entry) => (\n <button\n type=\"button\"\n key={entry.id}\n onClick={() => onOpen?.(entry)}\n className={cx('v8-memory-vault__item', `v8-memory-vault__item--${entry.scope}`)}\n style={{\n display: 'block',\n width: '100%',\n padding: 'var(--space-3) var(--space-4)',\n background: 'var(--surface-1)',\n border: '1px solid var(--border)',\n borderRadius: 'var(--radius)',\n textAlign: 'left',\n cursor: onOpen !== undefined ? 'pointer' : 'default',\n font: 'inherit',\n color: 'inherit',\n marginBottom: 'var(--space-2)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--space-2)',\n marginBottom: 6,\n }}\n >\n <Badge tone={SCOPE_TONE[entry.scope]} size=\"sm\">\n {SCOPE_LABEL[entry.scope]}\n </Badge>\n <span\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 4,\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-subtle)',\n fontVariantNumeric: 'tabular-nums',\n }}\n >\n <FileText size={12} aria-hidden=\"true\" />\n {entry.updatedAt}\n </span>\n </div>\n <div\n style={{\n fontSize: 'var(--fs-13)',\n color: 'var(--fg)',\n lineHeight: 'var(--lh-snug)',\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n }}\n >\n {entry.content}\n </div>\n {entry.tags !== undefined && entry.tags.length > 0 && (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n marginTop: 'var(--space-2)',\n flexWrap: 'wrap',\n }}\n >\n <Hash size={11} aria-hidden=\"true\" style={{ color: 'var(--fg-subtle)' }} />\n {entry.tags.map((tag) => (\n <span\n key={tag}\n style={{\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-muted)',\n }}\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n </button>\n ))}\n <style>{`\n .v8-memory-vault__item:hover { border-color: var(--accent); }\n `}</style>\n </div>\n );\n}","import { useMemo, useState, useCallback } from 'react';\nimport { Plus, Download } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { MemoryVault, type MemoryEntry, type MemoryScope } from '../../ui/memory/MemoryVault.js';\nimport { EmptyState } from '../../ui/feedback/EmptyState.js';\nimport { Brain } from 'lucide-react';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { Chip } from '../../ui/data/Chip.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Sheet, SheetContent } from '../../ui/feedback/Sheet.js';\nimport { Textarea } from '../../ui/controls/Textarea.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { useWsMessage } from '../../data/useWebSocket.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\nimport type { WsMessage } from '../../data/types.js';\n\n/**\n * MemoryView — Sprint S10 + S15b. Pulls `/api/memory`, lets the user\n * create / edit / delete notes via the dashboard's control surface.\n *\n * Notes are stored via `/api/memory/notes` (POST create, PUT/DELETE\n * per-note). Scope is `project` (in the repo) vs `global` (user-wide).\n */\n\ninterface RawMemoryEntry {\n id?: string;\n content?: string;\n tags?: string[];\n scope?: 'project' | 'global';\n updatedAt?: string | number;\n}\n\ninterface MemoryResponse {\n notes?: RawMemoryEntry[];\n count?: number;\n}\n\nfunction toEntry(e: RawMemoryEntry): MemoryEntry {\n return {\n id: e.id || '',\n content: e.content || '',\n tags: e.tags || [],\n scope: (e.scope || 'project') as MemoryScope,\n updatedAt:\n typeof e.updatedAt === 'number'\n ? new Date(e.updatedAt).toLocaleString()\n : e.updatedAt || '',\n };\n}\n\ninterface NoteDraft {\n id?: string;\n content: string;\n scope: MemoryScope;\n}\n\nexport function MemoryView(): JSX.Element {\n const mem = useFetch<MemoryResponse>('/api/memory/notes');\n const [scope, setScope] = useState<MemoryScope | 'all'>('all');\n const [draft, setDraft] = useState<NoteDraft | null>(null);\n const [busy, setBusy] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const entries = useMemo<MemoryEntry[]>(() => {\n const list = (mem.data?.notes || []).map(toEntry);\n if (scope === 'all') return list;\n return list.filter((e) => e.scope === scope);\n }, [mem.data, scope]);\n\n const refresh = (): void => { void mem.refetch(); };\n\n const onMemoryChange = useCallback((msg: WsMessage) => {\n const m = msg as { type?: string };\n if (m.type === 'memory:change' || m.type === 'memory:new' || m.type === 'memory:removed') {\n refresh();\n }\n }, [mem]);\n useWsMessage(['memory:change', 'memory:new', 'memory:removed'], onMemoryChange);\n\n const exportNotes = (): void => {\n const blob = new Blob([JSON.stringify(entries, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `bizar-memory-${new Date().toISOString().slice(0, 10)}.json`;\n document.body.appendChild(a);\n a.click();\n a.remove();\n URL.revokeObjectURL(url);\n };\n\n const saveDraft = async (): Promise<void> => {\n if (!draft || !draft.content.trim()) return;\n setBusy(true);\n setError(null);\n try {\n if (draft.id) {\n // Edit\n await fetchJson(`/api/memory/notes/${encodeURIComponent(draft.id)}`, {\n method: 'PUT',\n body: { content: draft.content, scope: draft.scope },\n });\n } else {\n await fetchJson('/api/memory/notes', {\n method: 'POST',\n body: { content: draft.content, scope: draft.scope },\n });\n }\n setDraft(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : String(err));\n } finally {\n setBusy(false);\n }\n };\n\n const deleteEntry = async (id: string): Promise<void> => {\n setBusy(true);\n setError(null);\n try {\n await fetchJson(`/api/memory/notes/${encodeURIComponent(id)}`, { method: 'DELETE' });\n setDraft(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : String(err));\n } finally {\n setBusy(false);\n }\n };\n\n return (\n <Stack gap={5} data-testid=\"memory-view\">\n <ViewHeader\n title=\"Memory\"\n description=\"Cross-session notes. Project memos live in the repo; global memos live on the user.\"\n actions={\n <Button variant=\"secondary\" onClick={exportNotes} disabled={entries.length === 0}>\n <Download size={12} aria-hidden /> Export JSON\n </Button>\n }\n />\n <Inline align=\"center\" justify=\"between\" gap={2} wrap>\n <Inline gap={2}>\n {(['all', 'project', 'global'] as const).map((s) => (\n <Chip key={s} selected={scope === s} onClick={() => setScope(s)}>\n {s === 'all' ? 'All' : s === 'project' ? 'Project' : 'Global'}\n </Chip>\n ))}\n </Inline>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => setDraft({ content: '', scope: 'project' })}\n data-testid=\"memory-new\"\n >\n <Plus size={14} aria-hidden /> New note\n </Button>\n </Inline>\n {error !== null && (\n <div\n role=\"alert\"\n style={{\n padding: 'var(--space-2) var(--space-3)',\n background: 'color-mix(in oklch, var(--danger) 12%, var(--surface-0))',\n border: '1px solid color-mix(in oklch, var(--danger) 40%, var(--border))',\n borderRadius: 'var(--radius-md)',\n fontSize: 'var(--fs-12)',\n color: 'var(--danger)',\n }}\n >\n {error}\n </div>\n )}\n {mem.loading ? (\n <Skeleton style={{ height: 240 }} />\n ) : entries.length === 0 ? (\n <EmptyState\n icon={<Brain size={32} aria-hidden />}\n title=\"No memory entries\"\n description=\"Memos land here once they are written via the memory tools. Add one with the button above.\"\n action={\n <Button variant=\"primary\" size=\"sm\" onClick={() => setDraft({ content: '', scope: 'project' })}>\n <Plus size={14} aria-hidden /> New note\n </Button>\n }\n />\n ) : (\n <MemoryVault\n entries={entries}\n onOpen={(e) => setDraft({ id: e.id, content: e.content, scope: e.scope })}\n />\n )}\n <Sheet open={draft !== null} onOpenChange={(o) => { if (!o) setDraft(null); }}>\n <SheetContent side=\"right\" title={draft?.id ? 'Edit note' : 'New note'}>\n {draft !== null && (\n <Stack gap={4} style={{ padding: 'var(--space-4)' }}>\n <Stack gap={2}>\n <label\n htmlFor=\"memory-content\"\n style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}\n >\n Content\n </label>\n <Textarea\n id=\"memory-content\"\n value={draft.content}\n onChange={(e) => setDraft({ ...draft, content: e.target.value })}\n rows={10}\n disabled={busy}\n data-testid=\"memory-content\"\n />\n </Stack>\n <Stack gap={2}>\n <label style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Scope</label>\n <Inline gap={2}>\n {(['project', 'global'] as const).map((s) => (\n <Chip\n key={s}\n selected={draft.scope === s}\n onClick={() => setDraft({ ...draft, scope: s })}\n >\n {s === 'project' ? 'Project (in-repo)' : 'Global (user-wide)'}\n </Chip>\n ))}\n </Inline>\n </Stack>\n <Inline gap={2}>\n <Button\n variant=\"primary\"\n onClick={() => { void saveDraft(); }}\n disabled={busy || !draft.content.trim()}\n >\n {draft.id ? 'Save' : 'Create'}\n </Button>\n <Button variant=\"ghost\" onClick={() => setDraft(null)} disabled={busy}>\n Cancel\n </Button>\n {draft.id !== undefined && (\n <Button\n variant=\"danger\"\n onClick={() => { void deleteEntry(draft.id!); }}\n disabled={busy}\n style={{ marginLeft: 'auto' }}\n >\n Delete\n </Button>\n )}\n </Inline>\n </Stack>\n )}\n </SheetContent>\n </Sheet>\n </Stack>\n );\n}"],"names":["Hash","createLucideIcon","SCOPE_LABEL","SCOPE_TONE","MemoryVault","props","entries","onOpen","empty","className","cx","entry","jsxs","jsx","Badge","FileText","tag","toEntry","e","MemoryView","mem","useFetch","scope","setScope","useState","draft","setDraft","busy","setBusy","error","setError","useMemo","list","_a","refresh","onMemoryChange","useCallback","msg","m","useWsMessage","exportNotes","blob","url","a","saveDraft","fetchJson","err","FetchError","deleteEntry","id","Stack","ViewHeader","Button","Download","Inline","s","Chip","Plus","Skeleton","EmptyState","Brain","Sheet","o","SheetContent","Textarea"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import{B as tn,C as ar,j as Q,r as Ci}from"./cmdk-DVxytz9i.js";function Ei(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const Ii=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ai=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ti={};function ft(e,n){return(Ti.jsx?Ai:Ii).test(e)}const vi=/[ \t\n\f\r]/g;function Pi(e){return typeof e=="object"?e.type==="text"?ht(e.value):!1:ht(e)}function ht(e){return e.replace(vi,"")===""}class We{constructor(n,t,r){this.normal=t,this.property=n,r&&(this.space=r)}}We.prototype.normal={};We.prototype.property={};We.prototype.space=void 0;function ur(e,n){const t={},r={};for(const i of e)Object.assign(t,i.property),Object.assign(r,i.normal);return new We(t,r,n)}function Pn(e){return e.toLowerCase()}class ne{constructor(n,t){this.attribute=t,this.property=n}}ne.prototype.attribute="";ne.prototype.booleanish=!1;ne.prototype.boolean=!1;ne.prototype.commaOrSpaceSeparated=!1;ne.prototype.commaSeparated=!1;ne.prototype.defined=!1;ne.prototype.mustUseProperty=!1;ne.prototype.number=!1;ne.prototype.overloadedBoolean=!1;ne.prototype.property="";ne.prototype.spaceSeparated=!1;ne.prototype.space=void 0;let zi=0;const z=ve(),W=ve(),zn=ve(),S=ve(),U=ve(),Ae=ve(),re=ve();function ve(){return 2**++zi}const Dn=Object.freeze(Object.defineProperty({__proto__:null,boolean:z,booleanish:W,commaOrSpaceSeparated:re,commaSeparated:Ae,number:S,overloadedBoolean:zn,spaceSeparated:U},Symbol.toStringTag,{value:"Module"})),mn=Object.keys(Dn);class Hn extends ne{constructor(n,t,r,i){let o=-1;if(super(n,t),pt(this,"space",i),typeof r=="number")for(;++o<mn.length;){const l=mn[o];pt(this,mn[o],(r&Dn[l])===Dn[l])}}}Hn.prototype.defined=!0;function pt(e,n,t){t&&(e[n]=t)}function Re(e){const n={},t={};for(const[r,i]of Object.entries(e.properties)){const o=new Hn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),n[r]=o,t[Pn(r)]=r,t[Pn(o.attribute)]=r}return new We(n,t,e.space)}const sr=Re({properties:{ariaActiveDescendant:null,ariaAtomic:W,ariaAutoComplete:null,ariaBusy:W,ariaChecked:W,ariaColCount:S,ariaColIndex:S,ariaColSpan:S,ariaControls:U,ariaCurrent:null,ariaDescribedBy:U,ariaDetails:null,ariaDisabled:W,ariaDropEffect:U,ariaErrorMessage:null,ariaExpanded:W,ariaFlowTo:U,ariaGrabbed:W,ariaHasPopup:null,ariaHidden:W,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:U,ariaLevel:S,ariaLive:null,ariaModal:W,ariaMultiLine:W,ariaMultiSelectable:W,ariaOrientation:null,ariaOwns:U,ariaPlaceholder:null,ariaPosInSet:S,ariaPressed:W,ariaReadOnly:W,ariaRelevant:null,ariaRequired:W,ariaRoleDescription:U,ariaRowCount:S,ariaRowIndex:S,ariaRowSpan:S,ariaSelected:W,ariaSetSize:S,ariaSort:null,ariaValueMax:S,ariaValueMin:S,ariaValueNow:S,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function cr(e,n){return n in e?e[n]:n}function fr(e,n){return cr(e,n.toLowerCase())}const Di=Re({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ae,acceptCharset:U,accessKey:U,action:null,allow:null,allowFullScreen:z,allowPaymentRequest:z,allowUserMedia:z,alpha:z,alt:null,as:null,async:z,autoCapitalize:null,autoComplete:U,autoFocus:z,autoPlay:z,blocking:U,capture:null,charSet:null,checked:z,cite:null,className:U,closedBy:null,colorSpace:null,cols:S,colSpan:S,command:null,commandFor:null,content:null,contentEditable:W,controls:z,controlsList:U,coords:S|Ae,crossOrigin:null,data:null,dateTime:null,decoding:null,default:z,defer:z,dir:null,dirName:null,disabled:z,download:zn,draggable:W,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:z,formTarget:null,headers:U,height:S,hidden:zn,high:S,href:null,hrefLang:null,htmlFor:U,httpEquiv:U,id:null,imageSizes:null,imageSrcSet:null,inert:z,inputMode:null,integrity:null,is:null,isMap:z,itemId:null,itemProp:U,itemRef:U,itemScope:z,itemType:U,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:z,low:S,manifest:null,max:null,maxLength:S,media:null,method:null,min:null,minLength:S,multiple:z,muted:z,name:null,nonce:null,noModule:z,noValidate:z,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:z,optimum:S,pattern:null,ping:U,placeholder:null,playsInline:z,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:z,referrerPolicy:null,rel:U,required:z,reversed:z,rows:S,rowSpan:S,sandbox:U,scope:null,scoped:z,seamless:z,selected:z,shadowRootClonable:z,shadowRootCustomElementRegistry:z,shadowRootDelegatesFocus:z,shadowRootMode:null,shadowRootSerializable:z,shape:null,size:S,sizes:null,slot:null,span:S,spellCheck:W,src:null,srcDoc:null,srcLang:null,srcSet:null,start:S,step:null,style:null,tabIndex:S,target:null,title:null,translate:null,type:null,typeMustMatch:z,useMap:null,value:W,width:S,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:U,axis:null,background:null,bgColor:null,border:S,borderColor:null,bottomMargin:S,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:z,declare:z,event:null,face:null,frame:null,frameBorder:null,hSpace:S,leftMargin:S,link:null,longDesc:null,lowSrc:null,marginHeight:S,marginWidth:S,noResize:z,noHref:z,noShade:z,noWrap:z,object:null,profile:null,prompt:null,rev:null,rightMargin:S,rules:null,scheme:null,scrolling:W,standby:null,summary:null,text:null,topMargin:S,valueType:null,version:null,vAlign:null,vLink:null,vSpace:S,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:z,disablePictureInPicture:z,disableRemotePlayback:z,exportParts:Ae,part:U,prefix:null,property:null,results:S,security:null,unselectable:null},space:"html",transform:fr}),Li=Re({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:re,accentHeight:S,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:S,amplitude:S,arabicForm:null,ascent:S,attributeName:null,attributeType:null,azimuth:S,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:S,by:null,calcMode:null,capHeight:S,className:U,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:S,diffuseConstant:S,direction:null,display:null,dur:null,divisor:S,dominantBaseline:null,download:z,dx:null,dy:null,edgeMode:null,editable:null,elevation:S,enableBackground:null,end:null,event:null,exponent:S,externalResourcesRequired:null,fill:null,fillOpacity:S,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ae,g2:Ae,glyphName:Ae,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:S,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:S,horizOriginX:S,horizOriginY:S,id:null,ideographic:S,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:S,k:S,k1:S,k2:S,k3:S,k4:S,kernelMatrix:re,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:S,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:S,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:S,overlineThickness:S,paintOrder:null,panose1:null,path:null,pathLength:S,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:U,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:S,pointsAtY:S,pointsAtZ:S,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:re,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:re,rev:re,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:re,requiredFeatures:re,requiredFonts:re,requiredFormats:re,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:S,specularExponent:S,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:S,strikethroughThickness:S,string:null,stroke:null,strokeDashArray:re,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:S,strokeOpacity:S,strokeWidth:null,style:null,surfaceScale:S,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:re,tabIndex:S,tableValues:null,target:null,targetX:S,targetY:S,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:re,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:S,underlineThickness:S,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:S,values:null,vAlphabetic:S,vMathematical:S,vectorEffect:null,vHanging:S,vIdeographic:S,version:null,vertAdvY:S,vertOriginX:S,vertOriginY:S,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:S,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:cr}),hr=Re({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),pr=Re({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:fr}),mr=Re({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),Fi={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ri=/[A-Z]/g,mt=/-[a-z]/g,_i=/^data[-\w.:]+$/i;function Oi(e,n){const t=Pn(n);let r=n,i=ne;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&_i.test(n)){if(n.charAt(4)==="-"){const o=n.slice(5).replace(mt,Ni);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=n.slice(4);if(!mt.test(o)){let l=o.replace(Ri,Mi);l.charAt(0)!=="-"&&(l="-"+l),n="data"+l}}i=Hn}return new i(r,n)}function Mi(e){return"-"+e.toLowerCase()}function Ni(e){return e.charAt(1).toUpperCase()}const Bi=ur([sr,Di,hr,pr,mr],"html"),Un=ur([sr,Li,hr,pr,mr],"svg");function ji(e){return e.join(" ").trim()}var Vn={},gt=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Hi=/\n/g,Ui=/^\s*/,Vi=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,$i=/^:\s*/,qi=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Wi=/^[;\s]*/,Yi=/^\s+|\s+$/g,Xi=`
1
+ import{B as tn,C as ar,j as Q,r as Ci}from"./cmdk-C3F6LD6N.js";function Ei(e,n){const t={};return(e[e.length-1]===""?[...e,""]:e).join((t.padRight?" ":"")+","+(t.padLeft===!1?"":" ")).trim()}const Ii=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ai=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ti={};function ft(e,n){return(Ti.jsx?Ai:Ii).test(e)}const vi=/[ \t\n\f\r]/g;function Pi(e){return typeof e=="object"?e.type==="text"?ht(e.value):!1:ht(e)}function ht(e){return e.replace(vi,"")===""}class We{constructor(n,t,r){this.normal=t,this.property=n,r&&(this.space=r)}}We.prototype.normal={};We.prototype.property={};We.prototype.space=void 0;function ur(e,n){const t={},r={};for(const i of e)Object.assign(t,i.property),Object.assign(r,i.normal);return new We(t,r,n)}function Pn(e){return e.toLowerCase()}class ne{constructor(n,t){this.attribute=t,this.property=n}}ne.prototype.attribute="";ne.prototype.booleanish=!1;ne.prototype.boolean=!1;ne.prototype.commaOrSpaceSeparated=!1;ne.prototype.commaSeparated=!1;ne.prototype.defined=!1;ne.prototype.mustUseProperty=!1;ne.prototype.number=!1;ne.prototype.overloadedBoolean=!1;ne.prototype.property="";ne.prototype.spaceSeparated=!1;ne.prototype.space=void 0;let zi=0;const z=ve(),W=ve(),zn=ve(),S=ve(),U=ve(),Ae=ve(),re=ve();function ve(){return 2**++zi}const Dn=Object.freeze(Object.defineProperty({__proto__:null,boolean:z,booleanish:W,commaOrSpaceSeparated:re,commaSeparated:Ae,number:S,overloadedBoolean:zn,spaceSeparated:U},Symbol.toStringTag,{value:"Module"})),mn=Object.keys(Dn);class Hn extends ne{constructor(n,t,r,i){let o=-1;if(super(n,t),pt(this,"space",i),typeof r=="number")for(;++o<mn.length;){const l=mn[o];pt(this,mn[o],(r&Dn[l])===Dn[l])}}}Hn.prototype.defined=!0;function pt(e,n,t){t&&(e[n]=t)}function Re(e){const n={},t={};for(const[r,i]of Object.entries(e.properties)){const o=new Hn(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),n[r]=o,t[Pn(r)]=r,t[Pn(o.attribute)]=r}return new We(n,t,e.space)}const sr=Re({properties:{ariaActiveDescendant:null,ariaAtomic:W,ariaAutoComplete:null,ariaBusy:W,ariaChecked:W,ariaColCount:S,ariaColIndex:S,ariaColSpan:S,ariaControls:U,ariaCurrent:null,ariaDescribedBy:U,ariaDetails:null,ariaDisabled:W,ariaDropEffect:U,ariaErrorMessage:null,ariaExpanded:W,ariaFlowTo:U,ariaGrabbed:W,ariaHasPopup:null,ariaHidden:W,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:U,ariaLevel:S,ariaLive:null,ariaModal:W,ariaMultiLine:W,ariaMultiSelectable:W,ariaOrientation:null,ariaOwns:U,ariaPlaceholder:null,ariaPosInSet:S,ariaPressed:W,ariaReadOnly:W,ariaRelevant:null,ariaRequired:W,ariaRoleDescription:U,ariaRowCount:S,ariaRowIndex:S,ariaRowSpan:S,ariaSelected:W,ariaSetSize:S,ariaSort:null,ariaValueMax:S,ariaValueMin:S,ariaValueNow:S,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function cr(e,n){return n in e?e[n]:n}function fr(e,n){return cr(e,n.toLowerCase())}const Di=Re({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ae,acceptCharset:U,accessKey:U,action:null,allow:null,allowFullScreen:z,allowPaymentRequest:z,allowUserMedia:z,alpha:z,alt:null,as:null,async:z,autoCapitalize:null,autoComplete:U,autoFocus:z,autoPlay:z,blocking:U,capture:null,charSet:null,checked:z,cite:null,className:U,closedBy:null,colorSpace:null,cols:S,colSpan:S,command:null,commandFor:null,content:null,contentEditable:W,controls:z,controlsList:U,coords:S|Ae,crossOrigin:null,data:null,dateTime:null,decoding:null,default:z,defer:z,dir:null,dirName:null,disabled:z,download:zn,draggable:W,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:z,formTarget:null,headers:U,height:S,hidden:zn,high:S,href:null,hrefLang:null,htmlFor:U,httpEquiv:U,id:null,imageSizes:null,imageSrcSet:null,inert:z,inputMode:null,integrity:null,is:null,isMap:z,itemId:null,itemProp:U,itemRef:U,itemScope:z,itemType:U,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:z,low:S,manifest:null,max:null,maxLength:S,media:null,method:null,min:null,minLength:S,multiple:z,muted:z,name:null,nonce:null,noModule:z,noValidate:z,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:z,optimum:S,pattern:null,ping:U,placeholder:null,playsInline:z,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:z,referrerPolicy:null,rel:U,required:z,reversed:z,rows:S,rowSpan:S,sandbox:U,scope:null,scoped:z,seamless:z,selected:z,shadowRootClonable:z,shadowRootCustomElementRegistry:z,shadowRootDelegatesFocus:z,shadowRootMode:null,shadowRootSerializable:z,shape:null,size:S,sizes:null,slot:null,span:S,spellCheck:W,src:null,srcDoc:null,srcLang:null,srcSet:null,start:S,step:null,style:null,tabIndex:S,target:null,title:null,translate:null,type:null,typeMustMatch:z,useMap:null,value:W,width:S,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:U,axis:null,background:null,bgColor:null,border:S,borderColor:null,bottomMargin:S,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:z,declare:z,event:null,face:null,frame:null,frameBorder:null,hSpace:S,leftMargin:S,link:null,longDesc:null,lowSrc:null,marginHeight:S,marginWidth:S,noResize:z,noHref:z,noShade:z,noWrap:z,object:null,profile:null,prompt:null,rev:null,rightMargin:S,rules:null,scheme:null,scrolling:W,standby:null,summary:null,text:null,topMargin:S,valueType:null,version:null,vAlign:null,vLink:null,vSpace:S,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:z,disablePictureInPicture:z,disableRemotePlayback:z,exportParts:Ae,part:U,prefix:null,property:null,results:S,security:null,unselectable:null},space:"html",transform:fr}),Li=Re({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:re,accentHeight:S,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:S,amplitude:S,arabicForm:null,ascent:S,attributeName:null,attributeType:null,azimuth:S,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:S,by:null,calcMode:null,capHeight:S,className:U,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:S,diffuseConstant:S,direction:null,display:null,dur:null,divisor:S,dominantBaseline:null,download:z,dx:null,dy:null,edgeMode:null,editable:null,elevation:S,enableBackground:null,end:null,event:null,exponent:S,externalResourcesRequired:null,fill:null,fillOpacity:S,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ae,g2:Ae,glyphName:Ae,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:S,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:S,horizOriginX:S,horizOriginY:S,id:null,ideographic:S,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:S,k:S,k1:S,k2:S,k3:S,k4:S,kernelMatrix:re,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:S,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:S,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:S,overlineThickness:S,paintOrder:null,panose1:null,path:null,pathLength:S,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:U,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:S,pointsAtY:S,pointsAtZ:S,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:re,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:re,rev:re,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:re,requiredFeatures:re,requiredFonts:re,requiredFormats:re,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:S,specularExponent:S,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:S,strikethroughThickness:S,string:null,stroke:null,strokeDashArray:re,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:S,strokeOpacity:S,strokeWidth:null,style:null,surfaceScale:S,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:re,tabIndex:S,tableValues:null,target:null,targetX:S,targetY:S,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:re,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:S,underlineThickness:S,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:S,values:null,vAlphabetic:S,vMathematical:S,vectorEffect:null,vHanging:S,vIdeographic:S,version:null,vertAdvY:S,vertOriginX:S,vertOriginY:S,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:S,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:cr}),hr=Re({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),pr=Re({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:fr}),mr=Re({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),Fi={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Ri=/[A-Z]/g,mt=/-[a-z]/g,_i=/^data[-\w.:]+$/i;function Oi(e,n){const t=Pn(n);let r=n,i=ne;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&_i.test(n)){if(n.charAt(4)==="-"){const o=n.slice(5).replace(mt,Ni);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=n.slice(4);if(!mt.test(o)){let l=o.replace(Ri,Mi);l.charAt(0)!=="-"&&(l="-"+l),n="data"+l}}i=Hn}return new i(r,n)}function Mi(e){return"-"+e.toLowerCase()}function Ni(e){return e.charAt(1).toUpperCase()}const Bi=ur([sr,Di,hr,pr,mr],"html"),Un=ur([sr,Li,hr,pr,mr],"svg");function ji(e){return e.join(" ").trim()}var Vn={},gt=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Hi=/\n/g,Ui=/^\s*/,Vi=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,$i=/^:\s*/,qi=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Wi=/^[;\s]*/,Yi=/^\s+|\s+$/g,Xi=`
2
2
  `,dt="/",yt="*",Ie="",Qi="comment",Gi="declaration";function Ki(e,n){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];n=n||{};var t=1,r=1;function i(d){var x=d.match(Hi);x&&(t+=x.length);var C=d.lastIndexOf(Xi);r=~C?d.length-C:r+d.length}function o(){var d={line:t,column:r};return function(x){return x.position=new l(d),s(),x}}function l(d){this.start=d,this.end={line:t,column:r},this.source=n.source}l.prototype.content=e;function a(d){var x=new Error(n.source+":"+t+":"+r+": "+d);if(x.reason=d,x.filename=n.source,x.line=t,x.column=r,x.source=e,!n.silent)throw x}function u(d){var x=d.exec(e);if(x){var C=x[0];return i(C),e=e.slice(C.length),x}}function s(){u(Ui)}function f(d){var x;for(d=d||[];x=c();)x!==!1&&d.push(x);return d}function c(){var d=o();if(!(dt!=e.charAt(0)||yt!=e.charAt(1))){for(var x=2;Ie!=e.charAt(x)&&(yt!=e.charAt(x)||dt!=e.charAt(x+1));)++x;if(x+=2,Ie===e.charAt(x-1))return a("End of comment missing");var C=e.slice(2,x-2);return r+=2,i(C),e=e.slice(x),r+=2,d({type:Qi,comment:C})}}function p(){var d=o(),x=u(Vi);if(x){if(c(),!u($i))return a("property missing ':'");var C=u(qi),y=d({type:Gi,property:kt(x[0].replace(gt,Ie)),value:C?kt(C[0].replace(gt,Ie)):Ie});return u(Wi),y}}function h(){var d=[];f(d);for(var x;x=p();)x!==!1&&(d.push(x),f(d));return d}return s(),h()}function kt(e){return e?e.replace(Yi,Ie):Ie}var Ji=Ki,Zi=tn&&tn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vn,"__esModule",{value:!0});Vn.default=nl;const el=Zi(Ji);function nl(e,n){let t=null;if(!e||typeof e!="string")return t;const r=(0,el.default)(e),i=typeof n=="function";return r.forEach(o=>{if(o.type!=="declaration")return;const{property:l,value:a}=o;i?n(l,a,o):a&&(t=t||{},t[l]=a)}),t}var un={};Object.defineProperty(un,"__esModule",{value:!0});un.camelCase=void 0;var tl=/^--[a-zA-Z0-9_-]+$/,rl=/-([a-z])/g,il=/^[^-]+$/,ll=/^-(webkit|moz|ms|o|khtml)-/,ol=/^-(ms)-/,al=function(e){return!e||il.test(e)||tl.test(e)},ul=function(e,n){return n.toUpperCase()},xt=function(e,n){return"".concat(n,"-")},sl=function(e,n){return n===void 0&&(n={}),al(e)?e:(e=e.toLowerCase(),n.reactCompat?e=e.replace(ol,xt):e=e.replace(ll,xt),e.replace(rl,ul))};un.camelCase=sl;var cl=tn&&tn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},fl=cl(Vn),hl=un;function Ln(e,n){var t={};return!e||typeof e!="string"||(0,fl.default)(e,function(r,i){r&&i&&(t[(0,hl.camelCase)(r,n)]=i)}),t}Ln.default=Ln;var pl=Ln;const ml=ar(pl),gr=dr("end"),$n=dr("start");function dr(e){return n;function n(t){const r=t&&t.position&&t.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function gl(e){const n=$n(e),t=gr(e);if(n&&t)return{start:n,end:t}}function He(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?bt(e.position):"start"in e||"end"in e?bt(e):"line"in e||"column"in e?Fn(e):""}function Fn(e){return wt(e&&e.line)+":"+wt(e&&e.column)}function bt(e){return Fn(e&&e.start)+"-"+Fn(e&&e.end)}function wt(e){return e&&typeof e=="number"?e:1}class J extends Error{constructor(n,t,r){super(),typeof t=="string"&&(r=t,t=void 0);let i="",o={},l=!1;if(t&&("line"in t&&"column"in t?o={place:t}:"start"in t&&"end"in t?o={place:t}:"type"in t?o={ancestors:[t],place:t.position}:o={...t}),typeof n=="string"?i=n:!o.cause&&n&&(l=!0,i=n.message,o.cause=n),!o.ruleId&&!o.source&&typeof r=="string"){const u=r.indexOf(":");u===-1?o.ruleId=r:(o.source=r.slice(0,u),o.ruleId=r.slice(u+1))}if(!o.place&&o.ancestors&&o.ancestors){const u=o.ancestors[o.ancestors.length-1];u&&(o.place=u.position)}const a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=He(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=l&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}J.prototype.file="";J.prototype.name="";J.prototype.reason="";J.prototype.message="";J.prototype.stack="";J.prototype.column=void 0;J.prototype.line=void 0;J.prototype.ancestors=void 0;J.prototype.cause=void 0;J.prototype.fatal=void 0;J.prototype.place=void 0;J.prototype.ruleId=void 0;J.prototype.source=void 0;const qn={}.hasOwnProperty,dl=new Map,yl=/[A-Z]/g,kl=new Set(["table","tbody","thead","tfoot","tr"]),xl=new Set(["td","th"]),yr="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function bl(e,n){if(!n||n.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const t=n.filePath||void 0;let r;if(n.development){if(typeof n.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=vl(t,n.jsxDEV)}else{if(typeof n.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof n.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Tl(t,n.jsx,n.jsxs)}const i={Fragment:n.Fragment,ancestors:[],components:n.components||{},create:r,elementAttributeNameCase:n.elementAttributeNameCase||"react",evaluater:n.createEvaluater?n.createEvaluater():void 0,filePath:t,ignoreInvalidStyle:n.ignoreInvalidStyle||!1,passKeys:n.passKeys!==!1,passNode:n.passNode||!1,schema:n.space==="svg"?Un:Bi,stylePropertyNameCase:n.stylePropertyNameCase||"dom",tableCellAlignToStyle:n.tableCellAlignToStyle!==!1},o=kr(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function kr(e,n,t){if(n.type==="element")return wl(e,n,t);if(n.type==="mdxFlowExpression"||n.type==="mdxTextExpression")return Sl(e,n);if(n.type==="mdxJsxFlowElement"||n.type==="mdxJsxTextElement")return El(e,n,t);if(n.type==="mdxjsEsm")return Cl(e,n);if(n.type==="root")return Il(e,n,t);if(n.type==="text")return Al(e,n)}function wl(e,n,t){const r=e.schema;let i=r;n.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(n);const o=br(e,n.tagName,!1),l=Pl(e,n);let a=Yn(e,n);return kl.has(n.tagName)&&(a=a.filter(function(u){return typeof u=="string"?!Pi(u):!0})),xr(e,l,o,n),Wn(l,a),e.ancestors.pop(),e.schema=r,e.create(n,o,l,t)}function Sl(e,n){if(n.data&&n.data.estree&&e.evaluater){const r=n.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}$e(e,n.position)}function Cl(e,n){if(n.data&&n.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(n.data.estree);$e(e,n.position)}function El(e,n,t){const r=e.schema;let i=r;n.name==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(n);const o=n.name===null?e.Fragment:br(e,n.name,!0),l=zl(e,n),a=Yn(e,n);return xr(e,l,o,n),Wn(l,a),e.ancestors.pop(),e.schema=r,e.create(n,o,l,t)}function Il(e,n,t){const r={};return Wn(r,Yn(e,n)),e.create(n,e.Fragment,r,t)}function Al(e,n){return n.value}function xr(e,n,t,r){typeof t!="string"&&t!==e.Fragment&&e.passNode&&(n.node=r)}function Wn(e,n){if(n.length>0){const t=n.length>1?n:n[0];t&&(e.children=t)}}function Tl(e,n,t){return r;function r(i,o,l,a){const s=Array.isArray(l.children)?t:n;return a?s(o,l,a):s(o,l)}}function vl(e,n){return t;function t(r,i,o,l){const a=Array.isArray(o.children),u=$n(r);return n(i,o,l,a,{columnNumber:u?u.column-1:void 0,fileName:e,lineNumber:u?u.line:void 0},void 0)}}function Pl(e,n){const t={};let r,i;for(i in n.properties)if(i!=="children"&&qn.call(n.properties,i)){const o=Dl(e,i,n.properties[i]);if(o){const[l,a]=o;e.tableCellAlignToStyle&&l==="align"&&typeof a=="string"&&xl.has(n.tagName)?r=a:t[l]=a}}if(r){const o=t.style||(t.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return t}function zl(e,n){const t={};for(const r of n.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const o=r.data.estree.body[0];o.type;const l=o.expression;l.type;const a=l.properties[0];a.type,Object.assign(t,e.evaluater.evaluateExpression(a.argument))}else $e(e,n.position);else{const i=r.name;let o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const a=r.value.data.estree.body[0];a.type,o=e.evaluater.evaluateExpression(a.expression)}else $e(e,n.position);else o=r.value===null?!0:r.value;t[i]=o}return t}function Yn(e,n){const t=[];let r=-1;const i=e.passKeys?new Map:dl;for(;++r<n.children.length;){const o=n.children[r];let l;if(e.passKeys){const u=o.type==="element"?o.tagName:o.type==="mdxJsxFlowElement"||o.type==="mdxJsxTextElement"?o.name:void 0;if(u){const s=i.get(u)||0;l=u+"-"+s,i.set(u,s+1)}}const a=kr(e,o,l);a!==void 0&&t.push(a)}return t}function Dl(e,n,t){const r=Oi(e.schema,n);if(!(t==null||typeof t=="number"&&Number.isNaN(t))){if(Array.isArray(t)&&(t=r.commaSeparated?Ei(t):ji(t)),r.property==="style"){let i=typeof t=="object"?t:Ll(e,String(t));return e.stylePropertyNameCase==="css"&&(i=Fl(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?Fi[r.property]||r.property:r.attribute,t]}}function Ll(e,n){try{return ml(n,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};const r=t,i=new J("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=yr+"#cannot-parse-style-attribute",i}}function br(e,n,t){let r;if(!t)r={type:"Literal",value:n};else if(n.includes(".")){const i=n.split(".");let o=-1,l;for(;++o<i.length;){const a=ft(i[o])?{type:"Identifier",name:i[o]}:{type:"Literal",value:i[o]};l=l?{type:"MemberExpression",object:l,property:a,computed:!!(o&&a.type==="Literal"),optional:!1}:a}r=l}else r=ft(n)&&!/^[a-z]/.test(n)?{type:"Identifier",name:n}:{type:"Literal",value:n};if(r.type==="Literal"){const i=r.value;return qn.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);$e(e)}function $e(e,n){const t=new J("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:n,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw t.file=e.filePath||void 0,t.url=yr+"#cannot-handle-mdx-estrees-without-createevaluater",t}function Fl(e){const n={};let t;for(t in e)qn.call(e,t)&&(n[Rl(t)]=e[t]);return n}function Rl(e){let n=e.replace(yl,_l);return n.slice(0,3)==="ms-"&&(n="-"+n),n}function _l(e){return"-"+e.toLowerCase()}const gn={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Ol={};function Xn(e,n){const t=Ol,r=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return wr(e,r,i)}function wr(e,n,t){if(Ml(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(n&&"alt"in e&&e.alt)return e.alt;if("children"in e)return St(e.children,n,t)}return Array.isArray(e)?St(e,n,t):""}function St(e,n,t){const r=[];let i=-1;for(;++i<e.length;)r[i]=wr(e[i],n,t);return r.join("")}function Ml(e){return!!(e&&typeof e=="object")}const Ct=document.createElement("i");function Qn(e){const n="&"+e+";";Ct.innerHTML=n;const t=Ct.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}function ie(e,n,t,r){const i=e.length;let o=0,l;if(n<0?n=-n>i?0:i+n:n=n>i?i:n,t=t>0?t:0,r.length<1e4)l=Array.from(r),l.unshift(n,t),e.splice(...l);else for(t&&e.splice(n,t);o<r.length;)l=r.slice(o,o+1e4),l.unshift(n,0),e.splice(...l),o+=1e4,n+=1e4}function le(e,n){return e.length>0?(ie(e,e.length,0,n),e):n}const Et={}.hasOwnProperty;function Sr(e){const n={};let t=-1;for(;++t<e.length;)Nl(n,e[t]);return n}function Nl(e,n){let t;for(t in n){const i=(Et.call(e,t)?e[t]:void 0)||(e[t]={}),o=n[t];let l;if(o)for(l in o){Et.call(i,l)||(i[l]=[]);const a=o[l];Bl(i[l],Array.isArray(a)?a:a?[a]:[])}}}function Bl(e,n){let t=-1;const r=[];for(;++t<n.length;)(n[t].add==="after"?e:r).push(n[t]);ie(e,0,0,r)}function Cr(e,n){const t=Number.parseInt(e,n);return t<9||t===11||t>13&&t<32||t>126&&t<160||t>55295&&t<57344||t>64975&&t<65008||(t&65535)===65535||(t&65535)===65534||t>1114111?"�":String.fromCodePoint(t)}function ce(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Z=be(/[A-Za-z]/),K=be(/[\dA-Za-z]/),jl=be(/[#-'*+\--9=?A-Z^-~]/);function rn(e){return e!==null&&(e<32||e===127)}const Rn=be(/\d/),Hl=be(/[\dA-Fa-f]/),Ul=be(/[!-/:-@[-`{-~]/);function P(e){return e!==null&&e<-2}function V(e){return e!==null&&(e<0||e===32)}function R(e){return e===-2||e===-1||e===32}const sn=be(new RegExp("\\p{P}|\\p{S}","u")),Te=be(/\s/);function be(e){return n;function n(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function _e(e){const n=[];let t=-1,r=0,i=0;for(;++t<e.length;){const o=e.charCodeAt(t);let l="";if(o===37&&K(e.charCodeAt(t+1))&&K(e.charCodeAt(t+2)))i=2;else if(o<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o))||(l=String.fromCharCode(o));else if(o>55295&&o<57344){const a=e.charCodeAt(t+1);o<56320&&a>56319&&a<57344?(l=String.fromCharCode(o,a),i=1):l="�"}else l=String.fromCharCode(o);l&&(n.push(e.slice(r,t),encodeURIComponent(l)),r=t+i+1,l=""),i&&(t+=i,i=0)}return n.join("")+e.slice(r)}function O(e,n,t,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return l;function l(u){return R(u)?(e.enter(t),a(u)):n(u)}function a(u){return R(u)&&o++<i?(e.consume(u),a):(e.exit(t),n(u))}}const Vl={tokenize:$l};function $l(e){const n=e.attempt(this.parser.constructs.contentInitial,r,i);let t;return n;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),O(e,n,"linePrefix")}function i(a){return e.enter("paragraph"),o(a)}function o(a){const u=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=u),t=u,l(a)}function l(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return P(a)?(e.consume(a),e.exit("chunkText"),o):(e.consume(a),l)}}const ql={tokenize:Wl},It={tokenize:Yl};function Wl(e){const n=this,t=[];let r=0,i,o,l;return a;function a(E){if(r<t.length){const L=t[r];return n.containerState=L[1],e.attempt(L[0].continuation,u,s)(E)}return s(E)}function u(E){if(r++,n.containerState._closeFlow){n.containerState._closeFlow=void 0,i&&A();const L=n.events.length;let F=L,w;for(;F--;)if(n.events[F][0]==="exit"&&n.events[F][1].type==="chunkFlow"){w=n.events[F][1].end;break}y(r);let M=L;for(;M<n.events.length;)n.events[M][1].end={...w},M++;return ie(n.events,F+1,0,n.events.slice(L)),n.events.length=M,s(E)}return a(E)}function s(E){if(r===t.length){if(!i)return p(E);if(i.currentConstruct&&i.currentConstruct.concrete)return d(E);n.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return n.containerState={},e.check(It,f,c)(E)}function f(E){return i&&A(),y(r),p(E)}function c(E){return n.parser.lazy[n.now().line]=r!==t.length,l=n.now().offset,d(E)}function p(E){return n.containerState={},e.attempt(It,h,d)(E)}function h(E){return r++,t.push([n.currentConstruct,n.containerState]),p(E)}function d(E){if(E===null){i&&A(),y(0),e.consume(E);return}return i=i||n.parser.flow(n.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:o}),x(E)}function x(E){if(E===null){C(e.exit("chunkFlow"),!0),y(0),e.consume(E);return}return P(E)?(e.consume(E),C(e.exit("chunkFlow")),r=0,n.interrupt=void 0,a):(e.consume(E),x)}function C(E,L){const F=n.sliceStream(E);if(L&&F.push(null),E.previous=o,o&&(o.next=E),o=E,i.defineSkip(E.start),i.write(F),n.parser.lazy[E.start.line]){let w=i.events.length;for(;w--;)if(i.events[w][1].start.offset<l&&(!i.events[w][1].end||i.events[w][1].end.offset>l))return;const M=n.events.length;let $=M,B,k;for(;$--;)if(n.events[$][0]==="exit"&&n.events[$][1].type==="chunkFlow"){if(B){k=n.events[$][1].end;break}B=!0}for(y(r),w=M;w<n.events.length;)n.events[w][1].end={...k},w++;ie(n.events,$+1,0,n.events.slice(M)),n.events.length=w}}function y(E){let L=t.length;for(;L-- >E;){const F=t[L];n.containerState=F[1],F[0].exit.call(n,e)}t.length=E}function A(){i.write([null]),o=void 0,i=void 0,n.containerState._closeFlow=void 0}}function Yl(e,n,t){return O(e,e.attempt(this.parser.constructs.document,n,t),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Fe(e){if(e===null||V(e)||Te(e))return 1;if(sn(e))return 2}function cn(e,n,t){const r=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!r.includes(o)&&(n=o(n,t),r.push(o))}return n}const _n={name:"attention",resolveAll:Xl,tokenize:Ql};function Xl(e,n){let t=-1,r,i,o,l,a,u,s,f;for(;++t<e.length;)if(e[t][0]==="enter"&&e[t][1].type==="attentionSequence"&&e[t][1]._close){for(r=t;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&n.sliceSerialize(e[r][1]).charCodeAt(0)===n.sliceSerialize(e[t][1]).charCodeAt(0)){if((e[r][1]._close||e[t][1]._open)&&(e[t][1].end.offset-e[t][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[t][1].end.offset-e[t][1].start.offset)%3))continue;u=e[r][1].end.offset-e[r][1].start.offset>1&&e[t][1].end.offset-e[t][1].start.offset>1?2:1;const c={...e[r][1].end},p={...e[t][1].start};At(c,-u),At(p,u),l={type:u>1?"strongSequence":"emphasisSequence",start:c,end:{...e[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...e[t][1].start},end:p},o={type:u>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[t][1].start}},i={type:u>1?"strong":"emphasis",start:{...l.start},end:{...a.end}},e[r][1].end={...l.start},e[t][1].start={...a.end},s=[],e[r][1].end.offset-e[r][1].start.offset&&(s=le(s,[["enter",e[r][1],n],["exit",e[r][1],n]])),s=le(s,[["enter",i,n],["enter",l,n],["exit",l,n],["enter",o,n]]),s=le(s,cn(n.parser.constructs.insideSpan.null,e.slice(r+1,t),n)),s=le(s,[["exit",o,n],["enter",a,n],["exit",a,n],["exit",i,n]]),e[t][1].end.offset-e[t][1].start.offset?(f=2,s=le(s,[["enter",e[t][1],n],["exit",e[t][1],n]])):f=0,ie(e,r-1,t-r+3,s),t=r+s.length-f-2;break}}for(t=-1;++t<e.length;)e[t][1].type==="attentionSequence"&&(e[t][1].type="data");return e}function Ql(e,n){const t=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Fe(r);let o;return l;function l(u){return o=u,e.enter("attentionSequence"),a(u)}function a(u){if(u===o)return e.consume(u),a;const s=e.exit("attentionSequence"),f=Fe(u),c=!f||f===2&&i||t.includes(u),p=!i||i===2&&f||t.includes(r);return s._open=!!(o===42?c:c&&(i||!p)),s._close=!!(o===42?p:p&&(f||!c)),n(u)}}function At(e,n){e.column+=n,e.offset+=n,e._bufferIndex+=n}const Gl={name:"autolink",tokenize:Kl};function Kl(e,n,t){let r=0;return i;function i(h){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o}function o(h){return Z(h)?(e.consume(h),l):h===64?t(h):s(h)}function l(h){return h===43||h===45||h===46||K(h)?(r=1,a(h)):s(h)}function a(h){return h===58?(e.consume(h),r=0,u):(h===43||h===45||h===46||K(h))&&r++<32?(e.consume(h),a):(r=0,s(h))}function u(h){return h===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):h===null||h===32||h===60||rn(h)?t(h):(e.consume(h),u)}function s(h){return h===64?(e.consume(h),f):jl(h)?(e.consume(h),s):t(h)}function f(h){return K(h)?c(h):t(h)}function c(h){return h===46?(e.consume(h),r=0,f):h===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(h),e.exit("autolinkMarker"),e.exit("autolink"),n):p(h)}function p(h){if((h===45||K(h))&&r++<63){const d=h===45?p:c;return e.consume(h),d}return t(h)}}const Ye={partial:!0,tokenize:Jl};function Jl(e,n,t){return r;function r(o){return R(o)?O(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||P(o)?n(o):t(o)}}const Er={continuation:{tokenize:eo},exit:no,name:"blockQuote",tokenize:Zl};function Zl(e,n,t){const r=this;return i;function i(l){if(l===62){const a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(l),e.exit("blockQuoteMarker"),o}return t(l)}function o(l){return R(l)?(e.enter("blockQuotePrefixWhitespace"),e.consume(l),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),n):(e.exit("blockQuotePrefix"),n(l))}}function eo(e,n,t){const r=this;return i;function i(l){return R(l)?O(e,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l):o(l)}function o(l){return e.attempt(Er,n,t)(l)}}function no(e){e.exit("blockQuote")}const Ir={name:"characterEscape",tokenize:to};function to(e,n,t){return r;function r(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),i}function i(o){return Ul(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),n):t(o)}}const Ar={name:"characterReference",tokenize:ro};function ro(e,n,t){const r=this;let i=0,o,l;return a;function a(c){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),u}function u(c){return c===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(c),e.exit("characterReferenceMarkerNumeric"),s):(e.enter("characterReferenceValue"),o=31,l=K,f(c))}function s(c){return c===88||c===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(c),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,l=Hl,f):(e.enter("characterReferenceValue"),o=7,l=Rn,f(c))}function f(c){if(c===59&&i){const p=e.exit("characterReferenceValue");return l===K&&!Qn(r.sliceSerialize(p))?t(c):(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),n)}return l(c)&&i++<o?(e.consume(c),f):t(c)}}const Tt={partial:!0,tokenize:lo},vt={concrete:!0,name:"codeFenced",tokenize:io};function io(e,n,t){const r=this,i={partial:!0,tokenize:F};let o=0,l=0,a;return u;function u(w){return s(w)}function s(w){const M=r.events[r.events.length-1];return o=M&&M[1].type==="linePrefix"?M[2].sliceSerialize(M[1],!0).length:0,a=w,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),f(w)}function f(w){return w===a?(l++,e.consume(w),f):l<3?t(w):(e.exit("codeFencedFenceSequence"),R(w)?O(e,c,"whitespace")(w):c(w))}function c(w){return w===null||P(w)?(e.exit("codeFencedFence"),r.interrupt?n(w):e.check(Tt,x,L)(w)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(w))}function p(w){return w===null||P(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),c(w)):R(w)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),O(e,h,"whitespace")(w)):w===96&&w===a?t(w):(e.consume(w),p)}function h(w){return w===null||P(w)?c(w):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),d(w))}function d(w){return w===null||P(w)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),c(w)):w===96&&w===a?t(w):(e.consume(w),d)}function x(w){return e.attempt(i,L,C)(w)}function C(w){return e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),y}function y(w){return o>0&&R(w)?O(e,A,"linePrefix",o+1)(w):A(w)}function A(w){return w===null||P(w)?e.check(Tt,x,L)(w):(e.enter("codeFlowValue"),E(w))}function E(w){return w===null||P(w)?(e.exit("codeFlowValue"),A(w)):(e.consume(w),E)}function L(w){return e.exit("codeFenced"),n(w)}function F(w,M,$){let B=0;return k;function k(N){return w.enter("lineEnding"),w.consume(N),w.exit("lineEnding"),T}function T(N){return w.enter("codeFencedFence"),R(N)?O(w,v,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(N):v(N)}function v(N){return N===a?(w.enter("codeFencedFenceSequence"),j(N)):$(N)}function j(N){return N===a?(B++,w.consume(N),j):B>=l?(w.exit("codeFencedFenceSequence"),R(N)?O(w,q,"whitespace")(N):q(N)):$(N)}function q(N){return N===null||P(N)?(w.exit("codeFencedFence"),M(N)):$(N)}}}function lo(e,n,t){const r=this;return i;function i(l){return l===null?t(l):(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o)}function o(l){return r.parser.lazy[r.now().line]?t(l):n(l)}}const dn={name:"codeIndented",tokenize:ao},oo={partial:!0,tokenize:uo};function ao(e,n,t){const r=this;return i;function i(s){return e.enter("codeIndented"),O(e,o,"linePrefix",5)(s)}function o(s){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?l(s):t(s)}function l(s){return s===null?u(s):P(s)?e.attempt(oo,l,u)(s):(e.enter("codeFlowValue"),a(s))}function a(s){return s===null||P(s)?(e.exit("codeFlowValue"),l(s)):(e.consume(s),a)}function u(s){return e.exit("codeIndented"),n(s)}}function uo(e,n,t){const r=this;return i;function i(l){return r.parser.lazy[r.now().line]?t(l):P(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),i):O(e,o,"linePrefix",5)(l)}function o(l){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?n(l):P(l)?i(l):t(l)}}const so={name:"codeText",previous:fo,resolve:co,tokenize:ho};function co(e){let n=e.length-4,t=3,r,i;if((e[t][1].type==="lineEnding"||e[t][1].type==="space")&&(e[n][1].type==="lineEnding"||e[n][1].type==="space")){for(r=t;++r<n;)if(e[r][1].type==="codeTextData"){e[t][1].type="codeTextPadding",e[n][1].type="codeTextPadding",t+=2,n-=2;break}}for(r=t-1,n++;++r<=n;)i===void 0?r!==n&&e[r][1].type!=="lineEnding"&&(i=r):(r===n||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),n-=r-i-2,r=i+2),i=void 0);return e}function fo(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function ho(e,n,t){let r=0,i,o;return l;function l(c){return e.enter("codeText"),e.enter("codeTextSequence"),a(c)}function a(c){return c===96?(e.consume(c),r++,a):(e.exit("codeTextSequence"),u(c))}function u(c){return c===null?t(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),u):c===96?(o=e.enter("codeTextSequence"),i=0,f(c)):P(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),u):(e.enter("codeTextData"),s(c))}function s(c){return c===null||c===32||c===96||P(c)?(e.exit("codeTextData"),u(c)):(e.consume(c),s)}function f(c){return c===96?(e.consume(c),i++,f):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),n(c)):(o.type="codeTextData",s(c))}}class po{constructor(n){this.left=n?[...n]:[],this.right=[]}get(n){if(n<0||n>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+n+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return n<this.left.length?this.left[n]:this.right[this.right.length-n+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(n,t){const r=t??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(n,r):n>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-n+this.left.length).reverse():this.left.slice(n).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(n,t,r){const i=t||0;this.setCursor(Math.trunc(n));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Be(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(n){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(n)}pushMany(n){this.setCursor(Number.POSITIVE_INFINITY),Be(this.left,n)}unshift(n){this.setCursor(0),this.right.push(n)}unshiftMany(n){this.setCursor(0),Be(this.right,n.reverse())}setCursor(n){if(!(n===this.left.length||n>this.left.length&&this.right.length===0||n<0&&this.left.length===0))if(n<this.left.length){const t=this.left.splice(n,Number.POSITIVE_INFINITY);Be(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-n,Number.POSITIVE_INFINITY);Be(this.left,t.reverse())}}}function Be(e,n){let t=0;if(n.length<1e4)e.push(...n);else for(;t<n.length;)e.push(...n.slice(t,t+1e4)),t+=1e4}function Tr(e){const n={};let t=-1,r,i,o,l,a,u,s;const f=new po(e);for(;++t<f.length;){for(;t in n;)t=n[t];if(r=f.get(t),t&&r[1].type==="chunkFlow"&&f.get(t-1)[1].type==="listItemPrefix"&&(u=r[1]._tokenizer.events,o=0,o<u.length&&u[o][1].type==="lineEndingBlank"&&(o+=2),o<u.length&&u[o][1].type==="content"))for(;++o<u.length&&u[o][1].type!=="content";)u[o][1].type==="chunkText"&&(u[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(n,mo(f,t)),t=n[t],s=!0);else if(r[1]._container){for(o=t,i=void 0;o--;)if(l=f.get(o),l[1].type==="lineEnding"||l[1].type==="lineEndingBlank")l[0]==="enter"&&(i&&(f.get(i)[1].type="lineEndingBlank"),l[1].type="lineEnding",i=o);else if(!(l[1].type==="linePrefix"||l[1].type==="listItemIndent"))break;i&&(r[1].end={...f.get(i)[1].start},a=f.slice(i,t),a.unshift(r),f.splice(i,t-i+1,a))}}return ie(e,0,Number.POSITIVE_INFINITY,f.slice(0)),!s}function mo(e,n){const t=e.get(n)[1],r=e.get(n)[2];let i=n-1;const o=[];let l=t._tokenizer;l||(l=r.parser[t.contentType](t.start),t._contentTypeTextTrailing&&(l._contentTypeTextTrailing=!0));const a=l.events,u=[],s={};let f,c,p=-1,h=t,d=0,x=0;const C=[x];for(;h;){for(;e.get(++i)[1]!==h;);o.push(i),h._tokenizer||(f=r.sliceStream(h),h.next||f.push(null),c&&l.defineSkip(h.start),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=!0),l.write(f),h._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=void 0)),c=h,h=h.next}for(h=t;++p<a.length;)a[p][0]==="exit"&&a[p-1][0]==="enter"&&a[p][1].type===a[p-1][1].type&&a[p][1].start.line!==a[p][1].end.line&&(x=p+1,C.push(x),h._tokenizer=void 0,h.previous=void 0,h=h.next);for(l.events=[],h?(h._tokenizer=void 0,h.previous=void 0):C.pop(),p=C.length;p--;){const y=a.slice(C[p],C[p+1]),A=o.pop();u.push([A,A+y.length-1]),e.splice(A,2,y)}for(u.reverse(),p=-1;++p<u.length;)s[d+u[p][0]]=d+u[p][1],d+=u[p][1]-u[p][0]-1;return s}const go={resolve:ko,tokenize:xo},yo={partial:!0,tokenize:bo};function ko(e){return Tr(e),e}function xo(e,n){let t;return r;function r(a){return e.enter("content"),t=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?o(a):P(a)?e.check(yo,l,o)(a):(e.consume(a),i)}function o(a){return e.exit("chunkContent"),e.exit("content"),n(a)}function l(a){return e.consume(a),e.exit("chunkContent"),t.next=e.enter("chunkContent",{contentType:"content",previous:t}),t=t.next,i}}function bo(e,n,t){const r=this;return i;function i(l){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),O(e,o,"linePrefix")}function o(l){if(l===null||P(l))return t(l);const a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?n(l):e.interrupt(r.parser.constructs.flow,t,n)(l)}}function vr(e,n,t,r,i,o,l,a,u){const s=u||Number.POSITIVE_INFINITY;let f=0;return c;function c(y){return y===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(y),e.exit(o),p):y===null||y===32||y===41||rn(y)?t(y):(e.enter(r),e.enter(l),e.enter(a),e.enter("chunkString",{contentType:"string"}),x(y))}function p(y){return y===62?(e.enter(o),e.consume(y),e.exit(o),e.exit(i),e.exit(r),n):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===62?(e.exit("chunkString"),e.exit(a),p(y)):y===null||y===60||P(y)?t(y):(e.consume(y),y===92?d:h)}function d(y){return y===60||y===62||y===92?(e.consume(y),h):h(y)}function x(y){return!f&&(y===null||y===41||V(y))?(e.exit("chunkString"),e.exit(a),e.exit(l),e.exit(r),n(y)):f<s&&y===40?(e.consume(y),f++,x):y===41?(e.consume(y),f--,x):y===null||y===32||y===40||rn(y)?t(y):(e.consume(y),y===92?C:x)}function C(y){return y===40||y===41||y===92?(e.consume(y),x):x(y)}}function Pr(e,n,t,r,i,o){const l=this;let a=0,u;return s;function s(h){return e.enter(r),e.enter(i),e.consume(h),e.exit(i),e.enter(o),f}function f(h){return a>999||h===null||h===91||h===93&&!u||h===94&&!a&&"_hiddenFootnoteSupport"in l.parser.constructs?t(h):h===93?(e.exit(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),n):P(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===null||h===91||h===93||P(h)||a++>999?(e.exit("chunkString"),f(h)):(e.consume(h),u||(u=!R(h)),h===92?p:c)}function p(h){return h===91||h===92||h===93?(e.consume(h),a++,c):c(h)}}function zr(e,n,t,r,i,o){let l;return a;function a(p){return p===34||p===39||p===40?(e.enter(r),e.enter(i),e.consume(p),e.exit(i),l=p===40?41:p,u):t(p)}function u(p){return p===l?(e.enter(i),e.consume(p),e.exit(i),e.exit(r),n):(e.enter(o),s(p))}function s(p){return p===l?(e.exit(o),u(l)):p===null?t(p):P(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),O(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===l||p===null||P(p)?(e.exit("chunkString"),s(p)):(e.consume(p),p===92?c:f)}function c(p){return p===l||p===92?(e.consume(p),f):f(p)}}function Ue(e,n){let t;return r;function r(i){return P(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t=!0,r):R(i)?O(e,r,t?"linePrefix":"lineSuffix")(i):n(i)}}const wo={name:"definition",tokenize:Co},So={partial:!0,tokenize:Eo};function Co(e,n,t){const r=this;let i;return o;function o(h){return e.enter("definition"),l(h)}function l(h){return Pr.call(r,e,a,t,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=ce(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),u):t(h)}function u(h){return V(h)?Ue(e,s)(h):s(h)}function s(h){return vr(e,f,t,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function f(h){return e.attempt(So,c,c)(h)}function c(h){return R(h)?O(e,p,"whitespace")(h):p(h)}function p(h){return h===null||P(h)?(e.exit("definition"),r.parser.defined.push(i),n(h)):t(h)}}function Eo(e,n,t){return r;function r(a){return V(a)?Ue(e,i)(a):t(a)}function i(a){return zr(e,o,t,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return R(a)?O(e,l,"whitespace")(a):l(a)}function l(a){return a===null||P(a)?n(a):t(a)}}const Io={name:"hardBreakEscape",tokenize:Ao};function Ao(e,n,t){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return P(o)?(e.exit("hardBreakEscape"),n(o)):t(o)}}const To={name:"headingAtx",resolve:vo,tokenize:Po};function vo(e,n){let t=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),t-2>r&&e[t][1].type==="whitespace"&&(t-=2),e[t][1].type==="atxHeadingSequence"&&(r===t-1||t-4>r&&e[t-2][1].type==="whitespace")&&(t-=r+1===t?2:4),t>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[t][1].end},o={type:"chunkText",start:e[r][1].start,end:e[t][1].end,contentType:"text"},ie(e,r,t-r+1,[["enter",i,n],["enter",o,n],["exit",o,n],["exit",i,n]])),e}function Po(e,n,t){let r=0;return i;function i(f){return e.enter("atxHeading"),o(f)}function o(f){return e.enter("atxHeadingSequence"),l(f)}function l(f){return f===35&&r++<6?(e.consume(f),l):f===null||V(f)?(e.exit("atxHeadingSequence"),a(f)):t(f)}function a(f){return f===35?(e.enter("atxHeadingSequence"),u(f)):f===null||P(f)?(e.exit("atxHeading"),n(f)):R(f)?O(e,a,"whitespace")(f):(e.enter("atxHeadingText"),s(f))}function u(f){return f===35?(e.consume(f),u):(e.exit("atxHeadingSequence"),a(f))}function s(f){return f===null||f===35||V(f)?(e.exit("atxHeadingText"),a(f)):(e.consume(f),s)}}const zo=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Pt=["pre","script","style","textarea"],Do={concrete:!0,name:"htmlFlow",resolveTo:Ro,tokenize:_o},Lo={partial:!0,tokenize:Mo},Fo={partial:!0,tokenize:Oo};function Ro(e){let n=e.length;for(;n--&&!(e[n][0]==="enter"&&e[n][1].type==="htmlFlow"););return n>1&&e[n-2][1].type==="linePrefix"&&(e[n][1].start=e[n-2][1].start,e[n+1][1].start=e[n-2][1].start,e.splice(n-2,2)),e}function _o(e,n,t){const r=this;let i,o,l,a,u;return s;function s(g){return f(g)}function f(g){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(g),c}function c(g){return g===33?(e.consume(g),p):g===47?(e.consume(g),o=!0,x):g===63?(e.consume(g),i=3,r.interrupt?n:m):Z(g)?(e.consume(g),l=String.fromCharCode(g),C):t(g)}function p(g){return g===45?(e.consume(g),i=2,h):g===91?(e.consume(g),i=5,a=0,d):Z(g)?(e.consume(g),i=4,r.interrupt?n:m):t(g)}function h(g){return g===45?(e.consume(g),r.interrupt?n:m):t(g)}function d(g){const ue="CDATA[";return g===ue.charCodeAt(a++)?(e.consume(g),a===ue.length?r.interrupt?n:v:d):t(g)}function x(g){return Z(g)?(e.consume(g),l=String.fromCharCode(g),C):t(g)}function C(g){if(g===null||g===47||g===62||V(g)){const ue=g===47,we=l.toLowerCase();return!ue&&!o&&Pt.includes(we)?(i=1,r.interrupt?n(g):v(g)):zo.includes(l.toLowerCase())?(i=6,ue?(e.consume(g),y):r.interrupt?n(g):v(g)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?t(g):o?A(g):E(g))}return g===45||K(g)?(e.consume(g),l+=String.fromCharCode(g),C):t(g)}function y(g){return g===62?(e.consume(g),r.interrupt?n:v):t(g)}function A(g){return R(g)?(e.consume(g),A):k(g)}function E(g){return g===47?(e.consume(g),k):g===58||g===95||Z(g)?(e.consume(g),L):R(g)?(e.consume(g),E):k(g)}function L(g){return g===45||g===46||g===58||g===95||K(g)?(e.consume(g),L):F(g)}function F(g){return g===61?(e.consume(g),w):R(g)?(e.consume(g),F):E(g)}function w(g){return g===null||g===60||g===61||g===62||g===96?t(g):g===34||g===39?(e.consume(g),u=g,M):R(g)?(e.consume(g),w):$(g)}function M(g){return g===u?(e.consume(g),u=null,B):g===null||P(g)?t(g):(e.consume(g),M)}function $(g){return g===null||g===34||g===39||g===47||g===60||g===61||g===62||g===96||V(g)?F(g):(e.consume(g),$)}function B(g){return g===47||g===62||R(g)?E(g):t(g)}function k(g){return g===62?(e.consume(g),T):t(g)}function T(g){return g===null||P(g)?v(g):R(g)?(e.consume(g),T):t(g)}function v(g){return g===45&&i===2?(e.consume(g),G):g===60&&i===1?(e.consume(g),Y):g===62&&i===4?(e.consume(g),ae):g===63&&i===3?(e.consume(g),m):g===93&&i===5?(e.consume(g),pe):P(g)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Lo,me,j)(g)):g===null||P(g)?(e.exit("htmlFlowData"),j(g)):(e.consume(g),v)}function j(g){return e.check(Fo,q,me)(g)}function q(g){return e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),N}function N(g){return g===null||P(g)?j(g):(e.enter("htmlFlowData"),v(g))}function G(g){return g===45?(e.consume(g),m):v(g)}function Y(g){return g===47?(e.consume(g),l="",oe):v(g)}function oe(g){if(g===62){const ue=l.toLowerCase();return Pt.includes(ue)?(e.consume(g),ae):v(g)}return Z(g)&&l.length<8?(e.consume(g),l+=String.fromCharCode(g),oe):v(g)}function pe(g){return g===93?(e.consume(g),m):v(g)}function m(g){return g===62?(e.consume(g),ae):g===45&&i===2?(e.consume(g),m):v(g)}function ae(g){return g===null||P(g)?(e.exit("htmlFlowData"),me(g)):(e.consume(g),ae)}function me(g){return e.exit("htmlFlow"),n(g)}}function Oo(e,n,t){const r=this;return i;function i(l){return P(l)?(e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),o):t(l)}function o(l){return r.parser.lazy[r.now().line]?t(l):n(l)}}function Mo(e,n,t){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Ye,n,t)}}const No={name:"htmlText",tokenize:Bo};function Bo(e,n,t){const r=this;let i,o,l;return a;function a(m){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(m),u}function u(m){return m===33?(e.consume(m),s):m===47?(e.consume(m),F):m===63?(e.consume(m),E):Z(m)?(e.consume(m),$):t(m)}function s(m){return m===45?(e.consume(m),f):m===91?(e.consume(m),o=0,d):Z(m)?(e.consume(m),A):t(m)}function f(m){return m===45?(e.consume(m),h):t(m)}function c(m){return m===null?t(m):m===45?(e.consume(m),p):P(m)?(l=c,Y(m)):(e.consume(m),c)}function p(m){return m===45?(e.consume(m),h):c(m)}function h(m){return m===62?G(m):m===45?p(m):c(m)}function d(m){const ae="CDATA[";return m===ae.charCodeAt(o++)?(e.consume(m),o===ae.length?x:d):t(m)}function x(m){return m===null?t(m):m===93?(e.consume(m),C):P(m)?(l=x,Y(m)):(e.consume(m),x)}function C(m){return m===93?(e.consume(m),y):x(m)}function y(m){return m===62?G(m):m===93?(e.consume(m),y):x(m)}function A(m){return m===null||m===62?G(m):P(m)?(l=A,Y(m)):(e.consume(m),A)}function E(m){return m===null?t(m):m===63?(e.consume(m),L):P(m)?(l=E,Y(m)):(e.consume(m),E)}function L(m){return m===62?G(m):E(m)}function F(m){return Z(m)?(e.consume(m),w):t(m)}function w(m){return m===45||K(m)?(e.consume(m),w):M(m)}function M(m){return P(m)?(l=M,Y(m)):R(m)?(e.consume(m),M):G(m)}function $(m){return m===45||K(m)?(e.consume(m),$):m===47||m===62||V(m)?B(m):t(m)}function B(m){return m===47?(e.consume(m),G):m===58||m===95||Z(m)?(e.consume(m),k):P(m)?(l=B,Y(m)):R(m)?(e.consume(m),B):G(m)}function k(m){return m===45||m===46||m===58||m===95||K(m)?(e.consume(m),k):T(m)}function T(m){return m===61?(e.consume(m),v):P(m)?(l=T,Y(m)):R(m)?(e.consume(m),T):B(m)}function v(m){return m===null||m===60||m===61||m===62||m===96?t(m):m===34||m===39?(e.consume(m),i=m,j):P(m)?(l=v,Y(m)):R(m)?(e.consume(m),v):(e.consume(m),q)}function j(m){return m===i?(e.consume(m),i=void 0,N):m===null?t(m):P(m)?(l=j,Y(m)):(e.consume(m),j)}function q(m){return m===null||m===34||m===39||m===60||m===61||m===96?t(m):m===47||m===62||V(m)?B(m):(e.consume(m),q)}function N(m){return m===47||m===62||V(m)?B(m):t(m)}function G(m){return m===62?(e.consume(m),e.exit("htmlTextData"),e.exit("htmlText"),n):t(m)}function Y(m){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),oe}function oe(m){return R(m)?O(e,pe,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):pe(m)}function pe(m){return e.enter("htmlTextData"),l(m)}}const Gn={name:"labelEnd",resolveAll:Vo,resolveTo:$o,tokenize:qo},jo={tokenize:Wo},Ho={tokenize:Yo},Uo={tokenize:Xo};function Vo(e){let n=-1;const t=[];for(;++n<e.length;){const r=e[n][1];if(t.push(e[n]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",n+=i}}return e.length!==t.length&&ie(e,0,e.length,t),e}function $o(e,n){let t=e.length,r=0,i,o,l,a;for(;t--;)if(i=e[t][1],o){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[t][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(l){if(e[t][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(o=t,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(l=t);const u={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},s={type:"label",start:{...e[o][1].start},end:{...e[l][1].end}},f={type:"labelText",start:{...e[o+r+2][1].end},end:{...e[l-2][1].start}};return a=[["enter",u,n],["enter",s,n]],a=le(a,e.slice(o+1,o+r+3)),a=le(a,[["enter",f,n]]),a=le(a,cn(n.parser.constructs.insideSpan.null,e.slice(o+r+4,l-3),n)),a=le(a,[["exit",f,n],e[l-2],e[l-1],["exit",s,n]]),a=le(a,e.slice(l+1)),a=le(a,[["exit",u,n]]),ie(e,o,e.length,a),e}function qo(e,n,t){const r=this;let i=r.events.length,o,l;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){o=r.events[i][1];break}return a;function a(p){return o?o._inactive?c(p):(l=r.parser.defined.includes(ce(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(p),e.exit("labelMarker"),e.exit("labelEnd"),u):t(p)}function u(p){return p===40?e.attempt(jo,f,l?f:c)(p):p===91?e.attempt(Ho,f,l?s:c)(p):l?f(p):c(p)}function s(p){return e.attempt(Uo,f,c)(p)}function f(p){return n(p)}function c(p){return o._balanced=!0,t(p)}}function Wo(e,n,t){return r;function r(c){return e.enter("resource"),e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),i}function i(c){return V(c)?Ue(e,o)(c):o(c)}function o(c){return c===41?f(c):vr(e,l,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(c)}function l(c){return V(c)?Ue(e,u)(c):f(c)}function a(c){return t(c)}function u(c){return c===34||c===39||c===40?zr(e,s,t,"resourceTitle","resourceTitleMarker","resourceTitleString")(c):f(c)}function s(c){return V(c)?Ue(e,f)(c):f(c)}function f(c){return c===41?(e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),e.exit("resource"),n):t(c)}}function Yo(e,n,t){const r=this;return i;function i(a){return Pr.call(r,e,o,l,"reference","referenceMarker","referenceString")(a)}function o(a){return r.parser.defined.includes(ce(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?n(a):t(a)}function l(a){return t(a)}}function Xo(e,n,t){return r;function r(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),i}function i(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),n):t(o)}}const Qo={name:"labelStartImage",resolveAll:Gn.resolveAll,tokenize:Go};function Go(e,n,t){const r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),o}function o(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),l):t(a)}function l(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(a):n(a)}}const Ko={name:"labelStartLink",resolveAll:Gn.resolveAll,tokenize:Jo};function Jo(e,n,t){const r=this;return i;function i(l){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),e.exit("labelLink"),o}function o(l){return l===94&&"_hiddenFootnoteSupport"in r.parser.constructs?t(l):n(l)}}const yn={name:"lineEnding",tokenize:Zo};function Zo(e,n){return t;function t(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),O(e,n,"linePrefix")}}const en={name:"thematicBreak",tokenize:ea};function ea(e,n,t){let r=0,i;return o;function o(s){return e.enter("thematicBreak"),l(s)}function l(s){return i=s,a(s)}function a(s){return s===i?(e.enter("thematicBreakSequence"),u(s)):r>=3&&(s===null||P(s))?(e.exit("thematicBreak"),n(s)):t(s)}function u(s){return s===i?(e.consume(s),r++,u):(e.exit("thematicBreakSequence"),R(s)?O(e,a,"whitespace")(s):a(s))}}const ee={continuation:{tokenize:ia},exit:oa,name:"list",tokenize:ra},na={partial:!0,tokenize:aa},ta={partial:!0,tokenize:la};function ra(e,n,t){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,l=0;return a;function a(h){const d=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(d==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Rn(h)){if(r.containerState.type||(r.containerState.type=d,e.enter(d,{_container:!0})),d==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(en,t,s)(h):s(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),u(h)}return t(h)}function u(h){return Rn(h)&&++l<10?(e.consume(h),u):(!r.interrupt||l<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),s(h)):t(h)}function s(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Ye,r.interrupt?t:f,e.attempt(na,p,c))}function f(h){return r.containerState.initialBlankLine=!0,o++,p(h)}function c(h){return R(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),p):t(h)}function p(h){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,n(h)}}function ia(e,n,t){const r=this;return r.containerState._closeFlow=void 0,e.check(Ye,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,O(e,n,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!R(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,l(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ta,n,l)(a))}function l(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,O(e,e.attempt(ee,n,t),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function la(e,n,t){const r=this;return O(e,i,"listItemIndent",r.containerState.size+1);function i(o){const l=r.events[r.events.length-1];return l&&l[1].type==="listItemIndent"&&l[2].sliceSerialize(l[1],!0).length===r.containerState.size?n(o):t(o)}}function oa(e){e.exit(this.containerState.type)}function aa(e,n,t){const r=this;return O(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const l=r.events[r.events.length-1];return!R(o)&&l&&l[1].type==="listItemPrefixWhitespace"?n(o):t(o)}}const zt={name:"setextUnderline",resolveTo:ua,tokenize:sa};function ua(e,n){let t=e.length,r,i,o;for(;t--;)if(e[t][0]==="enter"){if(e[t][1].type==="content"){r=t;break}e[t][1].type==="paragraph"&&(i=t)}else e[t][1].type==="content"&&e.splice(t,1),!o&&e[t][1].type==="definition"&&(o=t);const l={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",l,n]),e.splice(o+1,0,["exit",e[r][1],n]),e[r][1].end={...e[o][1].end}):e[r][1]=l,e.push(["exit",l,n]),e}function sa(e,n,t){const r=this;let i;return o;function o(s){let f=r.events.length,c;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){c=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||c)?(e.enter("setextHeadingLine"),i=s,l(s)):t(s)}function l(s){return e.enter("setextHeadingLineSequence"),a(s)}function a(s){return s===i?(e.consume(s),a):(e.exit("setextHeadingLineSequence"),R(s)?O(e,u,"lineSuffix")(s):u(s))}function u(s){return s===null||P(s)?(e.exit("setextHeadingLine"),n(s)):t(s)}}const ca={tokenize:fa};function fa(e){const n=this,t=e.attempt(Ye,r,e.attempt(this.parser.constructs.flowInitial,i,O(e,e.attempt(this.parser.constructs.flow,i,e.attempt(go,i)),"linePrefix")));return t;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),n.currentConstruct=void 0,t}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n.currentConstruct=void 0,t}}const ha={resolveAll:Lr()},pa=Dr("string"),ma=Dr("text");function Dr(e){return{resolveAll:Lr(e==="text"?ga:void 0),tokenize:n};function n(t){const r=this,i=this.parser.constructs[e],o=t.attempt(i,l,a);return l;function l(f){return s(f)?o(f):a(f)}function a(f){if(f===null){t.consume(f);return}return t.enter("data"),t.consume(f),u}function u(f){return s(f)?(t.exit("data"),o(f)):(t.consume(f),u)}function s(f){if(f===null)return!0;const c=i[f];let p=-1;if(c)for(;++p<c.length;){const h=c[p];if(!h.previous||h.previous.call(r,r.previous))return!0}return!1}}}function Lr(e){return n;function n(t,r){let i=-1,o;for(;++i<=t.length;)o===void 0?t[i]&&t[i][1].type==="data"&&(o=i,i++):(!t[i]||t[i][1].type!=="data")&&(i!==o+2&&(t[o][1].end=t[i-1][1].end,t.splice(o+2,i-o-2),i=o+2),o=void 0);return e?e(t,r):t}}function ga(e,n){let t=0;for(;++t<=e.length;)if((t===e.length||e[t][1].type==="lineEnding")&&e[t-1][1].type==="data"){const r=e[t-1][1],i=n.sliceStream(r);let o=i.length,l=-1,a=0,u;for(;o--;){const s=i[o];if(typeof s=="string"){for(l=s.length;s.charCodeAt(l-1)===32;)a++,l--;if(l)break;l=-1}else if(s===-2)u=!0,a++;else if(s!==-1){o++;break}}if(n._contentTypeTextTrailing&&t===e.length&&(a=0),a){const s={type:t===e.length||u||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?l:r.start._bufferIndex+l,_index:r.start._index+o,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...s.start},r.start.offset===r.end.offset?Object.assign(r,s):(e.splice(t,0,["enter",s,n],["exit",s,n]),t+=2)}t++}return e}const da={42:ee,43:ee,45:ee,48:ee,49:ee,50:ee,51:ee,52:ee,53:ee,54:ee,55:ee,56:ee,57:ee,62:Er},ya={91:wo},ka={[-2]:dn,[-1]:dn,32:dn},xa={35:To,42:en,45:[zt,en],60:Do,61:zt,95:en,96:vt,126:vt},ba={38:Ar,92:Ir},wa={[-5]:yn,[-4]:yn,[-3]:yn,33:Qo,38:Ar,42:_n,60:[Gl,No],91:Ko,92:[Io,Ir],93:Gn,95:_n,96:so},Sa={null:[_n,ha]},Ca={null:[42,95]},Ea={null:[]},Ia=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:Ca,contentInitial:ya,disable:Ea,document:da,flow:xa,flowInitial:ka,insideSpan:Sa,string:ba,text:wa},Symbol.toStringTag,{value:"Module"}));function Aa(e,n,t){let r={_bufferIndex:-1,_index:0,line:t&&t.line||1,column:t&&t.column||1,offset:t&&t.offset||0};const i={},o=[];let l=[],a=[];const u={attempt:M(F),check:M(w),consume:A,enter:E,exit:L,interrupt:M(w,{interrupt:!0})},s={code:null,containerState:{},defineSkip:x,events:[],now:d,parser:e,previous:null,sliceSerialize:p,sliceStream:h,write:c};let f=n.tokenize.call(s,u);return n.resolveAll&&o.push(n),s;function c(T){return l=le(l,T),C(),l[l.length-1]!==null?[]:($(n,0),s.events=cn(o,s.events,s),s.events)}function p(T,v){return va(h(T),v)}function h(T){return Ta(l,T)}function d(){const{_bufferIndex:T,_index:v,line:j,column:q,offset:N}=r;return{_bufferIndex:T,_index:v,line:j,column:q,offset:N}}function x(T){i[T.line]=T.column,k()}function C(){let T;for(;r._index<l.length;){const v=l[r._index];if(typeof v=="string")for(T=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===T&&r._bufferIndex<v.length;)y(v.charCodeAt(r._bufferIndex));else y(v)}}function y(T){f=f(T)}function A(T){P(T)?(r.line++,r.column=1,r.offset+=T===-3?2:1,k()):T!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===l[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=T}function E(T,v){const j=v||{};return j.type=T,j.start=d(),s.events.push(["enter",j,s]),a.push(j),j}function L(T){const v=a.pop();return v.end=d(),s.events.push(["exit",v,s]),v}function F(T,v){$(T,v.from)}function w(T,v){v.restore()}function M(T,v){return j;function j(q,N,G){let Y,oe,pe,m;return Array.isArray(q)?me(q):"tokenize"in q?me([q]):ae(q);function ae(X){return Oe;function Oe(ke){const Pe=ke!==null&&X[ke],ze=ke!==null&&X.null,Qe=[...Array.isArray(Pe)?Pe:Pe?[Pe]:[],...Array.isArray(ze)?ze:ze?[ze]:[]];return me(Qe)(ke)}}function me(X){return Y=X,oe=0,X.length===0?G:g(X[oe])}function g(X){return Oe;function Oe(ke){return m=B(),pe=X,X.partial||(s.currentConstruct=X),X.name&&s.parser.constructs.disable.null.includes(X.name)?we():X.tokenize.call(v?Object.assign(Object.create(s),v):s,u,ue,we)(ke)}}function ue(X){return T(pe,m),N}function we(X){return m.restore(),++oe<Y.length?g(Y[oe]):G}}}function $(T,v){T.resolveAll&&!o.includes(T)&&o.push(T),T.resolve&&ie(s.events,v,s.events.length-v,T.resolve(s.events.slice(v),s)),T.resolveTo&&(s.events=T.resolveTo(s.events,s))}function B(){const T=d(),v=s.previous,j=s.currentConstruct,q=s.events.length,N=Array.from(a);return{from:q,restore:G};function G(){r=T,s.previous=v,s.currentConstruct=j,s.events.length=q,a=N,k()}}function k(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Ta(e,n){const t=n.start._index,r=n.start._bufferIndex,i=n.end._index,o=n.end._bufferIndex;let l;if(t===i)l=[e[t].slice(r,o)];else{if(l=e.slice(t,i),r>-1){const a=l[0];typeof a=="string"?l[0]=a.slice(r):l.shift()}o>0&&l.push(e[i].slice(0,o))}return l}function va(e,n){let t=-1;const r=[];let i;for(;++t<e.length;){const o=e[t];let l;if(typeof o=="string")l=o;else switch(o){case-5:{l="\r";break}case-4:{l=`
3
3
  `;break}case-3:{l=`\r
4
4
  `;break}case-2:{l=n?" ":" ";break}case-1:{if(!n&&i)continue;l=" ";break}default:l=String.fromCharCode(o)}i=o===-2,r.push(l)}return r.join("")}function Pa(e){const r={constructs:Sr([Ia,...(e||{}).extensions||[]]),content:i(Vl),defined:[],document:i(ql),flow:i(ca),lazy:{},string:i(pa),text:i(ma)};return r;function i(o){return l;function l(a){return Aa(r,o,a)}}}function za(e){for(;!Tr(e););return e}const Dt=/[\0\t\n\r]/g;function Da(){let e=1,n="",t=!0,r;return i;function i(o,l,a){const u=[];let s,f,c,p,h;for(o=n+(typeof o=="string"?o.toString():new TextDecoder(l||void 0).decode(o)),c=0,n="",t&&(o.charCodeAt(0)===65279&&c++,t=void 0);c<o.length;){if(Dt.lastIndex=c,s=Dt.exec(o),p=s&&s.index!==void 0?s.index:o.length,h=o.charCodeAt(p),!s){n=o.slice(c);break}if(h===10&&c===p&&r)u.push(-3),r=void 0;else switch(r&&(u.push(-5),r=void 0),c<p&&(u.push(o.slice(c,p)),e+=p-c),h){case 0:{u.push(65533),e++;break}case 9:{for(f=Math.ceil(e/4)*4,u.push(-2);e++<f;)u.push(-1);break}case 10:{u.push(-4),e=1;break}default:r=!0,e=1}c=p+1}return a&&(r&&u.push(-5),n&&u.push(n),u.push(null)),u}}const La=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Fa(e){return e.replace(La,Ra)}function Ra(e,n,t){if(n)return n;if(t.charCodeAt(0)===35){const i=t.charCodeAt(1),o=i===120||i===88;return Cr(t.slice(o?2:1),o?16:10)}return Qn(t)||e}const Fr={}.hasOwnProperty;function _a(e,n,t){return n&&typeof n=="object"&&(t=n,n=void 0),Oa(t)(za(Pa(t).document().write(Da()(e,n,!0))))}function Oa(e){const n={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(st),autolinkProtocol:B,autolinkEmail:B,atxHeading:o(ot),blockQuote:o(ze),characterEscape:B,characterReference:B,codeFenced:o(Qe),codeFencedFenceInfo:l,codeFencedFenceMeta:l,codeIndented:o(Qe,l),codeText:o(mi,l),codeTextData:B,data:B,codeFlowValue:B,definition:o(gi),definitionDestinationString:l,definitionLabelString:l,definitionTitleString:l,emphasis:o(di),hardBreakEscape:o(at),hardBreakTrailing:o(at),htmlFlow:o(ut,l),htmlFlowData:B,htmlText:o(ut,l),htmlTextData:B,image:o(yi),label:l,link:o(st),listItem:o(ki),listItemValue:p,listOrdered:o(ct,c),listUnordered:o(ct),paragraph:o(xi),reference:g,referenceString:l,resourceDestinationString:l,resourceTitleString:l,setextHeading:o(ot),strong:o(bi),thematicBreak:o(Si)},exit:{atxHeading:u(),atxHeadingSequence:F,autolink:u(),autolinkEmail:Pe,autolinkProtocol:ke,blockQuote:u(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:we,characterReferenceMarkerNumeric:we,characterReferenceValue:X,characterReference:Oe,codeFenced:u(C),codeFencedFence:x,codeFencedFenceInfo:h,codeFencedFenceMeta:d,codeFlowValue:k,codeIndented:u(y),codeText:u(N),codeTextData:k,data:k,definition:u(),definitionDestinationString:L,definitionLabelString:A,definitionTitleString:E,emphasis:u(),hardBreakEscape:u(v),hardBreakTrailing:u(v),htmlFlow:u(j),htmlFlowData:k,htmlText:u(q),htmlTextData:k,image:u(Y),label:pe,labelText:oe,lineEnding:T,link:u(G),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:ue,resourceDestinationString:m,resourceTitleString:ae,resource:me,setextHeading:u($),setextHeadingLineSequence:M,setextHeadingText:w,strong:u(),thematicBreak:u()}};Rr(n,(e||{}).mdastExtensions||[]);const t={};return r;function r(b){let I={type:"root",children:[]};const D={stack:[I],tokenStack:[],config:n,enter:a,exit:s,buffer:l,resume:f,data:t},_=[];let H=-1;for(;++H<b.length;)if(b[H][1].type==="listOrdered"||b[H][1].type==="listUnordered")if(b[H][0]==="enter")_.push(H);else{const se=_.pop();H=i(b,se,H)}for(H=-1;++H<b.length;){const se=n[b[H][0]];Fr.call(se,b[H][1].type)&&se[b[H][1].type].call(Object.assign({sliceSerialize:b[H][2].sliceSerialize},D),b[H][1])}if(D.tokenStack.length>0){const se=D.tokenStack[D.tokenStack.length-1];(se[1]||Lt).call(D,void 0,se[0])}for(I.position={start:xe(b.length>0?b[0][1].start:{line:1,column:1,offset:0}),end:xe(b.length>0?b[b.length-2][1].end:{line:1,column:1,offset:0})},H=-1;++H<n.transforms.length;)I=n.transforms[H](I)||I;return I}function i(b,I,D){let _=I-1,H=-1,se=!1,Se,ge,Me,Ne;for(;++_<=D;){const te=b[_];switch(te[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{te[0]==="enter"?H++:H--,Ne=void 0;break}case"lineEndingBlank":{te[0]==="enter"&&(Se&&!Ne&&!H&&!Me&&(Me=_),Ne=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Ne=void 0}if(!H&&te[0]==="enter"&&te[1].type==="listItemPrefix"||H===-1&&te[0]==="exit"&&(te[1].type==="listUnordered"||te[1].type==="listOrdered")){if(Se){let De=_;for(ge=void 0;De--;){const de=b[De];if(de[1].type==="lineEnding"||de[1].type==="lineEndingBlank"){if(de[0]==="exit")continue;ge&&(b[ge][1].type="lineEndingBlank",se=!0),de[1].type="lineEnding",ge=De}else if(!(de[1].type==="linePrefix"||de[1].type==="blockQuotePrefix"||de[1].type==="blockQuotePrefixWhitespace"||de[1].type==="blockQuoteMarker"||de[1].type==="listItemIndent"))break}Me&&(!ge||Me<ge)&&(Se._spread=!0),Se.end=Object.assign({},ge?b[ge][1].start:te[1].end),b.splice(ge||_,0,["exit",Se,te[2]]),_++,D++}if(te[1].type==="listItemPrefix"){const De={type:"listItem",_spread:!1,start:Object.assign({},te[1].start),end:void 0};Se=De,b.splice(_,0,["enter",De,te[2]]),_++,D++,Me=void 0,Ne=!0}}}return b[I][1]._spread=se,D}function o(b,I){return D;function D(_){a.call(this,b(_),_),I&&I.call(this,_)}}function l(){this.stack.push({type:"fragment",children:[]})}function a(b,I,D){this.stack[this.stack.length-1].children.push(b),this.stack.push(b),this.tokenStack.push([I,D||void 0]),b.position={start:xe(I.start),end:void 0}}function u(b){return I;function I(D){b&&b.call(this,D),s.call(this,D)}}function s(b,I){const D=this.stack.pop(),_=this.tokenStack.pop();if(_)_[0].type!==b.type&&(I?I.call(this,b,_[0]):(_[1]||Lt).call(this,b,_[0]));else throw new Error("Cannot close `"+b.type+"` ("+He({start:b.start,end:b.end})+"): it’s not open");D.position.end=xe(b.end)}function f(){return Xn(this.stack.pop())}function c(){this.data.expectingFirstListItemValue=!0}function p(b){if(this.data.expectingFirstListItemValue){const I=this.stack[this.stack.length-2];I.start=Number.parseInt(this.sliceSerialize(b),10),this.data.expectingFirstListItemValue=void 0}}function h(){const b=this.resume(),I=this.stack[this.stack.length-1];I.lang=b}function d(){const b=this.resume(),I=this.stack[this.stack.length-1];I.meta=b}function x(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function C(){const b=this.resume(),I=this.stack[this.stack.length-1];I.value=b.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function y(){const b=this.resume(),I=this.stack[this.stack.length-1];I.value=b.replace(/(\r?\n|\r)$/g,"")}function A(b){const I=this.resume(),D=this.stack[this.stack.length-1];D.label=I,D.identifier=ce(this.sliceSerialize(b)).toLowerCase()}function E(){const b=this.resume(),I=this.stack[this.stack.length-1];I.title=b}function L(){const b=this.resume(),I=this.stack[this.stack.length-1];I.url=b}function F(b){const I=this.stack[this.stack.length-1];if(!I.depth){const D=this.sliceSerialize(b).length;I.depth=D}}function w(){this.data.setextHeadingSlurpLineEnding=!0}function M(b){const I=this.stack[this.stack.length-1];I.depth=this.sliceSerialize(b).codePointAt(0)===61?1:2}function $(){this.data.setextHeadingSlurpLineEnding=void 0}function B(b){const D=this.stack[this.stack.length-1].children;let _=D[D.length-1];(!_||_.type!=="text")&&(_=wi(),_.position={start:xe(b.start),end:void 0},D.push(_)),this.stack.push(_)}function k(b){const I=this.stack.pop();I.value+=this.sliceSerialize(b),I.position.end=xe(b.end)}function T(b){const I=this.stack[this.stack.length-1];if(this.data.atHardBreak){const D=I.children[I.children.length-1];D.position.end=xe(b.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&n.canContainEols.includes(I.type)&&(B.call(this,b),k.call(this,b))}function v(){this.data.atHardBreak=!0}function j(){const b=this.resume(),I=this.stack[this.stack.length-1];I.value=b}function q(){const b=this.resume(),I=this.stack[this.stack.length-1];I.value=b}function N(){const b=this.resume(),I=this.stack[this.stack.length-1];I.value=b}function G(){const b=this.stack[this.stack.length-1];if(this.data.inReference){const I=this.data.referenceType||"shortcut";b.type+="Reference",b.referenceType=I,delete b.url,delete b.title}else delete b.identifier,delete b.label;this.data.referenceType=void 0}function Y(){const b=this.stack[this.stack.length-1];if(this.data.inReference){const I=this.data.referenceType||"shortcut";b.type+="Reference",b.referenceType=I,delete b.url,delete b.title}else delete b.identifier,delete b.label;this.data.referenceType=void 0}function oe(b){const I=this.sliceSerialize(b),D=this.stack[this.stack.length-2];D.label=Fa(I),D.identifier=ce(I).toLowerCase()}function pe(){const b=this.stack[this.stack.length-1],I=this.resume(),D=this.stack[this.stack.length-1];if(this.data.inReference=!0,D.type==="link"){const _=b.children;D.children=_}else D.alt=I}function m(){const b=this.resume(),I=this.stack[this.stack.length-1];I.url=b}function ae(){const b=this.resume(),I=this.stack[this.stack.length-1];I.title=b}function me(){this.data.inReference=void 0}function g(){this.data.referenceType="collapsed"}function ue(b){const I=this.resume(),D=this.stack[this.stack.length-1];D.label=I,D.identifier=ce(this.sliceSerialize(b)).toLowerCase(),this.data.referenceType="full"}function we(b){this.data.characterReferenceType=b.type}function X(b){const I=this.sliceSerialize(b),D=this.data.characterReferenceType;let _;D?(_=Cr(I,D==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):_=Qn(I);const H=this.stack[this.stack.length-1];H.value+=_}function Oe(b){const I=this.stack.pop();I.position.end=xe(b.end)}function ke(b){k.call(this,b);const I=this.stack[this.stack.length-1];I.url=this.sliceSerialize(b)}function Pe(b){k.call(this,b);const I=this.stack[this.stack.length-1];I.url="mailto:"+this.sliceSerialize(b)}function ze(){return{type:"blockquote",children:[]}}function Qe(){return{type:"code",lang:null,meta:null,value:""}}function mi(){return{type:"inlineCode",value:""}}function gi(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function di(){return{type:"emphasis",children:[]}}function ot(){return{type:"heading",depth:0,children:[]}}function at(){return{type:"break"}}function ut(){return{type:"html",value:""}}function yi(){return{type:"image",title:null,url:"",alt:null}}function st(){return{type:"link",title:null,url:"",children:[]}}function ct(b){return{type:"list",ordered:b.type==="listOrdered",start:null,spread:b._spread,children:[]}}function ki(b){return{type:"listItem",spread:b._spread,checked:null,children:[]}}function xi(){return{type:"paragraph",children:[]}}function bi(){return{type:"strong",children:[]}}function wi(){return{type:"text",value:""}}function Si(){return{type:"thematicBreak"}}}function xe(e){return{line:e.line,column:e.column,offset:e.offset}}function Rr(e,n){let t=-1;for(;++t<n.length;){const r=n[t];Array.isArray(r)?Rr(e,r):Ma(e,r)}}function Ma(e,n){let t;for(t in n)if(Fr.call(n,t))switch(t){case"canContainEols":{const r=n[t];r&&e[t].push(...r);break}case"transforms":{const r=n[t];r&&e[t].push(...r);break}case"enter":case"exit":{const r=n[t];r&&Object.assign(e[t],r);break}}}function Lt(e,n){throw e?new Error("Cannot close `"+e.type+"` ("+He({start:e.start,end:e.end})+"): a different token (`"+n.type+"`, "+He({start:n.start,end:n.end})+") is open"):new Error("Cannot close document, a token (`"+n.type+"`, "+He({start:n.start,end:n.end})+") is still open")}function Na(e){const n=this;n.parser=t;function t(r){return _a(r,{...n.data("settings"),...e,extensions:n.data("micromarkExtensions")||[],mdastExtensions:n.data("fromMarkdownExtensions")||[]})}}function Ba(e,n){const t={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(n),!0)};return e.patch(n,t),e.applyData(n,t)}function ja(e,n){const t={type:"element",tagName:"br",properties:{},children:[]};return e.patch(n,t),[e.applyData(n,t),{type:"text",value:`