agent-relay 11.7.1 → 11.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/fleet-agent.d.ts +1 -14
- package/dist/cli/commands/fleet-agent.d.ts.map +1 -1
- package/dist/cli/commands/fleet-agent.js +0 -0
- package/dist/cli/commands/fleet-agent.js.map +1 -1
- package/dist/cli/commands/local-agent.d.ts.map +1 -1
- package/dist/cli/commands/local-agent.js +5 -1
- package/dist/cli/commands/local-agent.js.map +1 -1
- package/dist/cli/lib/attach-broker.d.ts.map +1 -1
- package/dist/cli/lib/attach-broker.js +6 -1
- package/dist/cli/lib/attach-broker.js.map +1 -1
- package/dist/cli/lib/attach-drive.d.ts +3 -11
- package/dist/cli/lib/attach-drive.d.ts.map +1 -1
- package/dist/cli/lib/attach-drive.js +5 -1
- package/dist/cli/lib/attach-drive.js.map +1 -1
- package/dist/cli/lib/attach-fleet-node.d.ts +16 -0
- package/dist/cli/lib/attach-fleet-node.d.ts.map +1 -1
- package/dist/cli/lib/attach-fleet-node.js +299 -27
- package/dist/cli/lib/attach-fleet-node.js.map +1 -1
- package/dist/cli/lib/attach-passthrough.d.ts +1 -0
- package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
- package/dist/cli/lib/attach-passthrough.js +5 -1
- package/dist/cli/lib/attach-passthrough.js.map +1 -1
- package/dist/cli/lib/attach-view.d.ts +3 -0
- package/dist/cli/lib/attach-view.d.ts.map +1 -1
- package/dist/cli/lib/attach-view.js +6 -1
- package/dist/cli/lib/attach-view.js.map +1 -1
- package/dist/cli/lib/attach.d.ts +2 -0
- package/dist/cli/lib/attach.d.ts.map +1 -1
- package/dist/cli/lib/attach.js +1 -1
- package/dist/cli/lib/attach.js.map +1 -1
- package/dist/cli/lib/broker-connection.d.ts +4 -0
- package/dist/cli/lib/broker-connection.d.ts.map +1 -1
- package/dist/cli/lib/broker-connection.js +1 -0
- package/dist/cli/lib/broker-connection.js.map +1 -1
- package/dist/cli/lib/collect-with-retry.d.ts +24 -0
- package/dist/cli/lib/collect-with-retry.d.ts.map +1 -0
- package/dist/cli/lib/collect-with-retry.js +33 -0
- package/dist/cli/lib/collect-with-retry.js.map +1 -0
- package/dist/cli/lib/node-provider-child.d.ts +2 -0
- package/dist/cli/lib/node-provider-child.d.ts.map +1 -1
- package/dist/cli/lib/node-provider-child.js +11 -0
- package/dist/cli/lib/node-provider-child.js.map +1 -1
- package/dist/index.cjs +342 -229
- package/package.json +9 -9
|
@@ -12,12 +12,41 @@ import { once } from 'node:events';
|
|
|
12
12
|
import { Buffer } from 'node:buffer';
|
|
13
13
|
import { randomBytes } from 'node:crypto';
|
|
14
14
|
import WebSocket, { WebSocketServer } from 'ws';
|
|
15
|
+
import { collectWithRetry } from './collect-with-retry.js';
|
|
15
16
|
import { resolveBaseUrl, resolveWorkspaceKey } from './sdk-client.js';
|
|
16
17
|
const MAX_BUFFERED_BYTES = 1024 * 1024;
|
|
17
|
-
const
|
|
18
|
+
const MAX_WEBSOCKET_CLOSE_REASON_BYTES = 123;
|
|
19
|
+
// Use the same finite 30s request window as the broker's Relaycast HTTP calls.
|
|
20
|
+
// Terminal-session creation can exceed the shorter startup-handshake latency
|
|
21
|
+
// under load, and this POST cannot be replayed safely after an ambiguous client
|
|
22
|
+
// timeout because allocation may have completed server-side.
|
|
23
|
+
const SESSION_REQUEST_TIMEOUT_MS = 30_000;
|
|
24
|
+
// Immediate structured reachability failures still receive the complete
|
|
25
|
+
// five-attempt/31.2s retry schedule, while slow responses cannot multiply the
|
|
26
|
+
// per-attempt timeout into a roughly three-minute CLI hang.
|
|
27
|
+
const SESSION_REQUEST_TOTAL_TIMEOUT_MS = 90_000;
|
|
28
|
+
const SESSION_REQUEST_RETRIES = 4;
|
|
29
|
+
// The fleet node publishes liveness every 12s. With four retries, the helper's
|
|
30
|
+
// deterministic delays are 6s, 7.2s, 8.4s, and 9.6s: 31.2s total. That spans
|
|
31
|
+
// more than two heartbeat intervals and matches the established terminal
|
|
32
|
+
// transport's bounded recovery window instead of exhausting every retry inside
|
|
33
|
+
// the same stale control-plane read.
|
|
34
|
+
const SESSION_REQUEST_RETRY_DELAY_MS = 6_000;
|
|
35
|
+
const TERMINAL_CONNECT_TIMEOUT_MS = 10_000;
|
|
18
36
|
const INITIAL_RECONNECT_DELAY_MS = 500;
|
|
19
37
|
const MAX_RECONNECT_DELAY_MS = 30_000;
|
|
20
|
-
|
|
38
|
+
// Six delays (0.5s + 1s + 2s + 4s + 8s + 16s) cover the node terminal
|
|
39
|
+
// transport's independent 30s maximum reconnect backoff without leaving this
|
|
40
|
+
// client unbounded. Five attempts previously stopped after only 15.5s.
|
|
41
|
+
const MAX_RECONNECT_ATTEMPTS = 6;
|
|
42
|
+
// Bounds the acknowledgement for a delivery-mode command after readiness.
|
|
43
|
+
// The command is not replayable across reconnects, so this is intentionally a
|
|
44
|
+
// separate post-readiness phase rather than another full reconnect window.
|
|
45
|
+
const DELIVERY_MODE_TIMEOUT_MS = 10_000;
|
|
46
|
+
// The caller starts its HTTP deadline before the loopback handler starts its
|
|
47
|
+
// readiness timer. Leave a small response-delivery margin so the proxy's
|
|
48
|
+
// actionable readiness error wins that race.
|
|
49
|
+
const LOOPBACK_REQUEST_TIMEOUT_MARGIN_MS = 1_000;
|
|
21
50
|
export class FleetNodeAttachError extends Error {
|
|
22
51
|
code;
|
|
23
52
|
constructor(message, code) {
|
|
@@ -26,6 +55,17 @@ export class FleetNodeAttachError extends Error {
|
|
|
26
55
|
this.name = 'FleetNodeAttachError';
|
|
27
56
|
}
|
|
28
57
|
}
|
|
58
|
+
class TerminalSessionAttemptError extends FleetNodeAttachError {
|
|
59
|
+
status;
|
|
60
|
+
retryable;
|
|
61
|
+
completionUnknown;
|
|
62
|
+
constructor(message, code, status, retryable, completionUnknown) {
|
|
63
|
+
super(message, code);
|
|
64
|
+
this.status = status;
|
|
65
|
+
this.retryable = retryable;
|
|
66
|
+
this.completionUnknown = completionUnknown;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
29
69
|
/**
|
|
30
70
|
* Canonical HTTP status for a terminal failure code.
|
|
31
71
|
*
|
|
@@ -107,6 +147,84 @@ function rawDataToString(data) {
|
|
|
107
147
|
return Buffer.concat(data).toString('utf8');
|
|
108
148
|
return String(data);
|
|
109
149
|
}
|
|
150
|
+
function diagnosticEndpoint(value) {
|
|
151
|
+
try {
|
|
152
|
+
const url = new URL(value);
|
|
153
|
+
url.username = '';
|
|
154
|
+
url.password = '';
|
|
155
|
+
url.search = '';
|
|
156
|
+
url.hash = '';
|
|
157
|
+
return url.toString();
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return '(invalid endpoint)';
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function diagnosticEndpointOrigin(value) {
|
|
164
|
+
try {
|
|
165
|
+
return new URL(value).origin;
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return '(invalid endpoint)';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function boundedWebSocketCloseReason(reason) {
|
|
172
|
+
const encoded = Buffer.from(reason, 'utf8');
|
|
173
|
+
if (encoded.length <= MAX_WEBSOCKET_CLOSE_REASON_BYTES)
|
|
174
|
+
return reason;
|
|
175
|
+
const suffix = Buffer.from('…', 'utf8');
|
|
176
|
+
let end = MAX_WEBSOCKET_CLOSE_REASON_BYTES - suffix.length;
|
|
177
|
+
// Do not cut through a UTF-8 continuation sequence. Excluding the leading
|
|
178
|
+
// byte at this boundary also excludes the incomplete code point.
|
|
179
|
+
while (end > 0 && (encoded[end] & 0xc0) === 0x80)
|
|
180
|
+
end -= 1;
|
|
181
|
+
return Buffer.concat([encoded.subarray(0, end), suffix]).toString('utf8');
|
|
182
|
+
}
|
|
183
|
+
function diagnosticValue(value) {
|
|
184
|
+
// JSON quoting keeps node names and upstream text from injecting terminal
|
|
185
|
+
// control characters into the operator-facing error.
|
|
186
|
+
return JSON.stringify(value);
|
|
187
|
+
}
|
|
188
|
+
function resolvedNodeIdFromTerminalUrl(value) {
|
|
189
|
+
try {
|
|
190
|
+
const match = /^\/v1\/nodes\/([^/]+)\/terminal\/connect$/.exec(new URL(value).pathname);
|
|
191
|
+
return match?.[1] ? decodeURIComponent(match[1]) : undefined;
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function retryDelayBudgetMs(attempts, initialMs, maxMs) {
|
|
198
|
+
let total = 0;
|
|
199
|
+
for (let attempt = 0; attempt < attempts; attempt += 1) {
|
|
200
|
+
total += Math.min(initialMs * 2 ** attempt, maxMs);
|
|
201
|
+
}
|
|
202
|
+
return total;
|
|
203
|
+
}
|
|
204
|
+
function terminalSessionFailureSummary(error) {
|
|
205
|
+
if (error.code === 'node_not_found')
|
|
206
|
+
return 'Control-plane node lookup found no matching record';
|
|
207
|
+
if (error.code === 'node_unreachable') {
|
|
208
|
+
return /no terminal transport/i.test(error.message)
|
|
209
|
+
? 'The node record was found, but its terminal transport was unavailable'
|
|
210
|
+
: 'The control plane classified the node as unreachable';
|
|
211
|
+
}
|
|
212
|
+
if (error.code === 'terminal_session_unavailable') {
|
|
213
|
+
return 'The control plane could not allocate a terminal session';
|
|
214
|
+
}
|
|
215
|
+
if (error.code === 'control_plane_timeout')
|
|
216
|
+
return 'Control-plane terminal-session lookup timed out';
|
|
217
|
+
if (error.code === 'control_plane_unavailable')
|
|
218
|
+
return 'Control-plane terminal-session lookup failed';
|
|
219
|
+
return 'The terminal-session request was rejected';
|
|
220
|
+
}
|
|
221
|
+
function isRetryableTerminalSessionFailure(code) {
|
|
222
|
+
// These structured responses are emitted before a session is returned, so
|
|
223
|
+
// retrying cannot duplicate a successful allocation. A fetch timeout,
|
|
224
|
+
// network failure, or unclassified 5xx is different: this POST may already
|
|
225
|
+
// have completed server-side, and retrying it could create a second session.
|
|
226
|
+
return code === 'node_unreachable' || code === 'terminal_session_unavailable';
|
|
227
|
+
}
|
|
110
228
|
/** Start a broker-compatible loopback proxy for one remote terminal session. */
|
|
111
229
|
export async function startFleetNodeAttachProxy(options) {
|
|
112
230
|
const env = options.env ?? process.env;
|
|
@@ -114,20 +232,113 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
114
232
|
const workspaceKey = options.workspaceKey ?? resolveWorkspaceKey({ env });
|
|
115
233
|
const baseUrl = (options.baseUrl ?? resolveBaseUrl({ env }) ?? 'https://cast.agentrelay.com').replace(/\/+$/, '');
|
|
116
234
|
const nodePath = safeNodePath(options.node);
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
235
|
+
const sessionEndpoint = `${baseUrl}/v1/nodes/${nodePath}/terminal/sessions`;
|
|
236
|
+
const sessionRequestTimeoutMs = options.sessionRequest?.timeoutMs ?? SESSION_REQUEST_TIMEOUT_MS;
|
|
237
|
+
const sessionRequestTotalTimeoutMs = options.sessionRequest?.totalTimeoutMs ?? SESSION_REQUEST_TOTAL_TIMEOUT_MS;
|
|
238
|
+
const sessionRequestDeadline = Date.now() + sessionRequestTotalTimeoutMs;
|
|
239
|
+
const sessionRequestSleep = options.sessionRequest?.sleep ??
|
|
240
|
+
((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
241
|
+
let sessionRequestAttempts = 0;
|
|
242
|
+
let sessionRequestBudgetExhaustedBetweenAttempts = false;
|
|
243
|
+
let lastSessionError;
|
|
244
|
+
const sessionResult = await collectWithRetry('terminal session request', async () => {
|
|
245
|
+
const remainingRequestBudgetMs = sessionRequestDeadline - Date.now();
|
|
246
|
+
if (remainingRequestBudgetMs <= 0) {
|
|
247
|
+
sessionRequestBudgetExhaustedBetweenAttempts = true;
|
|
248
|
+
const exhausted = lastSessionError === undefined
|
|
249
|
+
? new TerminalSessionAttemptError('overall terminal-session request deadline exhausted', 'control_plane_timeout', undefined, false, false)
|
|
250
|
+
: new TerminalSessionAttemptError(lastSessionError.message, lastSessionError.code, lastSessionError.status, false, lastSessionError.completionUnknown);
|
|
251
|
+
lastSessionError = exhausted;
|
|
252
|
+
throw exhausted;
|
|
253
|
+
}
|
|
254
|
+
sessionRequestAttempts += 1;
|
|
255
|
+
const controller = new AbortController();
|
|
256
|
+
let timedOut = false;
|
|
257
|
+
const attemptTimeoutMs = Math.min(sessionRequestTimeoutMs, remainingRequestBudgetMs);
|
|
258
|
+
const timeout = setTimeout(() => {
|
|
259
|
+
timedOut = true;
|
|
260
|
+
controller.abort();
|
|
261
|
+
}, attemptTimeoutMs);
|
|
262
|
+
let ticketResponse;
|
|
263
|
+
let ticketPayload;
|
|
264
|
+
try {
|
|
265
|
+
ticketResponse = await fetchFn(sessionEndpoint, {
|
|
266
|
+
method: 'POST',
|
|
267
|
+
headers: { Authorization: `Bearer ${workspaceKey}`, 'Content-Type': 'application/json' },
|
|
268
|
+
body: JSON.stringify({ agent: options.agent, mode: options.mode }),
|
|
269
|
+
signal: controller.signal,
|
|
270
|
+
});
|
|
271
|
+
const parsedPayload = (await ticketResponse.json());
|
|
272
|
+
ticketPayload =
|
|
273
|
+
parsedPayload && typeof parsedPayload === 'object' && !Array.isArray(parsedPayload)
|
|
274
|
+
? parsedPayload
|
|
275
|
+
: {};
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
279
|
+
lastSessionError = new TerminalSessionAttemptError(timedOut ? 'request exceeded its deadline' : detail, timedOut ? 'control_plane_timeout' : 'control_plane_unavailable', undefined, false, true);
|
|
280
|
+
throw lastSessionError;
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
clearTimeout(timeout);
|
|
284
|
+
}
|
|
285
|
+
const terminalUrl = ticketPayload.data?.terminal_url;
|
|
286
|
+
const sessionId = ticketPayload.data?.session_id;
|
|
287
|
+
const resumeToken = ticketPayload.data?.resume_token;
|
|
288
|
+
if (!ticketResponse.ok || !terminalUrl || !sessionId || !resumeToken) {
|
|
289
|
+
const code = ticketPayload.error?.code;
|
|
290
|
+
const message = ticketPayload.error?.message ?? `terminal session request failed (HTTP ${ticketResponse.status})`;
|
|
291
|
+
lastSessionError = new TerminalSessionAttemptError(message, code, ticketResponse.status, isRetryableTerminalSessionFailure(code), false);
|
|
292
|
+
throw lastSessionError;
|
|
293
|
+
}
|
|
294
|
+
return { terminalUrl, sessionId, resumeToken };
|
|
295
|
+
}, {
|
|
296
|
+
retries: SESSION_REQUEST_RETRIES,
|
|
297
|
+
baseDelayMs: SESSION_REQUEST_RETRY_DELAY_MS,
|
|
298
|
+
sleep: async (delayMs) => {
|
|
299
|
+
const remainingRequestBudgetMs = sessionRequestDeadline - Date.now();
|
|
300
|
+
if (remainingRequestBudgetMs <= 0)
|
|
301
|
+
return;
|
|
302
|
+
await sessionRequestSleep(Math.min(delayMs, remainingRequestBudgetMs));
|
|
303
|
+
},
|
|
304
|
+
shouldRetry: (error) => error instanceof TerminalSessionAttemptError && error.retryable,
|
|
121
305
|
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
306
|
+
if (!sessionResult.ok) {
|
|
307
|
+
const failure = lastSessionError;
|
|
308
|
+
const status = failure?.status === undefined ? '' : ` HTTP ${failure.status};`;
|
|
309
|
+
const code = failure?.code === undefined ? '' : ` code ${failure.code};`;
|
|
310
|
+
const retryNote = sessionRequestBudgetExhaustedBetweenAttempts
|
|
311
|
+
? sessionRequestAttempts > 1
|
|
312
|
+
? `retried ${sessionRequestAttempts - 1} time${sessionRequestAttempts === 2 ? '' : 's'};` +
|
|
313
|
+
' overall budget exhausted before the next attempt'
|
|
314
|
+
: 'not retried because the overall budget was exhausted before the next attempt'
|
|
315
|
+
: sessionRequestAttempts > 1
|
|
316
|
+
? `retried ${sessionRequestAttempts - 1} time${sessionRequestAttempts === 2 ? '' : 's'}` +
|
|
317
|
+
(failure?.completionUnknown
|
|
318
|
+
? '; final POST not retried because it may have completed server-side'
|
|
319
|
+
: '')
|
|
320
|
+
: failure?.completionUnknown
|
|
321
|
+
? 'not retried because the POST may have completed server-side'
|
|
322
|
+
: 'not retried because the failure was terminal';
|
|
323
|
+
const upstream = failure?.message ? ` Upstream message ${diagnosticValue(failure.message)}.` : '';
|
|
324
|
+
throw new FleetNodeAttachError(`Error: ${failure ? terminalSessionFailureSummary(failure) : 'Terminal-session request failed'}.` +
|
|
325
|
+
`${upstream} Node ref ${diagnosticValue(options.node.trim())}, resolved node id unavailable (session creation did not complete);` +
|
|
326
|
+
` endpoint ${diagnosticValue(diagnosticEndpoint(sessionEndpoint))};${status}${code}` +
|
|
327
|
+
` timeout ${sessionRequestTimeoutMs}ms per attempt; overall budget ${sessionRequestTotalTimeoutMs}ms;` +
|
|
328
|
+
` attempts ${sessionRequestAttempts} (${retryNote}).`, failure?.code);
|
|
130
329
|
}
|
|
330
|
+
const { terminalUrl, sessionId, resumeToken } = sessionResult.value;
|
|
331
|
+
const resolvedNodeId = resolvedNodeIdFromTerminalUrl(terminalUrl);
|
|
332
|
+
const remoteEndpoint = diagnosticEndpoint(terminalUrl);
|
|
333
|
+
const reconnectInitialDelayMs = options.reconnectDelay?.initialMs ?? INITIAL_RECONNECT_DELAY_MS;
|
|
334
|
+
const reconnectMaxDelayMs = options.reconnectDelay?.maxMs ?? MAX_RECONNECT_DELAY_MS;
|
|
335
|
+
const terminalHandshakeTimeoutMs = options.reconnectDelay?.handshakeTimeoutMs ?? TERMINAL_CONNECT_TIMEOUT_MS;
|
|
336
|
+
const terminalReadyTimeoutMs = options.reconnectDelay?.readyTimeoutMs ?? TERMINAL_CONNECT_TIMEOUT_MS;
|
|
337
|
+
// A readiness-gated local request follows activeReadiness across reconnect
|
|
338
|
+
// generations. Its own deadline therefore has to cover the same complete,
|
|
339
|
+
// finite recovery path: every backoff plus every handshake/readiness pair.
|
|
340
|
+
const terminalWaitTimeoutMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs) +
|
|
341
|
+
MAX_RECONNECT_ATTEMPTS * (terminalHandshakeTimeoutMs + terminalReadyTimeoutMs);
|
|
131
342
|
let connectionGeneration = 0;
|
|
132
343
|
const createReadiness = () => {
|
|
133
344
|
let resolve;
|
|
@@ -163,7 +374,8 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
163
374
|
}
|
|
164
375
|
};
|
|
165
376
|
/**
|
|
166
|
-
* Await the live readiness generation
|
|
377
|
+
* Await the live readiness generation through both the WebSocket handshake
|
|
378
|
+
* and the post-open terminal.ready allowance.
|
|
167
379
|
* Every handler that must not run before `terminal.ready` — snapshot,
|
|
168
380
|
* delivery-mode PUT, resize — goes through this one helper so the
|
|
169
381
|
* timer/clearTimeout/settle logic cannot diverge between copies.
|
|
@@ -173,7 +385,7 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
173
385
|
* `timeoutMessage` when the wait expired.
|
|
174
386
|
*/
|
|
175
387
|
const waitForTerminalReady = (timeoutMessage) => new Promise((resolve, reject) => {
|
|
176
|
-
const timer = setTimeout(() => reject(new Error(timeoutMessage)),
|
|
388
|
+
const timer = setTimeout(() => reject(new Error(timeoutMessage)), terminalWaitTimeoutMs);
|
|
177
389
|
void waitForCurrentReadiness().then(() => {
|
|
178
390
|
clearTimeout(timer);
|
|
179
391
|
resolve();
|
|
@@ -199,11 +411,11 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
199
411
|
let reconnecting = false;
|
|
200
412
|
let reconnectAttempts = 0;
|
|
201
413
|
let reconnectTimer;
|
|
414
|
+
const terminalReadinessTimers = new Set();
|
|
202
415
|
/** Locally-tracked delivery mode, kept in sync with each broker reply. */
|
|
203
416
|
let loopbackDeliveryMode = options.mode === 'drive' ? 'manual_flush' : 'auto_inject';
|
|
204
417
|
/** At most one in-flight delivery-mode PUT at a time. */
|
|
205
418
|
let pendingDeliveryMode = null;
|
|
206
|
-
const DELIVERY_MODE_TIMEOUT_MS = 10_000;
|
|
207
419
|
const loopbackApiKey = randomBytes(32).toString('base64url');
|
|
208
420
|
const loopbackAuthorized = (headers) => headers.authorization === `Bearer ${loopbackApiKey}` || headers['x-api-key'] === loopbackApiKey;
|
|
209
421
|
const server = createServer(async (request, response) => {
|
|
@@ -381,7 +593,7 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
381
593
|
const websocketServer = new WebSocketServer({ noServer: true });
|
|
382
594
|
const closeSocket = (socket, code, reason) => {
|
|
383
595
|
try {
|
|
384
|
-
socket.close(code, reason);
|
|
596
|
+
socket.close(code, boundedWebSocketCloseReason(reason));
|
|
385
597
|
}
|
|
386
598
|
catch {
|
|
387
599
|
/* connection already gone */
|
|
@@ -499,7 +711,7 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
499
711
|
clearTimeout(pending.timer);
|
|
500
712
|
pending.reject(error);
|
|
501
713
|
};
|
|
502
|
-
const endTerminal = (error) => {
|
|
714
|
+
const endTerminal = (error, eventCloseReason = error.message) => {
|
|
503
715
|
if (terminalEnded)
|
|
504
716
|
return;
|
|
505
717
|
terminalEnded = true;
|
|
@@ -507,13 +719,16 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
507
719
|
clearTimeout(reconnectTimer);
|
|
508
720
|
reconnectTimer = undefined;
|
|
509
721
|
}
|
|
722
|
+
for (const timer of terminalReadinessTimers)
|
|
723
|
+
clearTimeout(timer);
|
|
724
|
+
terminalReadinessTimers.clear();
|
|
510
725
|
rejectPendingDeliveryMode(error);
|
|
511
726
|
const activeRemote = remote;
|
|
512
727
|
remote = undefined;
|
|
513
728
|
rejectReadiness(activeReadiness, error);
|
|
514
729
|
broadcast(inputSockets, { type: 'pty_input_error', code: error.code, message: error.message });
|
|
515
730
|
for (const socket of eventSockets)
|
|
516
|
-
closeSocket(socket, 1011,
|
|
731
|
+
closeSocket(socket, 1011, eventCloseReason);
|
|
517
732
|
if (activeRemote && activeRemote.readyState !== WebSocket.CLOSED) {
|
|
518
733
|
try {
|
|
519
734
|
activeRemote.terminate();
|
|
@@ -523,23 +738,62 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
523
738
|
}
|
|
524
739
|
}
|
|
525
740
|
};
|
|
526
|
-
const failRemote = (message) => {
|
|
527
|
-
endTerminal(new FleetNodeAttachError(message, 'node_unreachable'));
|
|
741
|
+
const failRemote = (message, eventCloseReason) => {
|
|
742
|
+
endTerminal(new FleetNodeAttachError(message, 'node_unreachable'), eventCloseReason);
|
|
528
743
|
};
|
|
529
744
|
const connect = (url, readiness) => {
|
|
530
745
|
if (stopped || terminalEnded)
|
|
531
746
|
return;
|
|
532
|
-
const socket = new WebSocket(asWsUrl(url));
|
|
747
|
+
const socket = new WebSocket(asWsUrl(url), { handshakeTimeout: terminalHandshakeTimeoutMs });
|
|
533
748
|
remote = socket;
|
|
749
|
+
let readinessTimer;
|
|
750
|
+
let readinessExpired = false;
|
|
751
|
+
const clearReadinessTimer = () => {
|
|
752
|
+
if (!readinessTimer)
|
|
753
|
+
return;
|
|
754
|
+
clearTimeout(readinessTimer);
|
|
755
|
+
terminalReadinessTimers.delete(readinessTimer);
|
|
756
|
+
readinessTimer = undefined;
|
|
757
|
+
};
|
|
758
|
+
socket.on('open', () => {
|
|
759
|
+
// `handshakeTimeout` independently bounds the HTTP upgrade. Start the
|
|
760
|
+
// terminal.ready allowance only after that upgrade succeeds so a slow
|
|
761
|
+
// but valid handshake cannot consume the readiness window.
|
|
762
|
+
readinessTimer = setTimeout(() => {
|
|
763
|
+
const expiredTimer = readinessTimer;
|
|
764
|
+
readinessTimer = undefined;
|
|
765
|
+
if (expiredTimer)
|
|
766
|
+
terminalReadinessTimers.delete(expiredTimer);
|
|
767
|
+
if (remote !== socket || stopped || terminalEnded || readiness.settled)
|
|
768
|
+
return;
|
|
769
|
+
// Mark this generation stale before terminating. The ws receiver may
|
|
770
|
+
// still deliver data already buffered on the socket while close is
|
|
771
|
+
// propagating; none of it may restore readiness or reset retry state.
|
|
772
|
+
readinessExpired = true;
|
|
773
|
+
if (!terminalEverReady) {
|
|
774
|
+
failRemote(`terminal transport connected but did not become ready (node ref ${diagnosticValue(options.node.trim())},` +
|
|
775
|
+
` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
|
|
776
|
+
` readiness timeout ${terminalReadyTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
|
|
777
|
+
return;
|
|
778
|
+
}
|
|
779
|
+
// A successful WebSocket upgrade is not sufficient: Relaycast may
|
|
780
|
+
// accept a resume lane that never produces terminal.ready. Terminating
|
|
781
|
+
// it drives the same bounded close/retry path as a transport failure.
|
|
782
|
+
options.reconnectDelay?.beforeReadyTimeoutTerminate?.(socket);
|
|
783
|
+
socket.terminate();
|
|
784
|
+
}, terminalReadyTimeoutMs);
|
|
785
|
+
terminalReadinessTimers.add(readinessTimer);
|
|
786
|
+
});
|
|
534
787
|
socket.on('message', (data) => {
|
|
535
788
|
// A late frame from a transport superseded during reconnect must never
|
|
536
789
|
// overwrite the fresh snapshot or end the replacement session.
|
|
537
|
-
if (remote !== socket || stopped || terminalEnded)
|
|
790
|
+
if (remote !== socket || stopped || terminalEnded || readinessExpired)
|
|
538
791
|
return;
|
|
539
792
|
const frame = parseFrame(data);
|
|
540
793
|
if (!frame || frame.session_id !== sessionId)
|
|
541
794
|
return;
|
|
542
795
|
if (frame.type === 'terminal.ready') {
|
|
796
|
+
clearReadinessTimer();
|
|
543
797
|
snapshot.screen = typeof frame.screen === 'string' ? frame.screen : '';
|
|
544
798
|
snapshot.rows = typeof frame.rows === 'number' ? frame.rows : 24;
|
|
545
799
|
snapshot.cols = typeof frame.cols === 'number' ? frame.cols : 80;
|
|
@@ -618,15 +872,21 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
618
872
|
}
|
|
619
873
|
});
|
|
620
874
|
socket.on('error', () => {
|
|
875
|
+
readinessExpired = true;
|
|
876
|
+
clearReadinessTimer();
|
|
621
877
|
// Initial connection failure has no terminal state worth preserving.
|
|
622
878
|
// Fail promptly with the canonical unavailable-node error instead of
|
|
623
879
|
// letting the HTTP snapshot timeout mask it. Once Ready has been seen,
|
|
624
880
|
// the close handler retains the bounded resume/backoff behaviour.
|
|
625
881
|
if (remote === socket && readiness === activeReadiness && !readiness.settled && !terminalEverReady) {
|
|
626
|
-
failRemote(
|
|
882
|
+
failRemote(`terminal transport could not connect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
|
|
883
|
+
` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
|
|
884
|
+
` handshake budget ${terminalHandshakeTimeoutMs}ms, attempts 1; not retried because no terminal session became ready)`);
|
|
627
885
|
}
|
|
628
886
|
});
|
|
629
887
|
socket.on('close', () => {
|
|
888
|
+
readinessExpired = true;
|
|
889
|
+
clearReadinessTimer();
|
|
630
890
|
if (remote !== socket || stopped || terminalEnded || reconnecting)
|
|
631
891
|
return;
|
|
632
892
|
// Relaycast drops the old lane's terminal session state on disconnect,
|
|
@@ -641,11 +901,19 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
641
901
|
const nextReadiness = createReadiness();
|
|
642
902
|
activeReadiness = nextReadiness;
|
|
643
903
|
if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
|
|
644
|
-
|
|
904
|
+
const backoffBudgetMs = retryDelayBudgetMs(MAX_RECONNECT_ATTEMPTS, reconnectInitialDelayMs, reconnectMaxDelayMs);
|
|
905
|
+
const message = `terminal transport could not reconnect to the fleet node (node ref ${diagnosticValue(options.node.trim())},` +
|
|
906
|
+
` resolved node id ${diagnosticValue(resolvedNodeId ?? 'unavailable')}, endpoint ${diagnosticValue(remoteEndpoint)},` +
|
|
907
|
+
` handshake timeout ${terminalHandshakeTimeoutMs}ms, readiness timeout ${terminalReadyTimeoutMs}ms,` +
|
|
908
|
+
` attempts ${reconnectAttempts},` +
|
|
909
|
+
` backoff budget ${backoffBudgetMs}ms)`;
|
|
910
|
+
failRemote(message, `terminal reconnect failed; attempts=${reconnectAttempts}; budget=${backoffBudgetMs}ms;` +
|
|
911
|
+
` endpoint=${diagnosticValue(diagnosticEndpointOrigin(terminalUrl))};` +
|
|
912
|
+
` node=${diagnosticValue(resolvedNodeId ?? options.node.trim())}`);
|
|
645
913
|
return;
|
|
646
914
|
}
|
|
647
915
|
reconnecting = true;
|
|
648
|
-
const delay = Math.min(
|
|
916
|
+
const delay = Math.min(reconnectInitialDelayMs * 2 ** reconnectAttempts, reconnectMaxDelayMs);
|
|
649
917
|
reconnectAttempts += 1;
|
|
650
918
|
reconnectTimer = setTimeout(() => {
|
|
651
919
|
reconnectTimer = undefined;
|
|
@@ -658,6 +926,7 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
658
926
|
return {
|
|
659
927
|
brokerUrl: `http://127.0.0.1:${address.port}`,
|
|
660
928
|
apiKey: loopbackApiKey,
|
|
929
|
+
requestTimeoutMs: terminalWaitTimeoutMs + DELIVERY_MODE_TIMEOUT_MS + LOOPBACK_REQUEST_TIMEOUT_MARGIN_MS,
|
|
661
930
|
async close() {
|
|
662
931
|
if (stopped)
|
|
663
932
|
return;
|
|
@@ -667,6 +936,9 @@ export async function startFleetNodeAttachProxy(options) {
|
|
|
667
936
|
clearTimeout(reconnectTimer);
|
|
668
937
|
reconnectTimer = undefined;
|
|
669
938
|
}
|
|
939
|
+
for (const timer of terminalReadinessTimers)
|
|
940
|
+
clearTimeout(timer);
|
|
941
|
+
terminalReadinessTimers.clear();
|
|
670
942
|
rejectReadiness(activeReadiness, new FleetNodeAttachError('terminal attach closed', 'closed'));
|
|
671
943
|
rejectPendingDeliveryMode(new FleetNodeAttachError('terminal attach closed', 'closed'));
|
|
672
944
|
const activeRemote = remote;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-fleet-node.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-fleet-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attach-fleet-node.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-fleet-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAC7C,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,6DAA6D;AAC7D,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,wEAAwE;AACxE,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAChD,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,+EAA+E;AAC/E,6EAA6E;AAC7E,yEAAyE;AACzE,+EAA+E;AAC/E,qCAAqC;AACrC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAC7C,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,sEAAsE;AACtE,6EAA6E;AAC7E,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,0EAA0E;AAC1E,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,6EAA6E;AAC7E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,kCAAkC,GAAG,KAAK,CAAC;AAqDjD,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAGlC;IAFX,YACE,OAAe,EACN,IAAa;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,SAAI,GAAJ,IAAI,CAAS;QAGtB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,2BAA4B,SAAQ,oBAAoB;IAIjD;IACA;IACA;IALX,YACE,OAAe,EACf,IAAwB,EACf,MAA0B,EAC1B,SAAkB,EAClB,iBAA0B;QAEnC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAJZ,WAAM,GAAN,MAAM,CAAoB;QAC1B,cAAS,GAAT,SAAS,CAAS;QAClB,sBAAiB,GAAjB,iBAAiB,CAAS;IAGrC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,IAAwB;IACnD,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,IAAI,KAAK,qBAAqB;QAAE,OAAO,GAAG,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,QAAwB,EAAE,MAAc,EAAE,OAAgB;IACtE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAChG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAwB;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,IAA6B,EAAE,EAAE;YAC/C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACnC,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;gBAC3C,MAAM,CACJ,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5D,CAAC,CAAE,MAAkC;oBACrC,CAAC,CAAC,EAAE,CACP,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,EAAE,CAAC,CAAC;YACb,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,cAAc,CAAC,CAAC;IAC1G,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,IAAuB;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAY,CAAC;QAC5D,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAuB;IAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,IAAI,YAAY,WAAW;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAc;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,IAAI,gCAAgC;QAAE,OAAO,MAAM,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,GAAG,GAAG,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,0EAA0E;IAC1E,qDAAqD;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAa;IAClD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,2CAA2C,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,SAAiB,EAAE,KAAa;IAC5E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACvD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAkC;IACvE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,oDAAoD,CAAC;IACjG,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjD,CAAC,CAAC,uEAAuE;YACzE,CAAC,CAAC,sDAAsD,CAAC;IAC7D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;QAClD,OAAO,yDAAyD,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB;QAAE,OAAO,iDAAiD,CAAC;IACrG,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B;QAAE,OAAO,8CAA8C,CAAC;IACtG,OAAO,2CAA2C,CAAC;AACrD,CAAC;AAED,SAAS,iCAAiC,CAAC,IAAwB;IACjE,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,OAAO,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,8BAA8B,CAAC;AAChF,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA+B;IAE/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,6BAA6B,CAAC,CAAC,OAAO,CACnG,MAAM,EACN,EAAE,CACH,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,GAAG,OAAO,aAAa,QAAQ,oBAAoB,CAAC;IAC5E,MAAM,uBAAuB,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,IAAI,0BAA0B,CAAC;IAChG,MAAM,4BAA4B,GAChC,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,gCAAgC,CAAC;IAC7E,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,4BAA4B,CAAC;IACzE,MAAM,mBAAmB,GACvB,OAAO,CAAC,cAAc,EAAE,KAAK;QAC7B,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,IAAI,4CAA4C,GAAG,KAAK,CAAC;IACzD,IAAI,gBAAyD,CAAC;IAC9D,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAC1C,0BAA0B,EAC1B,KAAK,IAAI,EAAE;QACT,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrE,IAAI,wBAAwB,IAAI,CAAC,EAAE,CAAC;YAClC,4CAA4C,GAAG,IAAI,CAAC;YACpD,MAAM,SAAS,GACb,gBAAgB,KAAK,SAAS;gBAC5B,CAAC,CAAC,IAAI,2BAA2B,CAC7B,qDAAqD,EACrD,uBAAuB,EACvB,SAAS,EACT,KAAK,EACL,KAAK,CACN;gBACH,CAAC,CAAC,IAAI,2BAA2B,CAC7B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,MAAM,EACvB,KAAK,EACL,gBAAgB,CAAC,iBAAiB,CACnC,CAAC;YACR,gBAAgB,GAAG,SAAS,CAAC;YAC7B,MAAM,SAAS,CAAC;QAClB,CAAC;QACD,sBAAsB,IAAI,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,IAAI,cAAwB,CAAC;QAC7B,IAAI,aAAmC,CAAC;QACxC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE;gBAC9C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,YAAY,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBACxF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClE,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAY,CAAC;YAC/D,aAAa;gBACX,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;oBACjF,CAAC,CAAE,aAAsC;oBACzC,CAAC,CAAC,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,gBAAgB,GAAG,IAAI,2BAA2B,CAChD,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,MAAM,EACnD,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,EAChE,SAAS,EACT,KAAK,EACL,IAAI,CACL,CAAC;YACF,MAAM,gBAAgB,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC;QACrD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC;QACjD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC;YACvC,MAAM,OAAO,GACX,aAAa,CAAC,KAAK,EAAE,OAAO,IAAI,yCAAyC,cAAc,CAAC,MAAM,GAAG,CAAC;YACpG,gBAAgB,GAAG,IAAI,2BAA2B,CAChD,OAAO,EACP,IAAI,EACJ,cAAc,CAAC,MAAM,EACrB,iCAAiC,CAAC,IAAI,CAAC,EACvC,KAAK,CACN,CAAC;YACF,MAAM,gBAAgB,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC,EACD;QACE,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACvB,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrE,IAAI,wBAAwB,IAAI,CAAC;gBAAE,OAAO;YAC1C,MAAM,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,2BAA2B,IAAI,KAAK,CAAC,SAAS;KACxF,CACF,CAAC;IACF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC;QAC/E,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,GAAG,CAAC;QACzE,MAAM,SAAS,GAAG,4CAA4C;YAC5D,CAAC,CAAC,sBAAsB,GAAG,CAAC;gBAC1B,CAAC,CAAC,WAAW,sBAAsB,GAAG,CAAC,QAAQ,sBAAsB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;oBACvF,mDAAmD;gBACrD,CAAC,CAAC,8EAA8E;YAClF,CAAC,CAAC,sBAAsB,GAAG,CAAC;gBAC1B,CAAC,CAAC,WAAW,sBAAsB,GAAG,CAAC,QAAQ,sBAAsB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;oBACtF,CAAC,OAAO,EAAE,iBAAiB;wBACzB,CAAC,CAAC,oEAAoE;wBACtE,CAAC,CAAC,EAAE,CAAC;gBACT,CAAC,CAAC,OAAO,EAAE,iBAAiB;oBAC1B,CAAC,CAAC,6DAA6D;oBAC/D,CAAC,CAAC,8CAA8C,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,oBAAoB,CAC5B,UAAU,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iCAAiC,GAAG;YAC/F,GAAG,QAAQ,aAAa,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,qEAAqE;YACjI,aAAa,eAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE;YACpF,YAAY,uBAAuB,kCAAkC,4BAA4B,KAAK;YACtG,aAAa,sBAAsB,KAAK,SAAS,IAAI,EACvD,OAAO,EAAE,IAAI,CACd,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC;IACpE,MAAM,cAAc,GAAG,6BAA6B,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,uBAAuB,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,IAAI,0BAA0B,CAAC;IAChG,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,sBAAsB,CAAC;IACpF,MAAM,0BAA0B,GAC9B,OAAO,CAAC,cAAc,EAAE,kBAAkB,IAAI,2BAA2B,CAAC;IAC5E,MAAM,sBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,cAAc,IAAI,2BAA2B,CAAC;IACrG,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,qBAAqB,GACzB,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;QACxF,sBAAsB,GAAG,CAAC,0BAA0B,GAAG,sBAAsB,CAAC,CAAC;IAEjF,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,MAAM,eAAe,GAAG,GAAsB,EAAE;QAC9C,IAAI,OAAoB,CAAC;QACzB,IAAI,MAA+B,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;YAClE,OAAO,GAAG,cAAc,CAAC;YACzB,MAAM,GAAG,aAAa,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,yEAAyE;QACzE,0EAA0E;QAC1E,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,EAAE,UAAU,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC1F,CAAC,CAAC;IACF,IAAI,eAAe,GAAG,eAAe,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,CAAC,SAA4B,EAAE,EAAE;QACxD,IAAI,SAAS,CAAC,OAAO;YAAE,OAAO;QAC9B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,SAA4B,EAAE,KAAY,EAAE,EAAE;QACrE,IAAI,SAAS,CAAC,OAAO;YAAE,OAAO;QAC9B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,KAAK,IAAmB,EAAE;QACxD,SAAS,CAAC;YACR,MAAM,SAAS,GAAG,eAAe,CAAC;YAClC,MAAM,SAAS,CAAC,OAAO,CAAC;YACxB,IAAI,SAAS,KAAK,eAAe;gBAAE,OAAO;QAC5C,CAAC;IACH,CAAC,CAAC;IACF;;;;;;;;;;OAUG;IACH,MAAM,oBAAoB,GAAG,CAAC,cAAsB,EAAiB,EAAE,CACrE,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACzF,KAAK,uBAAuB,EAAE,CAAC,IAAI,CACjC,GAAG,EAAE;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,QAAQ,GAAmE;QAC/E,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC;KACV,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAa,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAa,CAAC;IAC1C,MAAM,aAAa,GAA8C,EAAE,CAAC;IACpE,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,MAA6B,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,cAAyD,CAAC;IAC9D,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACzE,0EAA0E;IAC1E,IAAI,oBAAoB,GACtB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;IAE5D,yDAAyD;IACzD,IAAI,mBAAmB,GAKZ,IAAI,CAAC;IAChB,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,CAAC,OAAmC,EAAE,EAAE,CACjE,OAAO,CAAC,aAAa,KAAK,UAAU,cAAc,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,cAAc,CAAC;IAElG,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACtD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qCAAqC,EAAE;aAChF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,gBAAgB,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACtG,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,aAAa,GAAG,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;oBACvD,KAAK,EAAE;wBACL,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,sBAAsB;wBACnD,OAAO,EACL,aAAa,EAAE,OAAO,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;qBAC9F;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;YAClD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,0CAA0C;YAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,aAAa,GACjB,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YACrG,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;iBAC7F,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,oEAAoE;YACpE,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sEAAsE;gBACtE,oEAAoE;gBACpE,mEAAmE;gBACnE,sCAAsC;gBACtC,MAAM,aAAa,GAAG,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;oBACvD,KAAK,EAAE;wBACL,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,kBAAkB;wBAC/C,OAAO,EACL,aAAa,EAAE,OAAO,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;qBAC9F;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,qCAAqC,EAAE;iBACpF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,8CAA8C,EAAE;iBACnG,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAA6B,CAAC,OAAO,EAAE,EAAE;gBACvE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,uBAAuB,CAAC,CAAC,CAAC;gBAChG,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAC7B,mBAAmB,GAAG;oBACpB,SAAS;oBACT,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzB,KAAK;iBACN,CAAC;gBACF,MAAM,KAAK,GAA4B;oBACrC,IAAI,EAAE,4BAA4B;oBAClC,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;oBAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBACrF,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;oBAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACjG,MAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBAC5B,MAAM,OAAO,GACX,MAAM,YAAY,oBAAoB;oBACpC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,sBAAsB,CAAC;oBACzC,CAAC,CAAC,sBAAsB,CAAC;gBAC7B,wDAAwD;gBACxD,sEAAsE;gBACtE,mEAAmE;gBACnE,mBAAmB;gBACnB,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE;oBAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;iBAClD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,oBAAoB,GAAG,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;YACvF,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,gBAAgB,IAAI,UAAU,EAAE,CAAC;YACxE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,gBAAgB,IAAI,QAAQ,EAAE,CAAC;YACvE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,eAAe,IAAI,EAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,yCAAyC,EAAE;iBAC1F,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE;wBACL,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;qBAClF;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB,EAAE,CAAC;gBAClG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,mCAAmC,EAAE;iBAClF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sCAAsC,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,CAAC,MAAiB,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;QACtE,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,OAAuB,EAAE,OAAgB,EAAW,EAAE;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,SAAS;YACnD,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,uCAAuC,CAAC,CAAC;gBACnE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO,CAAC,KAAK;QACnB,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,MAA0B,EAAW,EAAE;QAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,kBAAkB,GAAG,KAAK,GAAG,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,kBAAkB,IAAI,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;QACtE,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB;oBAAE,MAAM;gBAC9F,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,aAAa;qBAC5B,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;qBAClB,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/E,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAClC,kBAAkB,IAAI,SAAS,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,cAAc,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACtE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9E,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,GAAG,kBAAkB,EAAE,CAAC;oBAClG,SAAS,CAAC,YAAY,EAAE;wBACtB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,mCAAmC;qBAC7C,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,UAAU,EAAE,SAAS;oBACrB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iBACzD,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC7C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACvE,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAC9D,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9B,MAAM,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QACzC,MAAM,IAAI,oBAAoB,CAC5B,uDAAuD,EACvD,sBAAsB,CACvB,CAAC;IAEJ,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,2EAA2E;IAC3E,MAAM,yBAAyB,GAAG,CAAC,KAA2B,EAAE,EAAE;QAChE,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC;QACpC,mBAAmB,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAE,gBAAgB,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE;QACpF,IAAI,aAAa;YAAE,OAAO;QAC1B,aAAa,GAAG,IAAI,CAAC;QACrB,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,uBAAuB;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjE,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAChC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,MAAM,CAAC;QAC5B,MAAM,GAAG,SAAS,CAAC;QACnB,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,KAAK,MAAM,MAAM,IAAI,YAAY;YAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,gBAAyB,EAAE,EAAE;QAChE,WAAW,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,SAA4B,EAAE,EAAE;QAC5D,IAAI,OAAO,IAAI,aAAa;YAAE,OAAO;QACrC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,CAAC;QAChB,IAAI,cAAyD,CAAC;QAC9D,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,cAAc;gBAAE,OAAO;YAC5B,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,uBAAuB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC/C,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,sEAAsE;YACtE,sEAAsE;YACtE,2DAA2D;YAC3D,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,MAAM,YAAY,GAAG,cAAc,CAAC;gBACpC,cAAc,GAAG,SAAS,CAAC;gBAC3B,IAAI,YAAY;oBAAE,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,IAAI,aAAa,IAAI,SAAS,CAAC,OAAO;oBAAE,OAAO;gBAC/E,qEAAqE;gBACrE,mEAAmE;gBACnE,sEAAsE;gBACtE,gBAAgB,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,UAAU,CACR,mEAAmE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG;wBACxG,qBAAqB,eAAe,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,eAAe,CAAC,cAAc,CAAC,GAAG;wBACrH,sBAAsB,sBAAsB,uEAAuE,CACtH,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,kEAAkE;gBAClE,uEAAuE;gBACvE,sEAAsE;gBACtE,OAAO,CAAC,cAAc,EAAE,2BAA2B,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC3B,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,IAAI,aAAa,IAAI,gBAAgB;gBAAE,OAAO;YAC9E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO;YACrD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACpC,mBAAmB,EAAE,CAAC;gBACtB,QAAQ,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,QAAQ,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,mEAAmE;gBACnE,qEAAqE;gBACrE,uDAAuD;gBACvD,IAAI,KAAK,CAAC,aAAa,KAAK,cAAc,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;oBACpF,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC;gBAC7C,CAAC;gBACD,iBAAiB,GAAG,IAAI,CAAC;gBACzB,iBAAiB,GAAG,CAAC,CAAC;gBACtB,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC5B,8DAA8D;oBAC9D,gEAAgE;oBAChE,mEAAmE;oBACnE,kDAAkD;oBAClD,IAAI,SAAS,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAChD,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/E,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;wBACvC,WAAW,CACT,IAAI,oBAAoB,CACtB,sDAAsD,EACtD,qBAAqB,CACtB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAC/C,SAAS,CAAC,YAAY,EAAE;oBACtB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,OAAO,CAAC,KAAK;oBACnB,aAAa,EAAE,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBACjF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrF,IAAI,mBAAmB,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClG,MAAM,OAAO,GAAG,mBAAmB,CAAC;oBACpC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,CAAC,OAAO,CAAC;wBACd,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;wBACjE,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC9D,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBAClE,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;qBACpE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAC7F,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC5E,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrF,qEAAqE;gBACrE,sEAAsE;gBACtE,qEAAqE;gBACrE,yCAAyC;gBACzC,IAAI,mBAAmB,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClG,MAAM,OAAO,GAAG,mBAAmB,CAAC;oBACpC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC5E,WAAW,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrB,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBAC5C,WAAW,CAAC,IAAI,oBAAoB,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,gBAAgB,GAAG,IAAI,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,qEAAqE;YACrE,qEAAqE;YACrE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,KAAK,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACnG,UAAU,CACR,oEAAoE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG;oBACzG,qBAAqB,eAAe,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,eAAe,CAAC,cAAc,CAAC,GAAG;oBACrH,qBAAqB,0BAA0B,uEAAuE,CACzH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,gBAAgB,GAAG,IAAI,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,IAAI,aAAa,IAAI,YAAY;gBAAE,OAAO;YAC1E,uEAAuE;YACvE,oEAAoE;YACpE,mEAAmE;YACnE,sEAAsE;YACtE,4DAA4D;YAC5D,yBAAyB,CACvB,IAAI,oBAAoB,CACtB,8EAA8E,EAC9E,4BAA4B,CAC7B,CACF,CAAC;YACF,uEAAuE;YACvE,qEAAqE;YACrE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;YACxC,eAAe,GAAG,aAAa,CAAC;YAChC,IAAI,iBAAiB,IAAI,sBAAsB,EAAE,CAAC;gBAChD,MAAM,eAAe,GAAG,kBAAkB,CACxC,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,CACpB,CAAC;gBACF,MAAM,OAAO,GACX,sEAAsE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG;oBAC7G,qBAAqB,eAAe,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,eAAe,CAAC,cAAc,CAAC,GAAG;oBACrH,sBAAsB,0BAA0B,yBAAyB,sBAAsB,KAAK;oBACpG,aAAa,iBAAiB,GAAG;oBACjC,mBAAmB,eAAe,KAAK,CAAC;gBAC1C,UAAU,CACR,OAAO,EACP,uCAAuC,iBAAiB,YAAY,eAAe,KAAK;oBACtF,aAAa,eAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,GAAG;oBACtE,SAAS,eAAe,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CACpE,CAAC;gBACF,OAAO;YACT,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,IAAI,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;YAC9F,iBAAiB,IAAI,CAAC,CAAC;YACvB,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,cAAc,GAAG,SAAS,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC;gBACrB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEtC,OAAO;QACL,SAAS,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;QAC7C,MAAM,EAAE,cAAc;QACtB,gBAAgB,EAAE,qBAAqB,GAAG,wBAAwB,GAAG,kCAAkC;QACvG,KAAK,CAAC,KAAK;YACT,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,cAAc,EAAE,CAAC;gBACnB,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,cAAc,GAAG,SAAS,CAAC;YAC7B,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,uBAAuB;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACjE,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAChC,eAAe,CAAC,eAAe,EAAE,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/F,yBAAyB,CAAC,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;YACxF,MAAM,YAAY,GAAG,MAAM,CAAC;YAC5B,MAAM,GAAG,SAAS,CAAC;YACnB,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC/D,IAAI,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;YACH,CAAC;YACD,IAAI,YAAY,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjE,IAAI,CAAC;oBACH,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC;gBACrD,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;YACtD,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -187,6 +187,7 @@ export declare function attachPassthrough(name: string, options: {
|
|
|
187
187
|
brokerUrl?: string;
|
|
188
188
|
apiKey?: string;
|
|
189
189
|
stateDir?: string;
|
|
190
|
+
requestTimeoutMs?: number;
|
|
190
191
|
}, overrides?: Partial<PassthroughDependencies>): Promise<number>;
|
|
191
192
|
export {};
|
|
192
193
|
//# sourceMappingURL=attach-passthrough.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"attach-passthrough.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EACL,wBAAwB,EAiBxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EACL,KAAK,iBAAiB,EAKtB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAwB,KAAK,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;AAEtC,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACjD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;IAC3E,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAC9E,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,oBAAoB,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IACzC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,IAAI,OAAO,CAAC;IAClB,KAAK,IAAI,OAAO,CAAC;IACjB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAC9D,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAChE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,eAAe,EAAE,2BAA2B,CAAC;IAC7C,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,0BAA0B,CAAC;IACrC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,wBAAwB,EAAE,CACxB,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,kBAAkB,KACrB,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,oEAAoE;IACpE,eAAe,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACnF;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,cAAc,GAAG,IAAI,CAAC;IACpF;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3F;AAoDD;;;mEAGmE;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAgBpF;AAED,wCAAwC;AAExC,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAEhD;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,yBAAyB;IAe9C,KAAK,IAAI,IAAI;CACd;AAED,wCAAwC;AAExC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAWT;AAED,sCAAsC;AAEtC;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAmoBjB;AAED,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9F,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|