rivet-design 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/config/flags.d.ts +3 -0
  2. package/dist/config/flags.d.ts.map +1 -1
  3. package/dist/config/flags.js +3 -0
  4. package/dist/config/flags.js.map +1 -1
  5. package/dist/index.d.ts +32 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +249 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp/agent-variants/SessionStore.d.ts +43 -0
  10. package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
  11. package/dist/mcp/agent-variants/SessionStore.js +174 -9
  12. package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
  13. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +21 -0
  14. package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
  15. package/dist/mcp/agent-variants/WorktreeOrchestrator.js +225 -11
  16. package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
  17. package/dist/mcp/agent-variants/contracts.d.ts +13 -4
  18. package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
  19. package/dist/mcp/agent-variants/contracts.js +4 -1
  20. package/dist/mcp/agent-variants/contracts.js.map +1 -1
  21. package/dist/mcp/agent-variants/errors.d.ts +1 -1
  22. package/dist/mcp/agent-variants/errors.d.ts.map +1 -1
  23. package/dist/mcp/agent-variants/errors.js +1 -0
  24. package/dist/mcp/agent-variants/errors.js.map +1 -1
  25. package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
  26. package/dist/mcp/agent-variants/tools.js +17 -0
  27. package/dist/mcp/agent-variants/tools.js.map +1 -1
  28. package/dist/mcp/changeBatchClassification.d.ts +2 -0
  29. package/dist/mcp/changeBatchClassification.d.ts.map +1 -1
  30. package/dist/mcp/changeBatchClassification.js +7 -0
  31. package/dist/mcp/changeBatchClassification.js.map +1 -1
  32. package/dist/mcp/server.d.ts +25 -0
  33. package/dist/mcp/server.d.ts.map +1 -1
  34. package/dist/mcp/server.js +156 -102
  35. package/dist/mcp/server.js.map +1 -1
  36. package/dist/proxy-middleware/preview-bridge.d.ts +24 -0
  37. package/dist/proxy-middleware/preview-bridge.d.ts.map +1 -0
  38. package/dist/proxy-middleware/preview-bridge.js +358 -0
  39. package/dist/proxy-middleware/preview-bridge.js.map +1 -0
  40. package/dist/proxy-middleware/proxy-config.d.ts +5 -1
  41. package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
  42. package/dist/proxy-middleware/proxy-config.js +62 -18
  43. package/dist/proxy-middleware/proxy-config.js.map +1 -1
  44. package/dist/routes/controls.d.ts +7 -0
  45. package/dist/routes/controls.d.ts.map +1 -0
  46. package/dist/routes/controls.js +50 -0
  47. package/dist/routes/controls.js.map +1 -0
  48. package/dist/routes/mcp.d.ts +3 -1
  49. package/dist/routes/mcp.d.ts.map +1 -1
  50. package/dist/routes/mcp.js +172 -28
  51. package/dist/routes/mcp.js.map +1 -1
  52. package/dist/routes/static.d.ts +6 -1
  53. package/dist/routes/static.d.ts.map +1 -1
  54. package/dist/routes/static.js +15 -3
  55. package/dist/routes/static.js.map +1 -1
  56. package/dist/server.d.ts +48 -0
  57. package/dist/server.d.ts.map +1 -1
  58. package/dist/server.js +230 -33
  59. package/dist/server.js.map +1 -1
  60. package/dist/services/AgentSessionService.d.ts +87 -0
  61. package/dist/services/AgentSessionService.d.ts.map +1 -0
  62. package/dist/services/AgentSessionService.js +275 -0
  63. package/dist/services/AgentSessionService.js.map +1 -0
  64. package/dist/services/ConfigManager.d.ts +7 -0
  65. package/dist/services/ConfigManager.d.ts.map +1 -1
  66. package/dist/services/ConfigManager.js +13 -0
  67. package/dist/services/ConfigManager.js.map +1 -1
  68. package/dist/services/FeatureFlagService.d.ts.map +1 -1
  69. package/dist/services/FeatureFlagService.js +13 -0
  70. package/dist/services/FeatureFlagService.js.map +1 -1
  71. package/dist/services/HostedDemoAuthSessionService.d.ts +6 -0
  72. package/dist/services/HostedDemoAuthSessionService.d.ts.map +1 -1
  73. package/dist/services/HostedDemoAuthSessionService.js +13 -0
  74. package/dist/services/HostedDemoAuthSessionService.js.map +1 -1
  75. package/dist/services/InlineVariantGenerationService.d.ts +50 -0
  76. package/dist/services/InlineVariantGenerationService.d.ts.map +1 -0
  77. package/dist/services/InlineVariantGenerationService.js +394 -0
  78. package/dist/services/InlineVariantGenerationService.js.map +1 -0
  79. package/dist/services/InterfaceGenerationService.d.ts +12 -0
  80. package/dist/services/InterfaceGenerationService.d.ts.map +1 -0
  81. package/dist/services/InterfaceGenerationService.js +256 -0
  82. package/dist/services/InterfaceGenerationService.js.map +1 -0
  83. package/dist/services/SessionBridgeService.d.ts +11 -3
  84. package/dist/services/SessionBridgeService.d.ts.map +1 -1
  85. package/dist/services/SessionBridgeService.js +35 -3
  86. package/dist/services/SessionBridgeService.js.map +1 -1
  87. package/dist/services/TerminalAgentRunner.d.ts +65 -0
  88. package/dist/services/TerminalAgentRunner.d.ts.map +1 -0
  89. package/dist/services/TerminalAgentRunner.js +511 -0
  90. package/dist/services/TerminalAgentRunner.js.map +1 -0
  91. package/dist/services/WorktreeManager.d.ts +5 -4
  92. package/dist/services/WorktreeManager.d.ts.map +1 -1
  93. package/dist/services/WorktreeManager.js +22 -12
  94. package/dist/services/WorktreeManager.js.map +1 -1
  95. package/dist/services/accessTokenRefresh.d.ts +8 -0
  96. package/dist/services/accessTokenRefresh.d.ts.map +1 -1
  97. package/dist/services/accessTokenRefresh.js +30 -1
  98. package/dist/services/accessTokenRefresh.js.map +1 -1
  99. package/dist/services/createAgentVariantsOrchestrator.d.ts +16 -0
  100. package/dist/services/createAgentVariantsOrchestrator.d.ts.map +1 -0
  101. package/dist/services/createAgentVariantsOrchestrator.js +42 -0
  102. package/dist/services/createAgentVariantsOrchestrator.js.map +1 -0
  103. package/dist/types/change-request-types.d.ts +29 -0
  104. package/dist/types/change-request-types.d.ts.map +1 -1
  105. package/dist/types/editor-interface-types.d.ts +67 -0
  106. package/dist/types/editor-interface-types.d.ts.map +1 -0
  107. package/dist/types/editor-interface-types.js +12 -0
  108. package/dist/types/editor-interface-types.js.map +1 -0
  109. package/dist/utils/elementFileHintSignals.d.ts +8 -0
  110. package/dist/utils/elementFileHintSignals.d.ts.map +1 -0
  111. package/dist/utils/elementFileHintSignals.js +40 -0
  112. package/dist/utils/elementFileHintSignals.js.map +1 -0
  113. package/dist/utils/formatElementTargetingContext.d.ts +34 -0
  114. package/dist/utils/formatElementTargetingContext.d.ts.map +1 -0
  115. package/dist/utils/formatElementTargetingContext.js +88 -0
  116. package/dist/utils/formatElementTargetingContext.js.map +1 -0
  117. package/dist/utils/queueAccess.d.ts +11 -0
  118. package/dist/utils/queueAccess.d.ts.map +1 -0
  119. package/dist/utils/queueAccess.js +15 -0
  120. package/dist/utils/queueAccess.js.map +1 -0
  121. package/package.json +1 -1
  122. package/src/ui/dist/assets/main-C8QYh4jE.css +1 -0
  123. package/src/ui/dist/assets/main-CMk2ORlB.js +645 -0
  124. package/src/ui/dist/index.html +2 -2
  125. package/src/ui/dist/assets/main-BZEruoyc.css +0 -1
  126. package/src/ui/dist/assets/main-CIJUZXe8.js +0 -382
