@epic-web/workshop-app 5.28.0 → 5.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/build/client/assets/_-DTLUa7j2.js +2 -0
  2. package/build/client/assets/_-DTLUa7j2.js.map +1 -0
  3. package/build/client/assets/{_basePickBy-lB0X5x6U.js → _basePickBy-Bkju64MX.js} +2 -2
  4. package/build/client/assets/{_basePickBy-lB0X5x6U.js.map → _basePickBy-Bkju64MX.js.map} +1 -1
  5. package/build/client/assets/{_baseUniq-BOjGYEEK.js → _baseUniq-Cp1g4BpN.js} +2 -2
  6. package/build/client/assets/{_baseUniq-BOjGYEEK.js.map → _baseUniq-Cp1g4BpN.js.map} +1 -1
  7. package/build/client/assets/_exerciseNumber-Co7M7Ztw.js +2 -0
  8. package/build/client/assets/_exerciseNumber-Co7M7Ztw.js.map +1 -0
  9. package/build/client/assets/_exerciseNumber_._stepNumber-Don1A9mU.js +2 -0
  10. package/build/client/assets/_exerciseNumber_._stepNumber-Don1A9mU.js.map +1 -0
  11. package/build/client/assets/_exerciseNumber_.finished-BqsavTTe.js +2 -0
  12. package/build/client/assets/_exerciseNumber_.finished-BqsavTTe.js.map +1 -0
  13. package/build/client/assets/_layout-BFto7KzZ.js +2 -0
  14. package/build/client/assets/_layout-BFto7KzZ.js.map +1 -0
  15. package/build/client/assets/_layout-BvOre76Q.js +2 -0
  16. package/build/client/assets/_layout-BvOre76Q.js.map +1 -0
  17. package/build/client/assets/_layout-CSP6lWdg.js +2 -0
  18. package/build/client/assets/_layout-CSP6lWdg.js.map +1 -0
  19. package/build/client/assets/_layout-DDOZBbUH.js +6 -0
  20. package/build/client/assets/_layout-DDOZBbUH.js.map +1 -0
  21. package/build/client/assets/accordion-BNzI0wOK.js +2 -0
  22. package/build/client/assets/{accordion-CpiLc1m2.js.map → accordion-BNzI0wOK.js.map} +1 -1
  23. package/build/client/assets/account-2uOW4wHE.js +2 -0
  24. package/build/client/assets/account-2uOW4wHE.js.map +1 -0
  25. package/build/client/assets/app-DfAmumll.js +2 -0
  26. package/build/client/assets/app-DfAmumll.js.map +1 -0
  27. package/build/client/assets/{arc-DmQZ2TPB.js → arc-BgUWL_JM.js} +2 -2
  28. package/build/client/assets/{arc-DmQZ2TPB.js.map → arc-BgUWL_JM.js.map} +1 -1
  29. package/build/client/assets/architectureDiagram-IEHRJDOE-VEDL5YJR.js +37 -0
  30. package/build/client/assets/{architectureDiagram-IEHRJDOE-BqPvrjLh.js.map → architectureDiagram-IEHRJDOE-VEDL5YJR.js.map} +1 -1
  31. package/build/client/assets/{blockDiagram-JOT3LUYC-D8OFd78i.js → blockDiagram-JOT3LUYC-CJojWhFE.js} +3 -3
  32. package/build/client/assets/{blockDiagram-JOT3LUYC-D8OFd78i.js.map → blockDiagram-JOT3LUYC-CJojWhFE.js.map} +1 -1
  33. package/build/client/assets/button-DRpue1NG.js +2 -0
  34. package/build/client/assets/button-DRpue1NG.js.map +1 -0
  35. package/build/client/assets/{c4Diagram-VJAJSXHY-DjROjsr_.js → c4Diagram-VJAJSXHY-CDiBL4DZ.js} +3 -3
  36. package/build/client/assets/{c4Diagram-VJAJSXHY-DjROjsr_.js.map → c4Diagram-VJAJSXHY-CDiBL4DZ.js.map} +1 -1
  37. package/build/client/assets/channel-CAodiiwJ.js +2 -0
  38. package/build/client/assets/{channel-DnqeaSfB.js.map → channel-CAodiiwJ.js.map} +1 -1
  39. package/build/client/assets/{chunk-4BMEZGHF-CNL-bCj2.js → chunk-4BMEZGHF-Dn8dm6h4.js} +2 -2
  40. package/build/client/assets/{chunk-4BMEZGHF-CNL-bCj2.js.map → chunk-4BMEZGHF-Dn8dm6h4.js.map} +1 -1
  41. package/build/client/assets/{chunk-A2AXSNBT-PeSyIKDm.js → chunk-A2AXSNBT-4MnudWit.js} +2 -2
  42. package/build/client/assets/{chunk-A2AXSNBT-PeSyIKDm.js.map → chunk-A2AXSNBT-4MnudWit.js.map} +1 -1
  43. package/build/client/assets/{chunk-AEK57VVT-B1JqGB_s.js → chunk-AEK57VVT-CqDnkZ4u.js} +2 -2
  44. package/build/client/assets/{chunk-AEK57VVT-B1JqGB_s.js.map → chunk-AEK57VVT-CqDnkZ4u.js.map} +1 -1
  45. package/build/client/assets/{chunk-D6G4REZN-C1e0nCkL.js → chunk-D6G4REZN-Brt3as5d.js} +2 -2
  46. package/build/client/assets/{chunk-D6G4REZN-C1e0nCkL.js.map → chunk-D6G4REZN-Brt3as5d.js.map} +1 -1
  47. package/build/client/assets/chunk-QMGIS6GS-CTjj1G71.js +44 -0
  48. package/build/client/assets/chunk-QMGIS6GS-CTjj1G71.js.map +1 -0
  49. package/build/client/assets/{chunk-RZ5BOZE2-D5pIwNeA.js → chunk-RZ5BOZE2-DRDeFo9p.js} +2 -2
  50. package/build/client/assets/{chunk-RZ5BOZE2-D5pIwNeA.js.map → chunk-RZ5BOZE2-DRDeFo9p.js.map} +1 -1
  51. package/build/client/assets/{chunk-XZIHB7SX-FbrNggxP.js → chunk-XZIHB7SX-jEJwVQJf.js} +2 -2
  52. package/build/client/assets/{chunk-XZIHB7SX-FbrNggxP.js.map → chunk-XZIHB7SX-jEJwVQJf.js.map} +1 -1
  53. package/build/client/assets/classDiagram-GIVACNV2-H_7kh---.js +2 -0
  54. package/build/client/assets/{classDiagram-GIVACNV2-cXWx-aYi.js.map → classDiagram-GIVACNV2-H_7kh---.js.map} +1 -1
  55. package/build/client/assets/classDiagram-v2-COTLJTTW-H_7kh---.js +2 -0
  56. package/build/client/assets/{classDiagram-v2-COTLJTTW-cXWx-aYi.js.map → classDiagram-v2-COTLJTTW-H_7kh---.js.map} +1 -1
  57. package/build/client/assets/clone-DRQ0Dnbp.js +2 -0
  58. package/build/client/assets/{clone-Bj8ANPCv.js.map → clone-DRQ0Dnbp.js.map} +1 -1
  59. package/build/client/assets/dagre-OKDRZEBW-BPnUPPO5.js +5 -0
  60. package/build/client/assets/{dagre-OKDRZEBW-DT9ZQRxf.js.map → dagre-OKDRZEBW-BPnUPPO5.js.map} +1 -1
  61. package/build/client/assets/diagram-SSKATNLV-Bh_ZXdjr.js +44 -0
  62. package/build/client/assets/{diagram-SSKATNLV-CcKCni9R.js.map → diagram-SSKATNLV-Bh_ZXdjr.js.map} +1 -1
  63. package/build/client/assets/diagram-VNBRO52H-D5zqYvJa.js +25 -0
  64. package/build/client/assets/{diagram-VNBRO52H-DWoRAiqO.js.map → diagram-VNBRO52H-D5zqYvJa.js.map} +1 -1
  65. package/build/client/assets/diff-CQ7A0nZj.js +2 -0
  66. package/build/client/assets/diff-CQ7A0nZj.js.map +1 -0
  67. package/build/client/assets/{diff-D5_VwPLF.js → diff-CtGU9cxI.js} +2 -2
  68. package/build/client/assets/diff-CtGU9cxI.js.map +1 -0
  69. package/build/client/assets/discord-91JJKnJ5.js +2 -0
  70. package/build/client/assets/discord-91JJKnJ5.js.map +1 -0
  71. package/build/client/assets/discord-D4appJa-.js +2 -0
  72. package/build/client/assets/discord-D4appJa-.js.map +1 -0
  73. package/build/client/assets/entry.client-uKxtCCau.js +35 -0
  74. package/build/client/assets/entry.client-uKxtCCau.js.map +1 -0
  75. package/build/client/assets/{epic-video-CmlkW6Rw.js → epic-video-D_3otytp.js} +3 -3
  76. package/build/client/assets/{epic-video-CmlkW6Rw.js.map → epic-video-D_3otytp.js.map} +1 -1
  77. package/build/client/assets/{erDiagram-Q7BY3M3F-DXkEmvKk.js → erDiagram-Q7BY3M3F-BxueSNDf.js} +3 -3
  78. package/build/client/assets/{erDiagram-Q7BY3M3F-DXkEmvKk.js.map → erDiagram-Q7BY3M3F-BxueSNDf.js.map} +1 -1
  79. package/build/client/assets/error-boundary-BLyHIxcu.js +2 -0
  80. package/build/client/assets/error-boundary-BLyHIxcu.js.map +1 -0
  81. package/build/client/assets/finished-BiOz59BB.js +2 -0
  82. package/build/client/assets/finished-BiOz59BB.js.map +1 -0
  83. package/build/client/assets/{flowDiagram-4HSFHLVR-DCodZaNW.js → flowDiagram-4HSFHLVR-CfL3E-FD.js} +3 -3
  84. package/build/client/assets/{flowDiagram-4HSFHLVR-DCodZaNW.js.map → flowDiagram-4HSFHLVR-CfL3E-FD.js.map} +1 -1
  85. package/build/client/assets/ganttDiagram-APWFNJXF-DxEqrjXE.js +258 -0
  86. package/build/client/assets/{ganttDiagram-APWFNJXF-TfB6wYvN.js.map → ganttDiagram-APWFNJXF-DxEqrjXE.js.map} +1 -1
  87. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-csni0XOM.js +66 -0
  88. package/build/client/assets/{gitGraphDiagram-7IBYFJ6S-D2NQnQv2.js.map → gitGraphDiagram-7IBYFJ6S-csni0XOM.js.map} +1 -1
  89. package/build/client/assets/{graph-eJUngNSH.js → graph-DiSezMy_.js} +2 -2
  90. package/build/client/assets/{graph-eJUngNSH.js.map → graph-DiSezMy_.js.map} +1 -1
  91. package/build/client/assets/index-AKpqKc27.js +2 -0
  92. package/build/client/assets/index-AKpqKc27.js.map +1 -0
  93. package/build/client/assets/index-BGtlU-cD.js +2 -0
  94. package/build/client/assets/index-BGtlU-cD.js.map +1 -0
  95. package/build/client/assets/index-BP1ceC2h.js +10 -0
  96. package/build/client/assets/index-BP1ceC2h.js.map +1 -0
  97. package/build/client/assets/index-BSJLLJJ3.js +2 -0
  98. package/build/client/assets/index-BSJLLJJ3.js.map +1 -0
  99. package/build/client/assets/index-C0Fh_zu0.js +36 -0
  100. package/build/client/assets/{index-DLC5u33j.js.map → index-C0Fh_zu0.js.map} +1 -1
  101. package/build/client/assets/index-Co8qgD4k.js +2 -0
  102. package/build/client/assets/{index-BmMpCvYx.js.map → index-Co8qgD4k.js.map} +1 -1
  103. package/build/client/assets/index-D0dQzJhy.js +2 -0
  104. package/build/client/assets/index-D0dQzJhy.js.map +1 -0
  105. package/build/client/assets/index-DJsDENYs.js +42 -0
  106. package/build/client/assets/{index-Do-KWT0a.js.map → index-DJsDENYs.js.map} +1 -1
  107. package/build/client/assets/index-DWV7tDz3.js +3 -0
  108. package/build/client/assets/{index-DvQyydjU.js.map → index-DWV7tDz3.js.map} +1 -1
  109. package/build/client/assets/infoDiagram-PH2N3AL5-Dr2v4fFk.js +3 -0
  110. package/build/client/assets/{infoDiagram-PH2N3AL5-D-nEozcT.js.map → infoDiagram-PH2N3AL5-Dr2v4fFk.js.map} +1 -1
  111. package/build/client/assets/{journeyDiagram-U35MCT3I-Dc8g8jIX.js → journeyDiagram-U35MCT3I-iX4x5HVK.js} +3 -3
  112. package/build/client/assets/{journeyDiagram-U35MCT3I-Dc8g8jIX.js.map → journeyDiagram-U35MCT3I-iX4x5HVK.js.map} +1 -1
  113. package/build/client/assets/jsx-runtime-BjG_zV1W.js +10 -0
  114. package/build/client/assets/jsx-runtime-BjG_zV1W.js.map +1 -0
  115. package/build/client/assets/{kanban-definition-NDS4AKOZ-BwwcaZU2.js → kanban-definition-NDS4AKOZ-BwP5uDj3.js} +3 -3
  116. package/build/client/assets/{kanban-definition-NDS4AKOZ-BwwcaZU2.js.map → kanban-definition-NDS4AKOZ-BwP5uDj3.js.map} +1 -1
  117. package/build/client/assets/l-CVlzRdDg.js +2 -0
  118. package/build/client/assets/l-CVlzRdDg.js.map +1 -0
  119. package/build/client/assets/{layout-BAeq0-Is.js → layout-X8Y3Cf_B.js} +2 -2
  120. package/build/client/assets/{layout-BAeq0-Is.js.map → layout-X8Y3Cf_B.js.map} +1 -1
  121. package/build/client/assets/{linear-LWRPSVMz.js → linear-1DrdUlCY.js} +2 -2
  122. package/build/client/assets/{linear-LWRPSVMz.js.map → linear-1DrdUlCY.js.map} +1 -1
  123. package/build/client/assets/loading-CXEQXwx8.js +2 -0
  124. package/build/client/assets/{loading-b1FV2pQh.js.map → loading-CXEQXwx8.js.map} +1 -1
  125. package/build/client/assets/login-CaIyI5Cd.js +2 -0
  126. package/build/client/assets/login-CaIyI5Cd.js.map +1 -0
  127. package/build/client/assets/manifest-953eedfa.js +1 -0
  128. package/build/client/assets/mdx-DD5XL3ew.js +3 -0
  129. package/build/client/assets/mdx-DD5XL3ew.js.map +1 -0
  130. package/build/client/assets/{mermaid.core-q9C-HfFu.js → mermaid.core-D4QVSd3D.js} +5 -5
  131. package/build/client/assets/{mermaid.core-q9C-HfFu.js.map → mermaid.core-D4QVSd3D.js.map} +1 -1
  132. package/build/client/assets/mindmap-definition-ALO5MXBD-tl5KlWaB.js +96 -0
  133. package/build/client/assets/{mindmap-definition-ALO5MXBD-BhzLy0Zl.js.map → mindmap-definition-ALO5MXBD-tl5KlWaB.js.map} +1 -1
  134. package/build/client/assets/misc-yfWFSwMN.js +2 -0
  135. package/build/client/assets/{misc-2sBiisF5.js.map → misc-yfWFSwMN.js.map} +1 -1
  136. package/build/client/assets/nav-chevrons-CokHxUSB.js +2 -0
  137. package/build/client/assets/nav-chevrons-CokHxUSB.js.map +1 -0
  138. package/build/client/assets/onboarding-DyrGJaVn.js +2 -0
  139. package/build/client/assets/onboarding-DyrGJaVn.js.map +1 -0
  140. package/build/client/assets/online-CFV79-RX.js +2 -0
  141. package/build/client/assets/{online-DZKJk3C2.js.map → online-CFV79-RX.js.map} +1 -1
  142. package/build/client/assets/pe-C53l4u-6.js +2 -0
  143. package/build/client/assets/{pe-BShc2dvc.js.map → pe-C53l4u-6.js.map} +1 -1
  144. package/build/client/assets/pieDiagram-IB7DONF6-y5DqPNpS.js +31 -0
  145. package/build/client/assets/{pieDiagram-IB7DONF6-CaTGj8RH.js.map → pieDiagram-IB7DONF6-y5DqPNpS.js.map} +1 -1
  146. package/build/client/assets/preferences-C2zlOkAS.js +2 -0
  147. package/build/client/assets/preferences-C2zlOkAS.js.map +1 -0
  148. package/build/client/assets/{presence-C9bUSihT.js → presence-BoFXYAd7.js} +3 -3
  149. package/build/client/assets/{presence-C9bUSihT.js.map → presence-BoFXYAd7.js.map} +1 -1
  150. package/build/client/assets/preview-CE_VqYU4.js +2 -0
  151. package/build/client/assets/preview-CE_VqYU4.js.map +1 -0
  152. package/build/client/assets/product-TKJyOyif.js +2 -0
  153. package/build/client/assets/{product-DJOWNuL-.js.map → product-TKJyOyif.js.map} +1 -1
  154. package/build/client/assets/progress-CtGAFS2P.js +2 -0
  155. package/build/client/assets/{progress-BJ4ADF-s.js.map → progress-CtGAFS2P.js.map} +1 -1
  156. package/build/client/assets/progress-bar-DTYORRrG.js +2 -0
  157. package/build/client/assets/progress-bar-DTYORRrG.js.map +1 -0
  158. package/build/client/assets/{quadrantDiagram-7GDLP6J5-B4Od6z6p.js → quadrantDiagram-7GDLP6J5-ymq7Ot51.js} +3 -3
  159. package/build/client/assets/{quadrantDiagram-7GDLP6J5-B4Od6z6p.js.map → quadrantDiagram-7GDLP6J5-ymq7Ot51.js.map} +1 -1
  160. package/build/client/assets/{radar-MK3ICKWK-CENXhI0E.js → radar-MK3ICKWK-B8xuvUo7.js} +2 -2
  161. package/build/client/assets/{radar-MK3ICKWK-CENXhI0E.js.map → radar-MK3ICKWK-B8xuvUo7.js.map} +1 -1
  162. package/build/client/assets/{requirementDiagram-KVF5MWMF-_w0WuUxy.js → requirementDiagram-KVF5MWMF-B4D4Pi12.js} +3 -3
  163. package/build/client/assets/{requirementDiagram-KVF5MWMF-_w0WuUxy.js.map → requirementDiagram-KVF5MWMF-B4D4Pi12.js.map} +1 -1
  164. package/build/client/assets/revalidation-ws-89FLt73b.js +2 -0
  165. package/build/client/assets/revalidation-ws-89FLt73b.js.map +1 -0
  166. package/build/client/assets/root-Dd9--OJ3.js +2 -0
  167. package/build/client/assets/root-Dd9--OJ3.js.map +1 -0
  168. package/build/client/assets/sankeyDiagram-QLVOVGJD-BAY-vMZj.js +11 -0
  169. package/build/client/assets/{sankeyDiagram-QLVOVGJD-Bt8556P1.js.map → sankeyDiagram-QLVOVGJD-BAY-vMZj.js.map} +1 -1
  170. package/build/client/assets/{sequenceDiagram-X6HHIX6F-y2-oW3Ob.js → sequenceDiagram-X6HHIX6F-CDjFTgBk.js} +3 -3
  171. package/build/client/assets/{sequenceDiagram-X6HHIX6F-y2-oW3Ob.js.map → sequenceDiagram-X6HHIX6F-CDjFTgBk.js.map} +1 -1
  172. package/build/client/assets/set-playground-DtZ5ki7i.js +2 -0
  173. package/build/client/assets/set-playground-DtZ5ki7i.js.map +1 -0
  174. package/build/client/assets/stateDiagram-DGXRK772-DFekjeUZ.js +2 -0
  175. package/build/client/assets/{stateDiagram-DGXRK772-B3BuD15b.js.map → stateDiagram-DGXRK772-DFekjeUZ.js.map} +1 -1
  176. package/build/client/assets/stateDiagram-v2-YXO3MK2T-CSkUdkOW.js +2 -0
  177. package/build/client/assets/{stateDiagram-v2-YXO3MK2T-BzFxWpqR.js.map → stateDiagram-v2-YXO3MK2T-CSkUdkOW.js.map} +1 -1
  178. package/build/client/assets/support-drzs9wuf.js +2 -0
  179. package/build/client/assets/support-drzs9wuf.js.map +1 -0
  180. package/build/client/assets/test-psaYrMGK.js +2 -0
  181. package/build/client/assets/test-psaYrMGK.js.map +1 -0
  182. package/build/client/assets/{tests-B1ak2CDI.js → tests-7juFXgcY.js} +3 -3
  183. package/build/client/assets/tests-7juFXgcY.js.map +1 -0
  184. package/build/client/assets/{timeline-definition-BDJGKUSR-DUa2yfAV.js → timeline-definition-BDJGKUSR-1WjIsnZH.js} +3 -3
  185. package/build/client/assets/{timeline-definition-BDJGKUSR-DUa2yfAV.js.map → timeline-definition-BDJGKUSR-1WjIsnZH.js.map} +1 -1
  186. package/build/client/assets/tooltip-C6xKzWST.js +2 -0
  187. package/build/client/assets/{tooltip-Bzd6O8vq.js.map → tooltip-C6xKzWST.js.map} +1 -1
  188. package/build/client/assets/use-event-source-B411g-uF.js +2 -0
  189. package/build/client/assets/{use-event-source-Dar8h_B8.js.map → use-event-source-B411g-uF.js.map} +1 -1
  190. package/build/client/assets/user-Dmcddqge.js +2 -0
  191. package/build/client/assets/user-Dmcddqge.js.map +1 -0
  192. package/build/client/assets/version-BAECczgY.js +2 -0
  193. package/build/client/assets/version-BAECczgY.js.map +1 -0
  194. package/build/client/assets/workshop-config-gFAnGhSV.js +2 -0
  195. package/build/client/assets/workshop-config-gFAnGhSV.js.map +1 -0
  196. package/build/client/assets/{xychartDiagram-VJFVF3MP-JztjcODi.js → xychartDiagram-VJFVF3MP-Cp8GqXc6.js} +3 -3
  197. package/build/client/assets/{xychartDiagram-VJFVF3MP-JztjcODi.js.map → xychartDiagram-VJFVF3MP-Cp8GqXc6.js.map} +1 -1
  198. package/build/server/index.js +4439 -4072
  199. package/build/server/index.js.map +1 -1
  200. package/dist/server/index.js +2 -2
  201. package/package.json +13 -13
  202. package/build/client/assets/_-BaHOmd8F.js +0 -2
  203. package/build/client/assets/_-BaHOmd8F.js.map +0 -1
  204. package/build/client/assets/_exerciseNumber-Dqi7TgL9.js +0 -2
  205. package/build/client/assets/_exerciseNumber-Dqi7TgL9.js.map +0 -1
  206. package/build/client/assets/_exerciseNumber_._stepNumber-DoOFEk-P.js +0 -2
  207. package/build/client/assets/_exerciseNumber_._stepNumber-DoOFEk-P.js.map +0 -1
  208. package/build/client/assets/_exerciseNumber_.finished-C5m6M0gM.js +0 -2
  209. package/build/client/assets/_exerciseNumber_.finished-C5m6M0gM.js.map +0 -1
  210. package/build/client/assets/_layout-B_BIIcpM.js +0 -2
  211. package/build/client/assets/_layout-B_BIIcpM.js.map +0 -1
  212. package/build/client/assets/_layout-B_NrRv0S.js +0 -6
  213. package/build/client/assets/_layout-B_NrRv0S.js.map +0 -1
  214. package/build/client/assets/_layout-D7_F6t3x.js +0 -2
  215. package/build/client/assets/_layout-D7_F6t3x.js.map +0 -1
  216. package/build/client/assets/_layout-QRe2q83m.js +0 -2
  217. package/build/client/assets/_layout-QRe2q83m.js.map +0 -1
  218. package/build/client/assets/accordion-CpiLc1m2.js +0 -2
  219. package/build/client/assets/account-CbFDiVNd.js +0 -2
  220. package/build/client/assets/account-CbFDiVNd.js.map +0 -1
  221. package/build/client/assets/app-BYSDu0vh.js +0 -2
  222. package/build/client/assets/app-BYSDu0vh.js.map +0 -1
  223. package/build/client/assets/architectureDiagram-IEHRJDOE-BqPvrjLh.js +0 -37
  224. package/build/client/assets/button-Dt4EcDfR.js +0 -2
  225. package/build/client/assets/button-Dt4EcDfR.js.map +0 -1
  226. package/build/client/assets/channel-DnqeaSfB.js +0 -2
  227. package/build/client/assets/classDiagram-GIVACNV2-cXWx-aYi.js +0 -2
  228. package/build/client/assets/classDiagram-v2-COTLJTTW-cXWx-aYi.js +0 -2
  229. package/build/client/assets/clone-Bj8ANPCv.js +0 -2
  230. package/build/client/assets/components-5arJTWsS.js +0 -158
  231. package/build/client/assets/components-5arJTWsS.js.map +0 -1
  232. package/build/client/assets/dagre-OKDRZEBW-DT9ZQRxf.js +0 -5
  233. package/build/client/assets/diagram-SSKATNLV-CcKCni9R.js +0 -44
  234. package/build/client/assets/diagram-VNBRO52H-DWoRAiqO.js +0 -25
  235. package/build/client/assets/diff-BKR4usVv.js +0 -2
  236. package/build/client/assets/diff-BKR4usVv.js.map +0 -1
  237. package/build/client/assets/diff-D5_VwPLF.js.map +0 -1
  238. package/build/client/assets/discord-BU7RzE6-.js +0 -2
  239. package/build/client/assets/discord-BU7RzE6-.js.map +0 -1
  240. package/build/client/assets/discord-ut4t-aMQ.js +0 -2
  241. package/build/client/assets/discord-ut4t-aMQ.js.map +0 -1
  242. package/build/client/assets/entry.client-BLUlgPHE.js +0 -44
  243. package/build/client/assets/entry.client-BLUlgPHE.js.map +0 -1
  244. package/build/client/assets/error-boundary-B07cWiEy.js +0 -2
  245. package/build/client/assets/error-boundary-B07cWiEy.js.map +0 -1
  246. package/build/client/assets/finished-MrsevkkK.js +0 -2
  247. package/build/client/assets/finished-MrsevkkK.js.map +0 -1
  248. package/build/client/assets/ganttDiagram-APWFNJXF-TfB6wYvN.js +0 -258
  249. package/build/client/assets/gitGraphDiagram-7IBYFJ6S-D2NQnQv2.js +0 -66
  250. package/build/client/assets/index-9euhNa27.js +0 -2
  251. package/build/client/assets/index-9euhNa27.js.map +0 -1
  252. package/build/client/assets/index-B8yUFowV.js +0 -2
  253. package/build/client/assets/index-B8yUFowV.js.map +0 -1
  254. package/build/client/assets/index-BmMpCvYx.js +0 -2
  255. package/build/client/assets/index-DLC5u33j.js +0 -36
  256. package/build/client/assets/index-DPHVg8Eh.js +0 -2
  257. package/build/client/assets/index-DPHVg8Eh.js.map +0 -1
  258. package/build/client/assets/index-Do-KWT0a.js +0 -42
  259. package/build/client/assets/index-Dsusf_Av.js +0 -38
  260. package/build/client/assets/index-Dsusf_Av.js.map +0 -1
  261. package/build/client/assets/index-DvQyydjU.js +0 -3
  262. package/build/client/assets/index-Fw2eA3AF.js +0 -2
  263. package/build/client/assets/index-Fw2eA3AF.js.map +0 -1
  264. package/build/client/assets/infoDiagram-PH2N3AL5-D-nEozcT.js +0 -3
  265. package/build/client/assets/l-ChG-6rmU.js +0 -2
  266. package/build/client/assets/l-ChG-6rmU.js.map +0 -1
  267. package/build/client/assets/loading-b1FV2pQh.js +0 -2
  268. package/build/client/assets/login-Ci7cdiuj.js +0 -2
  269. package/build/client/assets/login-Ci7cdiuj.js.map +0 -1
  270. package/build/client/assets/manifest-f9e2a790.js +0 -1
  271. package/build/client/assets/mdx-C7imFHZE.js +0 -3
  272. package/build/client/assets/mdx-C7imFHZE.js.map +0 -1
  273. package/build/client/assets/mindmap-definition-ALO5MXBD-BhzLy0Zl.js +0 -96
  274. package/build/client/assets/misc-2sBiisF5.js +0 -2
  275. package/build/client/assets/nav-chevrons-CV-dpXNR.js +0 -2
  276. package/build/client/assets/nav-chevrons-CV-dpXNR.js.map +0 -1
  277. package/build/client/assets/onboarding-c9ZuxLsm.js +0 -2
  278. package/build/client/assets/onboarding-c9ZuxLsm.js.map +0 -1
  279. package/build/client/assets/online-DZKJk3C2.js +0 -2
  280. package/build/client/assets/pe-BShc2dvc.js +0 -2
  281. package/build/client/assets/pieDiagram-IB7DONF6-CaTGj8RH.js +0 -31
  282. package/build/client/assets/preferences-BkWQyRCq.js +0 -2
  283. package/build/client/assets/preferences-BkWQyRCq.js.map +0 -1
  284. package/build/client/assets/preview-CqZGJtsE.js +0 -2
  285. package/build/client/assets/preview-CqZGJtsE.js.map +0 -1
  286. package/build/client/assets/product-DJOWNuL-.js +0 -2
  287. package/build/client/assets/progress-BJ4ADF-s.js +0 -2
  288. package/build/client/assets/progress-bar-DgnkQxQw.js +0 -2
  289. package/build/client/assets/progress-bar-DgnkQxQw.js.map +0 -1
  290. package/build/client/assets/revalidation-ws-B0skixgr.js +0 -2
  291. package/build/client/assets/revalidation-ws-B0skixgr.js.map +0 -1
  292. package/build/client/assets/root-C_WG23OF.js +0 -11
  293. package/build/client/assets/root-C_WG23OF.js.map +0 -1
  294. package/build/client/assets/sankeyDiagram-QLVOVGJD-Bt8556P1.js +0 -11
  295. package/build/client/assets/set-playground-DW2Ys-rV.js +0 -2
  296. package/build/client/assets/set-playground-DW2Ys-rV.js.map +0 -1
  297. package/build/client/assets/stateDiagram-DGXRK772-B3BuD15b.js +0 -2
  298. package/build/client/assets/stateDiagram-v2-YXO3MK2T-BzFxWpqR.js +0 -2
  299. package/build/client/assets/support-Bg0iSyle.js +0 -2
  300. package/build/client/assets/support-Bg0iSyle.js.map +0 -1
  301. package/build/client/assets/test-DdUNKtkF.js +0 -2
  302. package/build/client/assets/test-DdUNKtkF.js.map +0 -1
  303. package/build/client/assets/tests-B1ak2CDI.js.map +0 -1
  304. package/build/client/assets/tooltip-Bzd6O8vq.js +0 -2
  305. package/build/client/assets/use-event-source-Dar8h_B8.js +0 -2
  306. package/build/client/assets/user-DNSnhqGn.js +0 -2
  307. package/build/client/assets/user-DNSnhqGn.js.map +0 -1
  308. package/build/client/assets/version-DriSvNMy.js +0 -2
  309. package/build/client/assets/version-DriSvNMy.js.map +0 -1
  310. package/build/client/assets/workshop-config-DchzGYJM.js +0 -2
  311. package/build/client/assets/workshop-config-DchzGYJM.js.map +0 -1
