@epic-web/workshop-app 6.70.0 → 6.71.1

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 (53) hide show
  1. package/build/client/assets/{_exerciseNumber-DNg1F_Vn.js → _exerciseNumber-DOydVFcz.js} +2 -2
  2. package/build/client/assets/{_exerciseNumber-DNg1F_Vn.js.map → _exerciseNumber-DOydVFcz.js.map} +1 -1
  3. package/build/client/assets/{_exerciseNumber_.finished-BmUlhiS8.js → _exerciseNumber_.finished-OYmKydkm.js} +2 -2
  4. package/build/client/assets/{_exerciseNumber_.finished-BmUlhiS8.js.map → _exerciseNumber_.finished-OYmKydkm.js.map} +1 -1
  5. package/build/client/assets/{_extra-fwsy2qkP.js → _extra-DAAdPX1Q.js} +2 -2
  6. package/build/client/assets/{_extra-fwsy2qkP.js.map → _extra-DAAdPX1Q.js.map} +1 -1
  7. package/build/client/assets/_layout-BQ8VYaze.js +2 -0
  8. package/build/client/assets/_layout-BQ8VYaze.js.map +1 -0
  9. package/build/client/assets/{_layout-C-j5TKNx.js → _layout-CeuWC4em.js} +2 -2
  10. package/build/client/assets/{_layout-C-j5TKNx.js.map → _layout-CeuWC4em.js.map} +1 -1
  11. package/build/client/assets/{diff-DC-wn6-x.js → diff-CLewaNfR.js} +2 -2
  12. package/build/client/assets/{diff-DC-wn6-x.js.map → diff-CLewaNfR.js.map} +1 -1
  13. package/build/client/assets/{diff-BhWzqoVN.js → diff-DrdM1MAZ.js} +2 -2
  14. package/build/client/assets/{diff-BhWzqoVN.js.map → diff-DrdM1MAZ.js.map} +1 -1
  15. package/build/client/assets/{epic-video-8Hv_HMMr.js → epic-video-BO6oqwle.js} +2 -2
  16. package/build/client/assets/{epic-video-8Hv_HMMr.js.map → epic-video-BO6oqwle.js.map} +1 -1
  17. package/build/client/assets/{epic-video-D0drHmgC.js → epic-video-Ca_s42j5.js} +2 -2
  18. package/build/client/assets/{epic-video-D0drHmgC.js.map → epic-video-Ca_s42j5.js.map} +1 -1
  19. package/build/client/assets/{finished-Cr3pXmrH.js → finished-CqdoWQ9b.js} +2 -2
  20. package/build/client/assets/{finished-Cr3pXmrH.js.map → finished-CqdoWQ9b.js.map} +1 -1
  21. package/build/client/assets/guide-Cinib8Ji.js +9 -0
  22. package/build/client/assets/guide-Cinib8Ji.js.map +1 -0
  23. package/build/client/assets/{index-wDjETrF-.js → index-BHfJ4hna.js} +2 -2
  24. package/build/client/assets/{index-wDjETrF-.js.map → index-BHfJ4hna.js.map} +1 -1
  25. package/build/client/assets/{index-hhQHCvb9.js → index-BRVfMMSd.js} +2 -2
  26. package/build/client/assets/{index-hhQHCvb9.js.map → index-BRVfMMSd.js.map} +1 -1
  27. package/build/client/assets/index-CdzVFL-Z.js.map +1 -1
  28. package/build/client/assets/index-DuFMeXSm.js +2 -0
  29. package/build/client/assets/index-DuFMeXSm.js.map +1 -0
  30. package/build/client/assets/{index-BKAVQvm5.js → index-o922xZRF.js} +2 -2
  31. package/build/client/assets/{index-BKAVQvm5.js.map → index-o922xZRF.js.map} +1 -1
  32. package/build/client/assets/{manifest-e2f9a54b.js → manifest-cb3787c7.js} +1 -1
  33. package/build/client/assets/{mdx-BzyhMqFg.js → mdx-BGwe7vvs.js} +2 -2
  34. package/build/client/assets/{mdx-BzyhMqFg.js.map → mdx-BGwe7vvs.js.map} +1 -1
  35. package/build/client/assets/{progress-By6-_9Ii.js → progress-ILaVQtOO.js} +2 -2
  36. package/build/client/assets/{progress-By6-_9Ii.js.map → progress-ILaVQtOO.js.map} +1 -1
  37. package/build/client/assets/{root-BkPGxm0k.js → root-BwuJUAM7.js} +2 -2
  38. package/build/client/assets/{root-BkPGxm0k.js.map → root-BwuJUAM7.js.map} +1 -1
  39. package/build/client/assets/tailwind-C1_1LEqo.css +1 -0
  40. package/build/client/assets/{test-DtQCjBBX.js → test-CvHPFyBI.js} +2 -2
  41. package/build/client/assets/{test-DtQCjBBX.js.map → test-CvHPFyBI.js.map} +1 -1
  42. package/build/client/assets/{tests-fDISNsE-.js → tests-DlDV-wXQ.js} +2 -2
  43. package/build/client/assets/{tests-fDISNsE-.js.map → tests-DlDV-wXQ.js.map} +1 -1
  44. package/build/server/index.js +280 -36
  45. package/build/server/index.js.map +1 -1
  46. package/package.json +3 -3
  47. package/build/client/assets/_layout-BLOYb3Iq.js +0 -2
  48. package/build/client/assets/_layout-BLOYb3Iq.js.map +0 -1
  49. package/build/client/assets/guide-B4wAqzq_.js +0 -9
  50. package/build/client/assets/guide-B4wAqzq_.js.map +0 -1
  51. package/build/client/assets/index-AMZhCeTP.js +0 -2
  52. package/build/client/assets/index-AMZhCeTP.js.map +0 -1
  53. package/build/client/assets/tailwind-D_K12wB7.css +0 -1