package/dist/server.js CHANGED
@@ -36,16 +36,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.startServer = exports.DIST_UI_PATH = void 0;
39
+ exports.startServer = exports.isRivetCorsOriginAllowed = exports.isRivetUiStaticAssetPath = exports.isEmbeddedAgentUiHost = exports.resolveEmbeddedAgentPreviewOrigin = exports.resolveEmbeddedAgentUiOrigin = exports.resolveRivetListenHost = exports.sendInactiveVariantsEventStream = exports.injectRivetUiBootstrap = exports.DIST_UI_PATH = exports.RIVET_CORS_ALLOWED_HEADERS = exports.INACTIVE_VARIANTS_EVENT_HEARTBEAT_MS = void 0;
40
40
  const Sentry = __importStar(require("@sentry/node"));
41
41
  const express_1 = __importDefault(require("express"));
42
42
  const cors_1 = __importDefault(require("cors"));
43
+ const crypto_1 = require("crypto");
43
44
  const path_1 = __importDefault(require("path"));
44
45
  const fs_1 = __importDefault(require("fs"));
45
46
  const index_core_1 = require("./index-core");
46
47
  const _1 = require(".");
47
48
  const components_1 = require("./routes/components");
48
49
  const modifications_1 = require("./routes/modifications");
50
+ const controls_1 = require("./routes/controls");
49
51
  const design_1 = require("./routes/design");
50
52
  const WorktreeManager_1 = require("./services/WorktreeManager");
51
53
  const git_1 = require("./routes/git");
@@ -55,6 +57,7 @@ const proxy_config_1 = require("./proxy-middleware/proxy-config");
55
57
  const StaticFileService_1 = require("./services/StaticFileService");
56
58
  const static_1 = require("./routes/static");
57
59
  const ConfigManager_1 = require("./services/ConfigManager");
60
+ const accessTokenRefresh_1 = require("./services/accessTokenRefresh");
58
61
  const evaluateFlags_1 = require("./config/evaluateFlags");
59
62
  const FeatureFlagService_1 = require("./services/FeatureFlagService");
60
63
  const DesktopVersionPolicyService_1 = require("./services/DesktopVersionPolicyService");
