@epic-web/workshop-app 4.23.0 → 4.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/build/client/assets/{_-Cv8HqtE8.js → _-BtebIQXw.js} +2 -2
  2. package/build/client/assets/{_-Cv8HqtE8.js.map → _-BtebIQXw.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber-D2tXimAK.js → _exerciseNumber-DPHRlskl.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber-D2tXimAK.js.map → _exerciseNumber-DPHRlskl.js.map} +1 -1
  5. package/build/client/assets/{_exerciseNumber_._stepNumber-CquNe5XV.js → _exerciseNumber_._stepNumber-D1CLZqv3.js} +2 -2
  6. package/build/client/assets/{_exerciseNumber_._stepNumber-CquNe5XV.js.map → _exerciseNumber_._stepNumber-D1CLZqv3.js.map} +1 -1
  7. package/build/client/assets/{_exerciseNumber_.finished-B-sqDk3j.js → _exerciseNumber_.finished-BtU0LxSx.js} +2 -2
  8. package/build/client/assets/{_exerciseNumber_.finished-B-sqDk3j.js.map → _exerciseNumber_.finished-BtU0LxSx.js.map} +1 -1
  9. package/build/client/assets/{_layout-CRkVkufr.js → _layout-BUs3av-e.js} +2 -2
  10. package/build/client/assets/{_layout-CRkVkufr.js.map → _layout-BUs3av-e.js.map} +1 -1
  11. package/build/client/assets/{_layout-Ciyqvptc.js → _layout-D2SdN9lJ.js} +2 -2
  12. package/build/client/assets/{_layout-Ciyqvptc.js.map → _layout-D2SdN9lJ.js.map} +1 -1
  13. package/build/client/assets/_layout-D9AYVDws.js +2 -0
  14. package/build/client/assets/_layout-D9AYVDws.js.map +1 -0
  15. package/build/client/assets/{_layout-C9AozQxr.js → _layout-DN2lWivk.js} +2 -2
  16. package/build/client/assets/{_layout-C9AozQxr.js.map → _layout-DN2lWivk.js.map} +1 -1
  17. package/build/client/assets/{accordion-B-gQ5Whz.js → accordion-BTylpyuo.js} +2 -2
  18. package/build/client/assets/{accordion-B-gQ5Whz.js.map → accordion-BTylpyuo.js.map} +1 -1
  19. package/build/client/assets/{account-B-3k5HDM.js → account-Boc55rcF.js} +2 -2
  20. package/build/client/assets/{account-B-3k5HDM.js.map → account-Boc55rcF.js.map} +1 -1
  21. package/build/client/assets/app-D21SF96g.js +2 -0
  22. package/build/client/assets/{app-DAWCzuDw.js.map → app-D21SF96g.js.map} +1 -1
  23. package/build/client/assets/{button-DataaIpW.js → button-D3GGLffs.js} +2 -2
  24. package/build/client/assets/{button-DataaIpW.js.map → button-D3GGLffs.js.map} +1 -1
  25. package/build/client/assets/{components-BQB6wEvm.js → components-CME-nGId.js} +18 -18
  26. package/build/client/assets/{components-BQB6wEvm.js.map → components-CME-nGId.js.map} +1 -1
  27. package/build/client/assets/{diff-BWSOt7tL.js → diff-Dlhnb9s0.js} +2 -2
  28. package/build/client/assets/{diff-BWSOt7tL.js.map → diff-Dlhnb9s0.js.map} +1 -1
  29. package/build/client/assets/diff-_Yp5qaGd.js +2 -0
  30. package/build/client/assets/{diff-JWdZCc2F.js.map → diff-_Yp5qaGd.js.map} +1 -1
  31. package/build/client/assets/discord-BZFQqiA1.js +2 -0
  32. package/build/client/assets/discord-BZFQqiA1.js.map +1 -0
  33. package/build/client/assets/{discord-BfUTLoVF.js → discord-ClGJ4reK.js} +2 -2
  34. package/build/client/assets/{discord-BfUTLoVF.js.map → discord-ClGJ4reK.js.map} +1 -1
  35. package/build/client/assets/{entry.client-7AjQ7fYK.js → entry.client-3M2p-8I3.js} +9 -9
  36. package/build/client/assets/{entry.client-7AjQ7fYK.js.map → entry.client-3M2p-8I3.js.map} +1 -1
  37. package/build/client/assets/{epic-video-D8tfMIv8.js → epic-video-BDMU5eQx.js} +2 -2
  38. package/build/client/assets/{epic-video-D8tfMIv8.js.map → epic-video-BDMU5eQx.js.map} +1 -1
  39. package/build/client/assets/{error-boundary-Bx1mDmB-.js → error-boundary-w-YmME9H.js} +2 -2
  40. package/build/client/assets/{error-boundary-Bx1mDmB-.js.map → error-boundary-w-YmME9H.js.map} +1 -1
  41. package/build/client/assets/{finished-DvXH6L-Q.js → finished-DpVgSUHh.js} +2 -2
  42. package/build/client/assets/{finished-DvXH6L-Q.js.map → finished-DpVgSUHh.js.map} +1 -1
  43. package/build/client/assets/index-1cKOJFpX.js +37 -0
  44. package/build/client/assets/{index-2WpY3jqc.js.map → index-1cKOJFpX.js.map} +1 -1
  45. package/build/client/assets/{index-DmASob5Y.js → index-4mfbmNml.js} +2 -2
  46. package/build/client/assets/{index-DmASob5Y.js.map → index-4mfbmNml.js.map} +1 -1
  47. package/build/client/assets/{index-Bt0Fs1uZ.js → index-B-hHvmeV.js} +2 -2
  48. package/build/client/assets/{index-Bt0Fs1uZ.js.map → index-B-hHvmeV.js.map} +1 -1
  49. package/build/client/assets/{index-kXas9qNh.js → index-BMMmOqxO.js} +2 -2
  50. package/build/client/assets/{index-kXas9qNh.js.map → index-BMMmOqxO.js.map} +1 -1
  51. package/build/client/assets/{index-bM_TIo_p.js → index-Cr2THg3v.js} +2 -2
  52. package/build/client/assets/{index-bM_TIo_p.js.map → index-Cr2THg3v.js.map} +1 -1
  53. package/build/client/assets/{index-aPMCrDDW.js → index-CrCyg109.js} +2 -2
  54. package/build/client/assets/{index-aPMCrDDW.js.map → index-CrCyg109.js.map} +1 -1
  55. package/build/client/assets/{index-DGsreVfh.js → index-Dx5GmdYq.js} +2 -2
  56. package/build/client/assets/{index-DGsreVfh.js.map → index-Dx5GmdYq.js.map} +1 -1
  57. package/build/client/assets/{index-TIHEbU65.js → index-lG6dAghh.js} +2 -2
  58. package/build/client/assets/{index-TIHEbU65.js.map → index-lG6dAghh.js.map} +1 -1
  59. package/build/client/assets/{loading-DXKqMYHW.js → loading-CYX0lUnA.js} +2 -2
  60. package/build/client/assets/{loading-DXKqMYHW.js.map → loading-CYX0lUnA.js.map} +1 -1
  61. package/build/client/assets/{login-WXKB-OYe.js → login-BfJnysK5.js} +2 -2
  62. package/build/client/assets/{login-WXKB-OYe.js.map → login-BfJnysK5.js.map} +1 -1
  63. package/build/client/assets/{manifest-5edda375.js → manifest-342e7776.js} +1 -1
  64. package/build/client/assets/mdx-DGrucPXJ.js +2 -0
  65. package/build/client/assets/{mdx-D0cZm8uP.js.map → mdx-DGrucPXJ.js.map} +1 -1
  66. package/build/client/assets/misc-BvHlNnqL.js +2 -0
  67. package/build/client/assets/misc-BvHlNnqL.js.map +1 -0
  68. package/build/client/assets/{nav-chevrons-BB1CK34B.js → nav-chevrons-DNlM2M58.js} +2 -2
  69. package/build/client/assets/{nav-chevrons-BB1CK34B.js.map → nav-chevrons-DNlM2M58.js.map} +1 -1
  70. package/build/client/assets/{onboarding-CK8-hFDT.js → onboarding-C9YKrBRk.js} +2 -2
  71. package/build/client/assets/{onboarding-CK8-hFDT.js.map → onboarding-C9YKrBRk.js.map} +1 -1
  72. package/build/client/assets/{pe-BmTNRcy_.js → pe-CUZaIcdt.js} +2 -2
  73. package/build/client/assets/{pe-BmTNRcy_.js.map → pe-CUZaIcdt.js.map} +1 -1
  74. package/build/client/assets/{presence-CmTnJPJh.js → presence-Cr--lRCr.js} +2 -2
  75. package/build/client/assets/{presence-CmTnJPJh.js.map → presence-Cr--lRCr.js.map} +1 -1
  76. package/build/client/assets/{preview-BbJZ7UrX.js → preview-cQAZ1sWw.js} +2 -2
  77. package/build/client/assets/{preview-BbJZ7UrX.js.map → preview-cQAZ1sWw.js.map} +1 -1
  78. package/build/client/assets/{product-Bi2uble-.js → product-BUD74Itn.js} +2 -2
  79. package/build/client/assets/{product-Bi2uble-.js.map → product-BUD74Itn.js.map} +1 -1
  80. package/build/client/assets/{progress-fFpCuCyE.js → progress-Dn5gs-vs.js} +2 -2
  81. package/build/client/assets/{progress-fFpCuCyE.js.map → progress-Dn5gs-vs.js.map} +1 -1
  82. package/build/client/assets/{progress-bar-HYCoNAkN.js → progress-bar-C7Wl3UWv.js} +2 -2
  83. package/build/client/assets/{progress-bar-HYCoNAkN.js.map → progress-bar-C7Wl3UWv.js.map} +1 -1
  84. package/build/client/assets/{request-info-D6MPpnDd.js → request-info-CEhUGODY.js} +2 -2
  85. package/build/client/assets/{request-info-D6MPpnDd.js.map → request-info-CEhUGODY.js.map} +1 -1
  86. package/build/client/assets/{root-CY8QRU4e.js → root-BO8-KppB.js} +3 -3
  87. package/build/client/assets/{root-CY8QRU4e.js.map → root-BO8-KppB.js.map} +1 -1
  88. package/build/client/assets/{set-playground-8-BH15HT.js → set-playground-CCm119Nm.js} +2 -2
  89. package/build/client/assets/{set-playground-8-BH15HT.js.map → set-playground-CCm119Nm.js.map} +1 -1
  90. package/build/client/assets/{support-l4EbxG8X.js → support-hcqGIpir.js} +2 -2
  91. package/build/client/assets/{support-l4EbxG8X.js.map → support-hcqGIpir.js.map} +1 -1
  92. package/build/client/assets/test-CPv5Bgs_.js +2 -0
  93. package/build/client/assets/{test--z-MS4Cz.js.map → test-CPv5Bgs_.js.map} +1 -1
  94. package/build/client/assets/{tests-CNclXTWp.js → tests-DCK6NqSg.js} +2 -2
  95. package/build/client/assets/{tests-CNclXTWp.js.map → tests-DCK6NqSg.js.map} +1 -1
  96. package/build/client/assets/{tooltip-Blm9zu1K.js → tooltip-fa2eC7LQ.js} +2 -2
  97. package/build/client/assets/{tooltip-Blm9zu1K.js.map → tooltip-fa2eC7LQ.js.map} +1 -1
  98. package/build/client/assets/{use-event-source-C81lzj_8.js → use-event-source-A_0lEOPX.js} +2 -2
  99. package/build/client/assets/{use-event-source-C81lzj_8.js.map → use-event-source-A_0lEOPX.js.map} +1 -1
  100. package/build/client/assets/{user-2ca9K5af.js → user-D6tTg1yS.js} +2 -2
  101. package/build/client/assets/{user-2ca9K5af.js.map → user-D6tTg1yS.js.map} +1 -1
  102. package/build/client/assets/{workshop-config-COvWTBns.js → workshop-config-CL4F08kr.js} +2 -2
  103. package/build/client/assets/{workshop-config-COvWTBns.js.map → workshop-config-CL4F08kr.js.map} +1 -1
  104. package/build/server/index.js +32 -26
  105. package/build/server/index.js.map +1 -1
  106. package/dist/server/index.js +5 -5
  107. package/package.json +3 -3
  108. package/build/client/assets/_layout-C7yUCsjZ.js +0 -2
  109. package/build/client/assets/_layout-C7yUCsjZ.js.map +0 -1
  110. package/build/client/assets/app-DAWCzuDw.js +0 -2
  111. package/build/client/assets/diff-JWdZCc2F.js +0 -2
  112. package/build/client/assets/discord-BqGuuhG3.js +0 -2
  113. package/build/client/assets/discord-BqGuuhG3.js.map +0 -1
  114. package/build/client/assets/index-2WpY3jqc.js +0 -37
  115. package/build/client/assets/mdx-D0cZm8uP.js +0 -2
  116. package/build/client/assets/misc-LevbAJZ6.js +0 -2
  117. package/build/client/assets/misc-LevbAJZ6.js.map +0 -1
  118. package/build/client/assets/test--z-MS4Cz.js +0 -2
  119. /package/build/client/{icons.svg → assets/icons-CnZJXICl.svg} +0 -0