@@ -44,7 +44,7 @@ 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 } from "@epic-web/workshop-utils/process-manager.server";
47
+ import { getProcesses, clearTestProcessEntry, stopPort, closeProcess, runAppDev, waitOnApp, isAppRunning, isPortAvailable, getTestProcessEntry, isTestRunning, runAppTests, getSidecarLogs, restartSidecarProcess } from "@epic-web/workshop-utils/process-manager.server";
48
48
  import { motion, useAnimationControls } from "framer-motion";
49
49
  import { useHydrated } from "remix-utils/use-hydrated";
50
50
  import * as PopoverPrimitive from "@radix-ui/react-popover";
@@ -1589,7 +1589,7 @@ const route64 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
1589
1589
  useTheme
1590
1590
  }, Symbol.toStringTag, { value: "Module" }));
1591
1591
  const appStylesheetUrl = "/assets/app-BUxWY8xC.css";
1592
- const tailwindStylesheetUrl = "/assets/tailwind-D_K12wB7.css";
1592
+ const tailwindStylesheetUrl = "/assets/tailwind-C1_1LEqo.css";
1593
1593
  const cookieName = "EpicShop_confetti";
1594
1594
  function getConfetti(request) {
1595
1595
  const cookieHeader = request.headers.get("cookie");
@@ -2635,6 +2635,44 @@ function useNextExerciseRoute() {
2635
2635
  }
2636
2636
  return null;
2637
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
+ }
2638
2676
  const percentageClassNames = {
2639
2677
  0: "",
2640
2678
  1: "before:h-[10%]",
@@ -2827,6 +2865,7 @@ const route52 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
2827
2865
  useNextExerciseRoute,
2828
2866
  useProgressItem,
2829
2867
  useProgressItemClassName,
2868
+ useRandomCompletedExerciseRoute,
2830
2869
  useRequireEpicProgress
2831
2870
  }, Symbol.toStringTag, { value: "Module" }));