@@ -70,7 +73,19 @@ const HostedDemoAuthSessionStore_1 = require("./services/HostedDemoAuthSessionSt
70
73
  const shouldRecordHostedDemoSessionAction_1 = require("./utils/shouldRecordHostedDemoSessionAction");
71
74
  const hostedDemoSessionAuthRefresh_1 = require("./services/hostedDemoSessionAuthRefresh");
72
75
  const RequestAuthContext_1 = require("./services/RequestAuthContext");
76
+ const queueAccess_1 = require("./utils/queueAccess");
73
77
  const log = (0, index_core_1.createLogger)('RivetServer');
78
+ const QUEUE_ACCESS_TOKEN_BYTES = 32;
79
+ const RIVET_BOOTSTRAP_SCRIPT_ID = 'rivet-bootstrap-config';
80
+ const EMBEDDED_AGENT_LISTEN_HOST = '127.0.0.1';
81
+ const EMBEDDED_AGENT_PREVIEW_HOST = 'localhost';
82
+ const OPAQUE_PREVIEW_ORIGIN = 'null';
83
+ exports.INACTIVE_VARIANTS_EVENT_HEARTBEAT_MS = 30_000;
84
+ exports.RIVET_CORS_ALLOWED_HEADERS = [
85
+ 'Content-Type',
86
+ 'Authorization',
87
+ 'x-rivet-queue-token',
88
+ ];
74
89
  /**
75
90
  * Resolve UI dist path for both development and packaged (desktop app) environments
76
91
  */
@@ -96,6 +111,76 @@ const resolveUiPath = () => {
96
111
  return devPath;
97
112
  };
98
113
  exports.DIST_UI_PATH = resolveUiPath();
114
+ const setNoStoreHeaders = (res) => {
115
+ res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate');
116
+ res.setHeader('Pragma', 'no-cache');
117
+ res.setHeader('Expires', '0');
118
+ };
119
+ const escapeScriptJson = (value) => JSON.stringify(value)
120
+ .replace(/</g, '\\u003c')
121
+ .replace(/\u2028/g, '\\u2028')
122
+ .replace(/\u2029/g, '\\u2029');
123
+ const injectRivetUiBootstrap = (html, bootstrap) => {
124
+ const script = `<script id="${RIVET_BOOTSTRAP_SCRIPT_ID}">window.__RIVET_BOOTSTRAP__=${escapeScriptJson(bootstrap)};</script>`;
125
+ if (html.includes('</head>')) {
126
+ return html.replace('</head>', `${script}</head>`);
127
+ }
128
+ return `${script}${html}`;
129
+ };
130
+ exports.injectRivetUiBootstrap = injectRivetUiBootstrap;
131
+ /**
132
+ * Keeps the inactive variants SSE endpoint well-formed for clients that always subscribe.
133
+ */
134
+ const sendInactiveVariantsEventStream = (req, res) => {
135
+ res.set({
136
+ 'Content-Type': 'text/event-stream',
137
+ 'Cache-Control': 'no-cache, no-transform',
138
+ Connection: 'keep-alive',
139
+ 'X-Accel-Buffering': 'no',
140
+ });
141
+ res.flushHeaders?.();
142
+ res.write('data: {"active":false}\n\n');
143
+ const heartbeat = setInterval(() => {
144
+ res.write(': heartbeat\n\n');
145
+ }, exports.INACTIVE_VARIANTS_EVENT_HEARTBEAT_MS);
146
+ req.on('close', () => {
147
+ clearInterval(heartbeat);
148
+ });
149
+ };
150
+ exports.sendInactiveVariantsEventStream = sendInactiveVariantsEventStream;
151
+ /**
152
+ * Returns the host interface Rivet should bind for the current runtime.
153
+ */
154
+ const resolveRivetListenHost = (agentApplyMode) => agentApplyMode === 'embedded' ? EMBEDDED_AGENT_LISTEN_HOST : undefined;
155
+ exports.resolveRivetListenHost = resolveRivetListenHost;
156
+ const resolveEmbeddedAgentUiOrigin = (port) => `http://${EMBEDDED_AGENT_LISTEN_HOST}:${port}`;
157
+ exports.resolveEmbeddedAgentUiOrigin = resolveEmbeddedAgentUiOrigin;
158
+ const resolveEmbeddedAgentPreviewOrigin = (port) => `http://${EMBEDDED_AGENT_PREVIEW_HOST}:${port}`;
159
+ exports.resolveEmbeddedAgentPreviewOrigin = resolveEmbeddedAgentPreviewOrigin;
160
+ const isEmbeddedAgentUiHost = (hostname, agentApplyMode) => agentApplyMode !== 'embedded' || hostname === EMBEDDED_AGENT_LISTEN_HOST;
161
+ exports.isEmbeddedAgentUiHost = isEmbeddedAgentUiHost;
162
+ const isRivetUiStaticAssetPath = (requestPath) => requestPath === '/rivet/favicon.ico' ||
163
+ requestPath.startsWith('/rivet/assets/') ||
164
+ requestPath.startsWith('/rivet/fonts/');
165
+ exports.isRivetUiStaticAssetPath = isRivetUiStaticAssetPath;
166
+ /**
167
+ * Allows browser requests from the Rivet UI origin and the opaque sandbox
168
+ * origin used by embedded agent previews when loading preview assets.
169
+ */
170
+ const isRivetCorsOriginAllowed = ({ requestOrigin, requestHostname, requestPath, allowedOrigins, agentApplyMode, }) => {
171
+ if (!requestOrigin) {
172
+ return true;
173
+ }
174
+ if (allowedOrigins.has(requestOrigin)) {
175
+ return true;
176
+ }
177
+ return (agentApplyMode === 'embedded' &&
178
+ requestHostname === EMBEDDED_AGENT_PREVIEW_HOST &&
179
+ !requestPath.startsWith('/api/') &&
180
+ !requestPath.startsWith('/rivet') &&
181
+ requestOrigin === OPAQUE_PREVIEW_ORIGIN);
182
+ };
183
+ exports.isRivetCorsOriginAllowed = isRivetCorsOriginAllowed;
99
184
  /**
100
185
  * Path to the dev-mode port marker. Written by the Rivet backend after listen()
101
186
  * succeeds and consumed by `src/ui/vite.config.ts` so that `yarn dev` in the UI
@@ -141,12 +226,16 @@ const removeDevPortFile = () => {
141
226
  }
142
227
  };
143
228
  const startServer = async (options) => {
144
- const { userPort, userHost, telemetry, projectPath, framework, staticEntry, styleFramework, tailwindConfig, sessionBridge, mcpEditor, skipProcessHandlers, } = options;
229
+ const { userPort, userHost, telemetry, projectPath, framework, staticEntry, styleFramework, tailwindConfig, sessionBridge, mcpEditor, agentApplyMode, agentRunController, skipProcessHandlers, } = options;
145
230
  const userPortWithFallback = userPort ?? _1.DEFAULT_USER_PORT;
146
231
  const userHostWithFallback = userHost ?? 'localhost';
147
232
  const isDemoModeEnabled = options.demoMode?.enabled ?? false;
148
233
  const requiresDemoAuth = options.demoMode?.requireSignedInUsers ?? true;
149
234
  const isGitEnabled = options.isGitEnabled ?? !isDemoModeEnabled;
235
+ const queueAccessToken = sessionBridge && agentApplyMode === 'embedded'
236
+ ? (0, crypto_1.randomBytes)(QUEUE_ACCESS_TOKEN_BYTES).toString('base64url')
237
+ : null;
238
+ const rivetUiIndexHtml = fs_1.default.readFileSync(path_1.default.join(exports.DIST_UI_PATH, 'index.html'), 'utf8');
150
239
  if (process.env.SENTRY_DSN) {
151
240
  Sentry.init({
152
241
  dsn: process.env.SENTRY_DSN,
@@ -200,10 +289,9 @@ const startServer = async (options) => {
200
289
  }
201
290
  const listenPort = options.rivetPort ?? _1.DEFAULT_PORT;
202
291
  const app = (0, express_1.default)();
203
- const corsOrigins = new Set([
204
- `http://localhost:${listenPort}`,
205
- `http://127.0.0.1:${listenPort}`,
206
- ]);
292
+ const corsOrigins = new Set(agentApplyMode === 'embedded'
293
+ ? [(0, exports.resolveEmbeddedAgentUiOrigin)(listenPort)]
294
+ : [`http://localhost:${listenPort}`, `http://127.0.0.1:${listenPort}`]);
207
295
  const rawCorsOrigins = process.env.RIVET_CORS_ORIGINS;
208
296
  if (rawCorsOrigins) {
209
297
  rawCorsOrigins
@@ -217,12 +305,22 @@ const startServer = async (options) => {
217
305
  corsOrigins.add('https://demo.rivet.design');
218
306
  }
219
307
  // CORS configuration for local development
220
- app.use((0, cors_1.default)({
221
- origin: [...corsOrigins],
222
- credentials: true,
223
- methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
224
- allowedHeaders: ['Content-Type', 'Authorization'],
225
- }));
308
+ app.use((req, res, next) => {
309
+ (0, cors_1.default)({
310
+ origin: (origin, callback) => {
311
+ callback(null, (0, exports.isRivetCorsOriginAllowed)({
312
+ requestOrigin: origin,
313
+ requestHostname: req.hostname,
314
+ requestPath: req.path,
315
+ allowedOrigins: corsOrigins,
316
+ agentApplyMode,
317
+ }));
318
+ },
319
+ credentials: true,
320
+ methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
321
+ allowedHeaders: exports.RIVET_CORS_ALLOWED_HEADERS,
322
+ })(req, res, next);
323
+ });
226
324
  const jsonBodyParser = express_1.default.json({ limit: '50mb' });
227
325
  app.use((req, res, next) => {
228
326
  if (req.originalUrl.startsWith('/try/')) {
@@ -245,16 +343,12 @@ const startServer = async (options) => {
245
343
  // until the cache TTL expires). Hashed assets under /assets/* are
246
344
  // content-addressed and safe to long-cache.
247
345
  if (filePath.endsWith('.html')) {
248
- res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate');
249
- res.setHeader('Pragma', 'no-cache');
250
- res.setHeader('Expires', '0');
346
+ setNoStoreHeaders(res);
251
347
  }
252
348
  else if (process.env.NODE_ENV !== 'production') {
253
349
  // Dev: defeat caching for everything so HMR-like behavior is reliable
254
350
  // without rebuilds bumping a hash.
255
- res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate');
256
- res.setHeader('Pragma', 'no-cache');
257
- res.setHeader('Expires', '0');
351
+ setNoStoreHeaders(res);
258
352
  }
259
353
  else {
260
354
  // Production hashed assets are content-addressed (`main-<hash>.js`),
@@ -264,24 +358,48 @@ const startServer = async (options) => {
264
358
  }
265
359
  },
266
360
  };
361
+ const sendRivetUiIndex = (req, res) => {
362
+ if (!(0, exports.isEmbeddedAgentUiHost)(req.hostname, agentApplyMode)) {
363
+ res.redirect(302, `${(0, exports.resolveEmbeddedAgentUiOrigin)(listenPort)}${req.originalUrl}`);
364
+ return;
365
+ }
366
+ setNoStoreHeaders(res);
367
+ res
368
+ .type('html')
369
+ .send((0, exports.injectRivetUiBootstrap)(rivetUiIndexHtml, {
370
+ agentApplyMode: agentApplyMode ?? null,
371
+ queueAccessToken,
372
+ }));
373
+ };
267
374
  // Serve hashed UI assets from root so both / and /rivet entrypoints can load them.
268
375
  app.use('/assets', express_1.default.static(path_1.default.join(exports.DIST_UI_PATH, 'assets'), uiStaticOptions));
376
+ app.use('/rivet/assets', express_1.default.static(path_1.default.join(exports.DIST_UI_PATH, 'assets'), uiStaticOptions));
269
377
  // Serve public font files used by auth and hosted demo UI.
270
378
  app.use('/fonts', express_1.default.static(path_1.default.join(exports.DIST_UI_PATH, 'fonts'), uiStaticOptions));
379
+ app.use('/rivet/fonts', express_1.default.static(path_1.default.join(exports.DIST_UI_PATH, 'fonts'), uiStaticOptions));
271
380
  // Serve favicon at root for hosted/static deployments.
272
381
  app.get('/favicon.ico', (_req, res) => {
273
382
  res.sendFile('favicon.ico', { root: exports.DIST_UI_PATH });
274
383
  });
384
+ app.get('/rivet/favicon.ico', (_req, res) => {
385
+ res.sendFile('favicon.ico', { root: exports.DIST_UI_PATH });
386
+ });
275
387
  // Serve Rivet UI at /rivet for non-static modes.
276
388
  if (framework !== 'static') {
277
- app.use('/rivet', express_1.default.static(exports.DIST_UI_PATH, uiStaticOptions));
389
+ app.get(/^\/rivet(?:\/.*)?$/, (req, res, next) => {
390
+ if ((0, exports.isRivetUiStaticAssetPath)(req.path)) {
391
+ next();
392
+ return;
393
+ }
394
+ sendRivetUiIndex(req, res);
395
+ });
278
396
  }
279
397
  log.info(`Serving UI assets from: ${exports.DIST_UI_PATH}`);
280
398
  // Static mode - use root entrypoint for Rivet UI (no dev server to proxy to)
281
399
  if (framework === 'static') {
282
400
  app.get('/', (req, res) => {
283
401
  log.debug(`${framework} mode - serving Rivet at root`);
284
- res.sendFile('index.html', { root: exports.DIST_UI_PATH });
402
+ sendRivetUiIndex(req, res);
285
403
  });
286
404
  }
287
405
  // For web frameworks, root route falls through to catch-all proxy (no special handling needed)
@@ -372,7 +490,9 @@ const startServer = async (options) => {
372
490
  return email.trim().toLowerCase();
373
491
  };
374
492
  const isDemoAuthExemptApiPath = (pathName) => {
375
- if (pathName === '/config' || pathName === '/health' || pathName === '/auth/store') {
493
+ if (pathName === '/config' ||
494
+ pathName === '/health' ||
495
+ pathName === '/auth/store') {
376
496
  return true;
377
497
  }
378
498
  if (pathName === '/demo/session' || pathName.startsWith('/demo/session/')) {
@@ -393,7 +513,8 @@ const startServer = async (options) => {
393
513
  return false;
394
514
  };
395
515
  let demoSessionService = null;
396
- if (isDemoModeEnabled && options.demoMode?.allowSessionProvisioning !== false) {
516
+ if (isDemoModeEnabled &&
517
+ options.demoMode?.allowSessionProvisioning !== false) {
397
518
  const sessionMetadataRedisUrl = options.demoMode?.sessionMetadataRedisUrl ??
398
519
  options.demoMode?.authRedisUrl;
399
520
  const sessionMetadataStore = sessionMetadataRedisUrl
@@ -444,7 +565,8 @@ const startServer = async (options) => {
444
565
  if (!activeDemoSessionId) {
445
566
  return undefined;
446
567
  }
447
- return demoSessionService.getSessionProxyTarget(activeDemoSessionId) ?? undefined;
568
+ return (demoSessionService.getSessionProxyTarget(activeDemoSessionId) ??
569
+ undefined);
448
570
  },
449
571
  });
450
572
  app.use('/api', (req, res, next) => {
@@ -521,6 +643,7 @@ const startServer = async (options) => {
521
643
  app.use('/api', (0, components_1.createComponentRouter)(projectPath, telemetry));
522
644
  app.use('/api', (0, modifications_1.createModificationRouter)(projectPath, telemetry));
523
645
  app.use('/api', (0, design_1.createDesignRouter)(projectPath));
646
+ app.use('/api', (0, controls_1.createControlsRouter)());
524
647
  void (0, WorktreeManager_1.pruneWorktrees)(projectPath); // prune stale registry entries from prior crashes
525
648
  if (!isGitEnabled) {
526
649
  log.info('Git routes disabled for this server instance');
@@ -638,7 +761,12 @@ const startServer = async (options) => {
638
761
  app.use('/api', (0, support_1.createSupportRouter)(telemetry));
639
762
  // Static routes (only for static projects)
640
763
  if (staticService) {
641
- app.use((0, static_1.createStaticRoutes)(staticService, projectPath));
764
+ app.use((0, static_1.createStaticRoutes)(staticService, projectPath, {
765
+ isPreviewBridgeEnabled: agentApplyMode === 'embedded',
766
+ expectedPreviewParentOrigin: agentApplyMode === 'embedded'
767
+ ? (0, exports.resolveEmbeddedAgentUiOrigin)(listenPort)
768
+ : undefined,
769
+ }));
642
770
  log.info('Static routes mounted at /static');
643
771
  }
644
772
  // Health check endpoint
@@ -653,6 +781,22 @@ const startServer = async (options) => {
653
781
  },
654
782
  });
655
783
  });
784
+ app.post('/api/agent/stop', (req, res) => {
785
+ if (agentApplyMode !== 'embedded' || !agentRunController) {
786
+ return res.status(404).json({ error: 'No embedded agent run active' });
787
+ }
788
+ if (!(0, queueAccess_1.isQueueAccessAuthorized)({
789
+ queueAccessToken,
790
+ getHeader: (name) => req.header(name),
791
+ })) {
792
+ return res.status(403).json({
793
+ error: 'Queue access denied',
794
+ reason: 'queue_token_required',
795
+ });
796
+ }
797
+ const result = agentRunController.cancelActiveRun();
798
+ return res.json({ success: true, ...result });
799
+ });
656
800
  // Config endpoint
657
801
  app.get('/api/config', async (req, res) => {
658
802
  const configManager = (0, ConfigManager_1.getConfigManager)();
@@ -662,10 +806,21 @@ const startServer = async (options) => {
662
806
  const isAuthenticated = demoAuthSessionService
663
807
  ? isAuthenticatedInDemoMode
664
808
  : configManager.isAuthenticated();
665
- const email = demoAuthSessionService ? demoAuth?.email : configManager.getEmail();
809
+ const email = demoAuthSessionService
810
+ ? demoAuth?.email
811
+ : configManager.getEmail();
666
812
  const userId = demoAuthSessionService
667
813
  ? demoAuth?.userId
668
814
  : configManager.getUserId();
815
+ // Display name lives in the access token's user_metadata (Google OAuth).
816
+ // Decode the demo session's token directly; otherwise let ConfigManager
817
+ // read it off the locally stored token. May be undefined (email-only
818
+ // logins) — the UI falls back to email-derived initials.
819
+ const name = demoAuthSessionService
820
+ ? demoAuth?.token
821
+ ? ((0, accessTokenRefresh_1.getJwtDisplayName)(demoAuth.token) ?? undefined)
822
+ : undefined
823
+ : configManager.getDisplayName();
669
824
  const featureFlagUserKey = (0, featureFlagUserKey_1.getConfigFeatureFlagUserKey)({
670
825
  headers: req.headers,
671
826
  fallbackEmail: email,
@@ -691,9 +846,13 @@ const startServer = async (options) => {
691
846
  agentModeAvailable: isAuthenticated,
692
847
  email,
693
848
  userId,
849
+ name,
694
850
  activeDemoSessionId,
695
851
  isMCPSession: sessionBridge?.isActive() ?? false,
696
852
  mcpEditor: mcpEditor ?? null,
853
+ agentApplyMode: sessionBridge?.isActive()
854
+ ? (agentApplyMode ?? 'external')
855
+ : null,
697
856
  featureFlags,
698
857
  projectPath: livePath,
699
858
  demoMode: isDemoModeEnabled,
@@ -749,15 +908,33 @@ const startServer = async (options) => {
749
908
  deploymentEnv: process.env.NODE_ENV ?? 'development',
750
909
  });
751
910
  }
752
- return res.status(500).json({ error: 'Failed to store auth credentials' });
911
+ return res
912
+ .status(500)
913
+ .json({ error: 'Failed to store auth credentials' });
753
914
  }
754
915
  telemetry?.identifyUser();
755
916
  log.info(`Stored auth for ${email} via browser OAuth`);
756
917
  res.json({ success: true });
757
918
  });
919
+ app.post('/api/auth/logout', (req, res) => {
920
+ try {
921
+ if (demoAuthSessionService) {
922
+ demoAuthSessionService.clearAuthForRequest(req, res);
923
+ }
924
+ else {
925
+ (0, ConfigManager_1.getConfigManager)().clearAuth();
926
+ }
927
+ }
928
+ catch (error) {
929
+ log.warn('Logout failed', error);
930
+ return res.status(500).json({ error: 'Failed to log out' });
931
+ }
932
+ log.info('Cleared auth via logout');
933
+ res.json({ success: true });
934
+ });
758
935
  // MCP bridge routes (only when session bridge is provided)
759
936
  if (sessionBridge) {
760
- app.use('/api/mcp', (0, mcp_1.createMCPRouter)(sessionBridge, options.telemetry, options.agentVariantsOrchestrator));
937
+ app.use('/api/mcp', (0, mcp_1.createMCPRouter)(sessionBridge, options.telemetry, options.agentVariantsOrchestrator, { queueAccessToken: queueAccessToken ?? undefined }));
761
938
  log.info('MCP bridge routes mounted at /api/mcp');
762
939
  }
763
940
  // Agent-driven variants — Express routes back the iframe chip (cycle pills,
@@ -766,12 +943,25 @@ const startServer = async (options) => {
766
943
  app.use('/api', (0, agentVariants_1.createAgentVariantsRouter)(options.agentVariantsOrchestrator, sessionBridge, telemetry));
767
944
  log.info('agent-variants routes mounted at /api/variants');
768
945
  }
946
+ else {
947
+ app.get('/api/variants/active', (_req, res) => {
948
+ res.json({ active: false });
949
+ });
950
+ app.get('/api/variants/events', (req, res) => {
951
+ (0, exports.sendInactiveVariantsEventStream)(req, res);
952
+ });
953
+ }
769
954
  // Proxy all other routes to user's dev server (catch-all)
770
955
  // This must come AFTER all Rivet-specific routes
771
956
  // Skip proxy setup for static apps
772
957
  let userDevProxy = null;
773
958
  if (framework !== 'static') {
774
- userDevProxy = (0, proxy_config_1.createUserDevServerProxy)(userPortWithFallback, userHostWithFallback);
959
+ userDevProxy = (0, proxy_config_1.createUserDevServerProxy)(userPortWithFallback, userHostWithFallback, {
960
+ isPreviewBridgeEnabled: agentApplyMode === 'embedded',
961
+ expectedPreviewParentOrigin: agentApplyMode === 'embedded'
962
+ ? (0, exports.resolveEmbeddedAgentUiOrigin)(listenPort)
963
+ : undefined,
964
+ });
775
965
  // Inject the variant-target setter into the bridge so MCP-driven variant
776
966
  // sessions can swap upstreams without re-creating the proxy.
777
967
  sessionBridge?.registerVariantTargetSetter(userDevProxy.setVariantTarget);
@@ -812,11 +1002,18 @@ const startServer = async (options) => {
812
1002
  // Start server
813
1003
  const activeSockets = new Set();
814
1004
  const httpServer = await new Promise((resolve, reject) => {
815
- const server = app.listen(listenPort, () => {
816
- log.info(`🎨 Rivet server running on http://localhost:${listenPort}`);
817
- writeDevPortFile(listenPort);
818
- resolve(server);
819
- });
1005
+ const listenHost = (0, exports.resolveRivetListenHost)(agentApplyMode);
1006
+ const server = listenHost
1007
+ ? app.listen(listenPort, listenHost, () => {
1008
+ log.info(`🎨 Rivet server running on http://${listenHost}:${listenPort}`);
1009
+ writeDevPortFile(listenPort);
1010
+ resolve(server);
1011
+ })
1012
+ : app.listen(listenPort, () => {
1013
+ log.info(`🎨 Rivet server running on http://localhost:${listenPort}`);
1014
+ writeDevPortFile(listenPort);
1015
+ resolve(server);
1016
+ });
820
1017
  server.on('error', (err) => {
821
1018
  reject(err);
822
1019
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,sDAA8B;AAE9B,gDAAwB;AACxB,gDAAwB;AACxB,4CAAoB;AAEpB,6CAA4D;AAC5D,wBAAgE;AAEhE,oDAA4D;AAC5D,0DAAkE;AAClE,4CAAqD;AACrD,gEAAsF;AACtF,sCAA+C;AAC/C,4CAAoD;AACpD,8CAAuD;AAEvD,kEAA2E;AAC3E,oEAAiE;AACjE,4CAAqD;AACrD,4DAA4D;AAC5D,0DAAyD;AACzD,sEAAsE;AAEtE,wFAAwF;AACxF,oEAA0E;AAC1E,sCAA+C;AAC/C,0DAAmE;AAEnE,wCAAiD;AACjD,kFAA+E;AAC/E,8EAAgF;AAChF,iEAI+B;AAC/B,0FAAuF;AACvF,sFAAwF;AACxF,qGAAkG;AAClG,0FAAkG;AAClG,sEAA0E;AAE1E,MAAM,GAAG,GAAG,IAAA,yBAAY,EAAC,aAAa,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,aAAa,GAAG,GAAW,EAAE;IACjC,mEAAmE;IACnE,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEpD,uEAAuE;IACvE,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAE1D,2CAA2C;IAC3C,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAEvD,qDAAqD;IACrD,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;QAClD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,oDAAoD;IACpD,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAC;QACxD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gCAAgC;IAChC,GAAG,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEW,QAAA,YAAY,GAAG,aAAa,EAAE,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,GAAW,EAAE,CACtC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;AAEhD,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC9C,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,KAAK,CAAC,4BAA4B,QAAQ,UAAU,IAAI,GAAG,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACP,sCAAsC,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAS,EAAE;IACnC,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAsB,CAAC;QACzD,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/B,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxB,GAAG,CAAC,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;AACH,CAAC,CAAC;AA6CK,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAsB,EACC,EAAE;IACzB,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,mBAAmB,GACpB,GAAG,OAAO,CAAC;IAEZ,MAAM,oBAAoB,GAAG,QAAQ,IAAI,oBAAiB,CAAC;IAC3D,MAAM,oBAAoB,GAAG,QAAQ,IAAI,WAAW,CAAC;IACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC;IAC7D,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,oBAAoB,IAAI,IAAI,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,iBAAiB,CAAC;IAEhE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC3B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SACnD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,2BAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAErE,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,iBAAiB,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CACN,oEAAoE,EACpE,KAAK,CACN,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa,GAA6B,IAAI,CAAC;IACnD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,WAAW,IAAI,YAAY,CAAC;QAC/C,aAAa,GAAG,IAAI,qCAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,0FAA0F;IAC1F,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YAC7C,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACjD,IAAA,0CAAwB,GAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvC,SAAS,EAAE,QAAQ,EAAE;gBACrB,IAAA,0CAAqB,GAAE,CAAC,QAAQ,EAAE;aACnC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACrC,GAAG,CAAC,KAAK,CACP,qBAAqB,MAAM,CAAC,CAAC,CAAC,GAAG,EAChC,OAAO,CAAC,CAAC,CAA2B,CAAC,MAAM,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACtC,SAAS,EAAE,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;YACvD,eAAe,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC1C,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAC3D,eAAe,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,eAAY,CAAC;IACrD,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IACtB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS;QAClC,oBAAoB,UAAU,EAAE;QAChC,oBAAoB,UAAU,EAAE;KACjC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACtD,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc;aACX,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aACrC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,WAAW,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACxC,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,2CAA2C;IAC3C,GAAG,CAAC,GAAG,CACL,IAAA,cAAI,EAAC;QACH,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;QACpD,cAAc,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;KAClD,CAAC,CACH,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAyC;QAC5D,UAAU,EAAE,CAAC,GAAqB,EAAE,QAAgB,EAAE,EAAE;YACtD,sEAAsE;YACtE,qEAAqE;YACrE,wEAAwE;YACxE,qEAAqE;YACrE,kEAAkE;YAClE,4CAA4C;YAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,SAAS,CACX,eAAe,EACf,uDAAuD,CACxD,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACjD,sEAAsE;gBACtE,mCAAmC;gBACnC,GAAG,CAAC,SAAS,CACX,eAAe,EACf,uDAAuD,CACxD,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,qEAAqE;gBACrE,qEAAqE;gBACrE,6BAA6B;gBAC7B,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;KACF,CAAC;IACF,mFAAmF;IACnF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IACvF,2DAA2D;IAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAO,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IACrF,uDAAuD;IACvD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,iDAAiD;IACjD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAO,CAAC,MAAM,CAAC,oBAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,2BAA2B,oBAAY,EAAE,CAAC,CAAC;IAEpD,6EAA6E;IAC7E,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,+BAA+B,CAAC,CAAC;YACvD,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,+FAA+F;IAE/F,MAAM,wBAAwB,GAAG,CAAC,mBAA4B,EAAsB,EAAE;QACpF,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC,CAAC;IAEF;;;OAGG;IACH,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAA,8CAAyB,EAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE;YACrD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,iBAAiB;QAC9C,CAAC,CAAC,IAAI,2DAA4B,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY;gBACnC,CAAC,CAAC,IAAI,4DAA+B,CAAC;oBAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;oBACvC,SAAS,EACP,OAAO,CAAC,QAAQ,CAAC,kBAAkB;wBACnC,gCAAgC;iBACnC,CAAC;gBACJ,CAAC,CAAC,SAAS;SACd,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,sBAAsB,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,MAAM,IAAA,sEAAuC,EAAC;oBACzD,sBAAsB;oBACtB,SAAS;oBACT,GAAG;oBACH,WAAW,EAAE,GAAG,EAAE,CAAC,IAAA,gCAAgB,GAAE,CAAC,WAAW,EAAE;iBACpD,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACxE,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACzC,IAAA,8CAAyB,EACvB;oBACE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,WAAW;oBACjC,YAAY,EAAE,IAAI,EAAE,YAAY;oBAChC,KAAK,EAAE,IAAI,EAAE,KAAK;iBACnB,EACD,GAAG,EAAE;oBACH,IAAI,EAAE,CAAC;gBACT,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,0BAA0B,GAAG,CAAC,GAAY,EAAW,EAAE;QAC3D,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,MAAM,yBAAyB,GAAG,CAAC,GAAY,EAAiB,EAAE;QAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,eAAe,GAAG,sBAAsB;YAC5C,EAAE,iBAAiB,CAAC,GAAG,CAAC;YACxB,EAAE,KAAK,EAAE,IAAI,EAAE;aACd,WAAW,EAAE,CAAC;QACjB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,gCAAgB,GAAE,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAW,EAAE;QAC5D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAW,EAAE;QACxD,IACE,QAAQ,KAAK,SAAS;YACtB,QAAQ,KAAK,SAAS;YACtB,QAAQ,KAAK,aAAa;YAC1B,QAAQ,KAAK,UAAU,EACvB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,kBAAkB,GAAoC,IAAI,CAAC;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAC,QAAQ,EAAE,wBAAwB,KAAK,KAAK,EAAE,CAAC;QAC9E,MAAM,uBAAuB,GAC3B,OAAO,CAAC,QAAQ,EAAE,uBAAuB;YACzC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;QACjC,MAAM,oBAAoB,GAAG,uBAAuB;YAClD,CAAC,CAAC,IAAI,oDAA2B,CAAC;gBAC9B,QAAQ,EAAE,uBAAuB;gBACjC,SAAS,EACP,OAAO,CAAC,QAAQ,EAAE,6BAA6B;oBAC/C,gCAAgC;aACnC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,kBAAkB,GAAG,IAAI,mDAAwB,CAAC;YAChD,QAAQ,EAAE,WAAW;YACrB,SAAS;YACT,mBAAmB,EACjB,OAAO,CAAC,QAAQ,EAAE,mBAAmB,IAAI,0BAA0B;YACrE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB;YACtD,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY;YAC5C,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,gBAAgB;YACpD,iBAAiB,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB;YACtD,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa;YAC9C,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,aAAa;YAC9C,oBAAoB;SACrB,CAAC,CAAC;QACH,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,qBAAqB,GAAG,IAAA,6CAAqB,EAAU;YAC3D,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,EAAE;YAC5C,EAAE,EAAE;gBACF,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;oBAC1B,IAAA,sCAAc,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;aACF;YACD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,mBAAmB,GACvB,sBAAsB,EAAE,gCAAgC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;gBACxE,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC;YACpF,CAAC;SACF,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,mBAAmB,GACvB,sBAAsB,EAAE,gCAAgC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;YACxE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,uDAAuD;iBAC/D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,kBAAkB,GACtB,kBAAkB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;YAChE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAC1D,IACE,gBAAgB;gBAChB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB,KAAK,kBAAkB,EACzC,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,sBAAsB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;wBACpC,sBAAsB,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACrE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gCACnB,KAAK,EAAE,uDAAuD;6BAC/D,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,+DAA+D,EAAE,KAAK,CAAC,CAAC;oBACjF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,KAAK,EAAE,kCAAkC;yBAC1C,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,sBAAsB,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,KAAK,EAAE,uDAAuD;yBAC/D,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,IAAA,yEAAmC,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAED,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,kCAAqB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,wCAAwB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,2BAAkB,EAAC,WAAW,CAAC,CAAC,CAAC;IACjD,KAAK,IAAA,gCAAc,EAAC,WAAW,CAAC,CAAC,CAAC,kDAAkD;IACpF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,qBAAe,EAAC,cAAc,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEhF,IAAI,eAAe,GAAwC,IAAI,CAAC;IAChE,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CACL,MAAM,EACN,IAAA,uBAAgB,EAAC,kBAAkB,EAAE;YACnC,oBAAoB,EAAE,gBAAgB;YACtC,gCAAgC,EAAE,sBAAsB;gBACtD,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,gCAAgC,CAAC,GAAG,CAAC;gBACvE,CAAC,CAAC,SAAS;YACb,kCAAkC,EAAE,sBAAsB;gBACxD,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,CAC1B,sBAAsB,CAAC,kCAAkC,CACvD,GAAG,EACH,GAAG,EACH,aAAa,CACd;gBACL,CAAC,CAAC,SAAS;YACb,kCAAkC,EAAE,sBAAsB;gBACxD,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACX,sBAAsB,CAAC,kCAAkC,CAAC,GAAG,EAAE,GAAG,CAAC;gBACvE,CAAC,CAAC,SAAS;YACb,SAAS;YACT,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SACrD,CAAC,CACH,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,6CAAqB,EAAU;YAC5D,YAAY,EAAE,IAAI;YAClB,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC7C,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACnB,CAAC,CAAC,cAAc,CAAC;gBACnB,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;YAC1E,CAAC;SACF,CAAC,CAAC;QACH,eAAe,GAAG,sBAAsB,CAAC;QACzC,iFAAiF;QACjF,+EAA+E;QAC/E,GAAG,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACnD,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,oBAAY,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC7C,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,cAAc,CAAC;YAEnB,MAAM,kBAAkB,GACtB,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAC1D,IACE,gBAAgB;gBAChB,kBAAkB;gBAClB,kBAAkB;gBAClB,kBAAkB,KAAK,kBAAkB,EACzC,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACzD,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,sBAAsB,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;YACrD,CAAC;YAED,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;wBACpC,sBAAsB,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACrE,SAAS,EAAE,8BAA8B,CAAC;4BACxC,aAAa,EAAE,SAAS;4BACxB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;yBACrD,CAAC,CAAC;wBACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;wBACvD,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;oBAC1E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,KAAK,EAAE,kCAAkC;yBAC1C,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,sBAAsB,EAAE,kCAAkC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACrE,SAAS,EAAE,8BAA8B,CAAC;wBACxC,aAAa,EAAE,SAAS;wBACxB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;qBACrD,CAAC,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,IAAI,IAAA,yEAAmC,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAC1D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAED,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IACD,GAAG,CAAC,GAAG,CACL,MAAM,EACN,IAAA,0BAAiB,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAC/D,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC;IAEhD,2CAA2C;IAC3C,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,IAAA,2BAAkB,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC/C,CAAC;IAED,wBAAwB;IACxB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS;YACT,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,aAAa,EAAE,oBAAoB;aACpC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxC,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;QACzC,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAuC,CAAC;QACzE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,mBAAmB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,yBAAyB,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,sBAAsB;YAC5C,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAClF,MAAM,MAAM,GAAG,sBAAsB;YACnC,CAAC,CAAC,QAAQ,EAAE,MAAM;YAClB,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,IAAA,gDAA2B,EAAC;YACrD,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,QAAQ,EAAE,mBAAmB,IAAI,IAAI,CAAC;QAClE,MAAM,aAAa,GAAG,mBAAmB;YACvC,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC,mBAAmB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAA,+BAAe,EAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;YAChD,IAAA,4DAA8B,GAAE,CAAC,SAAS,EAAE;SAC7C,CAAC,CAAC;QACH,oEAAoE;QACpE,mEAAmE;QACnE,0DAA0D;QAC1D,wEAAwE;QACxE,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,QAAQ,GACZ,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,cAAc,EAAE;YAC/B,WAAW,CAAC;QACd,GAAG,CAAC,IAAI,CAAC;YACP,kBAAkB,EAAE,eAAe;YACnC,KAAK;YACL,MAAM;YACN,mBAAmB;YACnB,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,KAAK;YAChD,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,YAAY;YACZ,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,iBAAiB;YAC3B,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,yFAAyF;IACzF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,SAAS,EAAE,0BAA0B,CAAC;oBACpC,MAAM,EAAE,wBAAwB;oBAChC,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;iBACrD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAuC,CAAC;gBACrE,MAAM,aAAa,GAAG,SAAS;oBAC7B,CAAC,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE;wBAC3D,KAAK;wBACL,KAAK;wBACL,YAAY;wBACZ,MAAM;qBACP,CAAC;oBACJ,CAAC,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;wBACnD,KAAK;wBACL,KAAK;wBACL,YAAY;wBACZ,MAAM;qBACP,CAAC,CAAC;gBACP,SAAS,EAAE,6BAA6B,CAAC;oBACvC,aAAa;oBACb,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC;oBACtC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;iBACrD,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,IAAA,gCAAgB,GAAE,CAAC;gBACzC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,SAAS,EAAE,0BAA0B,CAAC;oBACpC,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;oBACpE,UAAU,EAAE,GAAG;oBACf,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;iBACrD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,SAAS,EAAE,YAAY,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CACL,UAAU,EACV,IAAA,qBAAe,EACb,aAAa,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,yBAAyB,CAClC,CACF,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,CAAC;IAED,4EAA4E;IAC5E,wDAAwD;IACxD,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;QACtC,GAAG,CAAC,GAAG,CACL,MAAM,EACN,IAAA,yCAAyB,EACvB,OAAO,CAAC,yBAAyB,EACjC,aAAa,EACb,SAAS,CACV,CACF,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,CAAC;IAED,0DAA0D;IAC1D,iDAAiD;IACjD,mCAAmC;IACnC,IAAI,YAAY,GAAuD,IAAI,CAAC;IAE5E,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,YAAY,GAAG,IAAA,uCAAwB,EACrC,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;QAEF,yEAAyE;QACzE,6DAA6D;QAC7D,aAAa,EAAE,2BAA2B,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAE1E,wDAAwD;QACxD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAE9C,GAAG,CAAC,IAAI,CACN,uDAAuD,oBAAoB,IAAI,oBAAoB,EAAE,CACtG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,8BAA8B,CAAC,CAAC;IACvD,CAAC;IAED,yFAAyF;IACzF,0FAA0F;IAC1F,0BAA0B;IAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,+EAA+E;IAC/E,GAAG,CAAC,GAAG,CACL,CACE,GAAU,EACV,GAAoB,EACpB,GAAqB,EAErB,KAA2B,EAC3B,EAAE;QACF,MAAM,cAAc,GACjB,GAAwC,CAAC,IAAI,KAAK,cAAc;YAChE,GAAwC,CAAC,IAAI,KAAK,iBAAiB,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACzC,SAAS,EAAE,gBAAgB,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CACF,CAAC;IAEF,eAAe;IACf,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAClC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,IAAI,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;YACtE,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA8B,EAAE,EAAE;YACpD,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YACzC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE9C,GAAG,CAAC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;YAExD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,eAAe,IAAI,eAAe,EAAE,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC;wBACH,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO;oBACT,CAAC;oBACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO;oBACT,CAAC;oBACD,IAAI,gBAAgB,EAAE,CAAC;wBACrB,MAAM,IAAI,GAAG,sBAAsB,EAAE,iBAAiB,CAAC,GAAc,CAAC,CAAC;wBACvE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;4BACjB,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;4BACnE,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjB,OAAO;wBACT,CAAC;wBACD,MAAM,kBAAkB,GACtB,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;wBACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC;wBACpE,IACE,kBAAkB;4BAClB,kBAAkB;4BAClB,kBAAkB,KAAK,kBAAkB,EACzC,CAAC;4BACD,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;4BAC7D,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjB,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;oBAC7D,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC,CAAC,EAAE,CAAC;gBACL,OAAO;YACT,CAAC;YAED,qCAAqC;YACrC,MAAM,YAAY,GAChB,YAAY,EAAE,UAGf,EAAE,OAAO,CAAC;YACX,IAAI,SAAS,KAAK,QAAQ,IAAI,YAAY,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACzD,YAAY,CAAC,GAAG,EAAE,MAAgB,EAAE,IAAI,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,GAAG,CAAC,IAAI,CAAC,qCAAqC,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,uEAAuE;YACvE,2EAA2E;YAC3E,iBAAiB,EAAE,CAAC;YACpB,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,IAAI,kBAAkB,EAAE,CAAC;wBACvB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC;oBACtC,CAAC;oBACD,sBAAsB,EAAE,QAAQ,EAAE,CAAC;oBACnC,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAC7B,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;YACH,iEAAiE;YACjE,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;KACL,CAAC;AACJ,CAAC,CAAC;AA94BW,QAAA,WAAW,eA84BtB"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}