@epic-web/workshop-app 5.22.1 → 5.22.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@ import { renderToPipeableStream, renderToStaticMarkup } from "react-dom/server";
7
7
  import path from "node:path";
8
8
  import { makeSingletonCache, cachified, deleteCache, compiledCodeCache, shouldForceFresh, fsCache, getAllFileCacheEntries, ogCache } from "@epic-web/workshop-utils/cache.server";
9
9
  import { getWorkshopConfig } from "@epic-web/workshop-utils/config.server";
10
- import { getAuthInfo, getPreferences, muteNotification, readOnboardingData, requireAuthInfo, logout, setPreferences, PlayerPreferencesSchema, setAuthInfo, deleteDb, markOnboardingVideoWatched } from "@epic-web/workshop-utils/db.server";
10
+ import { getAuthInfo, getPreferences, muteNotification, readOnboardingData, getMutedNotifications, requireAuthInfo, logout, setPreferences, PlayerPreferencesSchema, setAuthInfo, deleteDb, markOnboardingVideoWatched } from "@epic-web/workshop-utils/db.server";
11
11
  import { getUserInfo, userHasAccessToWorkshop, getProgress, updateProgress, getEpicVideoInfos } from "@epic-web/workshop-utils/epic-api.server";
12
12
  import { getUserId, getSetClientIdCookieHeader } from "@epic-web/workshop-utils/user.server";
13
13
  import { z } from "zod";
@@ -820,36 +820,50 @@ const route30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
820
820
  Notifications,
821
821
  action: action$e
822
822
  }, Symbol.toStringTag, { value: "Module" }));