2832
2871
  function getSidecarStatus() {
@@ -3384,6 +3423,7 @@ function MobileNavigation({
3384
3423
  const apps = useApps();
3385
3424
  const user = useOptionalUser();
3386
3425
  const nextExerciseRoute = useNextExerciseRoute();
3426
+ const randomExerciseRoute = useRandomCompletedExerciseRoute();
3387
3427
  const params = useParams();
3388
3428
  const location = useLocation();
3389
3429
  const isOnline = useIsOnline();
@@ -3673,6 +3713,30 @@ function MobileNavigation({
3673
3713
  children: "Continue to next lesson"
3674
3714
  })]
3675
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
+ })
3676
3740
  }) : null, /* @__PURE__ */ jsx("div", {
3677
3741
  className: cn("flex h-14 items-center justify-center gap-2 self-start p-4 sm:mb-4", {
3678
3742
  "w-full border-t": isMenuOpened,
@@ -3778,6 +3842,7 @@ function Navigation({
3778
3842
  const apps = useApps();
3779
3843
  const user = useOptionalUser();
3780
3844
  const nextExerciseRoute = useNextExerciseRoute();
3845
+ const randomExerciseRoute = useRandomCompletedExerciseRoute();
3781
3846
  const params = useParams();
3782
3847
  const location = useLocation();
3783
3848
  const isOnline = useIsOnline();
@@ -4094,6 +4159,30 @@ function Navigation({
4094
4159
  children: "Continue to next lesson"
4095
4160
  })]
4096
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
+ })
4097
4186
  }) : null, /* @__PURE__ */ jsx("div", {
4098
4187
  className: "mb-4 w-full self-start border-t pt-[15px] pl-3",
4099
4188
  children: isMenuOpened ? /* @__PURE__ */ jsxs("div", {
@@ -6440,7 +6529,7 @@ function useOfflineVideoAvailability(playbackId, refreshKey) {
6440
6529
  return { available, checked, offlineUrl };
6441
6530
  }
6442
6531
  function OfflineVideoUnavailable() {
6443
- return /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full shrink-0 shadow-lg", children: /* @__PURE__ */ jsx("div", { className: "not-prose text-foreground-destructive absolute inset-0 z-10 flex items-center justify-center p-8", children: /* @__PURE__ */ jsx(Icon, { name: "WifiNoConnection", size: "xl", children: /* @__PURE__ */ jsxs("span", { children: [
6532
+ return /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full shrink-0 shadow-lg", children: /* @__PURE__ */ jsx("div", { className: "text-foreground-destructive absolute inset-0 z-10 flex items-center justify-center p-8", children: /* @__PURE__ */ jsx(Icon, { name: "WifiNoConnection", size: "xl", children: /* @__PURE__ */ jsxs("span", { children: [
6444
6533
  "Offline video not available. Download offline videos in",
6445
6534
  " ",
6446
6535
  /* @__PURE__ */ jsx(Link, { to: "/preferences", className: "underline", children: "Preferences" }),
@@ -6595,7 +6684,7 @@ function VideoEmbed({
6595
6684
  const [iframeLoaded, setIframeLoaded] = React.useState(false);
6596
6685
  const isOnline = useIsOnline();
6597
6686
  if (!isOnline) {
6598
- return /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full shrink-0 shadow-lg", children: /* @__PURE__ */ jsx("div", { className: "not-prose text-foreground-destructive absolute inset-0 z-10 flex items-center justify-center p-8", children: /* @__PURE__ */ jsx(Icon, { name: "WifiNoConnection", size: "xl", children: /* @__PURE__ */ jsxs("span", { children: [
6687
+ return /* @__PURE__ */ jsx("div", { className: "not-prose relative aspect-video w-full shrink-0 shadow-lg", children: /* @__PURE__ */ jsx("div", { className: "text-foreground-destructive absolute inset-0 z-10 flex items-center justify-center p-8", children: /* @__PURE__ */ jsx(Icon, { name: "WifiNoConnection", size: "xl", children: /* @__PURE__ */ jsxs("span", { children: [
6599
6688
  "Unable to load the video ",
6600
6689
  /* @__PURE__ */ jsx("a", { href: url, className: "underline", children: `"${title ?? url}"` }),
6601
6690
  " when offline"
@@ -6662,7 +6751,7 @@ function DeferredEpicVideo({
6662
6751
  const user = useOptionalUser();
6663
6752
  const epicVideoInfosPromise = React.useContext(EpicVideoInfoContext);
6664
6753
  const linkUI = /* @__PURE__ */ jsx(VideoLink, { url, title });
6665
- return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
6754
+ return /* @__PURE__ */ jsx("div", { className: "not-prose", children: /* @__PURE__ */ jsx(
6666
6755
  React.Suspense,
6667
6756
  {
6668
6757
  fallback: /* @__PURE__ */ jsxs("div", { children: [
@@ -6711,7 +6800,7 @@ function DeferredEpicVideo({
6711
6800
  } else if (info.type === "region-restricted") {
6712
6801
  return /* @__PURE__ */ jsxs("div", { children: [
6713
6802
  /* @__PURE__ */ jsxs("div", { className: "flex aspect-video min-h-full min-w-full flex-col items-center justify-start gap-2 overflow-y-scroll border-2 p-4 lg:justify-center lg:gap-4 lg:text-xl", children: [
6714
- /* @__PURE__ */ jsx("div", { className: "!text-foreground-destructive", children: "Error: Region Restricted" }),
6803
+ /* @__PURE__ */ jsx("div", { className: "text-foreground-destructive", children: "Error: Region Restricted" }),
6715
6804
  /* @__PURE__ */ jsxs("div", { children: [
6716
6805
  "We've detected you're connecting from",
6717
6806
  " ",
@@ -6793,7 +6882,7 @@ function DeferredEpicVideo({
6793
6882
  /* @__PURE__ */ jsx(EpicVideoEmbed, { url, title }),
6794
6883
  /* @__PURE__ */ jsxs("div", { className: "mt-4 flex flex-col gap-2", children: [
6795
6884
  linkUI,
6796
- /* @__PURE__ */ jsx("div", { className: "!text-foreground-destructive", children: "Unknown error (check console)" })
6885
+ /* @__PURE__ */ jsx("div", { className: "text-foreground-destructive", children: "Unknown error (check console)" })
6797
6886
  ] })
6798
6887
  ] });
6799
6888
  }
@@ -7040,7 +7129,7 @@ function EpicVideo({
7040
7129
  }
7041
7130
  );
7042
7131
  return /* @__PURE__ */ jsxs("div", { children: [
7043
- /* @__PURE__ */ jsx("div", { className: "shadow-lg", children: shouldUseOfflineVideo ? /* @__PURE__ */ jsx("div", { className: "not-prose flex aspect-video w-full items-center justify-center bg-black", children: /* @__PURE__ */ jsxs(
7132
+ /* @__PURE__ */ jsx("div", { className: "shadow-lg", children: shouldUseOfflineVideo ? /* @__PURE__ */ jsx("div", { className: "flex aspect-video w-full items-center justify-center bg-black", children: /* @__PURE__ */ jsxs(
7044
7133
  MediaController,
7045
7134
  {
7046
7135
  tabIndex: 0,
@@ -12777,6 +12866,9 @@ const sections = [{
12777
12866
  }, {
12778
12867
  id: "logging-in",
12779
12868
  label: "Logging In"
12869
+ }, {
12870
+ id: "interleaved-practice",
12871
+ label: "Interleaved Practice"
12780
12872
  }, {
12781
12873
  id: "workshop-structure",
12782
12874
  label: "Workshop Structure"
@@ -12922,6 +13014,30 @@ const guide = UNSAFE_withComponentProps(function Guide() {
12922
13014
  className: "text-muted-foreground text-sm",
12923
13015
  children: "Tip: Log in early to start tracking your progress from the beginning!"
12924
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
+ })]
12925
13041
  }), /* @__PURE__ */ jsxs("section", {
12926
13042
  id: "workshop-structure",
12927
13043
  className: "scroll-mt-8",
@@ -15304,6 +15420,14 @@ function isInspectorRunning() {
15304
15420
  return false;
15305
15421
  }
15306
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
+ }
15307
15431
  async function clearData() {
15308
15432
  if (ENV.EPICSHOP_DEPLOYED) return;
15309
15433
  await clearCaches();
@@ -15424,6 +15548,27 @@ async function action$6({
15424
15548
  success: true
15425
15549
  };
15426
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
+ }
15427
15572
  default: {
15428
15573
  throw new Error(`Unknown intent: ${intent}`);
15429
15574
  }
@@ -15481,33 +15626,11 @@ const index = UNSAFE_withComponentProps(function AdminLayout2({
15481
15626
  })]
15482
15627
  }), /* @__PURE__ */ jsx(CardContent, {
15483
15628
  children: /* @__PURE__ */ jsx("ul", {
15484
- className: "scrollbar-thin scrollbar-thumb-scrollbar flex max-h-48 flex-col gap-2 overflow-y-auto",
15485
- children: Object.entries(data2.sidecarProcesses).map(([key, process2]) => /* @__PURE__ */ jsxs("li", {
15486
- className: "border-border bg-muted/30 rounded-md border p-3",
15487
- children: [/* @__PURE__ */ jsxs("div", {
15488
- className: "flex items-center gap-2",
15489
- children: [process2.running ? /* @__PURE__ */ jsx(Pinger, {
15490
- status: "running"
15491
- }) : /* @__PURE__ */ jsx(Pinger, {
15492
- status: "taken"
15493
- }), /* @__PURE__ */ jsx("span", {
15494
- className: "font-mono text-sm font-semibold",
15495
- children: key
15496
- })]
15497
- }), /* @__PURE__ */ jsxs("div", {
15498
- className: "text-muted-foreground mt-2 flex flex-wrap gap-x-4 gap-y-1 text-xs",
15499
- children: [process2.pid && /* @__PURE__ */ jsxs("span", {
15500
- children: [/* @__PURE__ */ jsx("span", {
15501
- className: "font-medium",
15502
- children: "PID:"
15503
- }), " ", process2.pid]
15504
- }), /* @__PURE__ */ jsxs("span", {
15505
- children: [/* @__PURE__ */ jsx("span", {
15506
- className: "font-medium",
15507
- children: "Status:"
15508
- }), " ", process2.running ? "Running" : "Failed"]
15509
- })]
15510
- })]
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
15511
15634
  }, key))
15512
15635
  })
15513
15636
  })]
@@ -15734,6 +15857,127 @@ const index = UNSAFE_withComponentProps(function AdminLayout2({
15734
15857
  })]
15735
15858
  });
15736
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
+ }
15737
15981
  function Card({
15738
15982
  children,
15739
15983
  className
@@ -17242,7 +17486,7 @@ const route61 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
17242
17486
  __proto__: null,
17243
17487
  loader
17244
17488
  }, Symbol.toStringTag, { value: "Module" }));
17245
- 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-BkPGxm0k.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-BLOYb3Iq.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-By6-_9Ii.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-DNg1F_Vn.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-By6-_9Ii.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-C-j5TKNx.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-By6-_9Ii.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-BmUlhiS8.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-By6-_9Ii.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-Cr3pXmrH.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-By6-_9Ii.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-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-wDjETrF-.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-By6-_9Ii.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-AMZhCeTP.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/progress-By6-_9Ii.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-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-e2f9a54b.js", "version": "e2f9a54b", "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-BwuJUAM7.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-DOydVFcz.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-Ca_s42j5.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/progress-ILaVQtOO.js", "/assets/mdx-BGwe7vvs.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-CeuWC4em.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-Ca_s42j5.js", "/assets/tooltip-Tlsyx2YO.js", "/assets/mdx-BGwe7vvs.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-BRVfMMSd.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/playground-DmEAkxG1.js", "/assets/diff-DrdM1MAZ.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/workshop-config-Zfc8zU0x.js", "/assets/misc-W4055b-0.js", "/assets/preview-fhmjENlm.js", "/assets/tests-DlDV-wXQ.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-BGwe7vvs.js", "/assets/epic-video-Ca_s42j5.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-CvHPFyBI.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/tests-DlDV-wXQ.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-Ca_s42j5.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-OYmKydkm.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-Ca_s42j5.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-BGwe7vvs.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-DAAdPX1Q.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-DrdM1MAZ.js", "/assets/epic-video-Ca_s42j5.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-BGwe7vvs.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-o922xZRF.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-Ca_s42j5.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-BGwe7vvs.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-CqdoWQ9b.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-Ca_s42j5.js", "/assets/misc-W4055b-0.js", "/assets/loading-CDNzW5oO.js", "/assets/nav-chevrons-Dk4GtZwQ.js", "/assets/revalidation-ws-BJWJviUX.js", "/assets/mdx-BGwe7vvs.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-BHfJ4hna.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CEVyDj51.js", "/assets/epic-video-Ca_s42j5.js", "/assets/error-boundary-DVp6wKiz.js", "/assets/launch-editor-D2exGfVu.js", "/assets/mdx-BGwe7vvs.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-CLewaNfR.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/misc-W4055b-0.js", "/assets/diff-DrdM1MAZ.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-BGwe7vvs.js", "/assets/index-DzdDahau.js", "/assets/epic-video-Ca_s42j5.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-BO6oqwle.js", "imports": ["/assets/chunk-EPOLDU6W-BCLmut3y.js", "/assets/jsx-runtime-C5WNSv3b.js", "/assets/index-CqIc3cxq.js", "/assets/epic-video-Ca_s42j5.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-cb3787c7.js", "version": "cb3787c7", "sri": void 0 };
17246
17490
  const assetsBuildDirectory = "build/client";
17247
17491
  const basename = "/";
17248
17492
  const future = { "unstable_optimizeDeps": false, "unstable_subResourceIntegrity": false, "unstable_trailingSlashAwareDataRequests": false, "v8_middleware": false, "v8_splitRouteModules": false, "v8_viteEnvironmentApi": false };