@@ -1,3 +0,0 @@
1
- import{r as dt,R as a}from"./index-Dsusf_Av.js";import{R as Ut}from"./components-5arJTWsS.js";var Wt=e=>{switch(e){case"success":return qt;case"info":return Jt;case"warning":return Gt;case"error":return Qt;default:return null}},Kt=Array(12).fill(0),Xt=({visible:e,className:r})=>a.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":e},a.createElement("div",{className:"sonner-spinner"},Kt.map((o,i)=>a.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${i}`})))),qt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Gt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),Jt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Qt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},a.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Zt=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),a.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),_t=()=>{let[e,r]=a.useState(document.hidden);return a.useEffect(()=>{let o=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",o),()=>window.removeEventListener("visibilitychange",o)},[]),e},wt=1,te=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let r=this.subscribers.indexOf(e);this.subscribers.splice(r,1)}),this.publish=e=>{this.subscribers.forEach(r=>r(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var r;let{message:o,...i}=e,h=typeof(e==null?void 0:e.id)=="number"||((r=e.id)==null?void 0:r.length)>0?e.id:wt++,w=this.toasts.find(b=>b.id===h),k=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(h)&&this.dismissedToasts.delete(h),w?this.toasts=this.toasts.map(b=>b.id===h?(this.publish({...b,...e,id:h,title:o}),{...b,...e,id:h,dismissible:k,title:o}):b):this.addToast({title:o,...i,dismissible:k,id:h}),h},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(r=>{this.subscribers.forEach(o=>o({id:r.id,dismiss:!0}))}),this.subscribers.forEach(r=>r({id:e,dismiss:!0})),e),this.message=(e,r)=>this.create({...r,message:e}),this.error=(e,r)=>this.create({...r,message:e,type:"error"}),this.success=(e,r)=>this.create({...r,type:"success",message:e}),this.info=(e,r)=>this.create({...r,type:"info",message:e}),this.warning=(e,r)=>this.create({...r,type:"warning",message:e}),this.loading=(e,r)=>this.create({...r,type:"loading",message:e}),this.promise=(e,r)=>{if(!r)return;let o;r.loading!==void 0&&(o=this.create({...r,promise:e,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));let i=e instanceof Promise?e:e(),h=o!==void 0,w,k=i.then(async c=>{if(w=["resolve",c],a.isValidElement(c))h=!1,this.create({id:o,type:"default",message:c});else if(ae(c)&&!c.ok){h=!1;let m=typeof r.error=="function"?await r.error(`HTTP error! status: ${c.status}`):r.error,y=typeof r.description=="function"?await r.description(`HTTP error! status: ${c.status}`):r.description;this.create({id:o,type:"error",message:m,description:y})}else if(r.success!==void 0){h=!1;let m=typeof r.success=="function"?await r.success(c):r.success,y=typeof r.description=="function"?await r.description(c):r.description;this.create({id:o,type:"success",message:m,description:y})}}).catch(async c=>{if(w=["reject",c],r.error!==void 0){h=!1;let m=typeof r.error=="function"?await r.error(c):r.error,y=typeof r.description=="function"?await r.description(c):r.description;this.create({id:o,type:"error",message:m,description:y})}}).finally(()=>{var c;h&&(this.dismiss(o),o=void 0),(c=r.finally)==null||c.call(r)}),b=()=>new Promise((c,m)=>k.then(()=>w[0]==="reject"?m(w[1]):c(w[1])).catch(m));return typeof o!="string"&&typeof o!="number"?{unwrap:b}:Object.assign(o,{unwrap:b})},this.custom=(e,r)=>{let o=(r==null?void 0:r.id)||wt++;return this.create({jsx:e(o),id:o,...r}),o},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},E=new te,ee=(e,r)=>{let o=(r==null?void 0:r.id)||wt++;return E.addToast({title:e,...r,id:o}),o},ae=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",re=ee,oe=()=>E.toasts,ne=()=>E.getActiveToasts(),ye=Object.assign(re,{success:E.success,info:E.info,warning:E.warning,error:E.error,custom:E.custom,message:E.message,promise:E.promise,dismiss:E.dismiss,loading:E.loading},{getHistory:oe,getToasts:ne});function se(e,{insertAt:r}={}){if(typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",r==="top"&&o.firstChild?o.insertBefore(i,o.firstChild):o.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}se(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
2
- `);function lt(e){return e.label!==void 0}var ie=3,le="32px",de="16px",Ct=4e3,ce=356,ue=14,me=20,fe=200;function R(...e){return e.filter(Boolean).join(" ")}function he(e){let[r,o]=e.split("-"),i=[];return r&&i.push(r),o&&i.push(o),i}var pe=e=>{var r,o,i,h,w,k,b,c,m,y,Z;let{invert:ct,toast:t,unstyled:ut,interacting:v,setHeights:z,visibleToasts:_,heights:O,index:Y,toasts:mt,expanded:X,removeToast:S,defaultRichColors:q,closeButton:tt,style:et,cancelButtonStyle:ft,actionButtonStyle:at,className:j="",descriptionClassName:rt="",duration:V,position:ot,gap:H,loadingIcon:I,expandByDefault:nt,classNames:s,icons:N,closeButtonAriaLabel:ht="Close toast",pauseWhenPageIsHidden:d}=e,[u,p]=a.useState(null),[x,F]=a.useState(null),[g,pt]=a.useState(!1),[G,st]=a.useState(!1),[J,gt]=a.useState(!1),[xt,zt]=a.useState(!1),[jt,Et]=a.useState(!1),[It,vt]=a.useState(0),[Yt,kt]=a.useState(0),Q=a.useRef(t.duration||V||Ct),Nt=a.useRef(null),L=a.useRef(null),$t=Y===0,Dt=Y+1<=_,T=t.type,U=t.dismissible!==!1,Pt=t.className||"",Ht=t.descriptionClassName||"",it=a.useMemo(()=>O.findIndex(n=>n.toastId===t.id)||0,[O,t.id]),Lt=a.useMemo(()=>{var n;return(n=t.closeButton)!=null?n:tt},[t.closeButton,tt]),Tt=a.useMemo(()=>t.duration||V||Ct,[t.duration,V]),bt=a.useRef(0),W=a.useRef(0),St=a.useRef(0),K=a.useRef(null),[At,Ot]=ot.split("-"),Bt=a.useMemo(()=>O.reduce((n,l,f)=>f>=it?n:n+l.height,0),[O,it]),Mt=_t(),Vt=t.invert||ct,yt=T==="loading";W.current=a.useMemo(()=>it*H+Bt,[it,Bt]),a.useEffect(()=>{Q.current=Tt},[Tt]),a.useEffect(()=>{pt(!0)},[]),a.useEffect(()=>{let n=L.current;if(n){let l=n.getBoundingClientRect().height;return kt(l),z(f=>[{toastId:t.id,height:l,position:t.position},...f]),()=>z(f=>f.filter(B=>B.toastId!==t.id))}},[z,t.id]),a.useLayoutEffect(()=>{if(!g)return;let n=L.current,l=n.style.height;n.style.height="auto";let f=n.getBoundingClientRect().height;n.style.height=l,kt(f),z(B=>B.find(M=>M.toastId===t.id)?B.map(M=>M.toastId===t.id?{...M,height:f}:M):[{toastId:t.id,height:f,position:t.position},...B])},[g,t.title,t.description,z,t.id]);let $=a.useCallback(()=>{st(!0),vt(W.current),z(n=>n.filter(l=>l.toastId!==t.id)),setTimeout(()=>{S(t)},fe)},[t,S,z,W]);a.useEffect(()=>{if(t.promise&&T==="loading"||t.duration===1/0||t.type==="loading")return;let n;return X||v||d&&Mt?(()=>{if(St.current<bt.current){let l=new Date().getTime()-bt.current;Q.current=Q.current-l}St.current=new Date().getTime()})():Q.current!==1/0&&(bt.current=new Date().getTime(),n=setTimeout(()=>{var l;(l=t.onAutoClose)==null||l.call(t,t),$()},Q.current)),()=>clearTimeout(n)},[X,v,t,T,d,Mt,$]),a.useEffect(()=>{t.delete&&$()},[$,t.delete]);function Ft(){var n,l,f;return N!=null&&N.loading?a.createElement("div",{className:R(s==null?void 0:s.loader,(n=t==null?void 0:t.classNames)==null?void 0:n.loader,"sonner-loader"),"data-visible":T==="loading"},N.loading):I?a.createElement("div",{className:R(s==null?void 0:s.loader,(l=t==null?void 0:t.classNames)==null?void 0:l.loader,"sonner-loader"),"data-visible":T==="loading"},I):a.createElement(Xt,{className:R(s==null?void 0:s.loader,(f=t==null?void 0:t.classNames)==null?void 0:f.loader),visible:T==="loading"})}return a.createElement("li",{tabIndex:0,ref:L,className:R(j,Pt,s==null?void 0:s.toast,(r=t==null?void 0:t.classNames)==null?void 0:r.toast,s==null?void 0:s.default,s==null?void 0:s[T],(o=t==null?void 0:t.classNames)==null?void 0:o[T]),"data-sonner-toast":"","data-rich-colors":(i=t.richColors)!=null?i:q,"data-styled":!(t.jsx||t.unstyled||ut),"data-mounted":g,"data-promise":!!t.promise,"data-swiped":jt,"data-removed":G,"data-visible":Dt,"data-y-position":At,"data-x-position":Ot,"data-index":Y,"data-front":$t,"data-swiping":J,"data-dismissible":U,"data-type":T,"data-invert":Vt,"data-swipe-out":xt,"data-swipe-direction":x,"data-expanded":!!(X||nt&&g),style:{"--index":Y,"--toasts-before":Y,"--z-index":mt.length-Y,"--offset":`${G?It:W.current}px`,"--initial-height":nt?"auto":`${Yt}px`,...et,...t.style},onDragEnd:()=>{gt(!1),p(null),K.current=null},onPointerDown:n=>{yt||!U||(Nt.current=new Date,vt(W.current),n.target.setPointerCapture(n.pointerId),n.target.tagName!=="BUTTON"&&(gt(!0),K.current={x:n.clientX,y:n.clientY}))},onPointerUp:()=>{var n,l,f,B;if(xt||!U)return;K.current=null;let M=Number(((n=L.current)==null?void 0:n.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),D=Number(((l=L.current)==null?void 0:l.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),A=new Date().getTime()-((f=Nt.current)==null?void 0:f.getTime()),C=u==="x"?M:D,P=Math.abs(C)/A;if(Math.abs(C)>=me||P>.11){vt(W.current),(B=t.onDismiss)==null||B.call(t,t),F(u==="x"?M>0?"right":"left":D>0?"down":"up"),$(),zt(!0),Et(!1);return}gt(!1),p(null)},onPointerMove:n=>{var l,f,B,M;if(!K.current||!U||((l=window.getSelection())==null?void 0:l.toString().length)>0)return;let D=n.clientY-K.current.y,A=n.clientX-K.current.x,C=(f=e.swipeDirections)!=null?f:he(ot);!u&&(Math.abs(A)>1||Math.abs(D)>1)&&p(Math.abs(A)>Math.abs(D)?"x":"y");let P={x:0,y:0};u==="y"?(C.includes("top")||C.includes("bottom"))&&(C.includes("top")&&D<0||C.includes("bottom")&&D>0)&&(P.y=D):u==="x"&&(C.includes("left")||C.includes("right"))&&(C.includes("left")&&A<0||C.includes("right")&&A>0)&&(P.x=A),(Math.abs(P.x)>0||Math.abs(P.y)>0)&&Et(!0),(B=L.current)==null||B.style.setProperty("--swipe-amount-x",`${P.x}px`),(M=L.current)==null||M.style.setProperty("--swipe-amount-y",`${P.y}px`)}},Lt&&!t.jsx?a.createElement("button",{"aria-label":ht,"data-disabled":yt,"data-close-button":!0,onClick:yt||!U?()=>{}:()=>{var n;$(),(n=t.onDismiss)==null||n.call(t,t)},className:R(s==null?void 0:s.closeButton,(h=t==null?void 0:t.classNames)==null?void 0:h.closeButton)},(w=N==null?void 0:N.close)!=null?w:Zt):null,t.jsx||dt.isValidElement(t.title)?t.jsx?t.jsx:typeof t.title=="function"?t.title():t.title:a.createElement(a.Fragment,null,T||t.icon||t.promise?a.createElement("div",{"data-icon":"",className:R(s==null?void 0:s.icon,(k=t==null?void 0:t.classNames)==null?void 0:k.icon)},t.promise||t.type==="loading"&&!t.icon?t.icon||Ft():null,t.type!=="loading"?t.icon||(N==null?void 0:N[T])||Wt(T):null):null,a.createElement("div",{"data-content":"",className:R(s==null?void 0:s.content,(b=t==null?void 0:t.classNames)==null?void 0:b.content)},a.createElement("div",{"data-title":"",className:R(s==null?void 0:s.title,(c=t==null?void 0:t.classNames)==null?void 0:c.title)},typeof t.title=="function"?t.title():t.title),t.description?a.createElement("div",{"data-description":"",className:R(rt,Ht,s==null?void 0:s.description,(m=t==null?void 0:t.classNames)==null?void 0:m.description)},typeof t.description=="function"?t.description():t.description):null),dt.isValidElement(t.cancel)?t.cancel:t.cancel&&lt(t.cancel)?a.createElement("button",{"data-button":!0,"data-cancel":!0,style:t.cancelButtonStyle||ft,onClick:n=>{var l,f;lt(t.cancel)&&U&&((f=(l=t.cancel).onClick)==null||f.call(l,n),$())},className:R(s==null?void 0:s.cancelButton,(y=t==null?void 0:t.classNames)==null?void 0:y.cancelButton)},t.cancel.label):null,dt.isValidElement(t.action)?t.action:t.action&&lt(t.action)?a.createElement("button",{"data-button":!0,"data-action":!0,style:t.actionButtonStyle||at,onClick:n=>{var l,f;lt(t.action)&&((f=(l=t.action).onClick)==null||f.call(l,n),!n.defaultPrevented&&$())},className:R(s==null?void 0:s.actionButton,(Z=t==null?void 0:t.classNames)==null?void 0:Z.actionButton)},t.action.label):null))};function Rt(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function ge(e,r){let o={};return[e,r].forEach((i,h)=>{let w=h===1,k=w?"--mobile-offset":"--offset",b=w?de:le;function c(m){["top","right","bottom","left"].forEach(y=>{o[`${k}-${y}`]=typeof m=="number"?`${m}px`:m})}typeof i=="number"||typeof i=="string"?c(i):typeof i=="object"?["top","right","bottom","left"].forEach(m=>{i[m]===void 0?o[`${k}-${m}`]=b:o[`${k}-${m}`]=typeof i[m]=="number"?`${i[m]}px`:i[m]}):c(b)}),o}var we=dt.forwardRef(function(e,r){let{invert:o,position:i="bottom-right",hotkey:h=["altKey","KeyT"],expand:w,closeButton:k,className:b,offset:c,mobileOffset:m,theme:y="light",richColors:Z,duration:ct,style:t,visibleToasts:ut=ie,toastOptions:v,dir:z=Rt(),gap:_=ue,loadingIcon:O,icons:Y,containerAriaLabel:mt="Notifications",pauseWhenPageIsHidden:X}=e,[S,q]=a.useState([]),tt=a.useMemo(()=>Array.from(new Set([i].concat(S.filter(d=>d.position).map(d=>d.position)))),[S,i]),[et,ft]=a.useState([]),[at,j]=a.useState(!1),[rt,V]=a.useState(!1),[ot,H]=a.useState(y!=="system"?y:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),I=a.useRef(null),nt=h.join("+").replace(/Key/g,"").replace(/Digit/g,""),s=a.useRef(null),N=a.useRef(!1),ht=a.useCallback(d=>{q(u=>{var p;return(p=u.find(x=>x.id===d.id))!=null&&p.delete||E.dismiss(d.id),u.filter(({id:x})=>x!==d.id)})},[]);return a.useEffect(()=>E.subscribe(d=>{if(d.dismiss){q(u=>u.map(p=>p.id===d.id?{...p,delete:!0}:p));return}setTimeout(()=>{Ut.flushSync(()=>{q(u=>{let p=u.findIndex(x=>x.id===d.id);return p!==-1?[...u.slice(0,p),{...u[p],...d},...u.slice(p+1)]:[d,...u]})})})}),[]),a.useEffect(()=>{if(y!=="system"){H(y);return}if(y==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?H("dark"):H("light")),typeof window>"u")return;let d=window.matchMedia("(prefers-color-scheme: dark)");try{d.addEventListener("change",({matches:u})=>{H(u?"dark":"light")})}catch{d.addListener(({matches:p})=>{try{H(p?"dark":"light")}catch(x){console.error(x)}})}},[y]),a.useEffect(()=>{S.length<=1&&j(!1)},[S]),a.useEffect(()=>{let d=u=>{var p,x;h.every(F=>u[F]||u.code===F)&&(j(!0),(p=I.current)==null||p.focus()),u.code==="Escape"&&(document.activeElement===I.current||(x=I.current)!=null&&x.contains(document.activeElement))&&j(!1)};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[h]),a.useEffect(()=>{if(I.current)return()=>{s.current&&(s.current.focus({preventScroll:!0}),s.current=null,N.current=!1)}},[I.current]),a.createElement("section",{ref:r,"aria-label":`${mt} ${nt}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},tt.map((d,u)=>{var p;let[x,F]=d.split("-");return S.length?a.createElement("ol",{key:d,dir:z==="auto"?Rt():z,tabIndex:-1,ref:I,className:b,"data-sonner-toaster":!0,"data-theme":ot,"data-y-position":x,"data-lifted":at&&S.length>1&&!w,"data-x-position":F,style:{"--front-toast-height":`${((p=et[0])==null?void 0:p.height)||0}px`,"--width":`${ce}px`,"--gap":`${_}px`,...t,...ge(c,m)},onBlur:g=>{N.current&&!g.currentTarget.contains(g.relatedTarget)&&(N.current=!1,s.current&&(s.current.focus({preventScroll:!0}),s.current=null))},onFocus:g=>{g.target instanceof HTMLElement&&g.target.dataset.dismissible==="false"||N.current||(N.current=!0,s.current=g.relatedTarget)},onMouseEnter:()=>j(!0),onMouseMove:()=>j(!0),onMouseLeave:()=>{rt||j(!1)},onDragEnd:()=>j(!1),onPointerDown:g=>{g.target instanceof HTMLElement&&g.target.dataset.dismissible==="false"||V(!0)},onPointerUp:()=>V(!1)},S.filter(g=>!g.position&&u===0||g.position===d).map((g,pt)=>{var G,st;return a.createElement(pe,{key:g.id,icons:Y,index:pt,toast:g,defaultRichColors:Z,duration:(G=v==null?void 0:v.duration)!=null?G:ct,className:v==null?void 0:v.className,descriptionClassName:v==null?void 0:v.descriptionClassName,invert:o,visibleToasts:ut,closeButton:(st=v==null?void 0:v.closeButton)!=null?st:k,interacting:rt,position:d,style:v==null?void 0:v.style,unstyled:v==null?void 0:v.unstyled,classNames:v==null?void 0:v.classNames,cancelButtonStyle:v==null?void 0:v.cancelButtonStyle,actionButtonStyle:v==null?void 0:v.actionButtonStyle,removeToast:ht,toasts:S.filter(J=>J.position==g.position),heights:et.filter(J=>J.position==g.position),setHeights:ft,expandByDefault:w,gap:_,loadingIcon:O,expanded:at,pauseWhenPageIsHidden:X,swipeDirections:e.swipeDirections})})):null}))});export{we as $,ye as u};
3
- //# sourceMappingURL=index-DvQyydjU.js.map
@@ -1,2 +0,0 @@
1
- import{c as b,j as e}from"./index-Dsusf_Av.js";import{I as p}from"./misc-2sBiisF5.js";import{S as j}from"./tooltip-Bzd6O8vq.js";import{a as g}from"./progress-BJ4ADF-s.js";import{u as f,L as h,F as i}from"./components-5arJTWsS.js";import"./pe-BShc2dvc.js";const C={getSitemapEntries:()=>null},L=({matches:s})=>{var r;const t=(r=s.find(o=>o.id==="root"))==null?void 0:r.data;return[{title:`👷 | ${t==null?void 0:t.workshopTitle}`}]};function N(s,t){return s.type==="unknown"&&t.type==="unknown"?0:s.type==="unknown"?-1:t.type==="unknown"?1:0}function S(s){switch(s.type){case"workshop-instructions":return"/";case"workshop-finished":return"/finished";case"instructions":return`/${s.exerciseNumber.toString().padStart(2,"0")}`;case"step":return`/${s.exerciseNumber.toString().padStart(2,"0")}/${s.stepNumber.toString().padStart(2,"0")}`;case"finished":return`/${s.exerciseNumber.toString().padStart(2,"0")}/finished`;default:return""}}function T(){var c,a;const s=f(),t=b(),r=g(),o=((c=t.formData)==null?void 0:c.get("intent"))==="inspect",u=((a=t.formData)==null?void 0:a.get("intent"))==="stop-inspect",x={completed:"bg-blue-500",incomplete:"bg-yellow-500"};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Progress"}),r?e.jsx("ul",{className:"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:r.sort(N).map(n=>{const l=n.epicCompletedAt?"completed":"incomplete",d=[n.epicLessonSlug,n.epicCompletedAt?`(${n.epicCompletedAt})`:null].filter(Boolean).join(" ");return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-3 w-3 rounded-full ${x[l]}`,title:l}),n.type==="unknown"?e.jsxs("span",{className:"flex items-center gap-1",children:[d,e.jsx("span",{className:"text-red-500",children:e.jsx(j,{content:"This video is in the workshop on EpicWeb.dev, but not in the local workshop.",children:e.jsx(p,{name:"Close"})})})]}):e.jsx(h,{to:S(n),children:d}),e.jsx(h,{to:n.epicLessonUrl,children:e.jsx(p,{name:"ExternalLink"})})]},n.epicLessonSlug)})}):e.jsx("p",{children:"No progress data"})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Commands"}),e.jsxs("ul",{className:"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-caches",children:"Clear local caches"})})}),e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-data",children:"Clear all local data (including auth data)"})})}),e.jsx("li",{children:s.inspectorRunning?e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"stop-inspect",children:o?"Stopping inspector...":"Stop inspector"})}):e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"inspect",children:u?"Starting inspector...":"Start inspector"})})})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Apps"}),e.jsx("ul",{className:"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:s.apps.map(n=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[s.processes[n.name]?e.jsx(m,{status:"running"}):e.jsx(m,{status:"stopped"}),n.name]},n.name))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(s.processes).map(([n,l])=>e.jsx("li",{children:e.jsxs("span",{children:[n," - Port: ",l.port," - PID ",l.pid," -"," ",l.color]})},n))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Test Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(s.testProcesses).map(([n,l])=>e.jsx("li",{children:e.jsxs("span",{children:[n," - PID ",l.pid," - Exit code: ",l.exitCode]})},n))})]})]})}function m({status:s}){const t={running:{pinger:"bg-green-400",circle:"bg-green-500"},starting:{pinger:"bg-sky-400",circle:"bg-sky-500"},stopped:{circle:"bg-gray-500"},taken:{pinger:"bg-red-400",circle:"bg-red-500"}}[s];return e.jsxs("span",{className:"relative flex h-3 w-3",children:[t.pinger?e.jsx("span",{className:`absolute inline-flex h-full w-full animate-ping rounded-full ${t.pinger} opacity-75`}):null,e.jsx("span",{className:`relative inline-flex h-3 w-3 rounded-full ${t.circle}`})]})}export{T as default,C as handle,L as meta};
2
- //# sourceMappingURL=index-Fw2eA3AF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Fw2eA3AF.js","sources":["../../../app/routes/admin+/index.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport {\n\tunstable_data as data,\n\ttype ActionFunctionArgs,\n\ttype LoaderFunctionArgs,\n\ttype MetaFunction,\n} from '@remix-run/node'\nimport { Form, Link, useLoaderData, useNavigation } from '@remix-run/react'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type loader as rootLoader } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: MetaFunction<typeof loader, { root: typeof rootLoader }> = ({\n\tmatches,\n}) => {\n\tconst rootData = matches.find((m) => m.id === 'root')?.data\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn data(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t{epicProgress ? (\n\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : (\n\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","rootData","find","m","id","data","title","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","AdminLayout","useLoaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","Link","to","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"+PAiCO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAEaC,EAAiEA,CAAC,CAC9EC,QAAAA,CACD,IAAM,OACC,MAAAC,GAAWD,EAAAA,EAAQE,KAAMC,GAAMA,EAAEC,KAAO,MAAM,IAAnCJ,YAAAA,EAAsCK,KACvD,MAAO,CAAC,CAAEC,MAAO,QAAQL,GAAAA,YAAAA,EAAUM,aAAa,EAAG,CAAC,CACrD,EAuEA,SAASC,EAAaC,EAAuBC,EAAuB,CACnE,OAAOD,EAAEE,OAAS,WAAaD,EAAEC,OAAS,UACvC,EACAF,EAAEE,OAAS,UACV,GACAD,EAAEC,OAAS,UACV,EACA,CACN,CAEA,SAASC,EAAaC,EAA8B,CACnD,OAAQA,EAASF,KAAM,CACtB,IAAK,wBACG,MAAA,IACR,IAAK,oBACG,MAAA,YACR,IAAK,eACG,MAAA,IAAIE,EAASC,eAAeC,WAAWC,SAAS,EAAG,GAAG,CAAC,GAC/D,IAAK,OACJ,MAAO,IAAIH,EAASC,eAClBC,WACAC,SAAS,EAAG,GAAG,CAAC,IAAIH,EAASI,WAAWF,SAAA,EAAWC,SAAS,EAAG,GAAG,CAAC,GACtE,IAAK,WACG,MAAA,IAAIH,EAASC,eAAeC,WAAWC,SAAS,EAAG,GAAG,CAAC,YAC/D,QACQ,MAAA,EACT,CACD,CAEA,SAAwBE,GAAc,SACrC,MAAMb,EAAOc,EAA6B,EACpCC,EAAaC,EAAc,EAC3BC,EAAeC,EAAgB,EAE/BC,IAAsBJ,EAAAA,EAAWK,WAAXL,YAAAA,EAAqBM,IAAI,aAAc,UAC7DC,IACLP,EAAAA,EAAWK,WAAXL,YAAAA,EAAqBM,IAAI,aAAc,eAElCE,EAAiB,CACtBC,UAAW,cACXC,WAAY,eACb,EAGC,OAAAC,EAAAA,KAAC,MAAI,CAAAC,UAAU,sBACdC,SAAA,CAAAF,EAAA,KAAC,MACA,CAAAE,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAQ,WAAA,EACzCX,EACCY,EAAA,IAAA,KAAA,CAAGF,UAAU,uGACZC,SAAaX,EAAAa,KAAK3B,CAAY,EAAE4B,IAAKvB,GAAa,CAC5C,MAAAwB,EAASxB,EAASyB,gBACrB,YACA,aACGC,EAAQ,CACb1B,EAAS2B,eACT3B,EAASyB,gBACN,IAAIzB,EAASyB,eAAe,IAC5B,IAAA,EAEFG,OAAOC,OAAO,EACdC,KAAK,GAAG,EAET,OAAAZ,EAAAA,KAAC,KAAA,CAEAC,UAAU,0BAEVC,SAAA,CAAAC,EAAA,IAAC,OAAA,CACAF,UAAW,wBAAwBJ,EAAeS,CAAM,CAAC,GACzD/B,MAAO+B,CACR,CAAA,EACCxB,EAASF,OAAS,UACjBoB,EAAAA,KAAA,OAAA,CAAKC,UAAU,0BACdC,SAAA,CAAAM,EACAL,EAAA,IAAA,OAAA,CAAKF,UAAU,eACfC,SAACC,EAAA,IAAAU,EAAA,CAAcC,QAAQ,+EACtBZ,SAACC,EAAA,IAAAY,EAAA,CAAKC,KAAK,OAAQ,CAAA,CACpB,CAAA,CACD,CAAA,CAAA,CAAA,CACD,EAECb,EAAA,IAAAc,EAAA,CAAKC,GAAIrC,EAAaC,CAAQ,EAAIoB,SAAMM,CAAA,CAAA,EAE1CL,EAAA,IAACc,GAAKC,GAAIpC,EAASqC,cAClBjB,SAACC,EAAA,IAAAY,EAAA,CAAKC,KAAK,cAAe,CAAA,CAC3B,CAAA,CAAA,CAAA,EArBKlC,EAAS2B,cAsBf,CAED,CAAA,CAAA,CACF,EAEAN,EAAA,IAAC,KAAED,SAAgB,kBAAA,CAAA,CAAA,CAErB,CAAA,SACC,MACA,CAAAA,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAQ,UAAA,CAAA,EAC1CF,EAAA,KAAC,KAAG,CAAAC,UAAU,mFACbC,SAAA,CAAAC,EAAA,IAAC,KACA,CAAAD,SAAAC,EAAA,IAACiB,EAAK,CAAAC,OAAO,OACZnB,SAAAC,EAAA,IAAC,SAAO,CAAAa,KAAK,SAASM,MAAM,eAAepB,SAAA,oBAE3C,CAAA,CACD,CAAA,CACD,CAAA,EACCC,EAAA,IAAA,KAAA,CACAD,SAACC,EAAA,IAAAiB,EAAA,CAAKC,OAAO,OACZnB,SAAAC,EAAA,IAAC,SAAO,CAAAa,KAAK,SAASM,MAAM,aAAapB,SAAA,4CAEzC,CAAA,CACD,CAAA,CACD,CAAA,EACCC,EAAA,IAAA,KAAA,CACCD,SAAA5B,EAAKiD,iBACJpB,EAAAA,IAAAiB,EAAA,CAAKC,OAAO,OACZnB,eAAC,SAAO,CAAAc,KAAK,SAASM,MAAM,eAC1BpB,SACET,EAAA,wBACA,gBACJ,CAAA,CAAA,CACD,EAEAU,EAAA,IAACiB,EAAK,CAAAC,OAAO,OACZnB,SAACC,EAAA,IAAA,SAAA,CAAOa,KAAK,SAASM,MAAM,UAC1BpB,SAAAN,EACE,wBACA,iBACJ,CAAA,CACD,CAAA,CAEF,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAAM,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAI,MAAA,CAAA,EACrCC,EAAA,IAAA,KAAA,CAAGF,UAAU,6FACZC,SAAA5B,EAAKkD,KAAKnB,IAAKoB,GACdzB,EAAA,KAAA,KAAA,CAAkBC,UAAU,+BAC3BC,SAAA,CAAA5B,EAAKoD,UAAUD,EAAIT,IAAI,EACvBb,EAAA,IAACwB,EAAO,CAAArB,OAAO,SAAU,CAAA,EAExBH,EAAA,IAAAwB,EAAA,CAAOrB,OAAO,SAAU,CAAA,EAEzBmB,EAAIT,IAAA,CANG,EAAAS,EAAIT,IAOb,CACA,CACF,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAAd,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAS,WAAA,CAAA,QAC1C,KAAG,CAAAD,UAAU,0EACZC,SAAO0B,OAAAC,QAAQvD,EAAKoD,SAAS,EAAErB,IAAI,CAAC,CAACyB,EAAKC,CAAO,IAChD5B,EAAAA,IAAA,KAAA,CACAD,gBAAC,OACC,CAAAA,SAAA,CAAA4B,EAAI,YAAUC,EAAQC,KAAK,UAAQD,EAAQE,IAAI,KAAG,IAClDF,EAAQG,KAAA,CACV,CAAA,CAAA,EAJQJ,CAKT,CACA,CACF,CAAA,CAAA,CACD,CAAA,SACC,MACA,CAAA5B,SAAA,CAACC,EAAA,IAAA,KAAA,CAAGF,UAAU,oBAAoBC,SAAc,gBAAA,CAAA,QAC/C,KAAG,CAAAD,UAAU,0EACZC,SAAO0B,OAAAC,QAAQvD,EAAK6D,aAAa,EAAE9B,IAAI,CAAC,CAACyB,EAAKC,CAAO,IACpD5B,EAAAA,IAAA,KAAA,CACAD,gBAAC,OACC,CAAAA,SAAA,CAAA4B,EAAI,UAAQC,EAAQE,IAAI,iBAAeF,EAAQK,QAAA,CACjD,CAAA,CAAA,EAHQN,CAIT,CACA,CACF,CAAA,CAAA,CACD,CAAA,CAAA,CACD,CAAA,CAEF,CAEA,SAASH,EAAO,CACfrB,OAAAA,CACD,EAEG,CACF,MAAM+B,EAAS,CACdC,QAAS,CACRC,OAAQ,eACRC,OAAQ,cACT,EACAC,SAAU,CACTF,OAAQ,aACRC,OAAQ,YACT,EACAE,QAAS,CACRF,OAAQ,aACT,EACAG,MAAO,CACNJ,OAAQ,aACRC,OAAQ,YACT,GACClC,CAAM,EAEP,OAAAN,EAAAA,KAAC,OAAK,CAAAC,UAAU,wBACdC,SAAA,CAAAmC,EAAOE,OACPpC,EAAAA,IAAC,OAAA,CACAF,UAAW,gEAAgEoC,EAAOE,MAAM,cACzF,EACG,KACJpC,EAAA,IAAC,OAAA,CACAF,UAAW,6CAA6CoC,EAAOG,MAAM,EAAA,CACtE,CAAA,CACD,CAAA,CAEF"}
@@ -1,3 +0,0 @@
1
- import{_ as a,l as o,K as p,e as s,L as m}from"./mermaid.core-q9C-HfFu.js";import{p as n}from"./radar-MK3ICKWK-CENXhI0E.js";import"./mdx-C7imFHZE.js";import"./index-Dsusf_Av.js";import"./misc-2sBiisF5.js";import"./components-5arJTWsS.js";import"./epic-video-CmlkW6Rw.js";import"./index-DLC5u33j.js";import"./tooltip-Bzd6O8vq.js";import"./pe-BShc2dvc.js";import"./online-DZKJk3C2.js";import"./loading-b1FV2pQh.js";import"./user-DNSnhqGn.js";import"./workshop-config-DchzGYJM.js";import"./progress-bar-DgnkQxQw.js";import"./_baseUniq-BOjGYEEK.js";import"./_basePickBy-lB0X5x6U.js";import"./clone-Bj8ANPCv.js";var g={parse:a(async r=>{const t=await n("info",r);o.debug(t)},"parse")},v={version:m.version},d=a(()=>v.version,"getVersion"),c={getVersion:d},l=a((r,t,i)=>{o.debug(`rendering info diagram
2
- `+r);const e=p(t);s(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)},"draw"),f={draw:l},N={parser:g,db:c,renderer:f};export{N as diagram};
3
- //# sourceMappingURL=infoDiagram-PH2N3AL5-D-nEozcT.js.map
@@ -1,2 +0,0 @@
1
- function e(){return null}export{e as default};
2
- //# sourceMappingURL=l-ChG-6rmU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"l-ChG-6rmU.js","sources":["../../../app/routes/_app+/l.tsx"],"sourcesContent":["import { getExercises } from '@epic-web/workshop-utils/apps.server'\nimport { redirect, type LoaderFunctionArgs } from '@remix-run/node'\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tconst exercises = await getExercises({ request })\n\tif (!exercises.length) {\n\t\tthrow new Response('No exercises found', { status: 404 })\n\t}\n\n\tconst lastExercise = exercises[exercises.length - 1]\n\tif (!lastExercise || !lastExercise.steps || !lastExercise.steps.length) {\n\t\tthrow new Response('No steps found in last exercise', { status: 404 })\n\t}\n\n\tconst lastStep = lastExercise.steps[lastExercise.steps.length - 1]\n\tif (!lastStep || !lastStep.solution) {\n\t\tthrow new Response('No solution found for last step', { status: 404 })\n\t}\n\n\tconst exerciseNumber = lastExercise.exerciseNumber.toString().padStart(2, '0')\n\tconst stepNumber = lastStep.stepNumber.toString().padStart(2, '0')\n\treturn redirect(`/exercise/${exerciseNumber}/${stepNumber}/solution`)\n}\n\nexport default function LastExerciseRedirect() {\n\treturn null\n}\n"],"names":["LastExerciseRedirect"],"mappings":"AAwBA,SAAwBA,GAAuB,CACvC,OAAA,IACR"}
@@ -1,2 +0,0 @@
1
- import{j as r,r as n}from"./index-Dsusf_Av.js";import{c as f}from"./index-DLC5u33j.js";import{a as d}from"./misc-2sBiisF5.js";function p({className:s,children:t="Loading"}){const{reducedMotion:e}=f();return e==="reduce"?r.jsx("div",{className:"animate-pulse",children:t}):r.jsxs("div",{className:d("flex items-center gap-2 font-mono text-sm font-medium uppercase",s),role:"status",children:[r.jsx("div",{"aria-hidden":"true",children:r.jsx(u,{})}),t,r.jsx("div",{"aria-hidden":"true",children:r.jsx(u,{})})]})}const o="█<▓█ ▒░/▒░ █░>▒▓/ █▒▒ ▓▒▓/█<░▒ ▓/░>",i=()=>o[Math.floor(Math.random()*o.length)];function u(){const[s,t]=n.useState(o[0]),[e,c]=n.useState(o[1]);return m(()=>{t(i()),c(i())},80),r.jsxs("span",{children:[s,e]})}function m(s,t=1e3){const e=n.useRef(null);n.useEffect(()=>{e.current=s},[s]),n.useEffect(()=>{function c(){var a;(a=e.current)==null||a.call(e)}if(t!==null){const a=setInterval(c,t);return()=>clearInterval(a)}},[t])}export{p as L};
2
- //# sourceMappingURL=loading-b1FV2pQh.js.map
@@ -1,2 +0,0 @@
1
- import{r as o,e as j,d as y,j as e}from"./index-Dsusf_Av.js";import{u as N}from"./use-event-source-Dar8h_B8.js";import{a as R,B as C}from"./button-Dt4EcDfR.js";import{L as b}from"./loading-b1FV2pQh.js";import{L as k}from"./product-DJOWNuL-.js";import{u as S}from"./workshop-config-DchzGYJM.js";import{d as T,o as c,s as l,l as d}from"./index-DLC5u33j.js";import{a as _,L as w}from"./components-5arJTWsS.js";import"./misc-2sBiisF5.js";import"./tooltip-Bzd6O8vq.js";import"./pe-BShc2dvc.js";const t={USER_CODE_RECEIVED:"USER_CODE_RECEIVED",AUTH_RESOLVED:"AUTH_RESOLVED",AUTH_REJECTED:"AUTH_REJECTED"},D=c({type:d(t.USER_CODE_RECEIVED),code:l(),url:l()}),L=c({type:d(t.AUTH_RESOLVED)}),A=c({type:d(t.AUTH_REJECTED),error:l().optional().default("Unknown error")}),U=T([D,L,A]),M={getSitemapEntries:()=>null};function z(){var f;const{product:{displayName:r}}=S(),i=_(),[x,h]=o.useState(!1),[u,E]=o.useState(null),[a,g]=o.useState(null),m=j(),p=y(),n=N("/login-sse");return o.useEffect(()=>{if(!n)return;const v=JSON.parse(n),s=U.safeParse(v);if(!s.success){console.error(s.error.flatten());return}switch(s.data.type){case t.USER_CODE_RECEIVED:{g(s.data);break}case t.AUTH_RESOLVED:{p.revalidate(),m("/");break}case t.AUTH_REJECTED:{E(s.data.error);break}}},[n,m,p]),e.jsx("main",{className:"flex h-full w-full flex-grow flex-col items-center justify-center p-10",children:e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(k,{className:"h-16 w-16"}),e.jsxs("h1",{className:"pt-5 text-2xl font-semibold md:text-3xl",children:["Login to ",r]}),e.jsxs("div",{className:"flex w-full flex-col items-center pt-5",children:[a?e.jsxs("div",{className:"flex w-full max-w-md flex-col items-center gap-3",children:[e.jsxs("div",{className:"my-2 flex w-full flex-col items-center gap-2",children:[e.jsx("p",{className:"text-lg",children:"Your verification code is: "}),e.jsx("div",{className:"mb-3 w-full bg-gray-100 px-5 py-3 text-center text-lg font-bold dark:bg-black/40",children:e.jsx("code",{children:a.code})}),e.jsxs("p",{className:"text-base",children:["You'll use this to verify your device on ",r,". Click verify code below to open the verification page."]})]}),e.jsx(R,{varient:"primary",to:a.url,target:"_blank",rel:"noreferrer",onClick:()=>h(!0),children:"Verify Auth Code"}),x?e.jsxs("div",{className:"justify-center pt-5 text-center opacity-60",children:[e.jsx(b,{className:"justify-center",children:"Waiting for confirmation"}),e.jsxs("p",{className:"pt-2",children:["Please open"," ",e.jsx("a",{href:a.url,target:"_blank",className:"underline",children:"your auth page"})," ","in a new tab to continue."]})]}):null]}):e.jsxs("div",{className:"flex flex-col items-center gap-8",children:[e.jsxs("div",{className:"flex max-w-lg flex-col gap-3 pt-3 text-base text-gray-700 dark:text-gray-300",children:[e.jsxs("p",{children:["If you have access to this workshop on ",r,", you'll be able to watch videos, track progress, run tests, view the diffs, and more!"]}),e.jsxs("p",{children:["First you need to authenticate your device by requesting an access code and verifying on ",r,"."]})]}),e.jsx(i.Form,{method:"POST",children:e.jsx(C,{varient:"primary",type:"submit",children:i.state==="idle"&&((f=i.data)==null?void 0:f.status)!=="pending"?"Retrieve Auth Code":"Retrieving Auth Code..."})})]}),u?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mt-4 text-red-500",children:["There was an error: ",e.jsx("pre",{children:u})]}),e.jsxs("div",{className:"mt-4 text-red-500",children:["Please try again or"," ",e.jsx(w,{to:"/support",className:"underline",children:"contact support"})," ","if the problem persists."]})]}):null]})]})})}export{z as default,M as handle};
2
- //# sourceMappingURL=login-Ci7cdiuj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-Ci7cdiuj.js","sources":["../../../app/utils/auth-events.ts","../../../app/routes/login-sse.tsx","../../../app/routes/_app+/login.tsx"],"sourcesContent":["export const EVENTS = {\n\tUSER_CODE_RECEIVED: 'USER_CODE_RECEIVED',\n\tAUTH_RESOLVED: 'AUTH_RESOLVED',\n\tAUTH_REJECTED: 'AUTH_REJECTED',\n} as const\nexport type EventTypes = keyof typeof EVENTS\n","import { type LoaderFunctionArgs } from '@remix-run/node'\nimport { eventStream } from 'remix-utils/sse/server'\nimport { z } from 'zod'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { authEmitter } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\n\nconst CodeReceivedEventSchema = z.object({\n\ttype: z.literal(EVENTS.USER_CODE_RECEIVED),\n\tcode: z.string(),\n\turl: z.string(),\n})\nconst AuthResolvedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_RESOLVED),\n})\nconst AuthRejectedEventSchema = z.object({\n\ttype: z.literal(EVENTS.AUTH_REJECTED),\n\terror: z.string().optional().default('Unknown error'),\n})\nexport const EventSchema = z.union([\n\tCodeReceivedEventSchema,\n\tAuthResolvedEventSchema,\n\tAuthRejectedEventSchema,\n])\n\nexport async function loader({ request }: LoaderFunctionArgs) {\n\tensureUndeployed()\n\treturn eventStream(request.signal, function setup(send) {\n\t\tfunction handleCodeReceived(data: any) {\n\t\t\tsend({\n\t\t\t\tdata: JSON.stringify(\n\t\t\t\t\tCodeReceivedEventSchema.parse({\n\t\t\t\t\t\ttype: EVENTS.USER_CODE_RECEIVED,\n\t\t\t\t\t\t...data,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t\tfunction handleAuthResolved() {\n\t\t\tsend({ data: JSON.stringify({ type: EVENTS.AUTH_RESOLVED }) })\n\t\t}\n\t\tfunction handleAuthRejected(data: any) {\n\t\t\tconst result = AuthRejectedEventSchema.safeParse({\n\t\t\t\ttype: EVENTS.AUTH_REJECTED,\n\t\t\t\t...data,\n\t\t\t})\n\t\t\tif (result.success) {\n\t\t\t\tsend({ data: JSON.stringify(result.data) })\n\t\t\t} else {\n\t\t\t\tconsole.error('Error parsing auth rejected event', result.error, data)\n\t\t\t}\n\t\t}\n\t\tauthEmitter.on(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\tauthEmitter.on(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\tauthEmitter.on(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\treturn () => {\n\t\t\tauthEmitter.off(EVENTS.USER_CODE_RECEIVED, handleCodeReceived)\n\t\t\tauthEmitter.off(EVENTS.AUTH_RESOLVED, handleAuthResolved)\n\t\t\tauthEmitter.off(EVENTS.AUTH_REJECTED, handleAuthRejected)\n\t\t}\n\t})\n}\n","import { getAuthInfo } from '@epic-web/workshop-utils/db.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { redirect } from '@remix-run/node'\nimport { Link, useFetcher, useNavigate, useRevalidator } from '@remix-run/react'\nimport { useEffect, useState } from 'react'\nimport { useEventSource } from 'remix-utils/sse/react'\nimport { Button, ButtonLink } from '#app/components/button.tsx'\nimport { Loading } from '#app/components/loading.tsx'\nimport { Logo } from '#app/components/product.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.js'\nimport { EVENTS } from '#app/utils/auth-events.ts'\nimport { registerDevice } from '#app/utils/auth.server.ts'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { EventSchema } from '../login-sse.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport async function loader() {\n\tensureUndeployed()\n\tconst isAuthenticated = Boolean(await getAuthInfo())\n\tif (isAuthenticated) throw redirect('/account')\n\treturn {}\n}\n\nexport async function action() {\n\tensureUndeployed()\n\tvoid registerDevice()\n\treturn { status: 'pending' } as const\n}\n\nexport default function Login() {\n\tconst {\n\t\tproduct: { displayName },\n\t} = useWorkshopConfig()\n\tconst loginFetcher = useFetcher<typeof action>()\n\tconst [clickedVerificationLink, setClickedVerificationLink] = useState(false)\n\tconst [authError, setAuthError] = useState<null | string>(null)\n\tconst [userCodeInfo, setUserCodeInfo] = useState<null | {\n\t\tcode: string\n\t\turl: string\n\t}>(null)\n\tconst navigate = useNavigate()\n\tconst revalidator = useRevalidator()\n\tconst lastMessage = useEventSource(`/login-sse`)\n\tuseEffect(() => {\n\t\tif (!lastMessage) return\n\n\t\tconst parsed = JSON.parse(lastMessage)\n\t\tconst result = EventSchema.safeParse(parsed)\n\t\tif (!result.success) {\n\t\t\tconsole.error(result.error.flatten())\n\t\t\treturn\n\t\t}\n\t\tswitch (result.data.type) {\n\t\t\tcase EVENTS.USER_CODE_RECEIVED: {\n\t\t\t\tsetUserCodeInfo(result.data)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_RESOLVED: {\n\t\t\t\trevalidator.revalidate()\n\t\t\t\tnavigate('/')\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase EVENTS.AUTH_REJECTED: {\n\t\t\t\tsetAuthError(result.data.error)\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [lastMessage, navigate, revalidator])\n\n\treturn (\n\t\t<main className=\"flex h-full w-full flex-grow flex-col items-center justify-center p-10\">\n\t\t\t<div className=\"flex flex-col items-center\">\n\t\t\t\t<Logo className=\"h-16 w-16\" />\n\t\t\t\t<h1 className=\"pt-5 text-2xl font-semibold md:text-3xl\">\n\t\t\t\t\tLogin to {displayName}\n\t\t\t\t</h1>\n\t\t\t\t<div className=\"flex w-full flex-col items-center pt-5\">\n\t\t\t\t\t{userCodeInfo ? (\n\t\t\t\t\t\t<div className=\"flex w-full max-w-md flex-col items-center gap-3\">\n\t\t\t\t\t\t\t<div className=\"my-2 flex w-full flex-col items-center gap-2\">\n\t\t\t\t\t\t\t\t<p className=\"text-lg\">Your verification code is: </p>\n\t\t\t\t\t\t\t\t<div className=\"mb-3 w-full bg-gray-100 px-5 py-3 text-center text-lg font-bold dark:bg-black/40\">\n\t\t\t\t\t\t\t\t\t<code>{userCodeInfo.code}</code>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<p className=\"text-base\">\n\t\t\t\t\t\t\t\t\tYou'll use this to verify your device on {displayName}. Click\n\t\t\t\t\t\t\t\t\tverify code below to open the verification page.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<ButtonLink\n\t\t\t\t\t\t\t\tvarient=\"primary\"\n\t\t\t\t\t\t\t\tto={userCodeInfo.url}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t\t\tonClick={() => setClickedVerificationLink(true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tVerify Auth Code\n\t\t\t\t\t\t\t</ButtonLink>\n\t\t\t\t\t\t\t{clickedVerificationLink ? (\n\t\t\t\t\t\t\t\t<div className=\"justify-center pt-5 text-center opacity-60\">\n\t\t\t\t\t\t\t\t\t<Loading className=\"justify-center\">\n\t\t\t\t\t\t\t\t\t\tWaiting for confirmation\n\t\t\t\t\t\t\t\t\t</Loading>\n\t\t\t\t\t\t\t\t\t<p className=\"pt-2\">\n\t\t\t\t\t\t\t\t\t\tPlease open{' '}\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={userCodeInfo.url}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tyour auth page\n\t\t\t\t\t\t\t\t\t\t</a>{' '}\n\t\t\t\t\t\t\t\t\t\tin a new tab to continue.\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center gap-8\">\n\t\t\t\t\t\t\t<div className=\"flex max-w-lg flex-col gap-3 pt-3 text-base text-gray-700 dark:text-gray-300\">\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tIf you have access to this workshop on {displayName}, you'll\n\t\t\t\t\t\t\t\t\tbe able to watch videos, track progress, run tests, view the\n\t\t\t\t\t\t\t\t\tdiffs, and more!\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\tFirst you need to authenticate your device by requesting an\n\t\t\t\t\t\t\t\t\taccess code and verifying on {displayName}.\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<loginFetcher.Form method=\"POST\">\n\t\t\t\t\t\t\t\t<Button varient=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{loginFetcher.state === 'idle' &&\n\t\t\t\t\t\t\t\t\tloginFetcher.data?.status !== 'pending'\n\t\t\t\t\t\t\t\t\t\t? `Retrieve Auth Code`\n\t\t\t\t\t\t\t\t\t\t: `Retrieving Auth Code...`}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</loginFetcher.Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{authError ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tThere was an error: <pre>{authError}</pre>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mt-4 text-red-500\">\n\t\t\t\t\t\t\t\tPlease try again or{' '}\n\t\t\t\t\t\t\t\t<Link to=\"/support\" className=\"underline\">\n\t\t\t\t\t\t\t\t\tcontact support\n\t\t\t\t\t\t\t\t</Link>{' '}\n\t\t\t\t\t\t\t\tif the problem persists.\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</main>\n\t)\n}\n"],"names":["EVENTS","CodeReceivedEventSchema","z","type","USER_CODE_RECEIVED","code","url","AuthResolvedEventSchema","AUTH_RESOLVED","AuthRejectedEventSchema","AUTH_REJECTED","error","optional","default","EventSchema","handle","getSitemapEntries","Login","product","displayName","useWorkshopConfig","loginFetcher","useFetcher","clickedVerificationLink","setClickedVerificationLink","useState","authError","setAuthError","userCodeInfo","setUserCodeInfo","navigate","useNavigate","revalidator","useRevalidator","lastMessage","useEventSource","useEffect","parsed","JSON","parse","result","safeParse","success","console","flatten","data","revalidate","className","children","jsxs","jsx","Logo","ButtonLink","varient","to","target","rel","onClick","Loading","href","Form","method","Button","state","status","Fragment","Link"],"mappings":"yeAAO,MAAMA,EAAS,CACrB,mBAAoB,qBACpB,cAAe,gBACf,cAAe,eAChB,ECGMC,EAA0BC,EAAS,CACxCC,KAAMD,EAAUF,EAAOI,kBAAkB,EACzCC,KAAMH,EAAS,EACfI,IAAKJ,EAAS,CACf,CAAC,EACKK,EAA0BL,EAAS,CACxCC,KAAMD,EAAUF,EAAOQ,aAAa,CACrC,CAAC,EACKC,EAA0BP,EAAS,CACxCC,KAAMD,EAAUF,EAAOU,aAAa,EACpCC,MAAOT,IAAWU,SAAS,EAAEC,QAAQ,eAAe,CACrD,CAAC,EACYC,EAAcZ,EAAQ,CAClCD,EACAM,EACAE,CAAA,CACA,ECRYM,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAeA,SAAwBC,GAAQ,OACzB,KAAA,CACLC,QAAS,CAAEC,YAAAA,CAAY,GACpBC,EAAkB,EAChBC,EAAeC,EAA0B,EACzC,CAACC,EAAyBC,CAA0B,EAAIC,EAAAA,SAAS,EAAK,EACtE,CAACC,EAAWC,CAAY,EAAIF,EAAAA,SAAwB,IAAI,EACxD,CAACG,EAAcC,CAAe,EAAIJ,EAAAA,SAGrC,IAAI,EACDK,EAAWC,EAAY,EACvBC,EAAcC,EAAe,EAC7BC,EAAcC,EAAe,YAAY,EAC/CC,OAAAA,EAAAA,UAAU,IAAM,CACf,GAAI,CAACF,EAAa,OAEZ,MAAAG,EAASC,KAAKC,MAAML,CAAW,EAC/BM,EAAS1B,EAAY2B,UAAUJ,CAAM,EACvC,GAAA,CAACG,EAAOE,QAAS,CACpBC,QAAQhC,MAAM6B,EAAO7B,MAAMiC,QAAA,CAAS,EACpC,MACD,CACQ,OAAAJ,EAAOK,KAAK1C,KAAM,CACzB,KAAKH,EAAOI,mBAAoB,CAC/ByB,EAAgBW,EAAOK,IAAI,EAC3B,KACD,CACA,KAAK7C,EAAOQ,cAAe,CAC1BwB,EAAYc,WAAW,EACvBhB,EAAS,GAAG,EACZ,KACD,CACA,KAAK9B,EAAOU,cAAe,CACbiB,EAAAa,EAAOK,KAAKlC,KAAK,EAC9B,KACD,CACD,CACE,EAAA,CAACuB,EAAaJ,EAAUE,CAAW,CAAC,QAGrC,OAAK,CAAAe,UAAU,yEACfC,SAACC,EAAA,KAAA,MAAA,CAAIF,UAAU,6BACdC,SAAA,CAACE,EAAA,IAAAC,EAAA,CAAKJ,UAAU,WAAY,CAAA,EAC5BE,EAAA,KAAC,KAAG,CAAAF,UAAU,0CAA0CC,SAAA,CAAA,YAC7C7B,CAAA,CACX,CAAA,EACA8B,EAAA,KAAC,MAAI,CAAAF,UAAU,yCACbC,SAAA,CACApB,EAAAqB,EAAA,KAAC,MAAI,CAAAF,UAAU,mDACdC,SAAA,CAACC,EAAA,KAAA,MAAA,CAAIF,UAAU,+CACdC,SAAA,CAACE,EAAA,IAAA,IAAA,CAAEH,UAAU,UAAUC,SAA2B,6BAAA,CAAA,EAClDE,EAAA,IAAC,OAAIH,UAAU,mFACdC,eAAC,OAAM,CAAAA,SAAApB,EAAavB,IAAK,CAAA,CAC1B,CAAA,EACA4C,EAAA,KAAC,IAAE,CAAAF,UAAU,YAAYC,SAAA,CAAA,4CACkB7B,EAAY,0DAAA,CAEvD,CAAA,CAAA,CACD,CAAA,EACA+B,EAAA,IAACE,EAAA,CACAC,QAAQ,UACRC,GAAI1B,EAAatB,IACjBiD,OAAO,SACPC,IAAI,aACJC,QAASA,IAAMjC,EAA2B,EAAI,EAC9CwB,SAAA,mBAED,EACCzB,EACA0B,EAAA,KAAC,MAAI,CAAAF,UAAU,6CACdC,SAAA,CAACE,EAAA,IAAAQ,EAAA,CAAQX,UAAU,iBAAiBC,SAEpC,0BAAA,CAAA,EACAC,EAAA,KAAC,IAAE,CAAAF,UAAU,OAAOC,SAAA,CAAA,cACP,IACZE,EAAAA,IAAC,IAAA,CACAS,KAAM/B,EAAatB,IACnBiD,OAAO,SACPR,UAAU,YACVC,SAAA,gBAAA,CAED,EAAK,IAAI,2BAAA,CAEV,CAAA,CAAA,CACD,CAAA,EACG,IAAA,CAAA,CACL,EAEAC,EAAA,KAAC,MAAI,CAAAF,UAAU,mCACdC,SAAA,CAACC,EAAA,KAAA,MAAA,CAAIF,UAAU,+EACdC,SAAA,CAAAC,EAAA,KAAC,IAAE,CAAAD,SAAA,CAAA,0CACsC7B,EAAY,wFAAA,CAGrD,CAAA,SACC,IAAE,CAAA6B,SAAA,CAAA,4FAE4B7B,EAAY,GAAA,CAC3C,CAAA,CAAA,EACD,EACA+B,EAAAA,IAAC7B,EAAauC,KAAb,CAAkBC,OAAO,OACzBb,SAAAE,EAAA,IAACY,GAAOT,QAAQ,UAAUlD,KAAK,SAC7B6C,SAAA3B,EAAa0C,QAAU,UACxB1C,EAAAA,EAAawB,OAAbxB,YAAAA,EAAmB2C,UAAW,UAC3B,qBACA,yBACJ,CAAA,CACD,CAAA,CAAA,EACD,EAEAtC,EAECuB,EAAA,KAAAgB,WAAA,CAAAjB,SAAA,CAACC,EAAA,KAAA,MAAA,CAAIF,UAAU,oBAAoBC,SAAA,CAAA,uBACdE,EAAA,IAAC,OAAKF,SAAUtB,CAAA,CAAA,CAAA,CACrC,CAAA,EACAuB,EAAA,KAAC,MAAI,CAAAF,UAAU,oBAAoBC,SAAA,CAAA,sBACd,UACnBkB,EAAK,CAAAZ,GAAG,WAAWP,UAAU,YAAYC,SAE1C,iBAAA,CAAA,EAAQ,IAAI,0BAAA,CAEb,CAAA,CAAA,CACD,CAAA,EACG,IAAA,CACL,CAAA,CAAA,CACD,CAAA,CACD,CAAA,CAEF"}
@@ -1 +0,0 @@
1
- window.__remixManifest={"entry":{"module":"/assets/entry.client-BLUlgPHE.js","imports":["/assets/index-Dsusf_Av.js","/assets/components-5arJTWsS.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/root-C_WG23OF.js","imports":["/assets/index-Dsusf_Av.js","/assets/components-5arJTWsS.js","/assets/misc-2sBiisF5.js","/assets/pe-BShc2dvc.js","/assets/error-boundary-B07cWiEy.js","/assets/progress-bar-DgnkQxQw.js","/assets/index-DvQyydjU.js","/assets/tooltip-Bzd6O8vq.js","/assets/index-DLC5u33j.js","/assets/presence-C9bUSihT.js","/assets/seo-pBpFCWsy.js","/assets/online-DZKJk3C2.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_-BaHOmd8F.js","imports":["/assets/index-Dsusf_Av.js","/assets/error-boundary-B07cWiEy.js","/assets/misc-2sBiisF5.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/_app+/_layout":{"id":"routes/_app+/_layout","parentId":"root","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-B_NrRv0S.js","imports":["/assets/index-Dsusf_Av.js","/assets/misc-2sBiisF5.js","/assets/pe-BShc2dvc.js","/assets/product-DJOWNuL-.js","/assets/revalidation-ws-B0skixgr.js","/assets/tooltip-Bzd6O8vq.js","/assets/index-Do-KWT0a.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/online-DZKJk3C2.js","/assets/presence-C9bUSihT.js","/assets/progress-BJ4ADF-s.js","/assets/index-DLC5u33j.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/_app+/account":{"id":"routes/_app+/account","parentId":"routes/_app+/_layout","path":"account","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/account-CbFDiVNd.js","imports":["/assets/index-Dsusf_Av.js","/assets/button-Dt4EcDfR.js","/assets/misc-2sBiisF5.js","/assets/tooltip-Bzd6O8vq.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/_app+/app.$appName+/$":{"id":"routes/_app+/app.$appName+/$","parentId":"routes/_app+/_layout","path":"app/:appName/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/api.$":{"id":"routes/_app+/app.$appName+/api.$","parentId":"routes/_app+/_layout","path":"app/:appName/api/*","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/api._-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/epic_ws[.js]":{"id":"routes/_app+/app.$appName+/epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/epic_ws.js","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/index":{"id":"routes/_app+/app.$appName+/index","parentId":"routes/_app+/_layout","path":"app/:appName/","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.$testName":{"id":"routes/_app+/app.$appName+/test.$testName","parentId":"routes/_app+/_layout","path":"app/:appName/test/:testName","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test._testName-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.$appName+/test.epic_ws[.js]":{"id":"routes/_app+/app.$appName+/test.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/:appName/test/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/app.epic_ws[.js]":{"id":"routes/_app+/app.epic_ws[.js]","parentId":"routes/_app+/_layout","path":"app/epic_ws.js","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/app.epic_ws_.js_-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/discord":{"id":"routes/_app+/discord","parentId":"routes/_app+/_layout","path":"discord","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/discord-ut4t-aMQ.js","imports":["/assets/discord-BU7RzE6-.js","/assets/index-Dsusf_Av.js","/assets/misc-2sBiisF5.js","/assets/components-5arJTWsS.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js"],"css":[]},"routes/_app+/exercise+/_layout":{"id":"routes/_app+/exercise+/_layout","parentId":"routes/_app+/_layout","path":"exercise","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-D7_F6t3x.js","imports":["/assets/index-Dsusf_Av.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber":{"id":"routes/_app+/exercise+/$exerciseNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber-Dqi7TgL9.js","imports":["/assets/index-Dsusf_Av.js","/assets/index-B8yUFowV.js","/assets/epic-video-CmlkW6Rw.js","/assets/revalidation-ws-B0skixgr.js","/assets/mdx-C7imFHZE.js","/assets/progress-BJ4ADF-s.js","/assets/misc-2sBiisF5.js","/assets/seo-pBpFCWsy.js","/assets/components-5arJTWsS.js","/assets/index-DLC5u33j.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/:stepNumber","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_exerciseNumber_._stepNumber-DoOFEk-P.js","imports":["/assets/index-Dsusf_Av.js","/assets/misc-2sBiisF5.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","path":":type","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/_layout-QRe2q83m.js","imports":["/assets/index-Dsusf_Av.js","/assets/index-B8yUFowV.js","/assets/error-boundary-B07cWiEy.js","/assets/nav-chevrons-CV-dpXNR.js","/assets/revalidation-ws-B0skixgr.js","/assets/mdx-C7imFHZE.js","/assets/progress-BJ4ADF-s.js","/assets/set-playground-DW2Ys-rV.js","/assets/misc-2sBiisF5.js","/assets/seo-pBpFCWsy.js","/assets/epic-video-CmlkW6Rw.js","/assets/tooltip-Bzd6O8vq.js","/assets/index-DLC5u33j.js","/assets/components-5arJTWsS.js","/assets/index-Do-KWT0a.js","/assets/progress-bar-DgnkQxQw.js","/assets/pe-BShc2dvc.js","/assets/index-BmMpCvYx.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"app","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/app-BYSDu0vh.js","imports":["/assets/index-Dsusf_Av.js","/assets/preview-CqZGJtsE.js","/assets/components-5arJTWsS.js","/assets/misc-2sBiisF5.js","/assets/button-Dt4EcDfR.js","/assets/loading-b1FV2pQh.js","/assets/index-DLC5u33j.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js","/assets/progress-bar-DgnkQxQw.js"],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-DPHVg8Eh.js","imports":["/assets/index-Dsusf_Av.js","/assets/tooltip-Bzd6O8vq.js","/assets/index-BmMpCvYx.js","/assets/misc-2sBiisF5.js","/assets/diff-D5_VwPLF.js","/assets/error-boundary-B07cWiEy.js","/assets/loading-b1FV2pQh.js","/assets/discord-BU7RzE6-.js","/assets/online-DZKJk3C2.js","/assets/components-5arJTWsS.js","/assets/index-DvQyydjU.js","/assets/set-playground-DW2Ys-rV.js","/assets/tests-B1ak2CDI.js","/assets/preview-CqZGJtsE.js","/assets/index-Do-KWT0a.js","/assets/accordion-CpiLc1m2.js","/assets/mdx-C7imFHZE.js","/assets/epic-video-CmlkW6Rw.js","/assets/index-DLC5u33j.js","/assets/pe-BShc2dvc.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js","/assets/revalidation-ws-B0skixgr.js","/assets/use-event-source-Dar8h_B8.js","/assets/button-Dt4EcDfR.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout","path":"test","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-DdUNKtkF.js","imports":["/assets/index-Dsusf_Av.js","/assets/tests-B1ak2CDI.js","/assets/components-5arJTWsS.js","/assets/epic-video-CmlkW6Rw.js","/assets/index-DLC5u33j.js","/assets/misc-2sBiisF5.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/accordion-CpiLc1m2.js","/assets/index-BmMpCvYx.js","/assets/index-Do-KWT0a.js","/assets/use-event-source-Dar8h_B8.js","/assets/set-playground-DW2Ys-rV.js","/assets/progress-bar-DgnkQxQw.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index":{"id":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index","parentId":"routes/_app+/exercise+/$exerciseNumber_.$stepNumber","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js","imports":[],"css":[]},"routes/_app+/exercise+/$exerciseNumber_.finished":{"id":"routes/_app+/exercise+/$exerciseNumber_.finished","parentId":"routes/_app+/exercise+/_layout","path":":exerciseNumber/finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_exerciseNumber_.finished-C5m6M0gM.js","imports":["/assets/index-Dsusf_Av.js","/assets/index-B8yUFowV.js","/assets/epic-video-CmlkW6Rw.js","/assets/misc-2sBiisF5.js","/assets/loading-b1FV2pQh.js","/assets/nav-chevrons-CV-dpXNR.js","/assets/revalidation-ws-B0skixgr.js","/assets/mdx-C7imFHZE.js","/assets/progress-BJ4ADF-s.js","/assets/index-DLC5u33j.js","/assets/online-DZKJk3C2.js","/assets/seo-pBpFCWsy.js","/assets/components-5arJTWsS.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js","/assets/pe-BShc2dvc.js","/assets/tooltip-Bzd6O8vq.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/finished":{"id":"routes/_app+/finished","parentId":"routes/_app+/_layout","path":"finished","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/finished-MrsevkkK.js","imports":["/assets/index-Dsusf_Av.js","/assets/index-B8yUFowV.js","/assets/epic-video-CmlkW6Rw.js","/assets/misc-2sBiisF5.js","/assets/loading-b1FV2pQh.js","/assets/nav-chevrons-CV-dpXNR.js","/assets/revalidation-ws-B0skixgr.js","/assets/mdx-C7imFHZE.js","/assets/online-DZKJk3C2.js","/assets/seo-pBpFCWsy.js","/assets/progress-BJ4ADF-s.js","/assets/index-DLC5u33j.js","/assets/components-5arJTWsS.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js","/assets/pe-BShc2dvc.js","/assets/tooltip-Bzd6O8vq.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/index":{"id":"routes/_app+/index","parentId":"routes/_app+/_layout","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":true,"module":"/assets/index-9euhNa27.js","imports":["/assets/index-Dsusf_Av.js","/assets/index-B8yUFowV.js","/assets/epic-video-CmlkW6Rw.js","/assets/error-boundary-B07cWiEy.js","/assets/mdx-C7imFHZE.js","/assets/misc-2sBiisF5.js","/assets/progress-BJ4ADF-s.js","/assets/components-5arJTWsS.js","/assets/index-DLC5u33j.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/_app+/l":{"id":"routes/_app+/l","parentId":"routes/_app+/_layout","path":"l","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/l-ChG-6rmU.js","imports":[],"css":[]},"routes/_app+/login":{"id":"routes/_app+/login","parentId":"routes/_app+/_layout","path":"login","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-Ci7cdiuj.js","imports":["/assets/index-Dsusf_Av.js","/assets/use-event-source-Dar8h_B8.js","/assets/button-Dt4EcDfR.js","/assets/loading-b1FV2pQh.js","/assets/product-DJOWNuL-.js","/assets/workshop-config-DchzGYJM.js","/assets/index-DLC5u33j.js","/assets/components-5arJTWsS.js","/assets/misc-2sBiisF5.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js"],"css":[]},"routes/_app+/preferences":{"id":"routes/_app+/preferences","parentId":"routes/_app+/_layout","path":"preferences","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/preferences-BkWQyRCq.js","imports":["/assets/index-Dsusf_Av.js","/assets/button-Dt4EcDfR.js","/assets/misc-2sBiisF5.js","/assets/tooltip-Bzd6O8vq.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/_app+/support":{"id":"routes/_app+/support","parentId":"routes/_app+/_layout","path":"support","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/support-Bg0iSyle.js","imports":["/assets/index-Dsusf_Av.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/admin+/_layout":{"id":"routes/admin+/_layout","parentId":"root","path":"admin","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/_layout-B_BIIcpM.js","imports":["/assets/index-Dsusf_Av.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/admin+/apps":{"id":"routes/admin+/apps","parentId":"routes/admin+/_layout","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/cache":{"id":"routes/admin+/cache","parentId":"routes/admin+/_layout","path":"cache","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/cache-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/index":{"id":"routes/admin+/index","parentId":"routes/admin+/_layout","index":true,"hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-Fw2eA3AF.js","imports":["/assets/index-Dsusf_Av.js","/assets/misc-2sBiisF5.js","/assets/tooltip-Bzd6O8vq.js","/assets/progress-BJ4ADF-s.js","/assets/components-5arJTWsS.js","/assets/pe-BShc2dvc.js"],"css":[]},"routes/admin+/notifications":{"id":"routes/admin+/notifications","parentId":"routes/admin+/_layout","path":"notifications","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/notifications-l0sNRNKZ.js","imports":[],"css":[]},"routes/admin+/version":{"id":"routes/admin+/version","parentId":"routes/admin+/_layout","path":"version","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/version-DriSvNMy.js","imports":["/assets/index-Dsusf_Av.js","/assets/workshop-config-DchzGYJM.js","/assets/components-5arJTWsS.js"],"css":[]},"routes/apps":{"id":"routes/apps","parentId":"root","path":"apps","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/apps-DP2rzg_V.js","imports":[],"css":[]},"routes/diff":{"id":"routes/diff","parentId":"root","path":"diff","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/diff-BKR4usVv.js","imports":["/assets/index-Dsusf_Av.js","/assets/misc-2sBiisF5.js","/assets/diff-D5_VwPLF.js","/assets/nav-chevrons-CV-dpXNR.js","/assets/components-5arJTWsS.js","/assets/accordion-CpiLc1m2.js","/assets/tooltip-Bzd6O8vq.js","/assets/index-BmMpCvYx.js","/assets/index-Do-KWT0a.js","/assets/mdx-C7imFHZE.js","/assets/epic-video-CmlkW6Rw.js","/assets/index-DLC5u33j.js","/assets/pe-BShc2dvc.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js","/assets/progress-bar-DgnkQxQw.js","/assets/revalidation-ws-B0skixgr.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/exercises":{"id":"routes/exercises","parentId":"root","path":"exercises","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/exercises-l0sNRNKZ.js","imports":[],"css":[]},"routes/launch-editor":{"id":"routes/launch-editor","parentId":"root","path":"launch-editor","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/launch-editor-l0sNRNKZ.js","imports":[],"css":[]},"routes/login-sse":{"id":"routes/login-sse","parentId":"root","path":"login-sse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/login-sse-l0sNRNKZ.js","imports":[],"css":[]},"routes/og":{"id":"routes/og","parentId":"root","path":"og","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/og-l0sNRNKZ.js","imports":[],"css":[]},"routes/onboarding":{"id":"routes/onboarding","parentId":"root","path":"onboarding","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/onboarding-c9ZuxLsm.js","imports":["/assets/index-Dsusf_Av.js","/assets/button-Dt4EcDfR.js","/assets/epic-video-CmlkW6Rw.js","/assets/components-5arJTWsS.js","/assets/misc-2sBiisF5.js","/assets/index-DLC5u33j.js","/assets/tooltip-Bzd6O8vq.js","/assets/pe-BShc2dvc.js","/assets/online-DZKJk3C2.js","/assets/loading-b1FV2pQh.js","/assets/user-DNSnhqGn.js","/assets/workshop-config-DchzGYJM.js"],"css":["/assets/epic-video-D2Xftn6t.css"]},"routes/processes":{"id":"routes/processes","parentId":"root","path":"processes","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/processes-l0sNRNKZ.js","imports":[],"css":[]},"routes/progress":{"id":"routes/progress","parentId":"root","path":"progress","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/progress-l0sNRNKZ.js","imports":[],"css":[]},"routes/robots[.]txt":{"id":"routes/robots[.]txt","parentId":"root","path":"robots.txt","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/robots_._txt-l0sNRNKZ.js","imports":[],"css":[]},"routes/set-playground":{"id":"routes/set-playground","parentId":"root","path":"set-playground","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/set-playground-l0sNRNKZ.js","imports":[],"css":[]},"routes/sitemap[.]xml":{"id":"routes/sitemap[.]xml","parentId":"root","path":"sitemap.xml","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/sitemap_._xml-l0sNRNKZ.js","imports":[],"css":[]},"routes/start":{"id":"routes/start","parentId":"root","path":"start","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/start-l0sNRNKZ.js","imports":[],"css":[]},"routes/test":{"id":"routes/test","parentId":"root","path":"test","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/test-l0sNRNKZ.js","imports":[],"css":[]},"routes/theme/index":{"id":"routes/theme/index","parentId":"root","path":"theme","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-DP2rzg_V.js","imports":[],"css":[]},"routes/video-player/index":{"id":"routes/video-player/index","parentId":"root","path":"video-player","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasErrorBoundary":false,"module":"/assets/index-K6Dvbx-E.js","imports":[],"css":[]}},"url":"/assets/manifest-f9e2a790.js","version":"f9e2a790"};
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-q9C-HfFu.js","assets/index-Dsusf_Av.js"])))=>i.map(i=>d[i]);
2
- var oe=Object.defineProperty;var kt=n=>{throw TypeError(n)};var ae=(n,e,i)=>e in n?oe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[e]=i;var x=(n,e,i)=>ae(n,typeof e!="symbol"?e+"":e,i),Tt=(n,e,i)=>e.has(n)||kt("Cannot "+i);var t=(n,e,i)=>(Tt(n,e,"read from private field"),i?i.call(n):e.get(n)),w=(n,e,i)=>e.has(n)?kt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,i),f=(n,e,i,s)=>(Tt(n,e,"write to private field"),s?s.call(n,i):e.set(n,i),i),u=(n,e,i)=>(Tt(n,e,"access private method"),i);var St=(n,e,i,s)=>({set _(a){f(n,e,a,i)},get _(){return t(n,e,s)}});import{j as d,r as Z}from"./index-Dsusf_Av.js";import{c as jt,I as he,a as le,A as ce,H as ct}from"./misc-2sBiisF5.js";import{b as ue,L as Yt,a as fe,r as de,u as pe}from"./components-5arJTWsS.js";import{D as me,V as ge}from"./epic-video-CmlkW6Rw.js";import{s as be}from"./progress-bar-DgnkQxQw.js";import{u as we}from"./pe-BShc2dvc.js";import{a as _e}from"./index-DLC5u33j.js";function ye(){const n=ue("root");if(!n)throw new Error("useApps requires a data object from the root loader");return n.apps}function Kt(n){const e=fe();return Z.useEffect(()=>{e.state==="idle"&&e.data!=null&&(n==null||n("fetcher-done"))},[e,n]),e}function Ee({file:n,appFile:e,appName:i,syncTo:s,line:a,column:o,children:r,onUpdate:c}){var y;const h=Kt(c),m=we(),A=typeof e=="string"?[e]:e,g=n?"file":e?"appFile":"",R=s!=null&&s.file?"file":s!=null&&s.appFile?"appFile":"";return d.jsxs(h.Form,{action:"/launch-editor",method:"POST",className:"flex items-center",children:[m,be,d.jsx("input",{type:"hidden",name:"line",value:a}),d.jsx("input",{type:"hidden",name:"column",value:o}),d.jsx("input",{type:"hidden",name:"type",value:g}),d.jsx("input",{type:"hidden",name:"file",value:n}),d.jsx("input",{type:"hidden",name:"appName",value:i}),A==null?void 0:A.map(T=>d.jsx("input",{type:"hidden",name:"appFile",value:T},T)),s?d.jsxs(d.Fragment,{children:[d.jsx("input",{type:"hidden",name:"syncTo.type",value:R}),d.jsx("input",{type:"hidden",name:"syncTo.file",value:s.file}),d.jsx("input",{type:"hidden",name:"syncTo.appName",value:s.appName}),d.jsx("input",{type:"hidden",name:"syncTo.appFile",value:s.appFile})]}):null,d.jsx("button",{type:"submit",className:jt("launch_button",h.state==="idle"?null:"cursor-progress",((y=h.data)==null?void 0:y.status)==="error"?"cursor-not-allowed":null),children:r})]})}function Se({file:n,appFile:e,appName:i,line:s,children:a}){const o=ye(),r=_e();if(Array.isArray(e))return d.jsx("div",{children:"Cannot open more than one file"});if(n){const m=A=>A.replace(/\\/g,"/");return d.jsx("a",{className:"launch_button !no-underline",href:m(n).replace(m(ENV.EPICSHOP_CONTEXT_CWD),ENV.EPICSHOP_GITHUB_ROOT)+(s?`#L${s}`:""),rel:"noreferrer",target:"_blank",children:a})}const c=o.find(m=>m.name===i),h=[...(c==null?void 0:c.relativePath.split(r.separator))??[],e+(s?`#L${s}`:"")].join("/");return d.jsx("a",{className:"launch_button !no-underline",href:`${ENV.EPICSHOP_GITHUB_ROOT}/${h}`,rel:"noreferrer",target:"_blank",children:a})}function qe({appFile:n="README.mdx",appName:e,file:i,relativePath:s}){const a=Kt(),o=c=>{if(!c.altKey||ENV.EPICSHOP_DEPLOYED)return;c.preventDefault();const h=new FormData,m=i?"file":"appFile";h.append(m,i??n),h.append("type",m),e&&h.append("appName",e),a.submit(h,{method:"POST",action:"/launch-editor"})},r=ENV.EPICSHOP_GITHUB_ROOT.replace(/\/tree\/|\/blob\//,"/edit/");return d.jsxs(Yt,{className:"self-center font-mono text-sm",onClick:o,target:"_blank",to:`${r}/${s}/${n}`.replace(/\\/g,"/"),children:[d.jsx("span",{className:"block md:hidden",children:"Edit on GitHub"}),d.jsx("span",{className:"hidden md:block",children:"Edit this page on GitHub"})]})}const Zt=ENV.EPICSHOP_DEPLOYED?Se:Ee,ut=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Jt=new Set,zt=typeof process=="object"&&process?process:{},Qt=(n,e,i,s)=>{typeof zt.emitWarning=="function"?zt.emitWarning(n,e,i,s):console.error(`[${i}] ${e}: ${n}`)};let At=globalThis.AbortController,Vt=globalThis.AbortSignal;var Bt;if(typeof At>"u"){Vt=class{constructor(){x(this,"onabort");x(this,"_onabort",[]);x(this,"reason");x(this,"aborted",!1)}addEventListener(s,a){this._onabort.push(a)}},At=class{constructor(){x(this,"signal",new Vt);e()}abort(s){var a,o;if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(const r of this.signal._onabort)r(s);(o=(a=this.signal).onabort)==null||o.call(a,s)}}};let n=((Bt=zt.env)==null?void 0:Bt.LRU_CACHE_IGNORE_AC_WARNING)!=="1";const e=()=>{n&&(n=!1,Qt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}const ve=n=>!Jt.has(n),Q=n=>n&&n===Math.floor(n)&&n>0&&isFinite(n),te=n=>Q(n)?n<=Math.pow(2,8)?Uint8Array:n<=Math.pow(2,16)?Uint16Array:n<=Math.pow(2,32)?Uint32Array:n<=Number.MAX_SAFE_INTEGER?vt:null:null;class vt extends Array{constructor(e){super(e),this.fill(0)}}var ft;const nt=class nt{constructor(e,i){x(this,"heap");x(this,"length");if(!t(nt,ft))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e),this.length=0}static create(e){const i=te(e);if(!i)return[];f(nt,ft,!0);const s=new nt(e,i);return f(nt,ft,!1),s}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};ft=new WeakMap,w(nt,ft,!1);let Rt=nt;var qt,Xt,k,I,V,rt,$,dt,pt,C,B,F,v,p,N,M,z,P,q,D,X,Y,G,K,st,W,mt,l,Nt,ot,J,_t,H,ee,at,gt,yt,tt,et,Wt,Ot,xt,S,It,wt,it,Mt;const Ut=class Ut{constructor(e){w(this,l);w(this,k);w(this,I);w(this,V);w(this,rt);w(this,$);w(this,dt);w(this,pt);x(this,"ttl");x(this,"ttlResolution");x(this,"ttlAutopurge");x(this,"updateAgeOnGet");x(this,"updateAgeOnHas");x(this,"allowStale");x(this,"noDisposeOnSet");x(this,"noUpdateTTL");x(this,"maxEntrySize");x(this,"sizeCalculation");x(this,"noDeleteOnFetchRejection");x(this,"noDeleteOnStaleGet");x(this,"allowStaleOnFetchAbort");x(this,"allowStaleOnFetchRejection");x(this,"ignoreFetchAbort");w(this,C);w(this,B);w(this,F);w(this,v);w(this,p);w(this,N);w(this,M);w(this,z);w(this,P);w(this,q);w(this,D);w(this,X);w(this,Y);w(this,G);w(this,K);w(this,st);w(this,W);w(this,mt);w(this,ot,()=>{});w(this,J,()=>{});w(this,_t,()=>{});w(this,H,()=>!1);w(this,at,e=>{});w(this,gt,(e,i,s)=>{});w(this,yt,(e,i,s,a)=>{if(s||a)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});x(this,qt,"LRUCache");const{max:i=0,ttl:s,ttlResolution:a=1,ttlAutopurge:o,updateAgeOnGet:r,updateAgeOnHas:c,allowStale:h,dispose:m,onInsert:A,disposeAfter:g,noDisposeOnSet:R,noUpdateTTL:y,maxSize:T=0,maxEntrySize:O=0,sizeCalculation:L,fetchMethod:b,memoMethod:j,noDeleteOnFetchRejection:_,noDeleteOnStaleGet:E,allowStaleOnFetchRejection:U,allowStaleOnFetchAbort:bt,ignoreFetchAbort:ht}=e;if(i!==0&&!Q(i))throw new TypeError("max option must be a nonnegative integer");const Et=i?te(i):Array;if(!Et)throw new Error("invalid max value: "+i);if(f(this,k,i),f(this,I,T),this.maxEntrySize=O||t(this,I),this.sizeCalculation=L,this.sizeCalculation){if(!t(this,I)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(j!==void 0&&typeof j!="function")throw new TypeError("memoMethod must be a function if defined");if(f(this,pt,j),b!==void 0&&typeof b!="function")throw new TypeError("fetchMethod must be a function if specified");if(f(this,dt,b),f(this,st,!!b),f(this,F,new Map),f(this,v,new Array(i).fill(void 0)),f(this,p,new Array(i).fill(void 0)),f(this,N,new Et(i)),f(this,M,new Et(i)),f(this,z,0),f(this,P,0),f(this,q,Rt.create(i)),f(this,C,0),f(this,B,0),typeof m=="function"&&f(this,V,m),typeof A=="function"&&f(this,rt,A),typeof g=="function"?(f(this,$,g),f(this,D,[])):(f(this,$,void 0),f(this,D,void 0)),f(this,K,!!t(this,V)),f(this,mt,!!t(this,rt)),f(this,W,!!t(this,$)),this.noDisposeOnSet=!!R,this.noUpdateTTL=!!y,this.noDeleteOnFetchRejection=!!_,this.allowStaleOnFetchRejection=!!U,this.allowStaleOnFetchAbort=!!bt,this.ignoreFetchAbort=!!ht,this.maxEntrySize!==0){if(t(this,I)!==0&&!Q(t(this,I)))throw new TypeError("maxSize must be a positive integer if specified");if(!Q(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");u(this,l,ee).call(this)}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!E,this.updateAgeOnGet=!!r,this.updateAgeOnHas=!!c,this.ttlResolution=Q(a)||a===0?a:1,this.ttlAutopurge=!!o,this.ttl=s||0,this.ttl){if(!Q(this.ttl))throw new TypeError("ttl must be a positive integer if specified");u(this,l,Nt).call(this)}if(t(this,k)===0&&this.ttl===0&&t(this,I)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!t(this,k)&&!t(this,I)){const lt="LRU_CACHE_UNBOUNDED";ve(lt)&&(Jt.add(lt),Qt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",lt,Ut))}}static unsafeExposeInternals(e){return{starts:t(e,Y),ttls:t(e,G),sizes:t(e,X),keyMap:t(e,F),keyList:t(e,v),valList:t(e,p),next:t(e,N),prev:t(e,M),get head(){return t(e,z)},get tail(){return t(e,P)},free:t(e,q),isBackgroundFetch:i=>{var s;return u(s=e,l,S).call(s,i)},backgroundFetch:(i,s,a,o)=>{var r;return u(r=e,l,xt).call(r,i,s,a,o)},moveToTail:i=>{var s;return u(s=e,l,wt).call(s,i)},indexes:i=>{var s;return u(s=e,l,tt).call(s,i)},rindexes:i=>{var s;return u(s=e,l,et).call(s,i)},isStale:i=>{var s;return t(s=e,H).call(s,i)}}}get max(){return t(this,k)}get maxSize(){return t(this,I)}get calculatedSize(){return t(this,B)}get size(){return t(this,C)}get fetchMethod(){return t(this,dt)}get memoMethod(){return t(this,pt)}get dispose(){return t(this,V)}get onInsert(){return t(this,rt)}get disposeAfter(){return t(this,$)}getRemainingTTL(e){return t(this,F).has(e)?1/0:0}*entries(){for(const e of u(this,l,tt).call(this))t(this,p)[e]!==void 0&&t(this,v)[e]!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield[t(this,v)[e],t(this,p)[e]])}*rentries(){for(const e of u(this,l,et).call(this))t(this,p)[e]!==void 0&&t(this,v)[e]!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield[t(this,v)[e],t(this,p)[e]])}*keys(){for(const e of u(this,l,tt).call(this)){const i=t(this,v)[e];i!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield i)}}*rkeys(){for(const e of u(this,l,et).call(this)){const i=t(this,v)[e];i!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield i)}}*values(){for(const e of u(this,l,tt).call(this))t(this,p)[e]!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield t(this,p)[e])}*rvalues(){for(const e of u(this,l,et).call(this))t(this,p)[e]!==void 0&&!u(this,l,S).call(this,t(this,p)[e])&&(yield t(this,p)[e])}[(Xt=Symbol.iterator,qt=Symbol.toStringTag,Xt)](){return this.entries()}find(e,i={}){for(const s of u(this,l,tt).call(this)){const a=t(this,p)[s],o=u(this,l,S).call(this,a)?a.__staleWhileFetching:a;if(o!==void 0&&e(o,t(this,v)[s],this))return this.get(t(this,v)[s],i)}}forEach(e,i=this){for(const s of u(this,l,tt).call(this)){const a=t(this,p)[s],o=u(this,l,S).call(this,a)?a.__staleWhileFetching:a;o!==void 0&&e.call(i,o,t(this,v)[s],this)}}rforEach(e,i=this){for(const s of u(this,l,et).call(this)){const a=t(this,p)[s],o=u(this,l,S).call(this,a)?a.__staleWhileFetching:a;o!==void 0&&e.call(i,o,t(this,v)[s],this)}}purgeStale(){let e=!1;for(const i of u(this,l,et).call(this,{allowStale:!0}))t(this,H).call(this,i)&&(u(this,l,it).call(this,t(this,v)[i],"expire"),e=!0);return e}info(e){const i=t(this,F).get(e);if(i===void 0)return;const s=t(this,p)[i],a=u(this,l,S).call(this,s)?s.__staleWhileFetching:s;if(a===void 0)return;const o={value:a};if(t(this,G)&&t(this,Y)){const r=t(this,G)[i],c=t(this,Y)[i];if(r&&c){const h=r-(ut.now()-c);o.ttl=h,o.start=Date.now()}}return t(this,X)&&(o.size=t(this,X)[i]),o}dump(){const e=[];for(const i of u(this,l,tt).call(this,{allowStale:!0})){const s=t(this,v)[i],a=t(this,p)[i],o=u(this,l,S).call(this,a)?a.__staleWhileFetching:a;if(o===void 0||s===void 0)continue;const r={value:o};if(t(this,G)&&t(this,Y)){r.ttl=t(this,G)[i];const c=ut.now()-t(this,Y)[i];r.start=Math.floor(Date.now()-c)}t(this,X)&&(r.size=t(this,X)[i]),e.unshift([s,r])}return e}load(e){this.clear();for(const[i,s]of e){if(s.start){const a=Date.now()-s.start;s.start=ut.now()-a}this.set(i,s.value,s)}}set(e,i,s={}){var R,y,T,O,L,b,j;if(i===void 0)return this.delete(e),this;const{ttl:a=this.ttl,start:o,noDisposeOnSet:r=this.noDisposeOnSet,sizeCalculation:c=this.sizeCalculation,status:h}=s;let{noUpdateTTL:m=this.noUpdateTTL}=s;const A=t(this,yt).call(this,e,i,s.size||0,c);if(this.maxEntrySize&&A>this.maxEntrySize)return h&&(h.set="miss",h.maxEntrySizeExceeded=!0),u(this,l,it).call(this,e,"set"),this;let g=t(this,C)===0?void 0:t(this,F).get(e);if(g===void 0)g=t(this,C)===0?t(this,P):t(this,q).length!==0?t(this,q).pop():t(this,C)===t(this,k)?u(this,l,Ot).call(this,!1):t(this,C),t(this,v)[g]=e,t(this,p)[g]=i,t(this,F).set(e,g),t(this,N)[t(this,P)]=g,t(this,M)[g]=t(this,P),f(this,P,g),St(this,C)._++,t(this,gt).call(this,g,A,h),h&&(h.set="add"),m=!1,t(this,mt)&&((R=t(this,rt))==null||R.call(this,i,e,"add"));else{u(this,l,wt).call(this,g);const _=t(this,p)[g];if(i!==_){if(t(this,st)&&u(this,l,S).call(this,_)){_.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:E}=_;E!==void 0&&!r&&(t(this,K)&&((y=t(this,V))==null||y.call(this,E,e,"set")),t(this,W)&&((T=t(this,D))==null||T.push([E,e,"set"])))}else r||(t(this,K)&&((O=t(this,V))==null||O.call(this,_,e,"set")),t(this,W)&&((L=t(this,D))==null||L.push([_,e,"set"])));if(t(this,at).call(this,g),t(this,gt).call(this,g,A,h),t(this,p)[g]=i,h){h.set="replace";const E=_&&u(this,l,S).call(this,_)?_.__staleWhileFetching:_;E!==void 0&&(h.oldValue=E)}}else h&&(h.set="update");t(this,mt)&&((b=this.onInsert)==null||b.call(this,i,e,i===_?"update":"replace"))}if(a!==0&&!t(this,G)&&u(this,l,Nt).call(this),t(this,G)&&(m||t(this,_t).call(this,g,a,o),h&&t(this,J).call(this,h,g)),!r&&t(this,W)&&t(this,D)){const _=t(this,D);let E;for(;E=_==null?void 0:_.shift();)(j=t(this,$))==null||j.call(this,...E)}return this}pop(){var e;try{for(;t(this,C);){const i=t(this,p)[t(this,z)];if(u(this,l,Ot).call(this,!0),u(this,l,S).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(t(this,W)&&t(this,D)){const i=t(this,D);let s;for(;s=i==null?void 0:i.shift();)(e=t(this,$))==null||e.call(this,...s)}}}has(e,i={}){const{updateAgeOnHas:s=this.updateAgeOnHas,status:a}=i,o=t(this,F).get(e);if(o!==void 0){const r=t(this,p)[o];if(u(this,l,S).call(this,r)&&r.__staleWhileFetching===void 0)return!1;if(t(this,H).call(this,o))a&&(a.has="stale",t(this,J).call(this,a,o));else return s&&t(this,ot).call(this,o),a&&(a.has="hit",t(this,J).call(this,a,o)),!0}else a&&(a.has="miss");return!1}peek(e,i={}){const{allowStale:s=this.allowStale}=i,a=t(this,F).get(e);if(a===void 0||!s&&t(this,H).call(this,a))return;const o=t(this,p)[a];return u(this,l,S).call(this,o)?o.__staleWhileFetching:o}async fetch(e,i={}){const{allowStale:s=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:r=this.ttl,noDisposeOnSet:c=this.noDisposeOnSet,size:h=0,sizeCalculation:m=this.sizeCalculation,noUpdateTTL:A=this.noUpdateTTL,noDeleteOnFetchRejection:g=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:R=this.allowStaleOnFetchRejection,ignoreFetchAbort:y=this.ignoreFetchAbort,allowStaleOnFetchAbort:T=this.allowStaleOnFetchAbort,context:O,forceRefresh:L=!1,status:b,signal:j}=i;if(!t(this,st))return b&&(b.fetch="get"),this.get(e,{allowStale:s,updateAgeOnGet:a,noDeleteOnStaleGet:o,status:b});const _={allowStale:s,updateAgeOnGet:a,noDeleteOnStaleGet:o,ttl:r,noDisposeOnSet:c,size:h,sizeCalculation:m,noUpdateTTL:A,noDeleteOnFetchRejection:g,allowStaleOnFetchRejection:R,allowStaleOnFetchAbort:T,ignoreFetchAbort:y,status:b,signal:j};let E=t(this,F).get(e);if(E===void 0){b&&(b.fetch="miss");const U=u(this,l,xt).call(this,e,E,_,O);return U.__returned=U}else{const U=t(this,p)[E];if(u(this,l,S).call(this,U)){const Ct=s&&U.__staleWhileFetching!==void 0;return b&&(b.fetch="inflight",Ct&&(b.returnedStale=!0)),Ct?U.__staleWhileFetching:U.__returned=U}const bt=t(this,H).call(this,E);if(!L&&!bt)return b&&(b.fetch="hit"),u(this,l,wt).call(this,E),a&&t(this,ot).call(this,E),b&&t(this,J).call(this,b,E),U;const ht=u(this,l,xt).call(this,e,E,_,O),lt=ht.__staleWhileFetching!==void 0&&s;return b&&(b.fetch=bt?"stale":"refresh",lt&&bt&&(b.returnedStale=!0)),lt?ht.__staleWhileFetching:ht.__returned=ht}}async forceFetch(e,i={}){const s=await this.fetch(e,i);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e,i={}){const s=t(this,pt);if(!s)throw new Error("no memoMethod provided to constructor");const{context:a,forceRefresh:o,...r}=i,c=this.get(e,r);if(!o&&c!==void 0)return c;const h=s(e,c,{options:r,context:a});return this.set(e,h,r),h}get(e,i={}){const{allowStale:s=this.allowStale,updateAgeOnGet:a=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:r}=i,c=t(this,F).get(e);if(c!==void 0){const h=t(this,p)[c],m=u(this,l,S).call(this,h);return r&&t(this,J).call(this,r,c),t(this,H).call(this,c)?(r&&(r.get="stale"),m?(r&&s&&h.__staleWhileFetching!==void 0&&(r.returnedStale=!0),s?h.__staleWhileFetching:void 0):(o||u(this,l,it).call(this,e,"expire"),r&&s&&(r.returnedStale=!0),s?h:void 0)):(r&&(r.get="hit"),m?h.__staleWhileFetching:(u(this,l,wt).call(this,c),a&&t(this,ot).call(this,c),h))}else r&&(r.get="miss")}delete(e){return u(this,l,it).call(this,e,"delete")}clear(){return u(this,l,Mt).call(this,"delete")}};k=new WeakMap,I=new WeakMap,V=new WeakMap,rt=new WeakMap,$=new WeakMap,dt=new WeakMap,pt=new WeakMap,C=new WeakMap,B=new WeakMap,F=new WeakMap,v=new WeakMap,p=new WeakMap,N=new WeakMap,M=new WeakMap,z=new WeakMap,P=new WeakMap,q=new WeakMap,D=new WeakMap,X=new WeakMap,Y=new WeakMap,G=new WeakMap,K=new WeakMap,st=new WeakMap,W=new WeakMap,mt=new WeakMap,l=new WeakSet,Nt=function(){const e=new vt(t(this,k)),i=new vt(t(this,k));f(this,G,e),f(this,Y,i),f(this,_t,(o,r,c=ut.now())=>{if(i[o]=r!==0?c:0,e[o]=r,r!==0&&this.ttlAutopurge){const h=setTimeout(()=>{t(this,H).call(this,o)&&u(this,l,it).call(this,t(this,v)[o],"expire")},r+1);h.unref&&h.unref()}}),f(this,ot,o=>{i[o]=e[o]!==0?ut.now():0}),f(this,J,(o,r)=>{if(e[r]){const c=e[r],h=i[r];if(!c||!h)return;o.ttl=c,o.start=h,o.now=s||a();const m=o.now-h;o.remainingTTL=c-m}});let s=0;const a=()=>{const o=ut.now();if(this.ttlResolution>0){s=o;const r=setTimeout(()=>s=0,this.ttlResolution);r.unref&&r.unref()}return o};this.getRemainingTTL=o=>{const r=t(this,F).get(o);if(r===void 0)return 0;const c=e[r],h=i[r];if(!c||!h)return 1/0;const m=(s||a())-h;return c-m},f(this,H,o=>{const r=i[o],c=e[o];return!!c&&!!r&&(s||a())-r>c})},ot=new WeakMap,J=new WeakMap,_t=new WeakMap,H=new WeakMap,ee=function(){const e=new vt(t(this,k));f(this,B,0),f(this,X,e),f(this,at,i=>{f(this,B,t(this,B)-e[i]),e[i]=0}),f(this,yt,(i,s,a,o)=>{if(u(this,l,S).call(this,s))return 0;if(!Q(a))if(o){if(typeof o!="function")throw new TypeError("sizeCalculation must be a function");if(a=o(s,i),!Q(a))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return a}),f(this,gt,(i,s,a)=>{if(e[i]=s,t(this,I)){const o=t(this,I)-e[i];for(;t(this,B)>o;)u(this,l,Ot).call(this,!0)}f(this,B,t(this,B)+e[i]),a&&(a.entrySize=s,a.totalCalculatedSize=t(this,B))})},at=new WeakMap,gt=new WeakMap,yt=new WeakMap,tt=function*({allowStale:e=this.allowStale}={}){if(t(this,C))for(let i=t(this,P);!(!u(this,l,Wt).call(this,i)||((e||!t(this,H).call(this,i))&&(yield i),i===t(this,z)));)i=t(this,M)[i]},et=function*({allowStale:e=this.allowStale}={}){if(t(this,C))for(let i=t(this,z);!(!u(this,l,Wt).call(this,i)||((e||!t(this,H).call(this,i))&&(yield i),i===t(this,P)));)i=t(this,N)[i]},Wt=function(e){return e!==void 0&&t(this,F).get(t(this,v)[e])===e},Ot=function(e){var o,r;const i=t(this,z),s=t(this,v)[i],a=t(this,p)[i];return t(this,st)&&u(this,l,S).call(this,a)?a.__abortController.abort(new Error("evicted")):(t(this,K)||t(this,W))&&(t(this,K)&&((o=t(this,V))==null||o.call(this,a,s,"evict")),t(this,W)&&((r=t(this,D))==null||r.push([a,s,"evict"]))),t(this,at).call(this,i),e&&(t(this,v)[i]=void 0,t(this,p)[i]=void 0,t(this,q).push(i)),t(this,C)===1?(f(this,z,f(this,P,0)),t(this,q).length=0):f(this,z,t(this,N)[i]),t(this,F).delete(s),St(this,C)._--,i},xt=function(e,i,s,a){const o=i===void 0?void 0:t(this,p)[i];if(u(this,l,S).call(this,o))return o;const r=new At,{signal:c}=s;c==null||c.addEventListener("abort",()=>r.abort(c.reason),{signal:r.signal});const h={signal:r.signal,options:s,context:a},m=(O,L=!1)=>{const{aborted:b}=r.signal,j=s.ignoreFetchAbort&&O!==void 0;if(s.status&&(b&&!L?(s.status.fetchAborted=!0,s.status.fetchError=r.signal.reason,j&&(s.status.fetchAbortIgnored=!0)):s.status.fetchResolved=!0),b&&!j&&!L)return g(r.signal.reason);const _=y;return t(this,p)[i]===y&&(O===void 0?_.__staleWhileFetching?t(this,p)[i]=_.__staleWhileFetching:u(this,l,it).call(this,e,"fetch"):(s.status&&(s.status.fetchUpdated=!0),this.set(e,O,h.options))),O},A=O=>(s.status&&(s.status.fetchRejected=!0,s.status.fetchError=O),g(O)),g=O=>{const{aborted:L}=r.signal,b=L&&s.allowStaleOnFetchAbort,j=b||s.allowStaleOnFetchRejection,_=j||s.noDeleteOnFetchRejection,E=y;if(t(this,p)[i]===y&&(!_||E.__staleWhileFetching===void 0?u(this,l,it).call(this,e,"fetch"):b||(t(this,p)[i]=E.__staleWhileFetching)),j)return s.status&&E.__staleWhileFetching!==void 0&&(s.status.returnedStale=!0),E.__staleWhileFetching;if(E.__returned===E)throw O},R=(O,L)=>{var j;const b=(j=t(this,dt))==null?void 0:j.call(this,e,o,h);b&&b instanceof Promise&&b.then(_=>O(_===void 0?void 0:_),L),r.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(O(void 0),s.allowStaleOnFetchAbort&&(O=_=>m(_,!0)))})};s.status&&(s.status.fetchDispatched=!0);const y=new Promise(R).then(m,A),T=Object.assign(y,{__abortController:r,__staleWhileFetching:o,__returned:void 0});return i===void 0?(this.set(e,T,{...h.options,status:void 0}),i=t(this,F).get(e)):t(this,p)[i]=T,T},S=function(e){if(!t(this,st))return!1;const i=e;return!!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof At},It=function(e,i){t(this,M)[i]=e,t(this,N)[e]=i},wt=function(e){e!==t(this,P)&&(e===t(this,z)?f(this,z,t(this,N)[e]):u(this,l,It).call(this,t(this,M)[e],t(this,N)[e]),u(this,l,It).call(this,t(this,P),e),f(this,P,e))},it=function(e,i){var a,o,r,c;let s=!1;if(t(this,C)!==0){const h=t(this,F).get(e);if(h!==void 0)if(s=!0,t(this,C)===1)u(this,l,Mt).call(this,i);else{t(this,at).call(this,h);const m=t(this,p)[h];if(u(this,l,S).call(this,m)?m.__abortController.abort(new Error("deleted")):(t(this,K)||t(this,W))&&(t(this,K)&&((a=t(this,V))==null||a.call(this,m,e,i)),t(this,W)&&((o=t(this,D))==null||o.push([m,e,i]))),t(this,F).delete(e),t(this,v)[h]=void 0,t(this,p)[h]=void 0,h===t(this,P))f(this,P,t(this,M)[h]);else if(h===t(this,z))f(this,z,t(this,N)[h]);else{const A=t(this,M)[h];t(this,N)[A]=t(this,N)[h];const g=t(this,N)[h];t(this,M)[g]=t(this,M)[h]}St(this,C)._--,t(this,q).push(h)}}if(t(this,W)&&((r=t(this,D))!=null&&r.length)){const h=t(this,D);let m;for(;m=h==null?void 0:h.shift();)(c=t(this,$))==null||c.call(this,...m)}return s},Mt=function(e){var i,s,a;for(const o of u(this,l,et).call(this,{allowStale:!0})){const r=t(this,p)[o];if(u(this,l,S).call(this,r))r.__abortController.abort(new Error("deleted"));else{const c=t(this,v)[o];t(this,K)&&((i=t(this,V))==null||i.call(this,r,c,e)),t(this,W)&&((s=t(this,D))==null||s.push([r,c,e]))}}if(t(this,F).clear(),t(this,p).fill(void 0),t(this,v).fill(void 0),t(this,G)&&t(this,Y)&&(t(this,G).fill(0),t(this,Y).fill(0)),t(this,X)&&t(this,X).fill(0),f(this,z,0),f(this,P,0),t(this,q).length=0,f(this,B,0),f(this,C,0),t(this,W)&&t(this,D)){const o=t(this,D);let r;for(;r=o==null?void 0:o.shift();)(a=t(this,$))==null||a.call(this,...r)}};let Lt=Ut;var ie={},Ft={};Object.defineProperty(Ft,"__esModule",{value:!0});Ft.getMDXComponent=je;Ft.getMDXExport=ne;var Oe=Ht(Z),xe=Ht(de),Ae=Ht(d);function se(n){if(typeof WeakMap!="function")return null;var e=new WeakMap,i=new WeakMap;return(se=function(s){return s?i:e})(n)}function Ht(n,e){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var i=se(e);if(i&&i.has(n))return i.get(n);var s={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in n)if(o!=="default"&&{}.hasOwnProperty.call(n,o)){var r=a?Object.getOwnPropertyDescriptor(n,o):null;r&&(r.get||r.set)?Object.defineProperty(s,o,r):s[o]=n[o]}return s.default=n,i&&i.set(n,s),s}function je(n,e){return ne(n,e).default}function ne(n,e){const s={...{React:Oe,ReactDOM:xe,_jsx_runtime:Ae},...e};return new Function(...Object.keys(s),n)(...Object.values(s))}(function(n){Object.defineProperty(n,"__esModule",{value:!0});var e=Ft;Object.keys(e).forEach(function(i){i==="default"||i==="__esModule"||i in n&&n[i]===e[i]||Object.defineProperty(n,i,{enumerable:!0,get:function(){return e[i]}})})})(ie);var Fe=ie;const Ce="modulepreload",Te=function(n){return"/"+n},$t={},Pe=function(e,i,s){let a=Promise.resolve();if(i&&i.length>0){document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),c=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));a=Promise.allSettled(i.map(h=>{if(h=Te(h),h in $t)return;$t[h]=!0;const m=h.endsWith(".css"),A=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${A}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ce,m||(g.as="script"),g.crossOrigin="",g.href=h,c&&g.setAttribute("nonce",c),document.head.appendChild(g),m)return new Promise((R,y)=>{g.addEventListener("load",R),g.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(r){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=r,window.dispatchEvent(c),!c.defaultPrevented)throw r}return a.then(r=>{for(const c of r||[])c.status==="rejected"&&o(c.reason);return e().catch(o)})};function De({code:n,onSvg:e}){const i=Z.useRef(null),s=Z.useRef(e);return Z.useEffect(()=>{s.current=e},[e]),Z.useEffect(()=>{if(!i.current)return;let a=!1;return Pe(()=>import("./mermaid.core-q9C-HfFu.js").then(o=>o.by),__vite__mapDeps([0,1])).then(o=>{o.default.initialize({startOnLoad:!1}),o.default.render("mermaid-svg",n).then(({svg:r})=>{var c;!a&&i.current&&(i.current.innerHTML=r,(c=s.current)==null||c.call(s,r))}).catch(r=>{!a&&i.current&&(i.current.innerHTML=`<pre style='color:red'>${String(r)}</pre>`)})}),()=>{a=!0}},[n]),d.jsx("div",{ref:i})}const Pt=n=>n.replace(/\\/g,"/");function re(n,e,i){const[,s]=n.replace(/\\|\//g,e).split(`${i==="playground"?"example":"exercises"}${e}`);return s}const Gt="border-border bg-[var(--shiki-background)] hover:bg-foreground/20 active:bg-foreground/30 box-content block rounded border-2 px-2 py-0.5 font-mono text-xs font-semibold outline-none transition duration-300 ease-in-out";function ze({"data-buttons":n,"data-filename":e,"data-fullpath":i,"data-sep":s="/","data-start":a,"data-type":o}){var R;const r=pe();if(o==="other"||!n||!e||!i)return null;const c=Pt(((R=r[r.type])==null?void 0:R.fullPath)??""),h=!i.startsWith(c),m=ENV.EPICSHOP_DEPLOYED?["problem","solution"]:["problem","solution","playground"],A=n.split(","),g=m.filter(y=>A.includes(y));return d.jsx(d.Fragment,{children:g.map(y=>{var b;const T=r[y];if(y==="playground"){const j=r.playground&&r.playground.appName!==((b=r.problem)==null?void 0:b.name);if(!T||j||h)return d.jsxs("button",{className:jt(Gt,"cursor-not-allowed"),title:j?"Playground is not set to the right app":h?"This file is from different app":"You must 'Set to Playground' before opening a file",children:[d.jsx("span",{className:"uppercase",children:"Open"})," in ",y]},y)}if(!T||!T.fullPath)return null;const O=[Pt(T.fullPath),Pt(e)].join(s),L=re(O,s,y);return d.jsx(Zt,{file:O,line:Number(a??1),children:d.jsxs("span",{title:L,className:Gt,children:[d.jsx("span",{className:"uppercase",children:"Open"})," in ",y]})},y)})})}function Re(){const[n,e]=Z.useState(!1);return Z.useEffect(()=>{if(n){const i=setTimeout(()=>e(!1),1500);return()=>clearTimeout(i)}},[n]),d.jsx("button",{className:le(Gt,"w-12 uppercase"),onClick:i=>{var o,r,c;e(!0);const a=((c=(r=(o=i.currentTarget.parentElement)==null?void 0:o.parentElement)==null?void 0:r.querySelector("pre"))==null?void 0:c.textContent)||"";navigator.clipboard.writeText(a)},children:n?"copied":"copy"})}function Le({children:n,...e}){const{"data-buttons":i,"data-filename":s,"data-fullpath":a,"data-nocopy":o,"data-sep":r}=e,c=o===void 0;function h(){if(a&&r)return!s||s.includes("..")?{"data-filename":re(a,r)}:{"data-filename":s.replace(/\//g,r)}}return d.jsxs("div",{className:"group relative",children:[d.jsxs("div",{className:"absolute right-0 top-0 z-50 m-2 flex items-baseline justify-end gap-4 opacity-0 transition duration-300 ease-in-out focus-within:opacity-100 group-hover:opacity-100",children:[i?d.jsx(ze,{...e}):null,c?d.jsx(Re,{}):null]}),d.jsx("pre",{...e,className:jt("scrollbar-thin scrollbar-thumb-scrollbar",e.className??""),...h(),children:n})]})}const Ne={h1:n=>d.jsx(ct,{...n,as:"h1"}),h2:n=>d.jsx(ct,{...n,as:"h2"}),h3:n=>d.jsx(ct,{...n,as:"h3"}),h4:n=>d.jsx(ct,{...n,as:"h4"}),h5:n=>d.jsx(ct,{...n,as:"h5"}),h6:n=>d.jsx(ct,{...n,as:"h6"}),a:ce,p:n=>d.jsx("div",{...n}),pre:n=>d.jsx("pre",{...n,className:jt("scrollbar-thin scrollbar-thumb-scrollbar",n.className??"")}),LaunchEditor:Zt,VideoEmbed:ge,EpicVideo:me,Mermaid:De};function We(n){const e=Fe.getMDXComponent(n);function i({components:s,...a}){const o=Z.useMemo(()=>({...Ne,...s}),[s]);return d.jsx(e,{components:o,...a})}return i}const Dt=new Lt({max:1e3});function Ie(n){return Z.useMemo(()=>{if(Dt.has(n))return Dt.get(n);const e=We(n);return Dt.set(n,e),e},[n])}function Ke({code:n,components:e}){const i=Ie(n),s=Z.useMemo(()=>({Icon:he,pre:Le,Link:Yt,...e}),[e]);return d.jsx(i,{components:s})}export{qe as E,Zt as L,Ke as M,Pe as _,ye as u};
3
- //# sourceMappingURL=mdx-C7imFHZE.js.map