@@ -1,2 +1,2 @@
1
- import{r}from"./index-2WpY3jqc.js";const l=r.createContext(new Map);l.Provider;function m(n,{event:s="message",init:t}={}){let o=r.useContext(l),[d,a]=r.useState(null);return r.useEffect(()=>{let u=[n.toString(),t==null?void 0:t.withCredentials].join("::"),e=o.get(u)??{count:0,source:new EventSource(n,t)};++e.count,o.set(u,e),e.source.addEventListener(s,c),a(null);function c(E){a(E.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(s,c),--e.count,e.count<=0&&(e.source.close(),o.delete(u))}},[n,s,t,o]),d}export{m as u};
2
- //# sourceMappingURL=use-event-source-C81lzj_8.js.map
1
+ import{r}from"./index-1cKOJFpX.js";const l=r.createContext(new Map);l.Provider;function m(n,{event:s="message",init:t}={}){let o=r.useContext(l),[d,a]=r.useState(null);return r.useEffect(()=>{let u=[n.toString(),t==null?void 0:t.withCredentials].join("::"),e=o.get(u)??{count:0,source:new EventSource(n,t)};++e.count,o.set(u,e),e.source.addEventListener(s,c),a(null);function c(E){a(E.data||"UNKNOWN_EVENT_DATA")}return()=>{e.source.removeEventListener(s,c),--e.count,e.count<=0&&(e.source.close(),o.delete(u))}},[n,s,t,o]),d}export{m as u};
2
+ //# sourceMappingURL=use-event-source-A_0lEOPX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-event-source-C81lzj_8.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { useEffect, useState, createContext, useContext } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map]);\n return data;\n}\n"],"names":["context","createContext","useEventSource","url","event","init","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"mCACA,MAAMA,EAAUC,EAAa,cAAC,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,CAAM,EAAG,GAAI,CAClE,IAAIC,EAAMC,aAAWP,CAAO,EACxB,CAACQ,EAAMC,CAAO,EAAIC,EAAQ,SAAC,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,IAAIC,EAAM,CAACT,EAAI,SAAU,EAAEE,GAAA,YAAAA,EAAM,eAAe,EAAE,KAAK,IAAI,EACvDQ,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYT,EAAKE,CAAI,CAC7C,EACQ,EAAEQ,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBT,EAAOU,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQV,EAAO,CACpBK,EAAQL,EAAM,MAAQ,oBAAoB,CAC7C,CACD,MAAO,IAAM,CACTS,EAAM,OAAO,oBAAoBT,EAAOU,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,QACbP,EAAI,OAAOM,CAAG,EAE9B,CACK,EAAE,CAACT,EAAKC,EAAOC,EAAMC,CAAG,CAAC,EACnBE,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"use-event-source-A_0lEOPX.js","sources":["../../../../../node_modules/remix-utils/build/react/use-event-source.js"],"sourcesContent":["import { useEffect, useState, createContext, useContext } from \"react\";\nconst context = createContext(new Map());\nexport const EventSourceProvider = context.Provider;\n/**\n * Subscribe to an event source and return the latest event.\n * @param url The URL of the event source to connect to\n * @param options The options to pass to the EventSource constructor\n * @returns The last event received from the server\n */\nexport function useEventSource(url, { event = \"message\", init } = {}) {\n let map = useContext(context);\n let [data, setData] = useState(null);\n useEffect(() => {\n let key = [url.toString(), init?.withCredentials].join(\"::\");\n let value = map.get(key) ?? {\n count: 0,\n source: new EventSource(url, init),\n };\n ++value.count;\n map.set(key, value);\n value.source.addEventListener(event, handler);\n // rest data if dependencies change\n setData(null);\n function handler(event) {\n setData(event.data || \"UNKNOWN_EVENT_DATA\");\n }\n return () => {\n value.source.removeEventListener(event, handler);\n --value.count;\n if (value.count <= 0) {\n value.source.close();\n map.delete(key);\n }\n };\n }, [url, event, init, map]);\n return data;\n}\n"],"names":["context","createContext","useEventSource","url","event","init","map","useContext","data","setData","useState","useEffect","key","value","handler"],"mappings":"mCACA,MAAMA,EAAUC,EAAa,cAAC,IAAI,GAAK,EACJD,EAAQ,SAOpC,SAASE,EAAeC,EAAK,CAAE,MAAAC,EAAQ,UAAW,KAAAC,CAAM,EAAG,GAAI,CAClE,IAAIC,EAAMC,aAAWP,CAAO,EACxB,CAACQ,EAAMC,CAAO,EAAIC,EAAQ,SAAC,IAAI,EACnCC,OAAAA,EAAAA,UAAU,IAAM,CACZ,IAAIC,EAAM,CAACT,EAAI,SAAU,EAAEE,GAAA,YAAAA,EAAM,eAAe,EAAE,KAAK,IAAI,EACvDQ,EAAQP,EAAI,IAAIM,CAAG,GAAK,CACxB,MAAO,EACP,OAAQ,IAAI,YAAYT,EAAKE,CAAI,CAC7C,EACQ,EAAEQ,EAAM,MACRP,EAAI,IAAIM,EAAKC,CAAK,EAClBA,EAAM,OAAO,iBAAiBT,EAAOU,CAAO,EAE5CL,EAAQ,IAAI,EACZ,SAASK,EAAQV,EAAO,CACpBK,EAAQL,EAAM,MAAQ,oBAAoB,CAC7C,CACD,MAAO,IAAM,CACTS,EAAM,OAAO,oBAAoBT,EAAOU,CAAO,EAC/C,EAAED,EAAM,MACJA,EAAM,OAAS,IACfA,EAAM,OAAO,QACbP,EAAI,OAAOM,CAAG,EAE9B,CACK,EAAE,CAACT,EAAKC,EAAOC,EAAMC,CAAG,CAAC,EACnBE,CACX","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{e as r}from"./components-BQB6wEvm.js";function s(){const e=r("root");return e==null?void 0:e.user}function t(){const e=s();if(!e)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return e}function u(){const e=r("root");return e==null?void 0:e.discordMember}export{u as a,s as b,t as u};
2
- //# sourceMappingURL=user-2ca9K5af.js.map
1
+ import{e as r}from"./components-CME-nGId.js";function s(){const e=r("root");return e==null?void 0:e.user}function t(){const e=s();if(!e)throw new Error("useUser requires a user. If the user is optional, use useOptionalUser instead.");return e}function u(){const e=r("root");return e==null?void 0:e.discordMember}export{u as a,s as b,t as u};
2
+ //# sourceMappingURL=user-D6tTg1yS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-2ca9K5af.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.discordMember\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n"],"names":["useOptionalUser","data","useRouteLoaderData","useUser","user","useOptionalDiscordMember"],"mappings":"6CAGO,SAASA,GAAkB,CAC3B,MAAAC,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,IACd,CAEO,SAASE,GAAU,CACzB,MAAMC,EAAOJ,IACb,GAAI,CAACI,EACJ,MAAM,IAAI,MACT,gFAAA,EAGK,OAAAA,CACR,CAEO,SAASC,GAA2B,CACpC,MAAAJ,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,aACd"}
1
+ {"version":3,"file":"user-D6tTg1yS.js","sources":["../../../app/components/user.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useOptionalUser() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.user\n}\n\nexport function useUser() {\n\tconst user = useOptionalUser()\n\tif (!user) {\n\t\tthrow new Error(\n\t\t\t'useUser requires a user. If the user is optional, use useOptionalUser instead.',\n\t\t)\n\t}\n\treturn user\n}\n\nexport function useOptionalDiscordMember() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\treturn data?.discordMember\n}\n\nexport function useDiscordMember() {\n\tconst discordMember = useOptionalDiscordMember()\n\tif (!discordMember) {\n\t\tthrow new Error(\n\t\t\t'useDiscordMember requires a discordMember. If the discordMember is optional, use useOptionalDiscordMember instead.',\n\t\t)\n\t}\n\treturn discordMember\n}\n"],"names":["useOptionalUser","data","useRouteLoaderData","useUser","user","useOptionalDiscordMember"],"mappings":"6CAGO,SAASA,GAAkB,CAC3B,MAAAC,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,IACd,CAEO,SAASE,GAAU,CACzB,MAAMC,EAAOJ,IACb,GAAI,CAACI,EACJ,MAAM,IAAI,MACT,gFAAA,EAGK,OAAAA,CACR,CAEO,SAASC,GAA2B,CACpC,MAAAJ,EAAOC,EAAsC,MAAM,EACzD,OAAOD,GAAA,YAAAA,EAAM,aACd"}
@@ -1,2 +1,2 @@
1
- import{e as r}from"./components-BQB6wEvm.js";function e(){const o=r("root");if(!(o!=null&&o.workshopConfig))throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
2
- //# sourceMappingURL=workshop-config-COvWTBns.js.map
1
+ import{e as r}from"./components-CME-nGId.js";function e(){const o=r("root");if(!(o!=null&&o.workshopConfig))throw new Error("useWorkshopConfig requires a workshopConfig.");return o.workshopConfig}export{e as u};
2
+ //# sourceMappingURL=workshop-config-CL4F08kr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workshop-config-COvWTBns.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"6CAGO,SAASA,GAAoB,CAC7B,MAAAC,EAAOC,EAAsC,MAAM,EACrD,GAAA,EAACD,GAAA,MAAAA,EAAM,gBACJ,MAAA,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
1
+ {"version":3,"file":"workshop-config-CL4F08kr.js","sources":["../../../app/components/workshop-config.tsx"],"sourcesContent":["import { useRouteLoaderData } from '@remix-run/react'\nimport { type loader as rootLoader } from '#app/root.tsx'\n\nexport function useWorkshopConfig() {\n\tconst data = useRouteLoaderData<typeof rootLoader>('root')\n\tif (!data?.workshopConfig) {\n\t\tthrow new Error('useWorkshopConfig requires a workshopConfig.')\n\t}\n\treturn data.workshopConfig\n}\n"],"names":["useWorkshopConfig","data","useRouteLoaderData"],"mappings":"6CAGO,SAASA,GAAoB,CAC7B,MAAAC,EAAOC,EAAsC,MAAM,EACrD,GAAA,EAACD,GAAA,MAAAA,EAAM,gBACJ,MAAA,IAAI,MAAM,8CAA8C,EAE/D,OAAOA,EAAK,cACb"}
@@ -1185,7 +1185,7 @@ const WorkshopConfigSchema = z$1.object({
1185
1185
  title: z$1.string(),
1186
1186
  subtitle: z$1.string().optional(),
1187
1187
  instructor: InstructorSchema.optional(),
1188
- epicWorkshopHost: z$1.string().default("www.epicweb.dev"),
1188
+ epicWorkshopHost: z$1.string().optional(),
1189
1189
  epicWorkshopSlug: z$1.string().optional(),
1190
1190
  product: z$1.object({
1191
1191
  host: z$1.string().default("www.epicweb.dev"),
@@ -1223,8 +1223,8 @@ const WorkshopConfigSchema = z$1.object({
1223
1223
  ...data.product,
1224
1224
  displayNameShort: data.product.displayNameShort ?? data.product.displayName,
1225
1225
  // for backwards compatibility
1226
- host: data.epicWorkshopHost,
1227
- slug: data.epicWorkshopSlug
1226
+ host: data.product.host ?? data.epicWorkshopHost,
1227
+ slug: data.product.slug ?? data.epicWorkshopSlug
1228
1228
  }
1229
1229
  };
1230
1230
  });
@@ -2728,6 +2728,7 @@ function Confetti({ id }) {
2728
2728
  id
2729
2729
  ) });
2730
2730
  }
2731
+ const iconsSvg = "/assets/icons-CnZJXICl.svg";
2731
2732
  function AnimatedBars({
2732
2733
  title,
2733
2734
  size = 16,
@@ -2800,7 +2801,7 @@ function Icon({
2800
2801
  className: cn(sizeClassName$1[size], "inline self-center", className),
2801
2802
  children: [
2802
2803
  title ? /* @__PURE__ */ jsx("title", { children: title }) : null,
2803
- /* @__PURE__ */ jsx("use", { href: `/icons.svg#${name}`, fill: "transparent" })
2804
+ /* @__PURE__ */ jsx("use", { href: `${iconsSvg}#${name}`, fill: "transparent" })
2804
2805
  ]
2805
2806
  }
2806
2807
  );
@@ -3558,7 +3559,9 @@ async function getEpicProgress({
3558
3559
  } = {}) {
3559
3560
  if (ENV.EPICSHOP_DEPLOYED) return [];
3560
3561
  const authInfo = await getAuthInfo();
3561
- const { epicWorkshopHost } = getWorkshopConfig();
3562
+ const {
3563
+ product: { host }
3564
+ } = getWorkshopConfig();
3562
3565
  if (!authInfo) return [];
3563
3566
  const tokenPart = md5(authInfo.tokenSet.access_token);
3564
3567
  const EpicProgressSchema = z$1.array(
@@ -3568,7 +3571,7 @@ async function getEpicProgress({
3568
3571
  })
3569
3572
  );
3570
3573
  return cachified({
3571
- key: `epic-progress:${epicWorkshopHost}:${tokenPart}`,
3574
+ key: `epic-progress:${host}:${tokenPart}`,
3572
3575
  cache: fsCache,
3573
3576
  request,
3574
3577
  timings,
@@ -3577,7 +3580,7 @@ async function getEpicProgress({
3577
3580
  swr: 1e3 * 60 * 60 * 24 * 30,
3578
3581
  checkValue: EpicProgressSchema,
3579
3582
  async getFreshValue(context) {
3580
- const response = await fetch(`https://${epicWorkshopHost}/api/progress`, {
3583
+ const response = await fetch(`https://${host}/api/progress`, {
3581
3584
  headers: {
3582
3585
  authorization: `Bearer ${authInfo.tokenSet.access_token}`
3583
3586
  }
@@ -3700,8 +3703,10 @@ async function updateProgress({ lessonSlug, complete }, {
3700
3703
  if (!authInfo) {
3701
3704
  return { status: "error", error: "not authenticated" };
3702
3705
  }
3703
- const { epicWorkshopHost } = getWorkshopConfig();
3704
- const response = await fetch(`https://${epicWorkshopHost}/api/progress`, {
3706
+ const {
3707
+ product: { host }
3708
+ } = getWorkshopConfig();
3709
+ const response = await fetch(`https://${host}/api/progress`, {
3705
3710
  method: "POST",
3706
3711
  headers: {
3707
3712
  authorization: `Bearer ${authInfo.tokenSet.access_token}`,
@@ -3738,9 +3743,11 @@ async function getWorkshopData(epicWorkshopSlug, {
3738
3743
  if (ENV.EPICSHOP_DEPLOYED) return { sections: [] };
3739
3744
  const authInfo = await getAuthInfo();
3740
3745
  if (!authInfo) return { sections: [] };
3741
- const { epicWorkshopHost } = getWorkshopConfig();
3746
+ const {
3747
+ product: { host }
3748
+ } = getWorkshopConfig();
3742
3749
  return cachified({
3743
- key: `epic-workshop-data:${epicWorkshopHost}:${epicWorkshopSlug}`,
3750
+ key: `epic-workshop-data:${host}:${epicWorkshopSlug}`,
3744
3751
  cache: fsCache,
3745
3752
  request,
3746
3753
  forceFresh,
@@ -3748,9 +3755,7 @@ async function getWorkshopData(epicWorkshopSlug, {
3748
3755
  checkValue: ModuleSchema,
3749
3756
  async getFreshValue() {
3750
3757
  const response = await fetch(
3751
- `https://${epicWorkshopHost}/api/workshops/${encodeURIComponent(
3752
- epicWorkshopSlug
3753
- )}`
3758
+ `https://${host}/api/workshops/${encodeURIComponent(epicWorkshopSlug)}`
3754
3759
  ).catch((e) => new Response(getErrorMessage(e), { status: 500 }));
3755
3760
  if (response.status < 200 || response.status >= 300) {
3756
3761
  console.error(
@@ -3968,11 +3973,10 @@ const links = () => {
3968
3973
  { rel: "stylesheet", href: tailwindStylesheetUrl },
3969
3974
  { rel: "stylesheet", href: appStylesheetUrl },
3970
3975
  ...cssBundleHref ? [{ rel: "stylesheet", href: cssBundleHref }] : [],
3971
- { rel: "mask-icon", href: "/favicons/favicon.svg" },
3972
3976
  {
3973
- rel: "alternate icon",
3974
- type: "image/png",
3975
- href: "/favicon.png"
3977
+ rel: "icon",
3978
+ href: "/favicon.ico",
3979
+ sizes: "48x48"
3976
3980
  },
3977
3981
  { rel: "icon", type: "image/svg+xml", href: "/favicon.svg" }
3978
3982
  ];
@@ -7146,7 +7150,7 @@ function DeferredEpicVideo({
7146
7150
  title = extractEpicTitle(url)
7147
7151
  }) {
7148
7152
  const {
7149
- product: { host: epicWorkshopHost, displayName }
7153
+ product: { host, displayName }
7150
7154
  } = useWorkshopConfig();
7151
7155
  const user = useOptionalUser();
7152
7156
  const epicVideoInfosPromise = React.useContext(EpicVideoInfoContext);
@@ -7212,7 +7216,7 @@ function DeferredEpicVideo({
7212
7216
  /* @__PURE__ */ jsxs(
7213
7217
  "a",
7214
7218
  {
7215
- href: `https://${epicWorkshopHost}/products`,
7219
+ href: `https://${host}/products`,
7216
7220
  className: "underline",
7217
7221
  children: [
7218
7222
  "upgrade your ",
@@ -7231,7 +7235,7 @@ function DeferredEpicVideo({
7231
7235
  /* @__PURE__ */ jsx(
7232
7236
  Link,
7233
7237
  {
7234
- to: `https://${epicWorkshopHost}/products`,
7238
+ to: `https://${host}/products`,
7235
7239
  className: "underline",
7236
7240
  children: "Upgrade"
7237
7241
  }
@@ -7257,7 +7261,7 @@ function DeferredEpicVideo({
7257
7261
  /* @__PURE__ */ jsx(
7258
7262
  Link,
7259
7263
  {
7260
- to: `https://${epicWorkshopHost}/products`,
7264
+ to: `https://${host}/products`,
7261
7265
  className: "underline",
7262
7266
  children: "Upgrade"
7263
7267
  }
@@ -9308,7 +9312,7 @@ function InlineFile({
9308
9312
  const info = /* @__PURE__ */ jsxs("div", { className: "launch-editor-button-wrapper flex underline underline-offset-4", children: [
9309
9313
  children,
9310
9314
  " ",
9311
- /* @__PURE__ */ jsx("svg", { height: 24, width: 24, children: /* @__PURE__ */ jsx("use", { href: `/icons.svg#Keyboard` }) })
9315
+ /* @__PURE__ */ jsx("svg", { height: 24, width: 24, children: /* @__PURE__ */ jsx("use", { href: `${iconsSvg}#Keyboard` }) })
9312
9316
  ] });
9313
9317
  return ENV.EPICSHOP_DEPLOYED && app ? /* @__PURE__ */ jsx("div", { className: "inline-block grow", children: /* @__PURE__ */ jsx(LaunchEditor, { appFile: file, appName: app.name, ...props, children: info }) }) : app ? /* @__PURE__ */ jsx("div", { className: "inline-block grow", children: /* @__PURE__ */ jsx(LaunchEditor, { appFile: file, appName: app.name, ...props, children: info }) }) : type === "playground" ? (
9314
9318
  // playground does not exist yet
@@ -12457,8 +12461,10 @@ const EVENTS = {
12457
12461
  const authEmitter = remember("authEmitter", () => new EventEmitter());
12458
12462
  authEmitter.removeAllListeners();
12459
12463
  async function registerDevice() {
12460
- const { epicWorkshopHost } = getWorkshopConfig();
12461
- const { ISSUER = `https://${epicWorkshopHost}/oauth` } = process.env;
12464
+ const {
12465
+ product: { host }
12466
+ } = getWorkshopConfig();
12467
+ const { ISSUER = `https://${host}/oauth` } = process.env;
12462
12468
  const GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
12463
12469
  try {
12464
12470
  const issuer = await Issuer.discover(ISSUER);
@@ -13579,7 +13585,7 @@ const route39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
13579
13585
  __proto__: null,
13580
13586
  loader
13581
13587
  }, Symbol.toStringTag, { value: "Module" }));
13582
- const serverManifest = { "entry": { "module": "/assets/entry.client-7AjQ7fYK.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-CY8QRU4e.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-Bt0Fs1uZ.js", "/assets/index-TIHEbU65.js", "/assets/presence-CmTnJPJh.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-Cv8HqtE8.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/error-boundary-Bx1mDmB-.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-C9AozQxr.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/workshop-config-COvWTBns.js", "/assets/product-Bi2uble-.js", "/assets/index-bM_TIo_p.js", "/assets/user-2ca9K5af.js", "/assets/presence-CmTnJPJh.js", "/assets/progress-fFpCuCyE.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/account-B-3k5HDM.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/button-DataaIpW.js", "/assets/tooltip-Blm9zu1K.js", "/assets/user-2ca9K5af.js", "/assets/presence-CmTnJPJh.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-BqGuuhG3.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/user-2ca9K5af.js", "/assets/discord-BfUTLoVF.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-CRkVkufr.js", "imports": ["/assets/index-2WpY3jqc.js"], "css": [] }, "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, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-D2tXimAK.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-CquNe5XV.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-C7yUCsjZ.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/index-DGsreVfh.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/set-playground-8-BH15HT.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-DAWCzuDw.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/button-DataaIpW.js", "/assets/loading-DXKqMYHW.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/preview-BbJZ7UrX.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-kXas9qNh.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/mdx-D0cZm8uP.js", "/assets/use-event-source-C81lzj_8.js", "/assets/set-playground-8-BH15HT.js", "/assets/button-DataaIpW.js", "/assets/diff-BWSOt7tL.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/discord-BfUTLoVF.js", "/assets/index-Bt0Fs1uZ.js", "/assets/tests-CNclXTWp.js", "/assets/preview-BbJZ7UrX.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test--z-MS4Cz.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/index-TIHEbU65.js", "/assets/use-event-source-C81lzj_8.js", "/assets/set-playground-8-BH15HT.js", "/assets/tests-CNclXTWp.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-B-sqDk3j.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": false, "module": "/assets/finished-DvXH6L-Q.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/nav-chevrons-BB1CK34B.js", "/assets/mdx-D0cZm8uP.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-fFpCuCyE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": true, "module": "/assets/index-DmASob5Y.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/index-DGsreVfh.js", "/assets/error-boundary-Bx1mDmB-.js", "/assets/mdx-D0cZm8uP.js", "/assets/progress-fFpCuCyE.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": false, "module": "/assets/login-WXKB-OYe.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/workshop-config-COvWTBns.js", "/assets/use-event-source-C81lzj_8.js", "/assets/button-DataaIpW.js", "/assets/loading-DXKqMYHW.js", "/assets/product-Bi2uble-.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/support-l4EbxG8X.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-Ciyqvptc.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/pe-BmTNRcy_.js", "/assets/tooltip-Blm9zu1K.js", "/assets/progress-fFpCuCyE.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-JWdZCc2F.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/tooltip-Blm9zu1K.js", "/assets/index-bM_TIo_p.js", "/assets/index-aPMCrDDW.js", "/assets/request-info-D6MPpnDd.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/epic-video-D8tfMIv8.js", "/assets/progress-bar-HYCoNAkN.js", "/assets/accordion-B-gQ5Whz.js", "/assets/mdx-D0cZm8uP.js", "/assets/diff-BWSOt7tL.js", "/assets/nav-chevrons-BB1CK34B.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-CK8-hFDT.js", "imports": ["/assets/index-2WpY3jqc.js", "/assets/components-BQB6wEvm.js", "/assets/misc-LevbAJZ6.js", "/assets/request-info-D6MPpnDd.js", "/assets/tooltip-Blm9zu1K.js", "/assets/pe-BmTNRcy_.js", "/assets/index-TIHEbU65.js", "/assets/loading-DXKqMYHW.js", "/assets/user-2ca9K5af.js", "/assets/workshop-config-COvWTBns.js", "/assets/button-DataaIpW.js", "/assets/epic-video-D8tfMIv8.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-5edda375.js", "version": "5edda375" };
13588
+ const serverManifest = { "entry": { "module": "/assets/entry.client-3M2p-8I3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BO8-KppB.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/error-boundary-w-YmME9H.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-B-hHvmeV.js", "/assets/index-lG6dAghh.js", "/assets/presence-Cr--lRCr.js", "/assets/seo-pBpFCWsy.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-BtebIQXw.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/error-boundary-w-YmME9H.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-DN2lWivk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/product-BUD74Itn.js", "/assets/index-Cr2THg3v.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/account-Boc55rcF.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/button-D3GGLffs.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/user-D6tTg1yS.js", "/assets/presence-Cr--lRCr.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-BZFQqiA1.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/user-D6tTg1yS.js", "/assets/discord-ClGJ4reK.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-BUs3av-e.js", "imports": ["/assets/index-1cKOJFpX.js"], "css": [] }, "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, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-DPHRlskl.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-D1CLZqv3.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-D9AYVDws.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/set-playground-CCm119Nm.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-D21SF96g.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/preview-cQAZ1sWw.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-BMMmOqxO.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/button-D3GGLffs.js", "/assets/diff-Dlhnb9s0.js", "/assets/error-boundary-w-YmME9H.js", "/assets/discord-ClGJ4reK.js", "/assets/index-B-hHvmeV.js", "/assets/tests-DCK6NqSg.js", "/assets/preview-cQAZ1sWw.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-CPv5Bgs_.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/index-lG6dAghh.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/set-playground-CCm119Nm.js", "/assets/tests-DCK6NqSg.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BtU0LxSx.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js", "/assets/seo-pBpFCWsy.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": false, "module": "/assets/finished-DpVgSUHh.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/nav-chevrons-DNlM2M58.js", "/assets/mdx-DGrucPXJ.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": true, "module": "/assets/index-4mfbmNml.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/index-Dx5GmdYq.js", "/assets/error-boundary-w-YmME9H.js", "/assets/mdx-DGrucPXJ.js", "/assets/progress-Dn5gs-vs.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "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, "hasErrorBoundary": false, "module": "/assets/login-BfJnysK5.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/workshop-config-CL4F08kr.js", "/assets/use-event-source-A_0lEOPX.js", "/assets/button-D3GGLffs.js", "/assets/loading-CYX0lUnA.js", "/assets/product-BUD74Itn.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/support-hcqGIpir.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js"], "css": [] }, "routes/admin+/_layout": { "id": "routes/admin+/_layout", "parentId": "root", "path": "admin", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-D2SdN9lJ.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/pe-CUZaIcdt.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/progress-Dn5gs-vs.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-_Yp5qaGd.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/index-Cr2THg3v.js", "/assets/index-CrCyg109.js", "/assets/request-info-CEhUGODY.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/epic-video-BDMU5eQx.js", "/assets/progress-bar-C7Wl3UWv.js", "/assets/accordion-BTylpyuo.js", "/assets/mdx-DGrucPXJ.js", "/assets/diff-Dlhnb9s0.js", "/assets/nav-chevrons-DNlM2M58.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/discord.callback": { "id": "routes/discord.callback", "parentId": "root", "path": "discord/callback", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord.callback-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-C9YKrBRk.js", "imports": ["/assets/index-1cKOJFpX.js", "/assets/components-CME-nGId.js", "/assets/misc-BvHlNnqL.js", "/assets/request-info-CEhUGODY.js", "/assets/tooltip-fa2eC7LQ.js", "/assets/pe-CUZaIcdt.js", "/assets/index-lG6dAghh.js", "/assets/loading-CYX0lUnA.js", "/assets/user-D6tTg1yS.js", "/assets/workshop-config-CL4F08kr.js", "/assets/button-D3GGLffs.js", "/assets/epic-video-BDMU5eQx.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/update-mdx-cache": { "id": "routes/update-mdx-cache", "parentId": "root", "path": "update-mdx-cache", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-mdx-cache-l0sNRNKZ.js", "imports": [], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] } }, "url": "/assets/manifest-342e7776.js", "version": "342e7776" };
13583
13589
  const mode = "production";
13584
13590
  const assetsBuildDirectory = "build/client";
13585
13591
  const basename = "/";