@epic-web/workshop-app 6.69.1 → 6.71.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.
- package/build/client/assets/{_-BnmXymJG.js → _-dWSrc4Ox.js} +2 -2
- package/build/client/assets/{_-BnmXymJG.js.map → _-dWSrc4Ox.js.map} +1 -1
- package/build/client/assets/{_basePickBy-D6pFkWVF.js → _basePickBy-D77BeQbR.js} +2 -2
- package/build/client/assets/{_basePickBy-D6pFkWVF.js.map → _basePickBy-D77BeQbR.js.map} +1 -1
- package/build/client/assets/{_baseUniq-BbljtzXr.js → _baseUniq-DTO-tFvD.js} +2 -2
- package/build/client/assets/{_baseUniq-BbljtzXr.js.map → _baseUniq-DTO-tFvD.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-77g7-L-x.js → _exerciseNumber-DgMb13KP.js} +2 -2
- package/build/client/assets/{_exerciseNumber-77g7-L-x.js.map → _exerciseNumber-DgMb13KP.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber.index-DYb7kg06.js → _exerciseNumber_._stepNumber.index-WLW-sVZ0.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber.index-DYb7kg06.js.map → _exerciseNumber_._stepNumber.index-WLW-sVZ0.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_.finished-CGoPhVVF.js → _exerciseNumber_.finished-DkAs61X_.js} +2 -2
- package/build/client/assets/_exerciseNumber_.finished-DkAs61X_.js.map +1 -0
- package/build/client/assets/_extra-fwsy2qkP.js +2 -0
- package/build/client/assets/_extra-fwsy2qkP.js.map +1 -0
- package/build/client/assets/_layout-BQ8VYaze.js +2 -0
- package/build/client/assets/_layout-BQ8VYaze.js.map +1 -0
- package/build/client/assets/_layout-DR0LQ06M.js +2 -0
- package/build/client/assets/_layout-DR0LQ06M.js.map +1 -0
- package/build/client/assets/{accordion-CzXT3k43.js → accordion-CQ7oujC6.js} +2 -2
- package/build/client/assets/{accordion-CzXT3k43.js.map → accordion-CQ7oujC6.js.map} +1 -1
- package/build/client/assets/{account-Cs3Te0is.js → account-C96cpeZR.js} +2 -2
- package/build/client/assets/{account-Cs3Te0is.js.map → account-C96cpeZR.js.map} +1 -1
- package/build/client/assets/app-CJniokic.js +2 -0
- package/build/client/assets/{app-TcFAQB2o.js.map → app-CJniokic.js.map} +1 -1
- package/build/client/assets/{arc-BHxP6xxO.js → arc-ChVm3d4e.js} +2 -2
- package/build/client/assets/{arc-BHxP6xxO.js.map → arc-ChVm3d4e.js.map} +1 -1
- package/build/client/assets/{architectureDiagram-VXUJARFQ-oEJHJt7x.js → architectureDiagram-VXUJARFQ-DkqyKZ50.js} +2 -2
- package/build/client/assets/{architectureDiagram-VXUJARFQ-oEJHJt7x.js.map → architectureDiagram-VXUJARFQ-DkqyKZ50.js.map} +1 -1
- package/build/client/assets/{blockDiagram-VD42YOAC-7xzSJqoM.js → blockDiagram-VD42YOAC-Cqa8Z0qT.js} +2 -2
- package/build/client/assets/{blockDiagram-VD42YOAC-7xzSJqoM.js.map → blockDiagram-VD42YOAC-Cqa8Z0qT.js.map} +1 -1
- package/build/client/assets/{button-CIlVtsau.js → button-Cd-ekki5.js} +2 -2
- package/build/client/assets/{button-CIlVtsau.js.map → button-Cd-ekki5.js.map} +1 -1
- package/build/client/assets/{c4Diagram-YG6GDRKO-BUdT9rCJ.js → c4Diagram-YG6GDRKO-BHQRSJ1P.js} +2 -2
- package/build/client/assets/{c4Diagram-YG6GDRKO-BUdT9rCJ.js.map → c4Diagram-YG6GDRKO-BHQRSJ1P.js.map} +1 -1
- package/build/client/assets/{cache-MJu_dqFS.js → cache-CAr50MIB.js} +2 -2
- package/build/client/assets/{cache-MJu_dqFS.js.map → cache-CAr50MIB.js.map} +1 -1
- package/build/client/assets/channel-B7uExpgv.js +2 -0
- package/build/client/assets/{channel-BLJkdd1O.js.map → channel-B7uExpgv.js.map} +1 -1
- package/build/client/assets/{chunk-4BX2VUAB-qrzenNNi.js → chunk-4BX2VUAB-BOJM4J9w.js} +2 -2
- package/build/client/assets/{chunk-4BX2VUAB-qrzenNNi.js.map → chunk-4BX2VUAB-BOJM4J9w.js.map} +1 -1
- package/build/client/assets/{chunk-55IACEB6-BOr0rES3.js → chunk-55IACEB6-CO_GT_87.js} +2 -2
- package/build/client/assets/{chunk-55IACEB6-BOr0rES3.js.map → chunk-55IACEB6-CO_GT_87.js.map} +1 -1
- package/build/client/assets/{chunk-B4BG7PRW-C2qQTBXm.js → chunk-B4BG7PRW-CqfZTumF.js} +2 -2
- package/build/client/assets/{chunk-B4BG7PRW-C2qQTBXm.js.map → chunk-B4BG7PRW-CqfZTumF.js.map} +1 -1
- package/build/client/assets/{chunk-DI55MBZ5-CSfEUcAq.js → chunk-DI55MBZ5-CxSXOmoK.js} +2 -2
- package/build/client/assets/{chunk-DI55MBZ5-CSfEUcAq.js.map → chunk-DI55MBZ5-CxSXOmoK.js.map} +1 -1
- package/build/client/assets/{chunk-FMBD7UC4-CyJoWksV.js → chunk-FMBD7UC4-ChHVMdVq.js} +2 -2
- package/build/client/assets/{chunk-FMBD7UC4-CyJoWksV.js.map → chunk-FMBD7UC4-ChHVMdVq.js.map} +1 -1
- package/build/client/assets/{chunk-QN33PNHL-BpbvTQdp.js → chunk-QN33PNHL-DKEBwj3f.js} +2 -2
- package/build/client/assets/{chunk-QN33PNHL-BpbvTQdp.js.map → chunk-QN33PNHL-DKEBwj3f.js.map} +1 -1
- package/build/client/assets/{chunk-QZHKN3VN-C2RN0CtQ.js → chunk-QZHKN3VN-Cu5tuE5n.js} +2 -2
- package/build/client/assets/{chunk-QZHKN3VN-C2RN0CtQ.js.map → chunk-QZHKN3VN-Cu5tuE5n.js.map} +1 -1
- package/build/client/assets/{chunk-TZMSLE5B-0z8lxtDn.js → chunk-TZMSLE5B-BpvH1fVS.js} +2 -2
- package/build/client/assets/{chunk-TZMSLE5B-0z8lxtDn.js.map → chunk-TZMSLE5B-BpvH1fVS.js.map} +1 -1
- package/build/client/assets/classDiagram-2ON5EDUG-BjjlpwdW.js +2 -0
- package/build/client/assets/{classDiagram-2ON5EDUG-_kfNpv_f.js.map → classDiagram-2ON5EDUG-BjjlpwdW.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-WZHVMYZB-BjjlpwdW.js +2 -0
- package/build/client/assets/{classDiagram-v2-WZHVMYZB-_kfNpv_f.js.map → classDiagram-v2-WZHVMYZB-BjjlpwdW.js.map} +1 -1
- package/build/client/assets/clone-DRkw5ylZ.js +2 -0
- package/build/client/assets/{clone-CztDUJhf.js.map → clone-DRkw5ylZ.js.map} +1 -1
- package/build/client/assets/{cose-bilkent-S5V4N54A-DQM-J4RL.js → cose-bilkent-S5V4N54A-9tAqXXXx.js} +2 -2
- package/build/client/assets/{cose-bilkent-S5V4N54A-DQM-J4RL.js.map → cose-bilkent-S5V4N54A-9tAqXXXx.js.map} +1 -1
- package/build/client/assets/{dagre-6UL2VRFP-BdfvKPZ9.js → dagre-6UL2VRFP-DdQahM76.js} +2 -2
- package/build/client/assets/{dagre-6UL2VRFP-BdfvKPZ9.js.map → dagre-6UL2VRFP-DdQahM76.js.map} +1 -1
- package/build/client/assets/{db-x6v-Uxrh.js → db-DAnX-T3_.js} +2 -2
- package/build/client/assets/{db-x6v-Uxrh.js.map → db-DAnX-T3_.js.map} +1 -1
- package/build/client/assets/{diagram-PSM6KHXK-CgwBEb3G.js → diagram-PSM6KHXK-D2ghOCFR.js} +2 -2
- package/build/client/assets/{diagram-PSM6KHXK-CgwBEb3G.js.map → diagram-PSM6KHXK-D2ghOCFR.js.map} +1 -1
- package/build/client/assets/{diagram-QEK2KX5R-DEaXdLXz.js → diagram-QEK2KX5R-CVdPnwKa.js} +2 -2
- package/build/client/assets/{diagram-QEK2KX5R-DEaXdLXz.js.map → diagram-QEK2KX5R-CVdPnwKa.js.map} +1 -1
- package/build/client/assets/{diagram-S2PKOQOG-Dq5QQWqq.js → diagram-S2PKOQOG-ByHcRNai.js} +2 -2
- package/build/client/assets/{diagram-S2PKOQOG-Dq5QQWqq.js.map → diagram-S2PKOQOG-ByHcRNai.js.map} +1 -1
- package/build/client/assets/{dialog-DnpUg3VT.js → dialog-CzO65Z5w.js} +3 -3
- package/build/client/assets/{dialog-DnpUg3VT.js.map → dialog-CzO65Z5w.js.map} +1 -1
- package/build/client/assets/{diff-CxEbhF8Q.js → diff-BhWzqoVN.js} +2 -2
- package/build/client/assets/{diff-CxEbhF8Q.js.map → diff-BhWzqoVN.js.map} +1 -1
- package/build/client/assets/{diff-eAvgXb3f.js → diff-DC-wn6-x.js} +2 -2
- package/build/client/assets/{diff-eAvgXb3f.js.map → diff-DC-wn6-x.js.map} +1 -1
- package/build/client/assets/{discord-DlU9y5Iz.js → discord-BJkw0IrB.js} +2 -2
- package/build/client/assets/{discord-DlU9y5Iz.js.map → discord-BJkw0IrB.js.map} +1 -1
- package/build/client/assets/{discord-CuxZiU8E.js → discord-r3m19sUM.js} +2 -2
- package/build/client/assets/discord-r3m19sUM.js.map +1 -0
- package/build/client/assets/{epic-video-Bx8Ctiez.js → epic-video-8Hv_HMMr.js} +2 -2
- package/build/client/assets/{epic-video-Bx8Ctiez.js.map → epic-video-8Hv_HMMr.js.map} +1 -1
- package/build/client/assets/{epic-video-BVcJzJzi.js → epic-video-D0drHmgC.js} +2 -2
- package/build/client/assets/{epic-video-BVcJzJzi.js.map → epic-video-D0drHmgC.js.map} +1 -1
- package/build/client/assets/{erDiagram-Q2GNP2WA-CW73Zw0q.js → erDiagram-Q2GNP2WA-CBRWzQzK.js} +2 -2
- package/build/client/assets/{erDiagram-Q2GNP2WA-CW73Zw0q.js.map → erDiagram-Q2GNP2WA-CBRWzQzK.js.map} +1 -1
- package/build/client/assets/{error-boundary-DFBd6s0g.js → error-boundary-DVp6wKiz.js} +2 -2
- package/build/client/assets/{error-boundary-DFBd6s0g.js.map → error-boundary-DVp6wKiz.js.map} +1 -1
- package/build/client/assets/{finished-CmV4aFjA.js → finished-CiVHAeSV.js} +2 -2
- package/build/client/assets/{finished-CmV4aFjA.js.map → finished-CiVHAeSV.js.map} +1 -1
- package/build/client/assets/{flowDiagram-NV44I4VS-BbxV9VQf.js → flowDiagram-NV44I4VS-L32__tfK.js} +2 -2
- package/build/client/assets/{flowDiagram-NV44I4VS-BbxV9VQf.js.map → flowDiagram-NV44I4VS-L32__tfK.js.map} +1 -1
- package/build/client/assets/{ganttDiagram-JELNMOA3-CRBJBlE5.js → ganttDiagram-JELNMOA3-Dpp5PKJc.js} +2 -2
- package/build/client/assets/{ganttDiagram-JELNMOA3-CRBJBlE5.js.map → ganttDiagram-JELNMOA3-Dpp5PKJc.js.map} +1 -1
- package/build/client/assets/{gitGraphDiagram-NY62KEGX-CU0X3hfs.js → gitGraphDiagram-NY62KEGX-zn4IXANG.js} +2 -2
- package/build/client/assets/{gitGraphDiagram-NY62KEGX-CU0X3hfs.js.map → gitGraphDiagram-NY62KEGX-zn4IXANG.js.map} +1 -1
- package/build/client/assets/{graph-CEUh1UxC.js → graph-Da5nhwRG.js} +2 -2
- package/build/client/assets/{graph-CEUh1UxC.js.map → graph-Da5nhwRG.js.map} +1 -1
- package/build/client/assets/guide-Cinib8Ji.js +9 -0
- package/build/client/assets/guide-Cinib8Ji.js.map +1 -0
- package/build/client/assets/{index-D3zOGeBE.js → index-BKAVQvm5.js} +2 -2
- package/build/client/assets/{index-D3zOGeBE.js.map → index-BKAVQvm5.js.map} +1 -1
- package/build/client/assets/{index-BOhw3wcM.js → index-CJDOQ1bl.js} +2 -2
- package/build/client/assets/{index-BOhw3wcM.js.map → index-CJDOQ1bl.js.map} +1 -1
- package/build/client/assets/{index-B-9GR1C2.js → index-C_wcF1aP.js} +2 -2
- package/build/client/assets/{index-B-9GR1C2.js.map → index-C_wcF1aP.js.map} +1 -1
- package/build/client/assets/{index-BW8stNyh.js → index-CdzVFL-Z.js} +3 -3
- package/build/client/assets/{index-BW8stNyh.js.map → index-CdzVFL-Z.js.map} +1 -1
- package/build/client/assets/index-CmflCPTU.js +2 -0
- package/build/client/assets/index-CmflCPTU.js.map +1 -0
- package/build/client/assets/index-DuFMeXSm.js +2 -0
- package/build/client/assets/index-DuFMeXSm.js.map +1 -0
- package/build/client/assets/index-hhQHCvb9.js +2 -0
- package/build/client/assets/{index-EdNV8gTk.js.map → index-hhQHCvb9.js.map} +1 -1
- package/build/client/assets/{index-C_KjwKVt.js → index-ynYvVAOK.js} +2 -2
- package/build/client/assets/{index-C_KjwKVt.js.map → index-ynYvVAOK.js.map} +1 -1
- package/build/client/assets/{infoDiagram-WHAUD3N6-BplcSre1.js → infoDiagram-WHAUD3N6-CToPP1ur.js} +2 -2
- package/build/client/assets/{infoDiagram-WHAUD3N6-BplcSre1.js.map → infoDiagram-WHAUD3N6-CToPP1ur.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-XKPGCS4Q-yxvCkf49.js → journeyDiagram-XKPGCS4Q-BBRpqEuF.js} +2 -2
- package/build/client/assets/{journeyDiagram-XKPGCS4Q-yxvCkf49.js.map → journeyDiagram-XKPGCS4Q-BBRpqEuF.js.map} +1 -1
- package/build/client/assets/{kanban-definition-3W4ZIXB7-DFEBMrRH.js → kanban-definition-3W4ZIXB7-CyGlZ-MK.js} +2 -2
- package/build/client/assets/{kanban-definition-3W4ZIXB7-DFEBMrRH.js.map → kanban-definition-3W4ZIXB7-CyGlZ-MK.js.map} +1 -1
- package/build/client/assets/{launch-editor-B2dmpkaO.js → launch-editor-D2exGfVu.js} +2 -2
- package/build/client/assets/{launch-editor-B2dmpkaO.js.map → launch-editor-D2exGfVu.js.map} +1 -1
- package/build/client/assets/{layout-CiHrgFnf.js → layout-CUEelucj.js} +2 -2
- package/build/client/assets/{layout-CiHrgFnf.js.map → layout-CUEelucj.js.map} +1 -1
- package/build/client/assets/{linear-C-81cvJP.js → linear-DzZ9bjHs.js} +2 -2
- package/build/client/assets/{linear-C-81cvJP.js.map → linear-DzZ9bjHs.js.map} +1 -1
- package/build/client/assets/{loading-CUydCGD3.js → loading-CDNzW5oO.js} +2 -2
- package/build/client/assets/{loading-CUydCGD3.js.map → loading-CDNzW5oO.js.map} +1 -1
- package/build/client/assets/{login-DvBmP_ce.js → login-mWjVXGbJ.js} +2 -2
- package/build/client/assets/{login-DvBmP_ce.js.map → login-mWjVXGbJ.js.map} +1 -1
- package/build/client/assets/manifest-970c9ad1.js +1 -0
- package/build/client/assets/{mdx-vrch0szL.js → mdx-BzyhMqFg.js} +3 -3
- package/build/client/assets/{mdx-vrch0szL.js.map → mdx-BzyhMqFg.js.map} +1 -1
- package/build/client/assets/{mermaid.core-D3y7PO8B.js → mermaid.core-BdxLLjl2.js} +5 -5
- package/build/client/assets/{mermaid.core-D3y7PO8B.js.map → mermaid.core-BdxLLjl2.js.map} +1 -1
- package/build/client/assets/{mindmap-definition-VGOIOE7T-VMZ6ZZlW.js → mindmap-definition-VGOIOE7T-DeKD8ncg.js} +2 -2
- package/build/client/assets/{mindmap-definition-VGOIOE7T-VMZ6ZZlW.js.map → mindmap-definition-VGOIOE7T-DeKD8ncg.js.map} +1 -1
- package/build/client/assets/{misc-DVYuZMjW.js → misc-W4055b-0.js} +2 -2
- package/build/client/assets/{misc-DVYuZMjW.js.map → misc-W4055b-0.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-DlNUibJV.js → nav-chevrons-Dk4GtZwQ.js} +2 -2
- package/build/client/assets/{nav-chevrons-DlNUibJV.js.map → nav-chevrons-Dk4GtZwQ.js.map} +1 -1
- package/build/client/assets/{offline-videos-Do9PBh87.js → offline-videos-BP7_xJkO.js} +2 -2
- package/build/client/assets/{offline-videos-Do9PBh87.js.map → offline-videos-BP7_xJkO.js.map} +1 -1
- package/build/client/assets/{onboarding-indicator-CVwXz3Cn.js → onboarding-indicator-B-XR90_G.js} +2 -2
- package/build/client/assets/{onboarding-indicator-CVwXz3Cn.js.map → onboarding-indicator-B-XR90_G.js.map} +1 -1
- package/build/client/assets/{pieDiagram-ADFJNKIX-CKbrBdQs.js → pieDiagram-ADFJNKIX-BQ4sFDrB.js} +2 -2
- package/build/client/assets/{pieDiagram-ADFJNKIX-CKbrBdQs.js.map → pieDiagram-ADFJNKIX-BQ4sFDrB.js.map} +1 -1
- package/build/client/assets/playground-DmEAkxG1.js +2 -0
- package/build/client/assets/playground-DmEAkxG1.js.map +1 -0
- package/build/client/assets/{playground-window-D9a7P7rH.js → playground-window-x2mQ5o1O.js} +2 -2
- package/build/client/assets/{playground-window-D9a7P7rH.js.map → playground-window-x2mQ5o1O.js.map} +1 -1
- package/build/client/assets/{preferences-BCvK10k2.js → preferences-D6HQ5bK1.js} +2 -2
- package/build/client/assets/{preferences-BCvK10k2.js.map → preferences-D6HQ5bK1.js.map} +1 -1
- package/build/client/assets/{preview-CiDtuQCc.js → preview-fhmjENlm.js} +2 -2
- package/build/client/assets/{preview-CiDtuQCc.js.map → preview-fhmjENlm.js.map} +1 -1
- package/build/client/assets/{product-GLsnY1u3.js → product-CvyMpYD_.js} +2 -2
- package/build/client/assets/{product-GLsnY1u3.js.map → product-CvyMpYD_.js.map} +1 -1
- package/build/client/assets/{progress-fKsNxmmt.js → progress-ILaVQtOO.js} +2 -2
- package/build/client/assets/{progress-fKsNxmmt.js.map → progress-ILaVQtOO.js.map} +1 -1
- package/build/client/assets/{progress-bar-B27isaGl.js → progress-bar-DpWhcyhC.js} +2 -2
- package/build/client/assets/{progress-bar-B27isaGl.js.map → progress-bar-DpWhcyhC.js.map} +1 -1
- package/build/client/assets/{quadrantDiagram-AYHSOK5B-Bb5EtkPw.js → quadrantDiagram-AYHSOK5B-QnjodHfi.js} +2 -2
- package/build/client/assets/{quadrantDiagram-AYHSOK5B-Bb5EtkPw.js.map → quadrantDiagram-AYHSOK5B-QnjodHfi.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-UZGBJVZJ-BNsXiFG2.js → requirementDiagram-UZGBJVZJ-mL9Oeda0.js} +2 -2
- package/build/client/assets/{requirementDiagram-UZGBJVZJ-BNsXiFG2.js.map → requirementDiagram-UZGBJVZJ-mL9Oeda0.js.map} +1 -1
- package/build/client/assets/{root-Ch373D3a.js → root-Bktp3RtN.js} +2 -2
- package/build/client/assets/{root-Ch373D3a.js.map → root-Bktp3RtN.js.map} +1 -1
- package/build/client/assets/{sankeyDiagram-TZEHDZUN-qlPqhk7P.js → sankeyDiagram-TZEHDZUN-B8_zpQVR.js} +2 -2
- package/build/client/assets/{sankeyDiagram-TZEHDZUN-qlPqhk7P.js.map → sankeyDiagram-TZEHDZUN-B8_zpQVR.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-WL72ISMW-C3d31B7K.js → sequenceDiagram-WL72ISMW-BDd5tjuk.js} +2 -2
- package/build/client/assets/{sequenceDiagram-WL72ISMW-C3d31B7K.js.map → sequenceDiagram-WL72ISMW-BDd5tjuk.js.map} +1 -1
- package/build/client/assets/{set-playground-DeMY9i7p.js → set-playground-BSGwH9dH.js} +2 -2
- package/build/client/assets/{set-playground-DeMY9i7p.js.map → set-playground-BSGwH9dH.js.map} +1 -1
- package/build/client/assets/{stateDiagram-FKZM4ZOC-C1eIQm_7.js → stateDiagram-FKZM4ZOC-DGPNpRbW.js} +2 -2
- package/build/client/assets/{stateDiagram-FKZM4ZOC-C1eIQm_7.js.map → stateDiagram-FKZM4ZOC-DGPNpRbW.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-4FDKWEC3-DxaFuKxL.js +2 -0
- package/build/client/assets/{stateDiagram-v2-4FDKWEC3-CAmcrDIS.js.map → stateDiagram-v2-4FDKWEC3-DxaFuKxL.js.map} +1 -1
- package/build/client/assets/status-indicator-C6DiLYL5.js +2 -0
- package/build/client/assets/status-indicator-C6DiLYL5.js.map +1 -0
- package/build/client/assets/tailwind-B97VvnKU.css +1 -0
- package/build/client/assets/test-DtQCjBBX.js +2 -0
- package/build/client/assets/{test-CdEKoDoS.js.map → test-DtQCjBBX.js.map} +1 -1
- package/build/client/assets/{tests-xD9PppmM.js → tests-fDISNsE-.js} +2 -2
- package/build/client/assets/{tests-xD9PppmM.js.map → tests-fDISNsE-.js.map} +1 -1
- package/build/client/assets/{timeline-definition-IT6M3QCI-Di_ZGPjO.js → timeline-definition-IT6M3QCI-BnMOh0dz.js} +2 -2
- package/build/client/assets/{timeline-definition-IT6M3QCI-Di_ZGPjO.js.map → timeline-definition-IT6M3QCI-BnMOh0dz.js.map} +1 -1
- package/build/client/assets/{tooltip-Chzzs4KB.js → tooltip-Tlsyx2YO.js} +2 -2
- package/build/client/assets/{tooltip-Chzzs4KB.js.map → tooltip-Tlsyx2YO.js.map} +1 -1
- package/build/client/assets/{treemap-KMMF4GRG-DZrMUxqR.js → treemap-KMMF4GRG-Ds3XkDP-.js} +2 -2
- package/build/client/assets/{treemap-KMMF4GRG-DZrMUxqR.js.map → treemap-KMMF4GRG-Ds3XkDP-.js.map} +1 -1
- package/build/client/assets/{workspace-structure-i_5Tiikk.js → workspace-structure-B6Rpl-B2.js} +2 -2
- package/build/client/assets/{workspace-structure-i_5Tiikk.js.map → workspace-structure-B6Rpl-B2.js.map} +1 -1
- package/build/client/assets/{xychartDiagram-PRI3JC2R-BxuKJVc7.js → xychartDiagram-PRI3JC2R-DH_JPNZp.js} +2 -2
- package/build/client/assets/{xychartDiagram-PRI3JC2R-BxuKJVc7.js.map → xychartDiagram-PRI3JC2R-DH_JPNZp.js.map} +1 -1
- package/build/server/index.js +690 -114
- package/build/server/index.js.map +1 -1
- package/package.json +3 -3
- package/build/client/assets/_exerciseNumber_.finished-CGoPhVVF.js.map +0 -1
- package/build/client/assets/_extra-BZPB_nWQ.js +0 -2
- package/build/client/assets/_extra-BZPB_nWQ.js.map +0 -1
- package/build/client/assets/_layout-BxQPZuW6.js +0 -2
- package/build/client/assets/_layout-BxQPZuW6.js.map +0 -1
- package/build/client/assets/_layout-yxOoJ6Yg.js +0 -2
- package/build/client/assets/_layout-yxOoJ6Yg.js.map +0 -1
- package/build/client/assets/app-TcFAQB2o.js +0 -2
- package/build/client/assets/channel-BLJkdd1O.js +0 -2
- package/build/client/assets/classDiagram-2ON5EDUG-_kfNpv_f.js +0 -2
- package/build/client/assets/classDiagram-v2-WZHVMYZB-_kfNpv_f.js +0 -2
- package/build/client/assets/clone-CztDUJhf.js +0 -2
- package/build/client/assets/discord-CuxZiU8E.js.map +0 -1
- package/build/client/assets/guide-B4wAqzq_.js +0 -9
- package/build/client/assets/guide-B4wAqzq_.js.map +0 -1
- package/build/client/assets/index-C6vQqVxz.js +0 -2
- package/build/client/assets/index-C6vQqVxz.js.map +0 -1
- package/build/client/assets/index-EdNV8gTk.js +0 -2
- package/build/client/assets/manifest-34df6718.js +0 -1
- package/build/client/assets/playground-C_aP_pE8.js +0 -2
- package/build/client/assets/playground-C_aP_pE8.js.map +0 -1
- package/build/client/assets/stateDiagram-v2-4FDKWEC3-CAmcrDIS.js +0 -2
- package/build/client/assets/tailwind-D_K12wB7.css +0 -1
- package/build/client/assets/test-CdEKoDoS.js +0 -2
package/build/server/index.js
CHANGED
|
@@ -44,8 +44,10 @@ import { ServerOnly } from "remix-utils/server-only";
|
|
|
44
44
|
import * as cookie from "cookie";
|
|
45
45
|
import { usePartySocket } from "partysocket/react";
|
|
46
46
|
import { randomUUID } from "crypto";
|
|
47
|
+
import { getProcesses, clearTestProcessEntry, stopPort, closeProcess, runAppDev, waitOnApp, isAppRunning, isPortAvailable, getTestProcessEntry, isTestRunning, runAppTests, getSidecarLogs, restartSidecarProcess } from "@epic-web/workshop-utils/process-manager.server";
|
|
47
48
|
import { motion, useAnimationControls } from "framer-motion";
|
|
48
49
|
import { useHydrated } from "remix-utils/use-hydrated";
|
|
50
|
+
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
49
51
|
import path$1 from "path";
|
|
50
52
|
import etag from "etag";
|
|
51
53
|
import fsExtra from "fs-extra";
|
|
@@ -61,9 +63,7 @@ import { launchEditor } from "@epic-web/workshop-utils/launch-editor.server";
|
|
|
61
63
|
import { LRUCache } from "lru-cache";
|
|
62
64
|
import * as mdxBundler from "mdx-bundler/client/index.js";
|
|
63
65
|
import { getDiffCode, getDiffFiles } from "@epic-web/workshop-utils/diff.server";
|
|
64
|
-
import { clearTestProcessEntry, stopPort, closeProcess, runAppDev, waitOnApp, isAppRunning, isPortAvailable, getTestProcessEntry, isTestRunning, runAppTests, getProcesses } from "@epic-web/workshop-utils/process-manager.server";
|
|
65
66
|
import * as Select from "@radix-ui/react-select";
|
|
66
|
-
import * as Popover from "@radix-ui/react-popover";
|
|
67
67
|
import * as Tabs from "@radix-ui/react-tabs";
|
|
68
68
|
import * as Accordion from "@radix-ui/react-accordion";
|
|
69
69
|
import { ErrorBoundary as ErrorBoundary$9 } from "react-error-boundary";
|
|
@@ -1507,7 +1507,9 @@ async function action$j({
|
|
|
1507
1507
|
};
|
|
1508
1508
|
return dataWithPE(request, formData, submission.reply(), responseInit);
|
|
1509
1509
|
}
|
|
1510
|
-
function ThemeSwitch(
|
|
1510
|
+
function ThemeSwitch({
|
|
1511
|
+
disableTooltip
|
|
1512
|
+
} = {}) {
|
|
1511
1513
|
const requestInfo = useRequestInfo();
|
|
1512
1514
|
const peRedirectInput = usePERedirectInput();
|
|
1513
1515
|
const fetcher = useFetcher();
|
|
@@ -1540,6 +1542,13 @@ function ThemeSwitch() {
|
|
|
1540
1542
|
title: "System mode"
|
|
1541
1543
|
})
|
|
1542
1544
|
};
|
|
1545
|
+
const button = /* @__PURE__ */ jsx("button", {
|
|
1546
|
+
type: "submit",
|
|
1547
|
+
name: "intent",
|
|
1548
|
+
value: "update-theme",
|
|
1549
|
+
className: "flex h-8 w-8 cursor-pointer items-center justify-center",
|
|
1550
|
+
children: modeLabel[mode]
|
|
1551
|
+
});
|
|
1543
1552
|
return /* @__PURE__ */ jsxs(fetcher.Form, {
|
|
1544
1553
|
method: "POST",
|
|
1545
1554
|
action: ROUTE_PATH,
|
|
@@ -1550,15 +1559,9 @@ function ThemeSwitch() {
|
|
|
1550
1559
|
type: "hidden",
|
|
1551
1560
|
name: "theme",
|
|
1552
1561
|
value: nextMode
|
|
1553
|
-
}), /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
1562
|
+
}), disableTooltip ? button : /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
1554
1563
|
content: `Change theme from ${mode} mode`,
|
|
1555
|
-
children:
|
|
1556
|
-
type: "submit",
|
|
1557
|
-
name: "intent",
|
|
1558
|
-
value: "update-theme",
|
|
1559
|
-
className: "flex h-8 w-8 cursor-pointer items-center justify-center",
|
|
1560
|
-
children: modeLabel[mode]
|
|
1561
|
-
})
|
|
1564
|
+
children: button
|
|
1562
1565
|
})]
|
|
1563
1566
|
}), /* @__PURE__ */ jsx(ErrorList, {
|
|
1564
1567
|
errors: form.errors,
|
|
@@ -1586,7 +1589,7 @@ const route64 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
1586
1589
|
useTheme
|
|
1587
1590
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
1588
1591
|
const appStylesheetUrl = "/assets/app-BUxWY8xC.css";
|
|
1589
|
-
const tailwindStylesheetUrl = "/assets/tailwind-
|
|
1592
|
+
const tailwindStylesheetUrl = "/assets/tailwind-B97VvnKU.css";
|
|
1590
1593
|
const cookieName = "EpicShop_confetti";
|
|
1591
1594
|
function getConfetti(request) {
|
|
1592
1595
|
const cookieHeader = request.headers.get("cookie");
|
|
@@ -2488,6 +2491,68 @@ function useRevalidationWSImpl({ watchPaths }) {
|
|
|
2488
2491
|
}, [socketQuery, socketPath]);
|
|
2489
2492
|
}
|
|
2490
2493
|
const useRevalidationWS = ENV.EPICSHOP_DEPLOYED ? () => null : useRevalidationWSImpl;
|
|
2494
|
+
function StatusIndicator({
|
|
2495
|
+
status
|
|
2496
|
+
}) {
|
|
2497
|
+
const colors = {
|
|
2498
|
+
running: {
|
|
2499
|
+
pinger: "bg-yellow-500/60",
|
|
2500
|
+
circle: "bg-yellow-500"
|
|
2501
|
+
},
|
|
2502
|
+
passed: {
|
|
2503
|
+
circle: "bg-success"
|
|
2504
|
+
},
|
|
2505
|
+
failed: {
|
|
2506
|
+
circle: "bg-destructive"
|
|
2507
|
+
},
|
|
2508
|
+
stopped: {
|
|
2509
|
+
circle: "bg-muted-foreground"
|
|
2510
|
+
}
|
|
2511
|
+
}[status];
|
|
2512
|
+
return /* @__PURE__ */ jsxs("span", { className: "relative flex h-3 w-3", children: [
|
|
2513
|
+
colors.pinger ? /* @__PURE__ */ jsx(
|
|
2514
|
+
"span",
|
|
2515
|
+
{
|
|
2516
|
+
className: `absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`
|
|
2517
|
+
}
|
|
2518
|
+
) : null,
|
|
2519
|
+
/* @__PURE__ */ jsx(
|
|
2520
|
+
"span",
|
|
2521
|
+
{
|
|
2522
|
+
className: `relative inline-flex h-3 w-3 rounded-full ${colors.circle}`
|
|
2523
|
+
}
|
|
2524
|
+
)
|
|
2525
|
+
] });
|
|
2526
|
+
}
|
|
2527
|
+
function Popover({
|
|
2528
|
+
...props
|
|
2529
|
+
}) {
|
|
2530
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { ...props });
|
|
2531
|
+
}
|
|
2532
|
+
function PopoverTrigger({
|
|
2533
|
+
...props
|
|
2534
|
+
}) {
|
|
2535
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { ...props });
|
|
2536
|
+
}
|
|
2537
|
+
function PopoverContent({
|
|
2538
|
+
className,
|
|
2539
|
+
align = "center",
|
|
2540
|
+
sideOffset = 4,
|
|
2541
|
+
...props
|
|
2542
|
+
}) {
|
|
2543
|
+
return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
2544
|
+
PopoverPrimitive.Content,
|
|
2545
|
+
{
|
|
2546
|
+
align,
|
|
2547
|
+
sideOffset,
|
|
2548
|
+
className: cn(
|
|
2549
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 rounded-md border p-2 shadow-md outline-none",
|
|
2550
|
+
className
|
|
2551
|
+
),
|
|
2552
|
+
...props
|
|
2553
|
+
}
|
|
2554
|
+
) });
|
|
2555
|
+
}
|
|
2491
2556
|
function useOptionalUser() {
|
|
2492
2557
|
const data2 = useRootLoaderData();
|
|
2493
2558
|
return data2.user;
|
|
@@ -2570,6 +2635,44 @@ function useNextExerciseRoute() {
|
|
|
2570
2635
|
}
|
|
2571
2636
|
return null;
|
|
2572
2637
|
}
|
|
2638
|
+
function useRandomCompletedExerciseRoute() {
|
|
2639
|
+
const location = useLocation();
|
|
2640
|
+
const progress = useEpicProgress();
|
|
2641
|
+
const [randomRoute, setRandomRoute] = React.useState(null);
|
|
2642
|
+
React.useEffect(() => {
|
|
2643
|
+
if (!progress) {
|
|
2644
|
+
setRandomRoute(null);
|
|
2645
|
+
return;
|
|
2646
|
+
}
|
|
2647
|
+
const completedSteps = progress.filter((p) => p.type === "step" && p.epicCompletedAt);
|
|
2648
|
+
if (completedSteps.length < 2) {
|
|
2649
|
+
setRandomRoute(null);
|
|
2650
|
+
return;
|
|
2651
|
+
}
|
|
2652
|
+
const currentPath = location.pathname;
|
|
2653
|
+
const availableSteps = completedSteps.filter((step) => {
|
|
2654
|
+
if (step.type !== "step") return false;
|
|
2655
|
+
const ex2 = step.exerciseNumber.toString().padStart(2, "0");
|
|
2656
|
+
const st2 = step.stepNumber.toString().padStart(2, "0");
|
|
2657
|
+
const problemRoute = `/exercise/${ex2}/${st2}/problem`;
|
|
2658
|
+
const solutionRoute = `/exercise/${ex2}/${st2}/solution`;
|
|
2659
|
+
return currentPath !== problemRoute && currentPath !== solutionRoute;
|
|
2660
|
+
});
|
|
2661
|
+
if (availableSteps.length === 0) {
|
|
2662
|
+
setRandomRoute(null);
|
|
2663
|
+
return;
|
|
2664
|
+
}
|
|
2665
|
+
const randomStep = availableSteps[Math.floor(Math.random() * availableSteps.length)];
|
|
2666
|
+
if (!randomStep || randomStep.type !== "step") {
|
|
2667
|
+
setRandomRoute(null);
|
|
2668
|
+
return;
|
|
2669
|
+
}
|
|
2670
|
+
const ex = randomStep.exerciseNumber.toString().padStart(2, "0");
|
|
2671
|
+
const st = randomStep.stepNumber.toString().padStart(2, "0");
|
|
2672
|
+
setRandomRoute(`/exercise/${ex}/${st}/problem`);
|
|
2673
|
+
}, [progress, location.pathname]);
|
|
2674
|
+
return randomRoute;
|
|
2675
|
+
}
|
|
2573
2676
|
const percentageClassNames = {
|
|
2574
2677
|
0: "",
|
|
2575
2678
|
1: "before:h-[10%]",
|
|
@@ -2762,8 +2865,29 @@ const route52 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
2762
2865
|
useNextExerciseRoute,
|
|
2763
2866
|
useProgressItem,
|
|
2764
2867
|
useProgressItemClassName,
|
|
2868
|
+
useRandomCompletedExerciseRoute,
|
|
2765
2869
|
useRequireEpicProgress
|
|
2766
2870
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2871
|
+
function getSidecarStatus() {
|
|
2872
|
+
const {
|
|
2873
|
+
sidecarProcesses
|
|
2874
|
+
} = getProcesses();
|
|
2875
|
+
if (sidecarProcesses.size === 0) return null;
|
|
2876
|
+
const processes = Array.from(sidecarProcesses.entries()).map(([name, {
|
|
2877
|
+
process: process2
|
|
2878
|
+
}]) => ({
|
|
2879
|
+
name,
|
|
2880
|
+
running: process2.exitCode === null
|
|
2881
|
+
}));
|
|
2882
|
+
const hasFailure = processes.some((p) => !p.running);
|
|
2883
|
+
const failureCount = processes.filter((p) => !p.running).length;
|
|
2884
|
+
return {
|
|
2885
|
+
processes,
|
|
2886
|
+
hasFailure,
|
|
2887
|
+
count: processes.length,
|
|
2888
|
+
failureCount
|
|
2889
|
+
};
|
|
2890
|
+
}
|
|
2767
2891
|
async function loader$I({
|
|
2768
2892
|
request
|
|
2769
2893
|
}) {
|
|
@@ -2785,6 +2909,7 @@ async function loader$I({
|
|
|
2785
2909
|
stepNumber: Number(playgroundNumbersAndType?.stepNumber),
|
|
2786
2910
|
type: playgroundNumbersAndType?.type
|
|
2787
2911
|
};
|
|
2912
|
+
const sidecarStatus = getSidecarStatus();
|
|
2788
2913
|
const result = data({
|
|
2789
2914
|
workshopTitle,
|
|
2790
2915
|
exercises: exercises.map((e) => ({
|
|
@@ -2835,7 +2960,8 @@ async function loader$I({
|
|
|
2835
2960
|
name: extra.name
|
|
2836
2961
|
})),
|
|
2837
2962
|
playground,
|
|
2838
|
-
isMenuOpened: request.headers.get("cookie")?.includes("es_menu_open=true") ?? false
|
|
2963
|
+
isMenuOpened: request.headers.get("cookie")?.includes("es_menu_open=true") ?? false,
|
|
2964
|
+
sidecarStatus
|
|
2839
2965
|
}, {
|
|
2840
2966
|
headers: {
|
|
2841
2967
|
Vary: "Cookie",
|
|
@@ -3297,6 +3423,7 @@ function MobileNavigation({
|
|
|
3297
3423
|
const apps = useApps();
|
|
3298
3424
|
const user = useOptionalUser();
|
|
3299
3425
|
const nextExerciseRoute = useNextExerciseRoute();
|
|
3426
|
+
const randomExerciseRoute = useRandomCompletedExerciseRoute();
|
|
3300
3427
|
const params = useParams();
|
|
3301
3428
|
const location = useLocation();
|
|
3302
3429
|
const isOnline = useIsOnline();
|
|
@@ -3321,6 +3448,18 @@ function MobileNavigation({
|
|
|
3321
3448
|
opacity: 0
|
|
3322
3449
|
}
|
|
3323
3450
|
};
|
|
3451
|
+
React.useCallback(() => {
|
|
3452
|
+
if (typeof window === "undefined") return;
|
|
3453
|
+
window.dispatchEvent(new CustomEvent("toggle-keyboard-shortcuts"));
|
|
3454
|
+
}, []);
|
|
3455
|
+
const requestInfo = useRequestInfo();
|
|
3456
|
+
const currentTheme = requestInfo.session.theme ?? "system";
|
|
3457
|
+
const themeLabel = {
|
|
3458
|
+
light: "Light",
|
|
3459
|
+
dark: "Dark",
|
|
3460
|
+
system: "System"
|
|
3461
|
+
}[currentTheme];
|
|
3462
|
+
const [isMobilePopoverOpen, setIsMobilePopoverOpen] = React.useState(false);
|
|
3324
3463
|
return /* @__PURE__ */ jsx("nav", {
|
|
3325
3464
|
className: "flex w-full border-b sm:hidden",
|
|
3326
3465
|
children: /* @__PURE__ */ jsx("div", {
|
|
@@ -3574,18 +3713,127 @@ function MobileNavigation({
|
|
|
3574
3713
|
children: "Continue to next lesson"
|
|
3575
3714
|
})]
|
|
3576
3715
|
})
|
|
3716
|
+
}) : null, ENV.EPICSHOP_DEPLOYED ? null : user && randomExerciseRoute ? /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
3717
|
+
content: isMenuOpened ? null : "Practice a past lesson",
|
|
3718
|
+
children: /* @__PURE__ */ jsxs(Link, {
|
|
3719
|
+
to: randomExerciseRoute,
|
|
3720
|
+
prefetch: "intent",
|
|
3721
|
+
className: clsx("flex h-14 w-full items-center space-x-3 border-l px-4 py-4 pl-[18px] no-underline hover:underline"),
|
|
3722
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
3723
|
+
name: "Refresh",
|
|
3724
|
+
className: "shrink-0",
|
|
3725
|
+
size: "md"
|
|
3726
|
+
}), isMenuOpened ? /* @__PURE__ */ jsx(motion.div, {
|
|
3727
|
+
className: "flex items-center whitespace-nowrap",
|
|
3728
|
+
initial: {
|
|
3729
|
+
opacity: 0
|
|
3730
|
+
},
|
|
3731
|
+
animate: {
|
|
3732
|
+
opacity: 1
|
|
3733
|
+
},
|
|
3734
|
+
children: "Practice a past lesson"
|
|
3735
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
3736
|
+
className: "sr-only",
|
|
3737
|
+
children: "Practice a past lesson"
|
|
3738
|
+
})]
|
|
3739
|
+
})
|
|
3577
3740
|
}) : null, /* @__PURE__ */ jsx("div", {
|
|
3578
|
-
className: cn("flex h-14
|
|
3741
|
+
className: cn("flex h-14 items-center justify-center gap-2 self-start p-4 sm:mb-4", {
|
|
3579
3742
|
"w-full border-t": isMenuOpened,
|
|
3580
|
-
"border-l": !isMenuOpened
|
|
3743
|
+
"w-14 border-l": !isMenuOpened
|
|
3581
3744
|
}),
|
|
3582
|
-
children: /* @__PURE__ */
|
|
3745
|
+
children: isMenuOpened ? /* @__PURE__ */ jsxs(Fragment, {
|
|
3746
|
+
children: [/* @__PURE__ */ jsx(ThemeSwitch, {}), /* @__PURE__ */ jsx(SidecarStatusIndicator, {
|
|
3747
|
+
status: data2.sidecarStatus
|
|
3748
|
+
})]
|
|
3749
|
+
}) : /* @__PURE__ */ jsxs(Popover, {
|
|
3750
|
+
open: isMobilePopoverOpen,
|
|
3751
|
+
onOpenChange: setIsMobilePopoverOpen,
|
|
3752
|
+
children: [data2.sidecarStatus?.hasFailure ? /* @__PURE__ */ jsx(PopoverTrigger, {
|
|
3753
|
+
asChild: true,
|
|
3754
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
3755
|
+
type: "button",
|
|
3756
|
+
"aria-label": "Process error - click to see details",
|
|
3757
|
+
title: isMobilePopoverOpen ? void 0 : "Process error - click to see details",
|
|
3758
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted flex h-8 w-8 items-center justify-center rounded-md transition-colors",
|
|
3759
|
+
children: /* @__PURE__ */ jsx(StatusIndicator, {
|
|
3760
|
+
status: "failed"
|
|
3761
|
+
})
|
|
3762
|
+
})
|
|
3763
|
+
}) : /* @__PURE__ */ jsx(PopoverTrigger, {
|
|
3764
|
+
asChild: true,
|
|
3765
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
3766
|
+
type: "button",
|
|
3767
|
+
"aria-label": "More options",
|
|
3768
|
+
title: isMobilePopoverOpen ? void 0 : "More options",
|
|
3769
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted flex h-8 w-8 items-center justify-center rounded-md transition-colors",
|
|
3770
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
3771
|
+
width: "20",
|
|
3772
|
+
height: "20",
|
|
3773
|
+
viewBox: "0 0 20 20",
|
|
3774
|
+
fill: "none",
|
|
3775
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3776
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
3777
|
+
cx: "5",
|
|
3778
|
+
cy: "10",
|
|
3779
|
+
r: "1.5",
|
|
3780
|
+
fill: "currentColor"
|
|
3781
|
+
}), /* @__PURE__ */ jsx("circle", {
|
|
3782
|
+
cx: "10",
|
|
3783
|
+
cy: "10",
|
|
3784
|
+
r: "1.5",
|
|
3785
|
+
fill: "currentColor"
|
|
3786
|
+
}), /* @__PURE__ */ jsx("circle", {
|
|
3787
|
+
cx: "15",
|
|
3788
|
+
cy: "10",
|
|
3789
|
+
r: "1.5",
|
|
3790
|
+
fill: "currentColor"
|
|
3791
|
+
})]
|
|
3792
|
+
})
|
|
3793
|
+
})
|
|
3794
|
+
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
3795
|
+
side: "top",
|
|
3796
|
+
align: "start",
|
|
3797
|
+
className: "flex flex-col gap-1 p-2",
|
|
3798
|
+
children: [/* @__PURE__ */ jsx(ThemeSwitchRow, {
|
|
3799
|
+
themeLabel,
|
|
3800
|
+
disableTooltip: isMobilePopoverOpen
|
|
3801
|
+
}), data2.sidecarStatus ? /* @__PURE__ */ jsxs(Link, {
|
|
3802
|
+
to: "/admin",
|
|
3803
|
+
className: "hover:bg-muted flex items-center gap-3 rounded-md px-2 py-1.5 text-sm transition-colors",
|
|
3804
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
3805
|
+
className: "flex h-5 w-5 items-center justify-center",
|
|
3806
|
+
children: /* @__PURE__ */ jsx(StatusIndicator, {
|
|
3807
|
+
status: data2.sidecarStatus.hasFailure ? "failed" : "running"
|
|
3808
|
+
})
|
|
3809
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
3810
|
+
className: "flex-1 text-left",
|
|
3811
|
+
children: ["Sidecar process", " ", data2.sidecarStatus.hasFailure ? "error" : "running"]
|
|
3812
|
+
})]
|
|
3813
|
+
}) : null]
|
|
3814
|
+
})]
|
|
3815
|
+
})
|
|
3583
3816
|
})]
|
|
3584
3817
|
})
|
|
3585
3818
|
})
|
|
3586
3819
|
});
|
|
3587
3820
|
}
|
|
3588
3821
|
const OPENED_MENU_WIDTH = 400;
|
|
3822
|
+
function SidecarStatusIndicator({
|
|
3823
|
+
status
|
|
3824
|
+
}) {
|
|
3825
|
+
if (!status) return null;
|
|
3826
|
+
return /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
3827
|
+
content: status.hasFailure ? `${status.failureCount} sidecar${status.failureCount === 1 ? "" : "s"} failed` : "All sidecars running",
|
|
3828
|
+
children: /* @__PURE__ */ jsx(Link, {
|
|
3829
|
+
to: "/admin",
|
|
3830
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted flex h-8 w-8 items-center justify-center rounded-md transition-colors",
|
|
3831
|
+
children: /* @__PURE__ */ jsx(StatusIndicator, {
|
|
3832
|
+
status: status.hasFailure ? "failed" : "running"
|
|
3833
|
+
})
|
|
3834
|
+
})
|
|
3835
|
+
});
|
|
3836
|
+
}
|
|
3589
3837
|
function Navigation({
|
|
3590
3838
|
isMenuOpened,
|
|
3591
3839
|
onMenuOpenChange: setMenuOpened
|
|
@@ -3594,6 +3842,7 @@ function Navigation({
|
|
|
3594
3842
|
const apps = useApps();
|
|
3595
3843
|
const user = useOptionalUser();
|
|
3596
3844
|
const nextExerciseRoute = useNextExerciseRoute();
|
|
3845
|
+
const randomExerciseRoute = useRandomCompletedExerciseRoute();
|
|
3597
3846
|
const params = useParams();
|
|
3598
3847
|
const location = useLocation();
|
|
3599
3848
|
const isOnline = useIsOnline();
|
|
@@ -3633,6 +3882,14 @@ function Navigation({
|
|
|
3633
3882
|
if (typeof window === "undefined") return;
|
|
3634
3883
|
window.dispatchEvent(new CustomEvent("toggle-keyboard-shortcuts"));
|
|
3635
3884
|
}, []);
|
|
3885
|
+
const requestInfo = useRequestInfo();
|
|
3886
|
+
const currentTheme = requestInfo.session.theme ?? "system";
|
|
3887
|
+
const themeLabel = {
|
|
3888
|
+
light: "Light",
|
|
3889
|
+
dark: "Dark",
|
|
3890
|
+
system: "System"
|
|
3891
|
+
}[currentTheme];
|
|
3892
|
+
const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
|
|
3636
3893
|
return /* @__PURE__ */ jsx("nav", {
|
|
3637
3894
|
className: "hidden border-r sm:flex",
|
|
3638
3895
|
children: /* @__PURE__ */ jsx(motion.div, {
|
|
@@ -3902,11 +4159,35 @@ function Navigation({
|
|
|
3902
4159
|
children: "Continue to next lesson"
|
|
3903
4160
|
})]
|
|
3904
4161
|
})
|
|
4162
|
+
}) : null, ENV.EPICSHOP_DEPLOYED ? null : user && randomExerciseRoute ? /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
4163
|
+
content: isMenuOpened ? null : "Practice a past lesson",
|
|
4164
|
+
children: /* @__PURE__ */ jsxs(Link, {
|
|
4165
|
+
to: randomExerciseRoute,
|
|
4166
|
+
prefetch: "intent",
|
|
4167
|
+
className: clsx("flex h-14 w-full items-center space-x-3 border-t px-4 py-4 pl-[18px] no-underline hover:underline"),
|
|
4168
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
4169
|
+
name: "Refresh",
|
|
4170
|
+
className: "shrink-0",
|
|
4171
|
+
size: "md"
|
|
4172
|
+
}), isMenuOpened ? /* @__PURE__ */ jsx(motion.div, {
|
|
4173
|
+
className: "flex items-center whitespace-nowrap",
|
|
4174
|
+
initial: {
|
|
4175
|
+
opacity: 0
|
|
4176
|
+
},
|
|
4177
|
+
animate: {
|
|
4178
|
+
opacity: 1
|
|
4179
|
+
},
|
|
4180
|
+
children: "Practice a past lesson"
|
|
4181
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
4182
|
+
className: "sr-only",
|
|
4183
|
+
children: "Practice a past lesson"
|
|
4184
|
+
})]
|
|
4185
|
+
})
|
|
3905
4186
|
}) : null, /* @__PURE__ */ jsx("div", {
|
|
3906
4187
|
className: "mb-4 w-full self-start border-t pt-[15px] pl-3",
|
|
3907
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
4188
|
+
children: isMenuOpened ? /* @__PURE__ */ jsxs("div", {
|
|
3908
4189
|
className: "flex items-center gap-2",
|
|
3909
|
-
children: [/* @__PURE__ */ jsx(ThemeSwitch, {}),
|
|
4190
|
+
children: [/* @__PURE__ */ jsx(ThemeSwitch, {}), /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
3910
4191
|
content: "Keyboard shortcuts (press ?)",
|
|
3911
4192
|
children: /* @__PURE__ */ jsx("button", {
|
|
3912
4193
|
type: "button",
|
|
@@ -3918,13 +4199,125 @@ function Navigation({
|
|
|
3918
4199
|
size: "md"
|
|
3919
4200
|
})
|
|
3920
4201
|
})
|
|
3921
|
-
})
|
|
4202
|
+
}), /* @__PURE__ */ jsx(SidecarStatusIndicator, {
|
|
4203
|
+
status: data2.sidecarStatus
|
|
4204
|
+
})]
|
|
4205
|
+
}) : /* @__PURE__ */ jsxs(Popover, {
|
|
4206
|
+
open: isPopoverOpen,
|
|
4207
|
+
onOpenChange: setIsPopoverOpen,
|
|
4208
|
+
children: [data2.sidecarStatus?.hasFailure ? /* @__PURE__ */ jsx(PopoverTrigger, {
|
|
4209
|
+
asChild: true,
|
|
4210
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
4211
|
+
type: "button",
|
|
4212
|
+
"aria-label": "Process error - click to see details",
|
|
4213
|
+
title: isPopoverOpen ? void 0 : "Process error - click to see details",
|
|
4214
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted flex h-8 w-8 items-center justify-center rounded-md transition-colors",
|
|
4215
|
+
children: /* @__PURE__ */ jsx(StatusIndicator, {
|
|
4216
|
+
status: "failed"
|
|
4217
|
+
})
|
|
4218
|
+
})
|
|
4219
|
+
}) : /* @__PURE__ */ jsx(PopoverTrigger, {
|
|
4220
|
+
asChild: true,
|
|
4221
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
4222
|
+
type: "button",
|
|
4223
|
+
"aria-label": "More options",
|
|
4224
|
+
title: isPopoverOpen ? void 0 : "More options",
|
|
4225
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted flex h-8 w-8 items-center justify-center rounded-md transition-colors",
|
|
4226
|
+
children: /* @__PURE__ */ jsxs("svg", {
|
|
4227
|
+
width: "20",
|
|
4228
|
+
height: "20",
|
|
4229
|
+
viewBox: "0 0 20 20",
|
|
4230
|
+
fill: "none",
|
|
4231
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4232
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
4233
|
+
cx: "5",
|
|
4234
|
+
cy: "10",
|
|
4235
|
+
r: "1.5",
|
|
4236
|
+
fill: "currentColor"
|
|
4237
|
+
}), /* @__PURE__ */ jsx("circle", {
|
|
4238
|
+
cx: "10",
|
|
4239
|
+
cy: "10",
|
|
4240
|
+
r: "1.5",
|
|
4241
|
+
fill: "currentColor"
|
|
4242
|
+
}), /* @__PURE__ */ jsx("circle", {
|
|
4243
|
+
cx: "15",
|
|
4244
|
+
cy: "10",
|
|
4245
|
+
r: "1.5",
|
|
4246
|
+
fill: "currentColor"
|
|
4247
|
+
})]
|
|
4248
|
+
})
|
|
4249
|
+
})
|
|
4250
|
+
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
4251
|
+
side: "top",
|
|
4252
|
+
align: "start",
|
|
4253
|
+
className: "flex flex-col gap-1 p-2",
|
|
4254
|
+
children: [/* @__PURE__ */ jsx(ThemeSwitchRow, {
|
|
4255
|
+
themeLabel,
|
|
4256
|
+
disableTooltip: isPopoverOpen
|
|
4257
|
+
}), /* @__PURE__ */ jsxs("button", {
|
|
4258
|
+
type: "button",
|
|
4259
|
+
"aria-label": "Keyboard shortcuts",
|
|
4260
|
+
onClick: handleOpenShortcuts,
|
|
4261
|
+
className: "hover:bg-muted flex items-center gap-3 rounded-md px-2 py-1.5 text-sm transition-colors",
|
|
4262
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
4263
|
+
className: "flex h-5 w-5 items-center justify-center",
|
|
4264
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
4265
|
+
name: "Question",
|
|
4266
|
+
size: "md"
|
|
4267
|
+
})
|
|
4268
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
4269
|
+
className: "flex-1 text-left",
|
|
4270
|
+
children: "Keyboard shortcuts"
|
|
4271
|
+
})]
|
|
4272
|
+
}), data2.sidecarStatus ? /* @__PURE__ */ jsxs(Link, {
|
|
4273
|
+
to: "/admin",
|
|
4274
|
+
className: "hover:bg-muted flex items-center gap-3 rounded-md px-2 py-1.5 text-sm transition-colors",
|
|
4275
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
4276
|
+
className: "flex h-5 w-5 items-center justify-center",
|
|
4277
|
+
children: /* @__PURE__ */ jsx(StatusIndicator, {
|
|
4278
|
+
status: data2.sidecarStatus.hasFailure ? "failed" : "running"
|
|
4279
|
+
})
|
|
4280
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
4281
|
+
className: "flex-1 text-left",
|
|
4282
|
+
children: ["Sidecar process", " ", data2.sidecarStatus.hasFailure ? "error" : "running"]
|
|
4283
|
+
})]
|
|
4284
|
+
}) : null]
|
|
4285
|
+
})]
|
|
3922
4286
|
})
|
|
3923
4287
|
})]
|
|
3924
4288
|
})
|
|
3925
4289
|
})
|
|
3926
4290
|
});
|
|
3927
4291
|
}
|
|
4292
|
+
function ThemeSwitchRow({
|
|
4293
|
+
themeLabel,
|
|
4294
|
+
disableTooltip
|
|
4295
|
+
}) {
|
|
4296
|
+
const wrapperRef = React.useRef(null);
|
|
4297
|
+
const handleClick = (event) => {
|
|
4298
|
+
const form = wrapperRef.current?.querySelector("form");
|
|
4299
|
+
if (!form) return;
|
|
4300
|
+
const submitButton = form.querySelector('button[type="submit"]');
|
|
4301
|
+
if (submitButton?.contains(event.target)) {
|
|
4302
|
+
return;
|
|
4303
|
+
}
|
|
4304
|
+
submitButton?.click();
|
|
4305
|
+
};
|
|
4306
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
4307
|
+
ref: wrapperRef,
|
|
4308
|
+
onClick: handleClick,
|
|
4309
|
+
className: "hover:bg-muted flex cursor-pointer items-center gap-3 rounded-md px-2 py-1.5 text-sm transition-colors",
|
|
4310
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
4311
|
+
className: "flex h-5 w-5 items-center justify-center",
|
|
4312
|
+
children: /* @__PURE__ */ jsx(ThemeSwitch, {
|
|
4313
|
+
disableTooltip
|
|
4314
|
+
})
|
|
4315
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
4316
|
+
className: "flex-1 text-left",
|
|
4317
|
+
children: [themeLabel, " theme"]
|
|
4318
|
+
})]
|
|
4319
|
+
});
|
|
4320
|
+
}
|
|
3928
4321
|
function NavToggle({
|
|
3929
4322
|
title,
|
|
3930
4323
|
isMenuOpened,
|
|
@@ -8700,8 +9093,8 @@ function TouchedFiles({
|
|
|
8700
9093
|
setOpen(false);
|
|
8701
9094
|
}
|
|
8702
9095
|
const appName = data2.playground?.appName;
|
|
8703
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
|
|
8704
|
-
/* @__PURE__ */ jsx(
|
|
9096
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open, onOpenChange: handleOpenChange, children: [
|
|
9097
|
+
/* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
8705
9098
|
"button",
|
|
8706
9099
|
{
|
|
8707
9100
|
className: "relative flex h-full items-center gap-1 border-r px-6 py-3 font-mono text-sm uppercase",
|
|
@@ -8713,8 +9106,8 @@ function TouchedFiles({
|
|
|
8713
9106
|
]
|
|
8714
9107
|
}
|
|
8715
9108
|
) }),
|
|
8716
|
-
/* @__PURE__ */ jsx(
|
|
8717
|
-
|
|
9109
|
+
/* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
9110
|
+
PopoverPrimitive.Content,
|
|
8718
9111
|
{
|
|
8719
9112
|
ref: contentRef,
|
|
8720
9113
|
className: "slideRightContent lg:slideUpContent invert-theme bg-background text-foreground z-10 rounded px-9 py-8 select-none",
|
|
@@ -10135,39 +10528,6 @@ function DiscordPost({ thread }) {
|
|
|
10135
10528
|
function Emoji({ name, url }) {
|
|
10136
10529
|
return url ? /* @__PURE__ */ jsx("img", { src: url, alt: name, className: "h-full w-full" }) : name ? name : null;
|
|
10137
10530
|
}
|
|
10138
|
-
function StatusIndicator({
|
|
10139
|
-
status
|
|
10140
|
-
}) {
|
|
10141
|
-
const colors = {
|
|
10142
|
-
running: {
|
|
10143
|
-
pinger: "bg-yellow-500/60",
|
|
10144
|
-
circle: "bg-yellow-500"
|
|
10145
|
-
},
|
|
10146
|
-
passed: {
|
|
10147
|
-
circle: "bg-success"
|
|
10148
|
-
},
|
|
10149
|
-
failed: {
|
|
10150
|
-
circle: "bg-destructive"
|
|
10151
|
-
},
|
|
10152
|
-
stopped: {
|
|
10153
|
-
circle: "bg-muted-foreground"
|
|
10154
|
-
}
|
|
10155
|
-
}[status];
|
|
10156
|
-
return /* @__PURE__ */ jsxs("span", { className: "relative flex h-3 w-3", children: [
|
|
10157
|
-
colors.pinger ? /* @__PURE__ */ jsx(
|
|
10158
|
-
"span",
|
|
10159
|
-
{
|
|
10160
|
-
className: `absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`
|
|
10161
|
-
}
|
|
10162
|
-
) : null,
|
|
10163
|
-
/* @__PURE__ */ jsx(
|
|
10164
|
-
"span",
|
|
10165
|
-
{
|
|
10166
|
-
className: `relative inline-flex h-3 w-3 rounded-full ${colors.circle}`
|
|
10167
|
-
}
|
|
10168
|
-
)
|
|
10169
|
-
] });
|
|
10170
|
-
}
|
|
10171
10531
|
function getPreviewSearchParams(searchParams, previewValue, defaultValue) {
|
|
10172
10532
|
const next = new URLSearchParams(searchParams);
|
|
10173
10533
|
if (previewValue === defaultValue) {
|
|
@@ -11543,6 +11903,7 @@ async function loader$u({
|
|
|
11543
11903
|
request,
|
|
11544
11904
|
timings
|
|
11545
11905
|
});
|
|
11906
|
+
const hasExtras2 = apps.some(isExtraApp);
|
|
11546
11907
|
const exerciseApps = apps.filter(isExerciseStepApp).filter((app2) => app2.exerciseNumber === exercise.exerciseNumber);
|
|
11547
11908
|
const prevApp = exerciseApps[exerciseApps.length - 1];
|
|
11548
11909
|
const articleId = `workshop-${slugify(workshopConfig.title)}-${exercise.exerciseNumber}-finished`;
|
|
@@ -11565,6 +11926,9 @@ async function loader$u({
|
|
|
11565
11926
|
nextStepLink: nextExercise ? {
|
|
11566
11927
|
to: `/exercise/${nextExercise.exerciseNumber.toString().padStart(2, "0")}`,
|
|
11567
11928
|
"aria-label": `${nextExercise.title}`
|
|
11929
|
+
} : hasExtras2 ? {
|
|
11930
|
+
to: "/extra",
|
|
11931
|
+
"aria-label": "Extras"
|
|
11568
11932
|
} : {
|
|
11569
11933
|
to: "/finished",
|
|
11570
11934
|
"aria-label": "Finished! 🎉"
|
|
@@ -11907,6 +12271,20 @@ const $extra = UNSAFE_withComponentProps(function ExtraRoute() {
|
|
|
11907
12271
|
const shouldShowSetPlayground = showPlaygroundIndicator || data2.playground?.isUpToDate === false;
|
|
11908
12272
|
const tabs2 = ["playground", "extra", "diff", "chat"];
|
|
11909
12273
|
const preview = searchParams.get("preview");
|
|
12274
|
+
const previousExtraLink = data2.previousExtra ? {
|
|
12275
|
+
to: `/extra/${data2.previousExtra.dirName}`,
|
|
12276
|
+
"aria-label": "Previous Extra"
|
|
12277
|
+
} : {
|
|
12278
|
+
to: "/extra",
|
|
12279
|
+
"aria-label": "Extras"
|
|
12280
|
+
};
|
|
12281
|
+
const nextExtraLink = data2.nextExtra ? {
|
|
12282
|
+
to: `/extra/${data2.nextExtra.dirName}`,
|
|
12283
|
+
"aria-label": "Next Extra"
|
|
12284
|
+
} : {
|
|
12285
|
+
to: "/finished",
|
|
12286
|
+
"aria-label": "Workshop finished"
|
|
12287
|
+
};
|
|
11910
12288
|
function isValidPreview2(value) {
|
|
11911
12289
|
return Boolean(value && tabs2.includes(value));
|
|
11912
12290
|
}
|
|
@@ -12007,9 +12385,9 @@ const $extra = UNSAFE_withComponentProps(function ExtraRoute() {
|
|
|
12007
12385
|
})
|
|
12008
12386
|
}), /* @__PURE__ */ jsxs("div", {
|
|
12009
12387
|
className: "mt-auto flex justify-between",
|
|
12010
|
-
children: [
|
|
12011
|
-
to:
|
|
12012
|
-
"aria-label": "
|
|
12388
|
+
children: [/* @__PURE__ */ jsxs(Link, {
|
|
12389
|
+
to: previousExtraLink.to,
|
|
12390
|
+
"aria-label": previousExtraLink["aria-label"],
|
|
12013
12391
|
prefetch: "intent",
|
|
12014
12392
|
children: [/* @__PURE__ */ jsx("span", {
|
|
12015
12393
|
"aria-hidden": true,
|
|
@@ -12018,9 +12396,9 @@ const $extra = UNSAFE_withComponentProps(function ExtraRoute() {
|
|
|
12018
12396
|
className: "hidden xl:inline",
|
|
12019
12397
|
children: " Previous"
|
|
12020
12398
|
})]
|
|
12021
|
-
})
|
|
12022
|
-
to:
|
|
12023
|
-
"aria-label": "
|
|
12399
|
+
}), /* @__PURE__ */ jsxs(Link, {
|
|
12400
|
+
to: nextExtraLink.to,
|
|
12401
|
+
"aria-label": nextExtraLink["aria-label"],
|
|
12024
12402
|
prefetch: "intent",
|
|
12025
12403
|
children: [/* @__PURE__ */ jsx("span", {
|
|
12026
12404
|
className: "hidden xl:inline",
|
|
@@ -12029,7 +12407,7 @@ const $extra = UNSAFE_withComponentProps(function ExtraRoute() {
|
|
|
12029
12407
|
"aria-hidden": true,
|
|
12030
12408
|
children: "→"
|
|
12031
12409
|
})]
|
|
12032
|
-
})
|
|
12410
|
+
})]
|
|
12033
12411
|
})]
|
|
12034
12412
|
}, data2.articleId), /* @__PURE__ */ jsx(ElementScrollRestoration, {
|
|
12035
12413
|
elementQuery: `#${data2.articleId}`
|
|
@@ -12039,14 +12417,8 @@ const $extra = UNSAFE_withComponentProps(function ExtraRoute() {
|
|
|
12039
12417
|
appName: data2.extra.name,
|
|
12040
12418
|
relativePath: data2.extraReadme.relativePath
|
|
12041
12419
|
}), /* @__PURE__ */ jsx(NavChevrons, {
|
|
12042
|
-
prev:
|
|
12043
|
-
|
|
12044
|
-
"aria-label": "Previous Extra"
|
|
12045
|
-
} : null,
|
|
12046
|
-
next: data2.nextExtra ? {
|
|
12047
|
-
to: `/extra/${data2.nextExtra.dirName}`,
|
|
12048
|
-
"aria-label": "Next Extra"
|
|
12049
|
-
} : null
|
|
12420
|
+
prev: previousExtraLink,
|
|
12421
|
+
next: nextExtraLink
|
|
12050
12422
|
})]
|
|
12051
12423
|
})]
|
|
12052
12424
|
}), /* @__PURE__ */ jsx("div", {
|
|
@@ -12494,6 +12866,9 @@ const sections = [{
|
|
|
12494
12866
|
}, {
|
|
12495
12867
|
id: "logging-in",
|
|
12496
12868
|
label: "Logging In"
|
|
12869
|
+
}, {
|
|
12870
|
+
id: "interleaved-practice",
|
|
12871
|
+
label: "Interleaved Practice"
|
|
12497
12872
|
}, {
|
|
12498
12873
|
id: "workshop-structure",
|
|
12499
12874
|
label: "Workshop Structure"
|
|
@@ -12639,6 +13014,30 @@ const guide = UNSAFE_withComponentProps(function Guide() {
|
|
|
12639
13014
|
className: "text-muted-foreground text-sm",
|
|
12640
13015
|
children: "Tip: Log in early to start tracking your progress from the beginning!"
|
|
12641
13016
|
})]
|
|
13017
|
+
}), /* @__PURE__ */ jsxs("section", {
|
|
13018
|
+
id: "interleaved-practice",
|
|
13019
|
+
className: "scroll-mt-8",
|
|
13020
|
+
children: [/* @__PURE__ */ jsx("h2", {
|
|
13021
|
+
className: "text-h3 mb-4",
|
|
13022
|
+
children: "Interleaved Practice"
|
|
13023
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
13024
|
+
className: "mb-4",
|
|
13025
|
+
children: "Interleaved practice mixes previously learned material with new content so your brain has to recall concepts instead of relying on short-term memory. This spacing effect improves long-term retention and makes it easier to apply skills in new contexts."
|
|
13026
|
+
}), /* @__PURE__ */ jsxs("p", {
|
|
13027
|
+
className: "mb-4",
|
|
13028
|
+
children: ["Once you're logged in and have completed at least two exercise steps, you'll see a ", /* @__PURE__ */ jsx("strong", {
|
|
13029
|
+
children: "Practice a past lesson"
|
|
13030
|
+
}), " button next to ", /* @__PURE__ */ jsx("strong", {
|
|
13031
|
+
children: "Continue to next lesson"
|
|
13032
|
+
}), " in the navigation. Click it any time to jump to a random completed step and refresh what you've learned."]
|
|
13033
|
+
}), /* @__PURE__ */ jsxs("ul", {
|
|
13034
|
+
className: "list-disc space-y-2 pl-6",
|
|
13035
|
+
children: [/* @__PURE__ */ jsx("li", {
|
|
13036
|
+
children: "You must be logged in."
|
|
13037
|
+
}), /* @__PURE__ */ jsx("li", {
|
|
13038
|
+
children: "You need two or more completed steps."
|
|
13039
|
+
})]
|
|
13040
|
+
})]
|
|
12642
13041
|
}), /* @__PURE__ */ jsxs("section", {
|
|
12643
13042
|
id: "workshop-structure",
|
|
12644
13043
|
className: "scroll-mt-8",
|
|
@@ -15021,6 +15420,14 @@ function isInspectorRunning() {
|
|
|
15021
15420
|
return false;
|
|
15022
15421
|
}
|
|
15023
15422
|
}
|
|
15423
|
+
async function restartSidecar(name) {
|
|
15424
|
+
if (ENV.EPICSHOP_DEPLOYED) return false;
|
|
15425
|
+
return restartSidecarProcess(name);
|
|
15426
|
+
}
|
|
15427
|
+
function getSidecarLogLines(name, lineCount = 50) {
|
|
15428
|
+
if (ENV.EPICSHOP_DEPLOYED) return "";
|
|
15429
|
+
return getSidecarLogs(name, lineCount);
|
|
15430
|
+
}
|
|
15024
15431
|
async function clearData() {
|
|
15025
15432
|
if (ENV.EPICSHOP_DEPLOYED) return;
|
|
15026
15433
|
await clearCaches();
|
|
@@ -15089,10 +15496,20 @@ async function loader$g({
|
|
|
15089
15496
|
exitCode
|
|
15090
15497
|
};
|
|
15091
15498
|
}
|
|
15499
|
+
const sidecarProcesses = {};
|
|
15500
|
+
for (const [name, {
|
|
15501
|
+
process: process2
|
|
15502
|
+
}] of getProcesses().sidecarProcesses.entries()) {
|
|
15503
|
+
sidecarProcesses[name] = {
|
|
15504
|
+
pid: process2.pid,
|
|
15505
|
+
running: process2.exitCode === null
|
|
15506
|
+
};
|
|
15507
|
+
}
|
|
15092
15508
|
return data({
|
|
15093
15509
|
apps,
|
|
15094
15510
|
processes,
|
|
15095
15511
|
testProcesses,
|
|
15512
|
+
sidecarProcesses,
|
|
15096
15513
|
inspectorRunning: isInspectorRunning()
|
|
15097
15514
|
}, {
|
|
15098
15515
|
headers: {
|
|
@@ -15131,6 +15548,27 @@ async function action$6({
|
|
|
15131
15548
|
success: true
|
|
15132
15549
|
};
|
|
15133
15550
|
}
|
|
15551
|
+
case "restart-sidecar": {
|
|
15552
|
+
const name = formData.get("name");
|
|
15553
|
+
if (typeof name !== "string") {
|
|
15554
|
+
throw new Error("Sidecar name is required");
|
|
15555
|
+
}
|
|
15556
|
+
const success = await restartSidecar(name);
|
|
15557
|
+
return {
|
|
15558
|
+
success
|
|
15559
|
+
};
|
|
15560
|
+
}
|
|
15561
|
+
case "get-sidecar-logs": {
|
|
15562
|
+
const name = formData.get("name");
|
|
15563
|
+
if (typeof name !== "string") {
|
|
15564
|
+
throw new Error("Sidecar name is required");
|
|
15565
|
+
}
|
|
15566
|
+
const logs = getSidecarLogLines(name, 1e3);
|
|
15567
|
+
return {
|
|
15568
|
+
success: true,
|
|
15569
|
+
logs
|
|
15570
|
+
};
|
|
15571
|
+
}
|
|
15134
15572
|
default: {
|
|
15135
15573
|
throw new Error(`Unknown intent: ${intent}`);
|
|
15136
15574
|
}
|
|
@@ -15179,53 +15617,21 @@ const index = UNSAFE_withComponentProps(function AdminLayout2({
|
|
|
15179
15617
|
})]
|
|
15180
15618
|
}), /* @__PURE__ */ jsxs("div", {
|
|
15181
15619
|
className: "grid gap-6 md:grid-cols-2",
|
|
15182
|
-
children: [/* @__PURE__ */ jsxs(Card, {
|
|
15620
|
+
children: [Object.entries(data2.sidecarProcesses).length > 0 && /* @__PURE__ */ jsxs(Card, {
|
|
15183
15621
|
children: [/* @__PURE__ */ jsxs(CardHeader, {
|
|
15184
15622
|
children: [/* @__PURE__ */ jsx(CardTitle, {
|
|
15185
|
-
children: "
|
|
15623
|
+
children: "Sidecar Processes"
|
|
15186
15624
|
}), /* @__PURE__ */ jsx(CardDescription, {
|
|
15187
|
-
children: "
|
|
15625
|
+
children: "Background sidecar processes"
|
|
15188
15626
|
})]
|
|
15189
15627
|
}), /* @__PURE__ */ jsx(CardContent, {
|
|
15190
|
-
children:
|
|
15191
|
-
className: "
|
|
15192
|
-
children:
|
|
15193
|
-
|
|
15194
|
-
|
|
15195
|
-
|
|
15196
|
-
|
|
15197
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
15198
|
-
className: clsx("h-3 w-3 shrink-0 rounded-full", progressStatus[status]),
|
|
15199
|
-
title: status
|
|
15200
|
-
}), progress.type === "unknown" ? /* @__PURE__ */ jsxs("span", {
|
|
15201
|
-
className: "flex flex-1 items-center gap-2 truncate text-sm",
|
|
15202
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
15203
|
-
className: "truncate",
|
|
15204
|
-
children: label
|
|
15205
|
-
}), /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
15206
|
-
content: "This video is in the workshop on EpicWeb.dev, but not in the local workshop.",
|
|
15207
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
15208
|
-
name: "Close",
|
|
15209
|
-
className: "text-destructive h-4 w-4 shrink-0"
|
|
15210
|
-
})
|
|
15211
|
-
})]
|
|
15212
|
-
}) : /* @__PURE__ */ jsx(Link, {
|
|
15213
|
-
to: linkProgress(progress),
|
|
15214
|
-
className: "text-foreground flex-1 truncate text-sm hover:underline",
|
|
15215
|
-
children: label
|
|
15216
|
-
}), /* @__PURE__ */ jsx(Link, {
|
|
15217
|
-
to: progress.epicLessonUrl,
|
|
15218
|
-
className: "text-muted-foreground hover:text-foreground shrink-0",
|
|
15219
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
15220
|
-
name: "ExternalLink",
|
|
15221
|
-
className: "h-4 w-4"
|
|
15222
|
-
})
|
|
15223
|
-
})]
|
|
15224
|
-
}, progress.epicLessonSlug);
|
|
15225
|
-
})
|
|
15226
|
-
}) : /* @__PURE__ */ jsx("p", {
|
|
15227
|
-
className: "text-muted-foreground text-sm",
|
|
15228
|
-
children: "No progress data"
|
|
15628
|
+
children: /* @__PURE__ */ jsx("ul", {
|
|
15629
|
+
className: "flex flex-col gap-2",
|
|
15630
|
+
children: Object.entries(data2.sidecarProcesses).map(([key, process2]) => /* @__PURE__ */ jsx(SidecarProcessItem, {
|
|
15631
|
+
name: key,
|
|
15632
|
+
pid: process2.pid,
|
|
15633
|
+
running: process2.running
|
|
15634
|
+
}, key))
|
|
15229
15635
|
})
|
|
15230
15636
|
})]
|
|
15231
15637
|
}), /* @__PURE__ */ jsxs(Card, {
|
|
@@ -15398,10 +15804,180 @@ const index = UNSAFE_withComponentProps(function AdminLayout2({
|
|
|
15398
15804
|
}, key))
|
|
15399
15805
|
})
|
|
15400
15806
|
})]
|
|
15807
|
+
}), /* @__PURE__ */ jsxs(Card, {
|
|
15808
|
+
children: [/* @__PURE__ */ jsxs(CardHeader, {
|
|
15809
|
+
children: [/* @__PURE__ */ jsx(CardTitle, {
|
|
15810
|
+
children: "Progress"
|
|
15811
|
+
}), /* @__PURE__ */ jsx(CardDescription, {
|
|
15812
|
+
children: "EpicWeb.dev lesson progress"
|
|
15813
|
+
})]
|
|
15814
|
+
}), /* @__PURE__ */ jsx(CardContent, {
|
|
15815
|
+
children: epicProgress ? /* @__PURE__ */ jsx("ul", {
|
|
15816
|
+
className: "scrollbar-thin scrollbar-thumb-scrollbar flex max-h-72 flex-col gap-2 overflow-y-auto",
|
|
15817
|
+
children: epicProgress.sort(sortProgress).map((progress) => {
|
|
15818
|
+
const status = progress.epicCompletedAt ? "completed" : "incomplete";
|
|
15819
|
+
const label = [progress.epicLessonSlug, progress.epicCompletedAt ? `(${progress.epicCompletedAt})` : null].filter(Boolean).join(" ");
|
|
15820
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
15821
|
+
className: "hover:bg-muted/50 flex items-center gap-3 rounded-md p-2",
|
|
15822
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
15823
|
+
className: clsx("h-3 w-3 shrink-0 rounded-full", progressStatus[status]),
|
|
15824
|
+
title: status
|
|
15825
|
+
}), progress.type === "unknown" ? /* @__PURE__ */ jsxs("span", {
|
|
15826
|
+
className: "flex flex-1 items-center gap-2 truncate text-sm",
|
|
15827
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
15828
|
+
className: "truncate",
|
|
15829
|
+
children: label
|
|
15830
|
+
}), /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
15831
|
+
content: "This video is in the workshop on EpicWeb.dev, but not in the local workshop.",
|
|
15832
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
15833
|
+
name: "Close",
|
|
15834
|
+
className: "text-destructive h-4 w-4 shrink-0"
|
|
15835
|
+
})
|
|
15836
|
+
})]
|
|
15837
|
+
}) : /* @__PURE__ */ jsx(Link, {
|
|
15838
|
+
to: linkProgress(progress),
|
|
15839
|
+
className: "text-foreground flex-1 truncate text-sm hover:underline",
|
|
15840
|
+
children: label
|
|
15841
|
+
}), /* @__PURE__ */ jsx(Link, {
|
|
15842
|
+
to: progress.epicLessonUrl,
|
|
15843
|
+
className: "text-muted-foreground hover:text-foreground shrink-0",
|
|
15844
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
15845
|
+
name: "ExternalLink",
|
|
15846
|
+
className: "h-4 w-4"
|
|
15847
|
+
})
|
|
15848
|
+
})]
|
|
15849
|
+
}, progress.epicLessonSlug);
|
|
15850
|
+
})
|
|
15851
|
+
}) : /* @__PURE__ */ jsx("p", {
|
|
15852
|
+
className: "text-muted-foreground text-sm",
|
|
15853
|
+
children: "No progress data"
|
|
15854
|
+
})
|
|
15855
|
+
})]
|
|
15401
15856
|
})]
|
|
15402
15857
|
})]
|
|
15403
15858
|
});
|
|
15404
15859
|
});
|
|
15860
|
+
function SidecarProcessItem({
|
|
15861
|
+
name,
|
|
15862
|
+
pid,
|
|
15863
|
+
running
|
|
15864
|
+
}) {
|
|
15865
|
+
const restartFetcher = useFetcher();
|
|
15866
|
+
const logsFetcher = useFetcher();
|
|
15867
|
+
const [copyStatus, setCopyStatus] = React.useState("idle");
|
|
15868
|
+
const [logsOpen, setLogsOpen] = React.useState(false);
|
|
15869
|
+
const [displayLogs, setDisplayLogs] = React.useState(null);
|
|
15870
|
+
const isRestarting = restartFetcher.state !== "idle";
|
|
15871
|
+
const isLoadingLogs = logsFetcher.state !== "idle";
|
|
15872
|
+
React.useEffect(() => {
|
|
15873
|
+
if (logsFetcher.data) {
|
|
15874
|
+
setDisplayLogs(logsFetcher.data.logs ?? "");
|
|
15875
|
+
}
|
|
15876
|
+
}, [logsFetcher.data]);
|
|
15877
|
+
const handleCopyLogs = () => {
|
|
15878
|
+
if (!displayLogs) return;
|
|
15879
|
+
navigator.clipboard.writeText(displayLogs).then(() => {
|
|
15880
|
+
setCopyStatus("copied");
|
|
15881
|
+
setTimeout(() => setCopyStatus("idle"), 2e3);
|
|
15882
|
+
}).catch(() => {
|
|
15883
|
+
});
|
|
15884
|
+
};
|
|
15885
|
+
const handleToggleLogs = (open) => {
|
|
15886
|
+
setLogsOpen(open);
|
|
15887
|
+
if (open) {
|
|
15888
|
+
void logsFetcher.submit({
|
|
15889
|
+
intent: "get-sidecar-logs",
|
|
15890
|
+
name
|
|
15891
|
+
}, {
|
|
15892
|
+
method: "POST"
|
|
15893
|
+
});
|
|
15894
|
+
}
|
|
15895
|
+
};
|
|
15896
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
15897
|
+
className: "border-border bg-muted/30 rounded-md border p-3",
|
|
15898
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
15899
|
+
className: "flex items-center justify-between gap-2",
|
|
15900
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
15901
|
+
className: "flex items-center gap-2",
|
|
15902
|
+
children: [running ? /* @__PURE__ */ jsx(Pinger, {
|
|
15903
|
+
status: "running"
|
|
15904
|
+
}) : /* @__PURE__ */ jsx(Pinger, {
|
|
15905
|
+
status: "taken"
|
|
15906
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
15907
|
+
className: "font-mono text-sm font-semibold",
|
|
15908
|
+
children: name
|
|
15909
|
+
})]
|
|
15910
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
15911
|
+
className: "flex items-center gap-1",
|
|
15912
|
+
children: /* @__PURE__ */ jsxs(restartFetcher.Form, {
|
|
15913
|
+
method: "POST",
|
|
15914
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
15915
|
+
type: "hidden",
|
|
15916
|
+
name: "intent",
|
|
15917
|
+
value: "restart-sidecar"
|
|
15918
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
15919
|
+
type: "hidden",
|
|
15920
|
+
name: "name",
|
|
15921
|
+
value: name
|
|
15922
|
+
}), /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
15923
|
+
content: "Restart process",
|
|
15924
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
15925
|
+
type: "submit",
|
|
15926
|
+
disabled: isRestarting,
|
|
15927
|
+
className: "text-muted-foreground hover:text-foreground hover:bg-muted rounded p-1.5 transition-colors disabled:cursor-not-allowed disabled:opacity-50",
|
|
15928
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
15929
|
+
name: "Refresh",
|
|
15930
|
+
className: cn("h-4 w-4", isRestarting && "animate-spin")
|
|
15931
|
+
})
|
|
15932
|
+
})
|
|
15933
|
+
})]
|
|
15934
|
+
})
|
|
15935
|
+
})]
|
|
15936
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
15937
|
+
className: "text-muted-foreground mt-2 flex flex-wrap gap-x-4 gap-y-1 text-xs",
|
|
15938
|
+
children: [pid && /* @__PURE__ */ jsxs("span", {
|
|
15939
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
15940
|
+
className: "font-medium",
|
|
15941
|
+
children: "PID:"
|
|
15942
|
+
}), " ", pid]
|
|
15943
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
15944
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
15945
|
+
className: "font-medium",
|
|
15946
|
+
children: "Status:"
|
|
15947
|
+
}), " ", isRestarting ? "Restarting..." : running ? "Running" : "Failed"]
|
|
15948
|
+
})]
|
|
15949
|
+
}), /* @__PURE__ */ jsxs("details", {
|
|
15950
|
+
className: "mt-3",
|
|
15951
|
+
open: logsOpen,
|
|
15952
|
+
onToggle: (e) => handleToggleLogs(e.currentTarget.open),
|
|
15953
|
+
children: [/* @__PURE__ */ jsx("summary", {
|
|
15954
|
+
className: "text-muted-foreground hover:text-foreground cursor-pointer text-xs font-medium",
|
|
15955
|
+
children: isLoadingLogs ? "Loading logs..." : "View logs"
|
|
15956
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
15957
|
+
className: "mt-2",
|
|
15958
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
15959
|
+
className: "mb-1 flex justify-end",
|
|
15960
|
+
children: /* @__PURE__ */ jsx(SimpleTooltip, {
|
|
15961
|
+
content: copyStatus === "copied" ? "Copied!" : "Copy logs",
|
|
15962
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
15963
|
+
type: "button",
|
|
15964
|
+
onClick: handleCopyLogs,
|
|
15965
|
+
disabled: !displayLogs,
|
|
15966
|
+
className: cn("text-muted-foreground hover:text-foreground hover:bg-muted rounded p-1 transition-colors disabled:cursor-not-allowed disabled:opacity-50", copyStatus === "copied" && "text-success"),
|
|
15967
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
15968
|
+
name: copyStatus === "copied" ? "CheckSmall" : "Copy",
|
|
15969
|
+
className: "h-3.5 w-3.5"
|
|
15970
|
+
})
|
|
15971
|
+
})
|
|
15972
|
+
})
|
|
15973
|
+
}), /* @__PURE__ */ jsx("pre", {
|
|
15974
|
+
className: "scrollbar-thin scrollbar-thumb-scrollbar bg-background max-h-96 overflow-auto rounded border p-2 text-xs",
|
|
15975
|
+
children: displayLogs || (isLoadingLogs ? "Loading..." : "No logs available")
|
|
15976
|
+
})]
|
|
15977
|
+
})]
|
|
15978
|
+
})]
|
|
15979
|
+
});
|
|
15980
|
+
}
|
|
15405
15981
|
function Card({
|
|
15406
15982
|
children,
|
|
15407
15983
|
className
|
|
@@ -16910,7 +17486,7 @@ const route61 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
16910
17486
|
__proto__: null,
|
|
16911
17487
|
loader
|
|
16912
17488
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
16913
|
-
const serverManifest = { "entry": { "module": "/assets/entry.client-Dbw2ihVI.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/root-Ch373D3a.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-DVYuZMjW.js", "/assets/client-only-BeMV-Wuv.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/dialog-DnpUg3VT.js", "/assets/progress-bar-B27isaGl.js", "/assets/index-DzdDahau.js", "/assets/tooltip-Chzzs4KB.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-BW8stNyh.js", "/assets/presence-VCvV2mg7.js", "/assets/seo-t5J-DRxw.js", "/assets/pe-CIZUOJMr.js", "/assets/index-C_KjwKVt.js", "/assets/root-loader-BOzEMapJ.js", "/assets/online-DiNLkgTC.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_-BnmXymJG.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/misc-DVYuZMjW.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BxQPZuW6.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/index-CqIc3cxq.js", "/assets/pe-CIZUOJMr.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/product-GLsnY1u3.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/dialog-DnpUg3VT.js", "/assets/tooltip-Chzzs4KB.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/online-DiNLkgTC.js", "/assets/presence-VCvV2mg7.js", "/assets/root-loader-BOzEMapJ.js", "/assets/progress-fKsNxmmt.js", "/assets/index-BW8stNyh.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-C_KjwKVt.js", "/assets/index-vDCSPjrM.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/account-Cs3Te0is.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-CIlVtsau.js", "/assets/misc-DVYuZMjW.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/tooltip-Chzzs4KB.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/discord-CuxZiU8E.js", "imports": ["/assets/discord-DlU9y5Iz.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/user-BsPobzjB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BvtJxESE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-77g7-L-x.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-BVcJzJzi.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/progress-fKsNxmmt.js", "/assets/mdx-vrch0szL.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-BW8stNyh.js", "/assets/misc-DVYuZMjW.js", "/assets/tooltip-Chzzs4KB.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-B27isaGl.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber/:type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_layout-yxOoJ6Yg.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/nav-chevrons-DlNUibJV.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/progress-fKsNxmmt.js", "/assets/set-playground-DeMY9i7p.js", "/assets/misc-DVYuZMjW.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/epic-video-BVcJzJzi.js", "/assets/tooltip-Chzzs4KB.js", "/assets/mdx-vrch0szL.js", "/assets/index-C_KjwKVt.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-B27isaGl.js", "/assets/pe-CIZUOJMr.js", "/assets/index-BOhw3wcM.js", "/assets/index-vDCSPjrM.js", "/assets/button-CIlVtsau.js", "/assets/dialog-DnpUg3VT.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-BW8stNyh.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app-TcFAQB2o.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/preview-CiDtuQCc.js", "/assets/misc-DVYuZMjW.js", "/assets/button-CIlVtsau.js", "/assets/loading-CUydCGD3.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-B27isaGl.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-EdNV8gTk.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/playground-C_aP_pE8.js", "/assets/diff-CxEbhF8Q.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/misc-DVYuZMjW.js", "/assets/preview-CiDtuQCc.js", "/assets/tests-xD9PppmM.js", "/assets/index-CqIc3cxq.js", "/assets/loading-CUydCGD3.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-DlU9y5Iz.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-BOhw3wcM.js", "/assets/index-C_KjwKVt.js", "/assets/index-DzdDahau.js", "/assets/set-playground-DeMY9i7p.js", "/assets/button-CIlVtsau.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/progress-bar-B27isaGl.js", "/assets/dialog-DnpUg3VT.js", "/assets/playground-window-D9a7P7rH.js", "/assets/accordion-CzXT3k43.js", "/assets/mdx-vrch0szL.js", "/assets/epic-video-BVcJzJzi.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-CdEKoDoS.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/tests-xD9PppmM.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CzXT3k43.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/misc-DVYuZMjW.js", "/assets/index-BOhw3wcM.js", "/assets/index-C_KjwKVt.js", "/assets/epic-video-BVcJzJzi.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-BW8stNyh.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/playground-window-D9a7P7rH.js", "/assets/set-playground-DeMY9i7p.js", "/assets/button-CIlVtsau.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/progress-bar-B27isaGl.js", "/assets/dialog-DnpUg3VT.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber.index-DYb7kg06.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-DVYuZMjW.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/schemas-Uj5SZtvt.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-CGoPhVVF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-BVcJzJzi.js", "/assets/misc-DVYuZMjW.js", "/assets/loading-CUydCGD3.js", "/assets/nav-chevrons-DlNUibJV.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/progress-fKsNxmmt.js", "/assets/index-BW8stNyh.js", "/assets/mdx-vrch0szL.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Chzzs4KB.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/progress-bar-B27isaGl.js", "/assets/pe-CIZUOJMr.js", "/assets/preload-helper-BXl3LOEh.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/_layout": { "id": "routes/_app+/extra+/_layout", "parentId": "routes/_app+/_layout", "path": "extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-jJ6TnDJF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/$extra": { "id": "routes/_app+/extra+/$extra", "parentId": "routes/_app+/extra+/_layout", "path": ":extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_extra-BZPB_nWQ.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/playground-C_aP_pE8.js", "/assets/index-CqIc3cxq.js", "/assets/diff-CxEbhF8Q.js", "/assets/epic-video-BVcJzJzi.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/nav-chevrons-DlNUibJV.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preview-CiDtuQCc.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/set-playground-DeMY9i7p.js", "/assets/mdx-vrch0szL.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/misc-DVYuZMjW.js", "/assets/loading-CUydCGD3.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-DlU9y5Iz.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-BOhw3wcM.js", "/assets/index-C_KjwKVt.js", "/assets/index-DzdDahau.js", "/assets/playground-window-D9a7P7rH.js", "/assets/accordion-CzXT3k43.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/button-CIlVtsau.js", "/assets/progress-bar-B27isaGl.js", "/assets/onboarding-indicator-CVwXz3Cn.js", "/assets/dialog-DnpUg3VT.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/index": { "id": "routes/_app+/extra+/index", "parentId": "routes/_app+/extra+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-D3zOGeBE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-BVcJzJzi.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/mdx-vrch0szL.js", "/assets/misc-DVYuZMjW.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-B27isaGl.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/finished-CmV4aFjA.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-BVcJzJzi.js", "/assets/misc-DVYuZMjW.js", "/assets/loading-CUydCGD3.js", "/assets/nav-chevrons-DlNUibJV.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/mdx-vrch0szL.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/progress-fKsNxmmt.js", "/assets/index-BW8stNyh.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Chzzs4KB.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-B27isaGl.js", "/assets/pe-CIZUOJMr.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/guide": { "id": "routes/_app+/guide", "parentId": "routes/_app+/_layout", "path": "guide", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/guide-B4wAqzq_.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-B-9GR1C2.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-BVcJzJzi.js", "/assets/error-boundary-DFBd6s0g.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/mdx-vrch0szL.js", "/assets/misc-DVYuZMjW.js", "/assets/progress-fKsNxmmt.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-B27isaGl.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/l": { "id": "routes/_app+/l", "parentId": "routes/_app+/_layout", "path": "l", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/l-BWU2-fsj.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-DvBmP_ce.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/button-CIlVtsau.js", "/assets/loading-CUydCGD3.js", "/assets/product-GLsnY1u3.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/schemas-Uj5SZtvt.js", "/assets/misc-DVYuZMjW.js", "/assets/index-BW8stNyh.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/preferences": { "id": "routes/_app+/preferences", "parentId": "routes/_app+/_layout", "path": "preferences", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/preferences-BCvK10k2.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-CIlVtsau.js", "/assets/misc-DVYuZMjW.js", "/assets/tooltip-Chzzs4KB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/support-D5mDQ-c-.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/workspace-structure": { "id": "routes/_app+/workspace-structure", "parentId": "routes/_app+/_layout", "path": "workspace-structure", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/workspace-structure-i_5Tiikk.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-CIlVtsau.js", "/assets/index-CqIc3cxq.js", "/assets/misc-DVYuZMjW.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-CunOyAg4.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache-MJu_dqFS.js", "imports": ["/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/client-only-BeMV-Wuv.js", "/assets/button-CIlVtsau.js", "/assets/misc-DVYuZMjW.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/pe-CIZUOJMr.js", "/assets/progress-bar-B27isaGl.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache.$": { "id": "routes/admin+/cache.$", "parentId": "routes/admin+/cache", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/db": { "id": "routes/admin+/db", "parentId": "routes/admin+/_layout", "path": "db", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/db-x6v-Uxrh.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/tooltip-Chzzs4KB.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/progress-bar-B27isaGl.js", "/assets/pe-CIZUOJMr.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/index": { "id": "routes/admin+/index", "parentId": "routes/admin+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-C6vQqVxz.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/tooltip-Chzzs4KB.js", "/assets/progress-fKsNxmmt.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/notifications": { "id": "routes/admin+/notifications", "parentId": "routes/admin+/_layout", "path": "notifications", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/offline-videos": { "id": "routes/admin+/offline-videos", "parentId": "routes/admin+/_layout", "path": "offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-Do9PBh87.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version": { "id": "routes/admin+/version", "parentId": "routes/admin+/_layout", "path": "version", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version-f8qqYbyU.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version[.json]": { "id": "routes/admin+/version[.json]", "parentId": "routes/admin+/_layout", "path": "version.json", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version_.json_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff-eAvgXb3f.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-DVYuZMjW.js", "/assets/diff-CxEbhF8Q.js", "/assets/nav-chevrons-DlNUibJV.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CzXT3k43.js", "/assets/tooltip-Chzzs4KB.js", "/assets/index-vDCSPjrM.js", "/assets/index-BOhw3wcM.js", "/assets/index-C_KjwKVt.js", "/assets/mdx-vrch0szL.js", "/assets/index-DzdDahau.js", "/assets/epic-video-BVcJzJzi.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-BW8stNyh.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-B2dmpkaO.js", "/assets/progress-bar-B27isaGl.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff.$shortcut": { "id": "routes/diff.$shortcut", "parentId": "routes/diff", "path": ":shortcut", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff._shortcut-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mark-onboarding-complete": { "id": "routes/mark-onboarding-complete", "parentId": "root", "path": "mark-onboarding-complete", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/mark-onboarding-complete-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mcp-ui+/epic-video": { "id": "routes/mcp-ui+/epic-video", "parentId": "root", "path": "mcp-ui/epic-video", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic-video-Bx8Ctiez.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-BVcJzJzi.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-BW8stNyh.js", "/assets/misc-DVYuZMjW.js", "/assets/tooltip-Chzzs4KB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CUydCGD3.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/persist-playground": { "id": "routes/persist-playground", "parentId": "root", "path": "persist-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/persist-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/healthcheck": { "id": "routes/resources+/healthcheck", "parentId": "root", "path": "resources/healthcheck", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/healthcheck-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/lookout": { "id": "routes/resources+/lookout", "parentId": "root", "path": "resources/lookout", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/lookout-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-video-progress.$playbackId": { "id": "routes/resources+/offline-video-progress.$playbackId", "parentId": "root", "path": "resources/offline-video-progress/:playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-video-progress._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos": { "id": "routes/resources+/offline-videos", "parentId": "root", "path": "resources/offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos.$playbackId": { "id": "routes/resources+/offline-videos.$playbackId", "parentId": "routes/resources+/offline-videos", "path": ":playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/saved-playgrounds": { "id": "routes/saved-playgrounds", "parentId": "root", "path": "saved-playgrounds", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/saved-playgrounds-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-34df6718.js", "version": "34df6718", "sri": void 0 };
|
|
17489
|
+
const serverManifest = { "entry": { "module": "/assets/entry.client-Dbw2ihVI.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/root-Bktp3RtN.js", "imports": ["/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/client-only-BeMV-Wuv.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/dialog-CzO65Z5w.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/index-DzdDahau.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-CdzVFL-Z.js", "/assets/presence-VCvV2mg7.js", "/assets/seo-t5J-DRxw.js", "/assets/pe-CIZUOJMr.js", "/assets/index-ynYvVAOK.js", "/assets/root-loader-BOzEMapJ.js", "/assets/online-DiNLkgTC.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_-dWSrc4Ox.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BQ8VYaze.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/pe-CIZUOJMr.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/product-CvyMpYD_.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/dialog-CzO65Z5w.js", "/assets/index-CmflCPTU.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/online-DiNLkgTC.js", "/assets/presence-VCvV2mg7.js", "/assets/root-loader-BOzEMapJ.js", "/assets/progress-ILaVQtOO.js", "/assets/index-CdzVFL-Z.js", "/assets/schemas-Uj5SZtvt.js", "/assets/index-ynYvVAOK.js", "/assets/index-vDCSPjrM.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/account-C96cpeZR.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/app.epic_ws[.js]": { "id": "routes/_app+/app.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/discord-r3m19sUM.js", "imports": ["/assets/discord-BJkw0IrB.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/user-BsPobzjB.js", "/assets/root-loader-BOzEMapJ.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-BvtJxESE.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-DgMb13KP.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-D0drHmgC.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-ILaVQtOO.js", "/assets/mdx-BzyhMqFg.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber/:type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_layout-DR0LQ06M.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-ILaVQtOO.js", "/assets/set-playground-BSGwH9dH.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/epic-video-D0drHmgC.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/mdx-BzyhMqFg.js", "/assets/index-CmflCPTU.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/index-CJDOQ1bl.js", "/assets/index-vDCSPjrM.js", "/assets/index-ynYvVAOK.js", "/assets/button-Cd-ekki5.js", "/assets/dialog-CzO65Z5w.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/coerce-CkHW0SMv.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/app-CJniokic.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/preview-fhmjENlm.js", "/assets/misc-W4055b-0.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/progress-bar-DpWhcyhC.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-hhQHCvb9.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/playground-DmEAkxG1.js", "/assets/diff-BhWzqoVN.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/misc-W4055b-0.js", "/assets/preview-fhmjENlm.js", "/assets/tests-fDISNsE-.js", "/assets/index-CqIc3cxq.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/mdx-BzyhMqFg.js", "/assets/epic-video-D0drHmgC.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "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", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-DtQCjBBX.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/tests-fDISNsE-.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/misc-W4055b-0.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/epic-video-D0drHmgC.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/set-playground-BSGwH9dH.js", "/assets/button-Cd-ekki5.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber.index-WLW-sVZ0.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/error-boundary-BDqWjIFP.js", "/assets/index-CqIc3cxq.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/misc-W4055b-0.js", "/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/schemas-Uj5SZtvt.js", "/assets/coerce-CkHW0SMv.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-DkAs61X_.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-D0drHmgC.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-ILaVQtOO.js", "/assets/index-CdzVFL-Z.js", "/assets/mdx-BzyhMqFg.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/preload-helper-BXl3LOEh.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/_layout": { "id": "routes/_app+/extra+/_layout", "parentId": "routes/_app+/_layout", "path": "extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-jJ6TnDJF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/$extra": { "id": "routes/_app+/extra+/$extra", "parentId": "routes/_app+/extra+/_layout", "path": ":extra", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/_extra-fwsy2qkP.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/playground-DmEAkxG1.js", "/assets/index-CqIc3cxq.js", "/assets/diff-BhWzqoVN.js", "/assets/epic-video-D0drHmgC.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preview-fhmjENlm.js", "/assets/launch-editor-D2exGfVu.js", "/assets/set-playground-BSGwH9dH.js", "/assets/mdx-BzyhMqFg.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/split-layout-DnRER1bP.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/discord-BJkw0IrB.js", "/assets/user-BsPobzjB.js", "/assets/online-DiNLkgTC.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/status-indicator-C6DiLYL5.js", "/assets/index-DzdDahau.js", "/assets/playground-window-x2mQ5o1O.js", "/assets/accordion-CQ7oujC6.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/button-Cd-ekki5.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/onboarding-indicator-B-XR90_G.js", "/assets/dialog-CzO65Z5w.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/extra+/index": { "id": "routes/_app+/extra+/index", "parentId": "routes/_app+/extra+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-BKAVQvm5.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-D0drHmgC.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-BzyhMqFg.js", "/assets/misc-W4055b-0.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/finished-CiVHAeSV.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-D0drHmgC.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/mdx-BzyhMqFg.js", "/assets/online-DiNLkgTC.js", "/assets/root-loader-BOzEMapJ.js", "/assets/seo-t5J-DRxw.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-ILaVQtOO.js", "/assets/index-CdzVFL-Z.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/schemas-Uj5SZtvt.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/guide": { "id": "routes/_app+/guide", "parentId": "routes/_app+/_layout", "path": "guide", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/guide-Cinib8Ji.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": true, "module": "/assets/index-C_wcF1aP.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-D0drHmgC.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-BzyhMqFg.js", "/assets/misc-W4055b-0.js", "/assets/progress-ILaVQtOO.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/progress-bar-DpWhcyhC.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/l": { "id": "routes/_app+/l", "parentId": "routes/_app+/_layout", "path": "l", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/l-BWU2-fsj.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-mWjVXGbJ.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/button-Cd-ekki5.js", "/assets/loading-CDNzW5oO.js", "/assets/product-CvyMpYD_.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/schemas-Uj5SZtvt.js", "/assets/misc-W4055b-0.js", "/assets/index-CdzVFL-Z.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/preferences": { "id": "routes/_app+/preferences", "parentId": "routes/_app+/_layout", "path": "preferences", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/preferences-D6HQ5bK1.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/support-D5mDQ-c-.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/_app+/workspace-structure": { "id": "routes/_app+/workspace-structure", "parentId": "routes/_app+/_layout", "path": "workspace-structure", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/workspace-structure-B6Rpl-B2.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/button-Cd-ekki5.js", "/assets/index-CqIc3cxq.js", "/assets/misc-W4055b-0.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/_layout-CunOyAg4.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache-CAr50MIB.js", "imports": ["/assets/chunk-FNSCYPCZ-BHgC5cdx.js", "/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/client-only-BeMV-Wuv.js", "/assets/button-Cd-ekki5.js", "/assets/misc-W4055b-0.js", "/assets/launch-editor-D2exGfVu.js", "/assets/pe-CIZUOJMr.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/cache.$": { "id": "routes/admin+/cache.$", "parentId": "routes/admin+/cache", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/cache._-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/db": { "id": "routes/admin+/db", "parentId": "routes/admin+/_layout", "path": "db", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/db-DAnX-T3_.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/launch-editor-D2exGfVu.js", "/assets/index-CqIc3cxq.js", "/assets/index-vDCSPjrM.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/pe-CIZUOJMr.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/index": { "id": "routes/admin+/index", "parentId": "routes/admin+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DuFMeXSm.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/progress-ILaVQtOO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/index-vDCSPjrM.js", "/assets/pe-CIZUOJMr.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/notifications": { "id": "routes/admin+/notifications", "parentId": "routes/admin+/_layout", "path": "notifications", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/offline-videos": { "id": "routes/admin+/offline-videos", "parentId": "routes/admin+/_layout", "path": "offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-BP7_xJkO.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/index-CqIc3cxq.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version": { "id": "routes/admin+/version", "parentId": "routes/admin+/_layout", "path": "version", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version-f8qqYbyU.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/index-CqIc3cxq.js", "/assets/root-loader-BOzEMapJ.js"], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/admin+/version[.json]": { "id": "routes/admin+/version[.json]", "parentId": "routes/admin+/_layout", "path": "version.json", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/version_.json_-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff-DC-wn6-x.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/diff-BhWzqoVN.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/index-CqIc3cxq.js", "/assets/accordion-CQ7oujC6.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/index-vDCSPjrM.js", "/assets/index-CJDOQ1bl.js", "/assets/index-ynYvVAOK.js", "/assets/mdx-BzyhMqFg.js", "/assets/index-DzdDahau.js", "/assets/epic-video-D0drHmgC.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-CdzVFL-Z.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/preload-helper-BXl3LOEh.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-bar-DpWhcyhC.js", "/assets/revalidation-ws-BJWJviUX.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/diff.$shortcut": { "id": "routes/diff.$shortcut", "parentId": "routes/diff", "path": ":shortcut", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/diff._shortcut-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mark-onboarding-complete": { "id": "routes/mark-onboarding-complete", "parentId": "root", "path": "mark-onboarding-complete", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/mark-onboarding-complete-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/mcp-ui+/epic-video": { "id": "routes/mcp-ui+/epic-video", "parentId": "root", "path": "mcp-ui/epic-video", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/epic-video-8Hv_HMMr.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-D0drHmgC.js", "/assets/use-event-source-BuD4_2SF.js", "/assets/index-DzdDahau.js", "/assets/index-vDCSPjrM.js", "/assets/index-CdzVFL-Z.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/root-loader-BOzEMapJ.js", "/assets/pe-CIZUOJMr.js", "/assets/schemas-Uj5SZtvt.js", "/assets/online-DiNLkgTC.js", "/assets/loading-CDNzW5oO.js", "/assets/user-BsPobzjB.js", "/assets/workshop-config-Zfc8zU0x.js"], "css": ["/assets/epic-video-irT-uesJ.css"], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/persist-playground": { "id": "routes/persist-playground", "parentId": "root", "path": "persist-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/persist-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/healthcheck": { "id": "routes/resources+/healthcheck", "parentId": "root", "path": "resources/healthcheck", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/healthcheck-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/lookout": { "id": "routes/resources+/lookout", "parentId": "root", "path": "resources/lookout", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/lookout-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-video-progress.$playbackId": { "id": "routes/resources+/offline-video-progress.$playbackId", "parentId": "root", "path": "resources/offline-video-progress/:playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-video-progress._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos": { "id": "routes/resources+/offline-videos", "parentId": "root", "path": "resources/offline-videos", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/resources+/offline-videos.$playbackId": { "id": "routes/resources+/offline-videos.$playbackId", "parentId": "routes/resources+/offline-videos", "path": ":playbackId", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/offline-videos._playbackId-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/saved-playgrounds": { "id": "routes/saved-playgrounds", "parentId": "root", "path": "saved-playgrounds", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/saved-playgrounds-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasClientMiddleware": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [], "clientActionModule": void 0, "clientLoaderModule": void 0, "clientMiddlewareModule": void 0, "hydrateFallbackModule": void 0 } }, "url": "/assets/manifest-970c9ad1.js", "version": "970c9ad1", "sri": void 0 };
|
|
16914
17490
|
const assetsBuildDirectory = "build/client";
|
|
16915
17491
|
const basename = "/";
|
|
16916
17492
|
const future = { "unstable_optimizeDeps": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };
|