823
- async function action$d() {
824
- const updates = await checkForUpdatesCached();
825
- if (!updates.updatesAvailable) {
826
- return json({ type: "error", error: "No updates available" }, {
827
- status: 400
823
+ async function action$d({ request }) {
824
+ const formData = await request.formData();
825
+ const intent = formData.get("intent");
826
+ const id = formData.get("id");
827
+ if (intent === "dismiss" && typeof id === "string") {
828
+ await muteNotification(`update-repo-${id}`);
829
+ return json({ type: "dismissed" });
830
+ }
831
+ if (intent === "update" && typeof id === "string") {
832
+ const updates = await checkForUpdatesCached();
833
+ if (!updates.updatesAvailable) {
834
+ return json({ type: "error", error: "No updates available" }, {
835
+ status: 400
836
+ });
837
+ }
838
+ await updateLocalRepo();
839
+ spawn(process.argv[0], process.argv.slice(1), {
840
+ detached: true,
841
+ stdio: "inherit",
842
+ env: {
843
+ ...process.env,
844
+ EPICSHOP_SLOW_START: "true"
845
+ }
828
846
  });
847
+ setTimeout(() => {
848
+ console.log("exiting the old server process");
849
+ process.exit(0);
850
+ }, 200);
851
+ return json({ type: "success" });
829
852
  }
830
- await updateLocalRepo();
831
- spawn(process.argv[0], process.argv.slice(1), {
832
- detached: true,
833
- stdio: "inherit",
834
- env: {
835
- ...process.env,
836
- EPICSHOP_SLOW_START: "true"
837
- }
853
+ throw json({ type: "error", error: "Invalid intent" }, {
854
+ status: 400
838
855
  });
839
- setTimeout(() => {
840
- console.log("exiting the old server process");
841
- process.exit(0);
842
- }, 200);
843
- return json({ type: "success" });
844
856
  }
845
857
  function UpdateToast({
846
858
  repoUpdates
847
859
  }) {
848
860
  const updateFetcher = useFetcher();
849
861
  const updateFetcherRef = useRef(updateFetcher);
850
- const { updatesAvailable, diffLink } = repoUpdates;
862
+ const dismissFetcher = useFetcher();
863
+ const dismissFetcherRef = useRef(dismissFetcher);
864
+ const { updatesAvailable, diffLink, remoteCommit } = repoUpdates;
851
865
  useEffect(() => {
852
- if (updatesAvailable) {
866
+ if (updatesAvailable && remoteCommit) {
853
867
  toast.info("New workshop updates available", {
854
868
  duration: Infinity,
855
869
  description: /* @__PURE__ */ jsxs("div", { children: [
@@ -865,10 +879,22 @@ function UpdateToast({
865
879
  }
866
880
  ) : null
867
881
  ] }),
882
+ onDismiss: () => {
883
+ const formData = new FormData();
884
+ formData.append("intent", "dismiss");
885
+ formData.append("id", remoteCommit);
886
+ dismissFetcherRef.current.submit(formData, {
887
+ method: "post",
888
+ action: "/admin/update-repo"
889
+ });
890
+ },
868
891
  action: {
869
892
  label: "Update",
870
893
  onClick: () => {
871
- updateFetcherRef.current.submit(null, {
894
+ const formData = new FormData();
895
+ formData.append("intent", "update");
896
+ formData.append("id", remoteCommit);
897
+ updateFetcherRef.current.submit(formData, {
872
898
  method: "post",
873
899
  action: "/admin/update-repo"
874
900
  });
@@ -876,7 +902,7 @@ function UpdateToast({
876
902
  }
877
903
  });
878
904
  }
879
- }, [updatesAvailable, diffLink]);
905
+ }, [updatesAvailable, diffLink, remoteCommit]);
880
906
  const fetcherResponse = updateFetcher.data;
881
907
  useEffect(() => {
882
908
  if (!fetcherResponse) return;
@@ -1444,6 +1470,11 @@ async function loader$y({ request }) {
1444
1470
  request,
1445
1471
  timings
1446
1472
  });
1473
+ const mutedNotifications = await getMutedNotifications();
1474
+ let repoUpdates = asyncStuff.repoUpdates;
1475
+ if (repoUpdates && repoUpdates.remoteCommit && mutedNotifications.includes(`update-repo-${repoUpdates.remoteCommit}`)) {
1476
+ repoUpdates = { ...repoUpdates, updatesAvailable: false };
1477
+ }
1447
1478
  return unstable_data$1(
1448
1479
  {
1449
1480
  ...asyncStuff,
@@ -1473,7 +1504,8 @@ async function loader$y({ request }) {
1473
1504
  confettiId,
1474
1505
  presence: {
1475
1506
  users: presentUsers
1476
- }
1507
+ },
1508
+ repoUpdates
1477
1509
  },
1478
1510
  {
1479
1511
  headers: combineHeaders(
@@ -11126,7 +11158,7 @@ const route44 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
11126
11158
  __proto__: null,
11127
11159
  loader
11128
11160
  }, Symbol.toStringTag, { value: "Module" }));
11129
- const serverManifest = { "entry": { "module": "/assets/entry.client-CQusg5Iz.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-DcIno0-m.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/pe-DXT2FOp1.js", "/assets/error-boundary-De7jJlR5.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/index-CB8bjE90.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BZWIdOoA.js", "/assets/presence-CPOTHCHm.js", "/assets/seo-pBpFCWsy.js", "/assets/online-CHlOuJG-.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-BDcQ_M2J.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/error-boundary-De7jJlR5.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DuDUPWax.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/pe-DXT2FOp1.js", "/assets/product-BkDgAOLQ.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BE3KRz8n.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/online-CHlOuJG-.js", "/assets/presence-CPOTHCHm.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-BwQvf4AS.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/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, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-CFZUT74L.js", "imports": ["/assets/discord-CoBo5eVK.js", "/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-CwTidn3v.js", "imports": ["/assets/index-CGzylDPY.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-CG2AFTtQ.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/misc-BK2EiKtY.js", "/assets/seo-pBpFCWsy.js", "/assets/components-DrvY4pal.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-COWC332q.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-DKC1JUTc.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/error-boundary-De7jJlR5.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/set-playground-ZcPraYj5.js", "/assets/misc-BK2EiKtY.js", "/assets/seo-pBpFCWsy.js", "/assets/epic-video-DRZssA4U.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/index-BE3KRz8n.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/index-6Hu4Lmzn.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-XHqxOZfy.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/preview-B2BxDDhi.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/button-DVPKzWkn.js", "/assets/loading-ClL22bF9.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-M647UyZv.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/tooltip-leWCE50J.js", "/assets/index-6Hu4Lmzn.js", "/assets/misc-BK2EiKtY.js", "/assets/diff-C7Zh3uuA.js", "/assets/error-boundary-De7jJlR5.js", "/assets/loading-ClL22bF9.js", "/assets/discord-CoBo5eVK.js", "/assets/online-CHlOuJG-.js", "/assets/components-DrvY4pal.js", "/assets/index-CB8bjE90.js", "/assets/set-playground-ZcPraYj5.js", "/assets/tests-CmjMQrMj.js", "/assets/preview-B2BxDDhi.js", "/assets/index-BE3KRz8n.js", "/assets/accordion-BPyhq471.js", "/assets/mdx-Z4bEoKXn.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/pe-DXT2FOp1.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/button-DVPKzWkn.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-Bt9AuCey.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/tests-CmjMQrMj.js", "/assets/components-DrvY4pal.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/accordion-BPyhq471.js", "/assets/index-6Hu4Lmzn.js", "/assets/index-BE3KRz8n.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/set-playground-ZcPraYj5.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BgGBYU74.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/misc-BK2EiKtY.js", "/assets/loading-ClL22bF9.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/online-CHlOuJG-.js", "/assets/seo-pBpFCWsy.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/tooltip-leWCE50J.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-6JNE1a1E.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/misc-BK2EiKtY.js", "/assets/loading-ClL22bF9.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/online-CHlOuJG-.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/tooltip-leWCE50J.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-CyFsiCNp.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/error-boundary-De7jJlR5.js", "/assets/mdx-Z4bEoKXn.js", "/assets/misc-BK2EiKtY.js", "/assets/progress-CnHFlUmF.js", "/assets/components-DrvY4pal.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-C3I5NCrj.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/button-DVPKzWkn.js", "/assets/loading-ClL22bF9.js", "/assets/product-BkDgAOLQ.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/preferences-BmwlU5EC.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-CW3-Iilk.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-DV29dlKr.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/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, "hasErrorBoundary": false, "module": "/assets/index-Cnxrq9Ny.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/progress-CnHFlUmF.js", "/assets/components-DrvY4pal.js", "/assets/pe-DXT2FOp1.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/update-repo": { "id": "routes/admin+/update-repo", "parentId": "routes/admin+/_layout", "path": "update-repo", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-repo-l0sNRNKZ.js", "imports": [], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/version-D61Qvt0X.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-DVOUmaq6.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/diff-C7Zh3uuA.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/components-DrvY4pal.js", "/assets/accordion-BPyhq471.js", "/assets/tooltip-leWCE50J.js", "/assets/index-6Hu4Lmzn.js", "/assets/index-BE3KRz8n.js", "/assets/mdx-Z4bEoKXn.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/revalidation-ws-CLolY6Iu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-DjyKxkKx.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/epic-video-DRZssA4U.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-958fddde.js", "version": "958fddde" };
11161
+ const serverManifest = { "entry": { "module": "/assets/entry.client-CQusg5Iz.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes": { "root": { "id": "root", "parentId": void 0, "path": "", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BIqtHKak.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/pe-DXT2FOp1.js", "/assets/error-boundary-De7jJlR5.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/index-CB8bjE90.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BZWIdOoA.js", "/assets/presence-CPOTHCHm.js", "/assets/seo-pBpFCWsy.js", "/assets/online-CHlOuJG-.js"], "css": [] }, "routes/$": { "id": "routes/$", "parentId": "root", "path": "*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_-BDcQ_M2J.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/error-boundary-De7jJlR5.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/_layout": { "id": "routes/_app+/_layout", "parentId": "root", "path": void 0, "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-DuDUPWax.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/pe-DXT2FOp1.js", "/assets/product-BkDgAOLQ.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BE3KRz8n.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/online-CHlOuJG-.js", "/assets/presence-CPOTHCHm.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/account": { "id": "routes/_app+/account", "parentId": "routes/_app+/_layout", "path": "account", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/account-BwQvf4AS.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/app.$appName+/$": { "id": "routes/_app+/app.$appName+/$", "parentId": "routes/_app+/_layout", "path": "app/:appName/*", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/api.$": { "id": "routes/_app+/app.$appName+/api.$", "parentId": "routes/_app+/_layout", "path": "app/:appName/api/*", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/api._-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/epic_ws[.js]": { "id": "routes/_app+/app.$appName+/epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/index": { "id": "routes/_app+/app.$appName+/index", "parentId": "routes/_app+/_layout", "path": "app/:appName/", "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.$testName": { "id": "routes/_app+/app.$appName+/test.$testName", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/:testName", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test._testName-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/app.$appName+/test.epic_ws[.js]": { "id": "routes/_app+/app.$appName+/test.epic_ws[.js]", "parentId": "routes/_app+/_layout", "path": "app/:appName/test/epic_ws.js", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/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, "hasErrorBoundary": false, "module": "/assets/app.epic_ws_.js_-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/discord": { "id": "routes/_app+/discord", "parentId": "routes/_app+/_layout", "path": "discord", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/discord-CFZUT74L.js", "imports": ["/assets/discord-CoBo5eVK.js", "/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": [] }, "routes/_app+/exercise+/_layout": { "id": "routes/_app+/exercise+/_layout", "parentId": "routes/_app+/_layout", "path": "exercise", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_layout-CwTidn3v.js", "imports": ["/assets/index-CGzylDPY.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber": { "id": "routes/_app+/exercise+/$exerciseNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber-CG2AFTtQ.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/misc-BK2EiKtY.js", "/assets/seo-pBpFCWsy.js", "/assets/components-DrvY4pal.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/:stepNumber", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_exerciseNumber_._stepNumber-COWC332q.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": ":type", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_layout-DKC1JUTc.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/error-boundary-De7jJlR5.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/set-playground-ZcPraYj5.js", "/assets/misc-BK2EiKtY.js", "/assets/seo-pBpFCWsy.js", "/assets/epic-video-DRZssA4U.js", "/assets/tooltip-leWCE50J.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/index-BE3KRz8n.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/index-6Hu4Lmzn.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/app", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "app", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/app-XHqxOZfy.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/preview-B2BxDDhi.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/button-DVPKzWkn.js", "/assets/loading-ClL22bF9.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-M647UyZv.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/tooltip-leWCE50J.js", "/assets/index-6Hu4Lmzn.js", "/assets/misc-BK2EiKtY.js", "/assets/diff-C7Zh3uuA.js", "/assets/error-boundary-De7jJlR5.js", "/assets/loading-ClL22bF9.js", "/assets/discord-CoBo5eVK.js", "/assets/online-CHlOuJG-.js", "/assets/components-DrvY4pal.js", "/assets/index-CB8bjE90.js", "/assets/set-playground-ZcPraYj5.js", "/assets/tests-CmjMQrMj.js", "/assets/preview-B2BxDDhi.js", "/assets/index-BE3KRz8n.js", "/assets/accordion-BPyhq471.js", "/assets/mdx-Z4bEoKXn.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/pe-DXT2FOp1.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/button-DVPKzWkn.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/test", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.$type+/_layout", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-Bt9AuCey.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/tests-CmjMQrMj.js", "/assets/components-DrvY4pal.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/accordion-BPyhq471.js", "/assets/index-6Hu4Lmzn.js", "/assets/index-BE3KRz8n.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/set-playground-ZcPraYj5.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index": { "id": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber.index", "parentId": "routes/_app+/exercise+/$exerciseNumber_.$stepNumber", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/_app+/exercise+/$exerciseNumber_.finished": { "id": "routes/_app+/exercise+/$exerciseNumber_.finished", "parentId": "routes/_app+/exercise+/_layout", "path": ":exerciseNumber/finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/_exerciseNumber_.finished-BgGBYU74.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/misc-BK2EiKtY.js", "/assets/loading-ClL22bF9.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/online-CHlOuJG-.js", "/assets/seo-pBpFCWsy.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/tooltip-leWCE50J.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/finished": { "id": "routes/_app+/finished", "parentId": "routes/_app+/_layout", "path": "finished", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/finished-6JNE1a1E.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/misc-BK2EiKtY.js", "/assets/loading-ClL22bF9.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/revalidation-ws-CLolY6Iu.js", "/assets/mdx-Z4bEoKXn.js", "/assets/online-CHlOuJG-.js", "/assets/seo-pBpFCWsy.js", "/assets/progress-CnHFlUmF.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/pe-DXT2FOp1.js", "/assets/tooltip-leWCE50J.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/index": { "id": "routes/_app+/index", "parentId": "routes/_app+/_layout", "path": void 0, "index": true, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/index-CyFsiCNp.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/index-egcHQOpF.js", "/assets/epic-video-DRZssA4U.js", "/assets/error-boundary-De7jJlR5.js", "/assets/mdx-Z4bEoKXn.js", "/assets/misc-BK2EiKtY.js", "/assets/progress-CnHFlUmF.js", "/assets/components-DrvY4pal.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/_app+/login": { "id": "routes/_app+/login", "parentId": "routes/_app+/_layout", "path": "login", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-C3I5NCrj.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/use-event-source-AZJtQsFX.js", "/assets/button-DVPKzWkn.js", "/assets/loading-ClL22bF9.js", "/assets/product-BkDgAOLQ.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/index-BZWIdOoA.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/preferences-BmwlU5EC.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/_app+/support": { "id": "routes/_app+/support", "parentId": "routes/_app+/_layout", "path": "support", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/support-CW3-Iilk.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/_layout-DV29dlKr.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/admin+/apps": { "id": "routes/admin+/apps", "parentId": "routes/admin+/_layout", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/cache": { "id": "routes/admin+/cache", "parentId": "routes/admin+/_layout", "path": "cache", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/cache-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/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, "hasErrorBoundary": false, "module": "/assets/index-Cnxrq9Ny.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/tooltip-leWCE50J.js", "/assets/progress-CnHFlUmF.js", "/assets/components-DrvY4pal.js", "/assets/pe-DXT2FOp1.js"], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/notifications-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/admin+/update-repo": { "id": "routes/admin+/update-repo", "parentId": "routes/admin+/_layout", "path": "update-repo", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/update-repo-l0sNRNKZ.js", "imports": [], "css": [] }, "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, "hasErrorBoundary": false, "module": "/assets/version-D61Qvt0X.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/components-DrvY4pal.js"], "css": [] }, "routes/apps": { "id": "routes/apps", "parentId": "root", "path": "apps", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/apps-DP2rzg_V.js", "imports": [], "css": [] }, "routes/diff": { "id": "routes/diff", "parentId": "root", "path": "diff", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/diff-DVOUmaq6.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/misc-BK2EiKtY.js", "/assets/diff-C7Zh3uuA.js", "/assets/nav-chevrons-DVD_0i2a.js", "/assets/components-DrvY4pal.js", "/assets/accordion-BPyhq471.js", "/assets/tooltip-leWCE50J.js", "/assets/index-6Hu4Lmzn.js", "/assets/index-BE3KRz8n.js", "/assets/mdx-Z4bEoKXn.js", "/assets/epic-video-DRZssA4U.js", "/assets/index-BZWIdOoA.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js", "/assets/progress-bar-Q9l2dtTg.js", "/assets/revalidation-ws-CLolY6Iu.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/exercises": { "id": "routes/exercises", "parentId": "root", "path": "exercises", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/exercises-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/launch-editor": { "id": "routes/launch-editor", "parentId": "root", "path": "launch-editor", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/launch-editor-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/login-sse": { "id": "routes/login-sse", "parentId": "root", "path": "login-sse", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/login-sse-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/og": { "id": "routes/og", "parentId": "root", "path": "og", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/og-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/onboarding": { "id": "routes/onboarding", "parentId": "root", "path": "onboarding", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/onboarding-DjyKxkKx.js", "imports": ["/assets/index-CGzylDPY.js", "/assets/button-DVPKzWkn.js", "/assets/epic-video-DRZssA4U.js", "/assets/components-DrvY4pal.js", "/assets/misc-BK2EiKtY.js", "/assets/index-BZWIdOoA.js", "/assets/tooltip-leWCE50J.js", "/assets/pe-DXT2FOp1.js", "/assets/online-CHlOuJG-.js", "/assets/loading-ClL22bF9.js", "/assets/user-C0j04V55.js", "/assets/workshop-config-oL_FWDKq.js"], "css": ["/assets/epic-video-DUnRvy1A.css"] }, "routes/processes": { "id": "routes/processes", "parentId": "root", "path": "processes", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/processes-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/progress": { "id": "routes/progress", "parentId": "root", "path": "progress", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/progress-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/robots[.]txt": { "id": "routes/robots[.]txt", "parentId": "root", "path": "robots.txt", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/robots_._txt-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/set-playground": { "id": "routes/set-playground", "parentId": "root", "path": "set-playground", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/set-playground-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/sitemap[.]xml": { "id": "routes/sitemap[.]xml", "parentId": "root", "path": "sitemap.xml", "index": void 0, "caseSensitive": void 0, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/sitemap_._xml-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/start": { "id": "routes/start", "parentId": "root", "path": "start", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/start-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/test": { "id": "routes/test", "parentId": "root", "path": "test", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/test-l0sNRNKZ.js", "imports": [], "css": [] }, "routes/theme/index": { "id": "routes/theme/index", "parentId": "root", "path": "theme", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-DP2rzg_V.js", "imports": [], "css": [] }, "routes/video-player/index": { "id": "routes/video-player/index", "parentId": "root", "path": "video-player", "index": void 0, "caseSensitive": void 0, "hasAction": true, "hasLoader": false, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": false, "module": "/assets/index-K6Dvbx-E.js", "imports": [], "css": [] } }, "url": "/assets/manifest-6899d50c.js", "version": "6899d50c" };
11130
11162
  const mode = "production";
11131
11163
  const assetsBuildDirectory = "build/client";
11132
11164
  const basename = "/";