@turingfocus/chat-gateway-tfrobot 0.1.0 → 0.3.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/socket.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { io } from "socket.io-client";
2
- import { chatErrorSchema, chatUpdateSchema, createGatewayDeadlineExceededError, isGatewayDeadlineExceeded, sanitizeDiagnosticText, sanitizeRaw, } from "@turingfocus/chat-protocol";
2
+ import { chatErrorSchema, chatUpdateSchema, createGatewayDeadlineExceededError, isGatewayDeadlineExceeded, } from "@turingfocus/chat-protocol";
3
3
  import { awaitBounded } from "./bounded.js";
4
- import { chatErrorEventDtoSchema, eventDtoSchema, messageDtoSchema, socketProtocolErrorDtoSchema, stateChangedDtoSchema, } from "./dto.js";
4
+ import { chatErrorEventDtoSchema, eventDtoSchema, messageDtoSchema, socketProtocolErrorDtoSchema, stateChangedDtoSchema, statusDtoSchema, } from "./dto.js";
5
5
  import { mapEventUpdate, mapMessageUpdate, mapRun, mapUnknownSocketEvent, } from "./mapper.js";
6
+ import { sanitizeCredentialError, sanitizeCredentialRaw, sanitizeCredentialText, } from "./redaction.js";
6
7
  import { isValidTFRobotSession } from "./types.js";
7
8
  const KNOWN_EVENTS = new Set([
8
9
  "chat_error",
@@ -124,13 +125,13 @@ export class TFRobotSocketClient {
124
125
  if (this.#disposed) {
125
126
  return {
126
127
  ok: false,
127
- error: this.#error("conflict", "TFRobot Gateway is disposed", false, conversationId),
128
+ error: this.#error("conflict", "TFRobot Gateway is disposed", false, undefined),
128
129
  };
129
130
  }
130
131
  if (isGatewayDeadlineExceeded(options, this.#now())) {
131
132
  return {
132
133
  ok: false,
133
- error: createGatewayDeadlineExceededError(conversationId),
134
+ error: createGatewayDeadlineExceededError(),
134
135
  };
135
136
  }
136
137
  this.#deactivateCurrent();
@@ -150,21 +151,19 @@ export class TFRobotSocketClient {
150
151
  ok: false,
151
152
  error: this.#error("conflict", this.#disposed
152
153
  ? "TFRobot Gateway was disposed during subscription"
153
- : "TFRobot subscription was replaced during authentication", false, conversationId),
154
+ : "TFRobot subscription was replaced during authentication", false, undefined),
154
155
  };
155
156
  }
156
157
  case "deadline": {
157
158
  return {
158
159
  ok: false,
159
- error: createGatewayDeadlineExceededError(conversationId),
160
+ error: createGatewayDeadlineExceededError(),
160
161
  };
161
162
  }
162
163
  case "error": {
163
164
  return {
164
165
  ok: false,
165
- error: this.#error("authentication", authOutcome.reason instanceof Error
166
- ? authOutcome.reason.message
167
- : "Unable to obtain a TFRobot Socket session", true, conversationId),
166
+ error: this.#error("authentication", "Unable to obtain a TFRobot Socket session", true, undefined),
168
167
  };
169
168
  }
170
169
  case "value": {
@@ -174,9 +173,11 @@ export class TFRobotSocketClient {
174
173
  if (this.#disposed || establishmentAbort.signal.aborted) {
175
174
  return {
176
175
  ok: false,
177
- error: this.#error("conflict", "TFRobot Gateway was disposed during subscription", false, conversationId),
176
+ error: this.#error("conflict", "TFRobot Gateway was disposed during subscription", false, undefined),
178
177
  };
179
178
  }
179
+ const credentialValues = new Set(Object.values(authOutcome.value));
180
+ const errorConversationId = () => sanitizeCredentialText(conversationId, credentialValues);
180
181
  let firstAuth = authOutcome.value;
181
182
  let authenticationFailure;
182
183
  const connectionAbort = new AbortController();
@@ -199,8 +200,12 @@ export class TFRobotSocketClient {
199
200
  now: this.#now,
200
201
  signal: connectionAbort.signal,
201
202
  });
202
- if (reconnectAuth.kind === "value")
203
+ if (reconnectAuth.kind === "value") {
204
+ for (const value of Object.values(reconnectAuth.value)) {
205
+ credentialValues.add(value);
206
+ }
203
207
  return reconnectAuth.value;
208
+ }
204
209
  const reason = reconnectAuth.kind === "error"
205
210
  ? reconnectAuth.reason
206
211
  : new Error(reconnectAuth.kind === "deadline"
@@ -215,7 +220,7 @@ export class TFRobotSocketClient {
215
220
  connectionAbort.abort();
216
221
  return {
217
222
  ok: false,
218
- error: this.#transportError(reason, "Unable to create the TFRobot Socket transport", conversationId),
223
+ error: this.#transportError(reason, "Unable to create the TFRobot Socket transport", conversationId, credentialValues),
219
224
  };
220
225
  }
221
226
  const listeners = new Map();
@@ -250,6 +255,14 @@ export class TFRobotSocketClient {
250
255
  }
251
256
  diagnose(error);
252
257
  };
258
+ const sanitizePayload = (payload) => {
259
+ try {
260
+ return sanitizeCredentialRaw(payload, credentialValues);
261
+ }
262
+ catch {
263
+ return undefined;
264
+ }
265
+ };
253
266
  const next = (update) => {
254
267
  if (!active.active)
255
268
  return;
@@ -259,14 +272,15 @@ export class TFRobotSocketClient {
259
272
  ? update.conversation.id
260
273
  : update.conversationId;
261
274
  if (updateConversationId !== undefined &&
262
- updateConversationId !== conversationId) {
275
+ updateConversationId !== conversationId &&
276
+ updateConversationId !== errorConversationId()) {
263
277
  return;
264
278
  }
265
279
  try {
266
280
  observer.next(update);
267
281
  }
268
282
  catch {
269
- diagnose(this.#error("unknown", "TFRobot Gateway observer rejected an update", false, conversationId));
283
+ diagnose(this.#error("unknown", "TFRobot Gateway observer rejected an update", false, errorConversationId()));
270
284
  }
271
285
  };
272
286
  const mapAndNext = (invalidMessage, map) => {
@@ -275,7 +289,7 @@ export class TFRobotSocketClient {
275
289
  update = map();
276
290
  }
277
291
  catch {
278
- report(this.#error("validation", invalidMessage, false, conversationId));
292
+ report(this.#error("validation", invalidMessage, false, errorConversationId()));
279
293
  return;
280
294
  }
281
295
  next(update);
@@ -289,7 +303,7 @@ export class TFRobotSocketClient {
289
303
  isGatewayDeadlineExceeded(options, this.#now())) {
290
304
  settleEstablishment({
291
305
  ok: false,
292
- error: createGatewayDeadlineExceededError(conversationId),
306
+ error: createGatewayDeadlineExceededError(errorConversationId()),
293
307
  });
294
308
  return;
295
309
  }
@@ -302,7 +316,7 @@ export class TFRobotSocketClient {
302
316
  });
303
317
  }
304
318
  catch (reason) {
305
- const error = this.#transportError(reason, "Unable to join the TFRobot conversation", conversationId);
319
+ const error = this.#transportError(reason, "Unable to join the TFRobot conversation", conversationId, credentialValues);
306
320
  if (settleEstablishment !== undefined) {
307
321
  settleEstablishment({ ok: false, error });
308
322
  }
@@ -319,7 +333,7 @@ export class TFRobotSocketClient {
319
333
  isGatewayDeadlineExceeded(options, this.#now())) {
320
334
  settleEstablishment({
321
335
  ok: false,
322
- error: createGatewayDeadlineExceededError(conversationId),
336
+ error: createGatewayDeadlineExceededError(errorConversationId()),
323
337
  });
324
338
  return;
325
339
  }
@@ -337,17 +351,17 @@ export class TFRobotSocketClient {
337
351
  },
338
352
  });
339
353
  if (reconnect) {
340
- void this.#reconcileRunAfterReconnect(active, conversationId, recoveryRevision, next, report).catch(() => {
341
- report(this.#error("unknown", "TFRobot reconnect reconciliation failed", true, conversationId));
354
+ void this.#reconcileRunAfterReconnect(active, conversationId, credentialValues, recoveryRevision, next, report).catch(() => {
355
+ report(this.#error("unknown", "TFRobot reconnect reconciliation failed", true, errorConversationId()));
342
356
  });
343
357
  }
344
358
  });
345
359
  add("chat_message", (payload) => {
346
360
  if (belongsToForeignConversation(payload, conversationId))
347
361
  return;
348
- const parsed = messageDtoSchema.safeParse(payload);
362
+ const parsed = messageDtoSchema.safeParse(sanitizePayload(payload));
349
363
  if (!parsed.success) {
350
- report(this.#error("validation", "Invalid TFRobot chat_message payload", false, conversationId));
364
+ report(this.#error("validation", "Invalid TFRobot chat_message payload", false, errorConversationId()));
351
365
  return;
352
366
  }
353
367
  mapAndNext("TFRobot chat_message could not be normalized", () => mapMessageUpdate(parsed.data));
@@ -355,9 +369,9 @@ export class TFRobotSocketClient {
355
369
  add("chat_event", (payload) => {
356
370
  if (belongsToForeignConversation(payload, conversationId))
357
371
  return;
358
- const parsed = eventDtoSchema.safeParse(payload);
372
+ const parsed = eventDtoSchema.safeParse(sanitizePayload(payload));
359
373
  if (!parsed.success) {
360
- report(this.#error("validation", "Invalid TFRobot chat_event payload", false, conversationId));
374
+ report(this.#error("validation", "Invalid TFRobot chat_event payload", false, errorConversationId()));
361
375
  return;
362
376
  }
363
377
  mapAndNext("TFRobot chat_event could not be normalized", () => mapEventUpdate(parsed.data));
@@ -365,14 +379,16 @@ export class TFRobotSocketClient {
365
379
  add("conversation_state_changed", (payload) => {
366
380
  if (belongsToForeignConversation(payload, conversationId))
367
381
  return;
368
- const parsed = stateChangedDtoSchema.safeParse(payload);
382
+ const parsed = stateChangedDtoSchema.safeParse(sanitizePayload(payload));
369
383
  if (!parsed.success) {
370
- report(this.#error("validation", "Invalid TFRobot conversation_state_changed payload", false, conversationId));
384
+ report(this.#error("validation", "Invalid TFRobot conversation_state_changed payload", false, errorConversationId()));
371
385
  return;
372
386
  }
373
387
  const targetConversationId = String(parsed.data.conversationId);
374
- if (targetConversationId !== conversationId)
388
+ if (targetConversationId !== conversationId &&
389
+ targetConversationId !== errorConversationId()) {
375
390
  return;
391
+ }
376
392
  active.recoveryRevision += 1;
377
393
  mapAndNext("TFRobot run state could not be normalized", () => {
378
394
  const run = mapRun(targetConversationId, {
@@ -390,40 +406,40 @@ export class TFRobotSocketClient {
390
406
  add("chat_error", (payload) => {
391
407
  if (belongsToForeignConversation(payload, conversationId))
392
408
  return;
393
- const parsed = chatErrorEventDtoSchema.safeParse(payload);
409
+ const parsed = chatErrorEventDtoSchema.safeParse(sanitizePayload(payload));
394
410
  if (!parsed.success) {
395
- report(this.#error("validation", "Invalid TFRobot chat_error payload", false, conversationId));
411
+ report(this.#error("validation", "Invalid TFRobot chat_error payload", false, errorConversationId()));
396
412
  return;
397
413
  }
398
414
  const targetConversationId = String(parsed.data.conversationId);
399
- if (targetConversationId !== conversationId)
415
+ if (targetConversationId !== conversationId &&
416
+ targetConversationId !== errorConversationId()) {
400
417
  return;
418
+ }
401
419
  report(this.#error("server", typeof parsed.data.error === "string"
402
420
  ? parsed.data.error
403
- : "TFRobot run failed", false, targetConversationId, parsed.data));
421
+ : "TFRobot run failed", false, targetConversationId, parsed.data, credentialValues));
404
422
  });
405
423
  add("error", (payload) => {
406
- const parsed = socketProtocolErrorDtoSchema.safeParse(payload);
424
+ const parsed = socketProtocolErrorDtoSchema.safeParse(sanitizePayload(payload));
407
425
  report(this.#error("validation", parsed.success && typeof parsed.data.message === "string"
408
426
  ? parsed.data.message
409
- : "TFRobot Socket protocol error", false, conversationId));
427
+ : "TFRobot Socket protocol error", false, conversationId, undefined, credentialValues));
410
428
  });
411
429
  add("connect_error", (reason) => {
412
430
  const injectedError = chatErrorSchema.safeParse(reason);
413
431
  const rejectionCode = socketAuthRejectionCode(reason);
414
432
  const error = authenticationFailure !== undefined
415
- ? this.#error("authentication", authenticationFailure instanceof Error
416
- ? authenticationFailure.message
417
- : "Unable to refresh the TFRobot Socket session", true, conversationId)
433
+ ? this.#error("authentication", "Unable to refresh the TFRobot Socket session", true, conversationId, undefined, credentialValues)
418
434
  : injectedError.success
419
- ? injectedError.data
435
+ ? sanitizeCredentialError(injectedError.data, credentialValues)
420
436
  : rejectionCode !== undefined
421
437
  ? this.#error(rejectionCode, reason instanceof Error
422
438
  ? reason.message
423
- : "TFRobot Socket rejected the session", false, conversationId)
439
+ : "TFRobot Socket rejected the session", false, conversationId, undefined, credentialValues)
424
440
  : this.#error("network", reason instanceof Error
425
441
  ? reason.message
426
- : "TFRobot Socket connection failed", true, conversationId);
442
+ : "TFRobot Socket connection failed", true, conversationId, undefined, credentialValues);
427
443
  authenticationFailure = undefined;
428
444
  if (error.code === "authentication" || error.code === "authorization") {
429
445
  void this.#invalidateSession(error, rejectionCode === undefined ? undefined : "rejected");
@@ -440,15 +456,15 @@ export class TFRobotSocketClient {
440
456
  active.recoveryRevision += 1;
441
457
  const injectedError = chatErrorSchema.safeParse(reason);
442
458
  report(injectedError.success
443
- ? injectedError.data
444
- : this.#error("network", `TFRobot Socket disconnected: ${String(reason)}`, true, conversationId));
459
+ ? sanitizeCredentialError(injectedError.data, credentialValues)
460
+ : this.#error("network", `TFRobot Socket disconnected: ${String(reason)}`, true, conversationId, undefined, credentialValues));
445
461
  });
446
462
  const anyListener = (eventName, payload) => {
447
463
  if (KNOWN_EVENTS.has(eventName))
448
464
  return;
449
465
  if (belongsToForeignConversation(payload, conversationId))
450
466
  return;
451
- mapAndNext("Unknown TFRobot Socket event could not be normalized", () => mapUnknownSocketEvent(eventName, payload, conversationId, this.#now()));
467
+ mapAndNext("Unknown TFRobot Socket event could not be normalized", () => mapUnknownSocketEvent(sanitizeCredentialText(eventName, credentialValues), sanitizePayload(payload), errorConversationId(), this.#now()));
452
468
  };
453
469
  if (setupFailure === undefined) {
454
470
  try {
@@ -480,12 +496,15 @@ export class TFRobotSocketClient {
480
496
  catch {
481
497
  // Adapter ownership is cleared even if an injected transport misbehaves.
482
498
  }
499
+ firstAuth = undefined;
500
+ credentialValues.clear();
483
501
  };
484
502
  if (setupFailure !== undefined) {
503
+ const error = this.#transportError(setupFailure.reason, "Unable to configure the TFRobot Socket transport", conversationId, credentialValues);
485
504
  cleanup();
486
505
  return {
487
506
  ok: false,
488
- error: this.#transportError(setupFailure.reason, "Unable to configure the TFRobot Socket transport", conversationId),
507
+ error,
489
508
  };
490
509
  }
491
510
  const active = {
@@ -493,7 +512,7 @@ export class TFRobotSocketClient {
493
512
  cancelEstablishment: () => {
494
513
  settleEstablishment?.({
495
514
  ok: false,
496
- error: this.#error("conflict", "TFRobot Gateway was disposed during subscription", false, conversationId),
515
+ error: this.#error("conflict", "TFRobot Gateway was disposed during subscription", false, errorConversationId()),
497
516
  });
498
517
  },
499
518
  cleanup,
@@ -523,13 +542,13 @@ export class TFRobotSocketClient {
523
542
  const timeout = setTimeout(() => {
524
543
  settle({
525
544
  ok: false,
526
- error: createGatewayDeadlineExceededError(conversationId),
545
+ error: createGatewayDeadlineExceededError(errorConversationId()),
527
546
  });
528
547
  }, Math.min(MAX_TIMER_DELAY, Math.max(0, options.deadlineAt - this.#now())));
529
548
  if (isGatewayDeadlineExceeded(options, this.#now())) {
530
549
  settle({
531
550
  ok: false,
532
- error: createGatewayDeadlineExceededError(conversationId),
551
+ error: createGatewayDeadlineExceededError(errorConversationId()),
533
552
  });
534
553
  return;
535
554
  }
@@ -539,14 +558,14 @@ export class TFRobotSocketClient {
539
558
  catch (reason) {
540
559
  settle({
541
560
  ok: false,
542
- error: this.#transportError(reason, "Unable to connect the TFRobot Socket transport", conversationId),
561
+ error: this.#transportError(reason, "Unable to connect the TFRobot Socket transport", conversationId, credentialValues),
543
562
  });
544
563
  return;
545
564
  }
546
565
  if (isGatewayDeadlineExceeded(options, this.#now())) {
547
566
  settle({
548
567
  ok: false,
549
- error: createGatewayDeadlineExceededError(conversationId),
568
+ error: createGatewayDeadlineExceededError(errorConversationId()),
550
569
  });
551
570
  }
552
571
  });
@@ -592,7 +611,7 @@ export class TFRobotSocketClient {
592
611
  }
593
612
  return authOf(session);
594
613
  }
595
- async #reconcileRunAfterReconnect(active, conversationId, recoveryRevision, next, report) {
614
+ async #reconcileRunAfterReconnect(active, conversationId, credentialValues, recoveryRevision, next, report) {
596
615
  const result = await this.#reconnectStatusLoader(conversationId);
597
616
  if (!active.active ||
598
617
  this.#active !== active ||
@@ -601,23 +620,25 @@ export class TFRobotSocketClient {
601
620
  return;
602
621
  }
603
622
  if (!result.ok) {
604
- report(result.error);
623
+ report(sanitizeCredentialError(result.error, credentialValues));
605
624
  return;
606
625
  }
607
626
  try {
608
- const run = mapRun(conversationId, result.value);
627
+ const updateConversationId = sanitizeCredentialText(conversationId, credentialValues);
628
+ const safeStatus = statusDtoSchema.parse(sanitizeCredentialRaw(result.value, credentialValues));
629
+ const run = mapRun(updateConversationId, safeStatus);
609
630
  const previous = this.#runs.get(conversationId);
610
631
  this.#runs.set(conversationId, run);
611
632
  if (sameRun(previous, run))
612
633
  return;
613
634
  next(chatUpdateSchema.parse({
614
635
  kind: "run.replace",
615
- conversationId,
636
+ conversationId: updateConversationId,
616
637
  run,
617
638
  }));
618
639
  }
619
640
  catch {
620
- report(this.#error("validation", "Reconnected TFRobot run status could not be normalized", false, conversationId));
641
+ report(this.#error("validation", "Reconnected TFRobot run status could not be normalized", false, conversationId, undefined, credentialValues));
621
642
  }
622
643
  }
623
644
  async #invalidateSession(error, reason) {
@@ -631,22 +652,29 @@ export class TFRobotSocketClient {
631
652
  // Host refresh/login failures must not replace the Socket error.
632
653
  }
633
654
  }
634
- #transportError(reason, fallback, conversationId) {
635
- return this.#error("network", reason instanceof Error ? reason.message : fallback, true, conversationId);
655
+ #transportError(reason, fallback, conversationId, credentialValues = []) {
656
+ return this.#error("network", reason instanceof Error ? reason.message : fallback, true, conversationId, undefined, credentialValues);
636
657
  }
637
- #error(code, message, retryable, conversationId, details) {
658
+ #error(code, message, retryable, conversationId, details, credentialValues = []) {
638
659
  let safeDetails;
639
660
  try {
640
- safeDetails = details === undefined ? undefined : sanitizeRaw(details);
661
+ safeDetails =
662
+ details === undefined
663
+ ? undefined
664
+ : sanitizeCredentialRaw(details, credentialValues);
641
665
  }
642
666
  catch {
643
667
  safeDetails = undefined;
644
668
  }
645
669
  return chatErrorSchema.parse({
646
670
  code,
647
- message: sanitizeDiagnosticText(message),
671
+ message: sanitizeCredentialText(message, credentialValues),
648
672
  retryable,
649
- conversationId,
673
+ ...(conversationId === undefined
674
+ ? {}
675
+ : {
676
+ conversationId: sanitizeCredentialText(conversationId, credentialValues),
677
+ }),
650
678
  ...(safeDetails === undefined ? {} : { details: safeDetails }),
651
679
  });
652
680
  }
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,yBAAyB,GAQ1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAYnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,SAAS;IACT,eAAe;IACf,4BAA4B;IAC5B,YAAY;IACZ,OAAO;CACR,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAA6B,EAAE,MAAkB,EAAW,EAAE,CAC7E,KAAK,KAAK,MAAM;IAChB,CAAC,KAAK,IAAI,IAAI;QACZ,MAAM,IAAI,IAAI;QACd,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;QACtB,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC9B,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;QAC1C,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;AAE1C,MAAM,uBAAuB,GAAG,CAC9B,MAAe,EACiC,EAAE;IAClD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpE,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,IAAI,GACR,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAC3D,CAAC,CAAE,MAAM,CAAC,MAAM,CAA6B;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5E,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,gBAAgB,CAAC;IAChE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,eAAe,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtB,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,MAAM,OAAO,GACX,MAAM,YAAY,KAAK,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;QAC3D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,IACE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EACvB,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3E,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAsB,EAAE;IACvE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CACnC,OAAgB,EAChB,cAAsB,EACb,EAAE;IACX,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,cAAc,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,OAAuB,EAAqB,EAAE;IAC5D,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAClB,OAAO,CAAC,IAAI,KAAK,QAAQ;QACvB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE;QACjC,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,IAAI;QAChB,KAAK;QACL,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GACpC,CAAC,OAAkB,EAAwB,EAAE,CAC7C,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAClC,OAAO,CAAC,YAAY,EAAE;IACpB,WAAW,EAAE,KAAK;IAClB,IAAI;IACJ,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,IAAI,CAAC,QAAQ;QACX,KAAK,OAAO,EAAE;aACX,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;CACF,CAA6B,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;AAgBnE,MAAM,OAAO,mBAAmB;IAC9B,OAAO,CAAiC;IACxC,SAAS,GAAG,KAAK,CAAC;IAClB,mBAAmB,CAA8B;IACxC,QAAQ,CAAuB;IAC/B,aAAa,CAAS;IACtB,IAAI,CAAe;IACnB,QAAQ,CAAwB;IAChC,KAAK,CAAS;IACd,sBAAsB,CAAwB;IAC9C,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE/C,YACE,OAA8B,EAC9B,qBAA4C;QAE5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,qBAAqB,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACpC,IAAI,CAAC,aAAa;YAChB,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,cAAsB,EACtB,OAA8B,EAC9B,QAAyB;QAEzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,UAAU,EACV,6BAA6B,EAC7B,KAAK,EACL,SAAS,CACV;aACF,CAAC;QACJ,CAAC;QACD,IAAI,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,kCAAkC,EAAE;aAC5C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,EACpD;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,MAAM,EAAE,kBAAkB,CAAC,MAAM;SAClC,CACF,CAAC;QACF,IAAI,IAAI,CAAC,mBAAmB,KAAK,kBAAkB,EAAE,CAAC;YACpD,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACvC,CAAC;QACD,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,UAAU,EACV,IAAI,CAAC,SAAS;wBACZ,CAAC,CAAC,kDAAkD;wBACpD,CAAC,CAAC,yDAAyD,EAC7D,KAAK,EACL,SAAS,CACV;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,EAAE;iBAC5C,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,gBAAgB,EAChB,2CAA2C,EAC3C,IAAI,EACJ,SAAS,CACV;iBACF,CAAC;YACJ,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,UAAU,EACV,kDAAkD,EAClD,KAAK,EACL,SAAS,CACV;aACF,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,GAAW,EAAE,CACvC,sBAAsB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC3D,IAAI,SAAS,GAAkC,WAAW,CAAC,KAAK,CAAC;QACjE,IAAI,qBAA8B,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACrB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,IAAI,GAAG,SAAS,CAAC;wBACvB,SAAS,GAAG,SAAS,CAAC;wBACtB,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,EACtD;wBACE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,yBAAyB;wBACnD,GAAG,EAAE,IAAI,CAAC,IAAI;wBACd,MAAM,EAAE,eAAe,CAAC,MAAM;qBAC/B,CACF,CAAC;oBACF,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACnC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;4BACvD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC9B,CAAC;wBACD,OAAO,aAAa,CAAC,KAAK,CAAC;oBAC7B,CAAC;oBACD,MAAM,MAAM,GACV,aAAa,CAAC,IAAI,KAAK,OAAO;wBAC5B,CAAC,CAAC,aAAa,CAAC,MAAM;wBACtB,CAAC,CAAC,IAAI,KAAK,CACP,aAAa,CAAC,IAAI,KAAK,UAAU;4BAC/B,CAAC,CAAC,sDAAsD;4BACxD,CAAC,CAAC,8CAA8C,CACnD,CAAC;oBACR,qBAAqB,GAAG,MAAM,CAAC;oBAC/B,MAAM,MAAM,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,IAAI,CAAC,eAAe,CACzB,MAAM,EACN,+CAA+C,EAC/C,cAAc,EACd,gBAAgB,CACjB;aACF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC3D,IAAI,YAAsD,CAAC;QAC3D,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAE,QAA+B,EAAQ,EAAE;YACvE,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO;YACvC,IAAI,CAAC;gBACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,YAAY,GAAG,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAQ,EAAE;YAC1C,IAAI,CAAC;gBACH,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAC7D,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,KAAgB,EAAQ,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO;YAC3B,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAW,EAAE;YACpD,IAAI,CAAC;gBACH,OAAO,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAA8C,EAAQ,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO;YAC3B,MAAM,oBAAoB,GACxB,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACjC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB;oBACrC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;oBACxB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9B,IACE,oBAAoB,KAAK,SAAS;gBAClC,oBAAoB,KAAK,cAAc;gBACvC,oBAAoB,KAAK,mBAAmB,EAAE,EAC9C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,CACN,IAAI,CAAC,MAAM,CACT,SAAS,EACT,6CAA6C,EAC7C,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CACjB,cAAsB,EACtB,GAAiD,EAC3C,EAAE;YACR,IAAI,MAA8C,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,cAAc,EACd,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;QACf,CAAC,CAAC;QACF,IAAI,mBACgE,CAAC;QACrE,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO;YAC3B,IACE,mBAAmB,KAAK,SAAS;gBACjC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAC/C,CAAC;gBACD,mBAAmB,CAAC;oBAClB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,CAAC,mBAAmB,EAAE,CAAC;iBACjE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC;YAChC,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM,gBAAgB,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC/B,eAAe,EAAE,cAAc;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAChC,MAAM,EACN,yCAAyC,EACzC,cAAc,EACd,gBAAgB,CACjB,CAAC;gBACF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtC,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;oBACtB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;wBAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACxD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,mBAAmB,KAAK,SAAS;gBACjC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAC/C,CAAC;gBACD,mBAAmB,CAAC;oBAClB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,CAAC,mBAAmB,EAAE,CAAC;iBACjE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,mBAAmB,EAAE,CAAC;gBACpB,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,MAAM,CAAC,MAAM;4BAAE,OAAO;wBAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;wBACtB,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;4BAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;oBACxD,CAAC;iBACF;aACF,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,2BAA2B,CACnC,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,EACJ,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE;oBACX,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,SAAS,EACT,yCAAyC,EACzC,IAAI,EACJ,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC;gBAAE,OAAO;YAClE,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,sCAAsC,EACtC,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,UAAU,CAAC,8CAA8C,EAAE,GAAG,EAAE,CAC9D,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC;gBAAE,OAAO;YAClE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,oCAAoC,EACpC,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,UAAU,CAAC,4CAA4C,EAAE,GAAG,EAAE,CAC5D,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC;gBAAE,OAAO;YAClE,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,oDAAoD,EACpD,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,IACE,oBAAoB,KAAK,cAAc;gBACvC,oBAAoB,KAAK,mBAAmB,EAAE,EAC9C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC7B,UAAU,CAAC,2CAA2C,EAAE,GAAG,EAAE;gBAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,EAAE;oBACvC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;oBACxC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;gBAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC;oBAC5B,IAAI,EAAE,aAAa;oBACnB,cAAc,EAAE,oBAAoB;oBACpC,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC;gBAAE,OAAO;YAClE,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAC9C,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,oCAAoC,EACpC,KAAK,EACL,mBAAmB,EAAE,CACtB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,IACE,oBAAoB,KAAK,cAAc;gBACvC,oBAAoB,KAAK,mBAAmB,EAAE,EAC9C,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,QAAQ,EACR,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;gBACnB,CAAC,CAAC,oBAAoB,EACxB,KAAK,EACL,oBAAoB,EACpB,MAAM,CAAC,IAAI,EACX,gBAAgB,CACjB,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CACnD,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;YACF,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACvD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;gBACrB,CAAC,CAAC,+BAA+B,EACnC,KAAK,EACL,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,KAAK,GACT,qBAAqB,KAAK,SAAS;gBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CACT,gBAAgB,EAChB,8CAA8C,EAC9C,IAAI,EACJ,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB;gBACH,CAAC,CAAC,aAAa,CAAC,OAAO;oBACrB,CAAC,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC;oBAC/D,CAAC,CAAC,aAAa,KAAK,SAAS;wBAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CACT,aAAa,EACb,MAAM,YAAY,KAAK;4BACrB,CAAC,CAAC,MAAM,CAAC,OAAO;4BAChB,CAAC,CAAC,qCAAqC,EACzC,KAAK,EACL,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB;wBACH,CAAC,CAAC,IAAI,CAAC,MAAM,CACT,SAAS,EACT,MAAM,YAAY,KAAK;4BACrB,CAAC,CAAC,MAAM,CAAC,OAAO;4BAChB,CAAC,CAAC,kCAAkC,EACtC,IAAI,EACJ,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB,CAAC;YACZ,qBAAqB,GAAG,SAAS,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtE,KAAK,IAAI,CAAC,kBAAkB,CAC1B,KAAK,EACL,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CACrD,CAAC;YACJ,CAAC;YACD,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,IAAI,MAAM,KAAK,sBAAsB;gBAAE,OAAO;YAC9C,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC7B,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CACJ,aAAa,CAAC,OAAO;gBACnB,CAAC,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC/D,CAAC,CAAC,IAAI,CAAC,MAAM,CACT,SAAS,EACT,gCAAgC,MAAM,CAAC,MAAM,CAAC,EAAE,EAChD,IAAI,EACJ,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAA6B,CAC5C,SAAS,EACT,OAAO,EACD,EAAE;YACR,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YACxC,IAAI,4BAA4B,CAAC,OAAO,EAAE,cAAc,CAAC;gBAAE,OAAO;YAClE,UAAU,CAAC,sDAAsD,EAAE,GAAG,EAAE,CACtE,qBAAqB,CACnB,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACnD,eAAe,CAAC,OAAO,CAAC,EACxB,mBAAmB,EAAE,EACrB,IAAI,CAAC,IAAI,EAAE,CACZ,CACF,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,YAAY,GAAG,EAAE,MAAM,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;YAC3E,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;YACtB,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAChC,YAAY,CAAC,MAAM,EACnB,kDAAkD,EAClD,cAAc,EACd,gBAAgB,CACjB,CAAC;YACF,OAAO,EAAE,CAAC;YACV,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK;aACN,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAuB;YACjC,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,GAAG,EAAE;gBACxB,mBAAmB,EAAE,CAAC;oBACpB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,CAAC,MAAM,CAChB,UAAU,EACV,kDAAkD,EAClD,KAAK,EACL,mBAAmB,EAAE,CACtB;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO;YACP,cAAc;YACd,QAAQ;YACR,gBAAgB,EAAE,CAAC;YACnB,MAAM;SACP,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAA0C,EAAQ,EAAE;gBAClE,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,mBAAmB,GAAG,SAAS,CAAC;gBAChC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;oBACtB,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;wBAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACxD,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,mBAAmB,GAAG,MAAM,CAAC;YAC7B,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE;gBACH,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,CAAC,mBAAmB,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC,EACD,IAAI,CAAC,GAAG,CACN,eAAe,EACf,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAC9C,CACF,CAAC;YACF,IAAI,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,CAAC,mBAAmB,EAAE,CAAC;iBACjE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,IAAI,CAAC,eAAe,CACzB,MAAM,EACN,gDAAgD,EAChD,cAAc,EACd,gBAAgB,CACjB;iBACF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,IAAI,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kCAAkC,CAAC,mBAAmB,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,cAAsB,EAAE,GAAe;QACjD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,OAAe;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;QACvB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAAsB,EACtB,OAAgC;QAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC;YAC7D,OAAO;YACP,SAAS,EAAE,WAAW;YACtB,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,SAAS,CACjB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,MAA0B,EAC1B,cAAsB,EACtB,gBAAkC,EAClC,gBAAwB,EACxB,IAA6B,EAC7B,MAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACjE,IACE,CAAC,MAAM,CAAC,MAAM;YACd,IAAI,CAAC,OAAO,KAAK,MAAM;YACvB,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;YACxB,MAAM,CAAC,gBAAgB,KAAK,gBAAgB,EAC5C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,oBAAoB,GAAG,sBAAsB,CACjD,cAAc,EACd,gBAAgB,CACjB,CAAC;YACF,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CACtC,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CACtD,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAAE,OAAO;YACnC,IAAI,CACF,gBAAgB,CAAC,KAAK,CAAC;gBACrB,IAAI,EAAE,aAAa;gBACnB,cAAc,EAAE,oBAAoB;gBACpC,GAAG;aACJ,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CACJ,IAAI,CAAC,MAAM,CACT,YAAY,EACZ,wDAAwD,EACxD,KAAK,EACL,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,KAAgB,EAChB,MAAkC;QAElC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;gBACrD,MAAM,EACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtE,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;QACnE,CAAC;IACH,CAAC;IAED,eAAe,CACb,MAAe,EACf,QAAgB,EAChB,cAAsB,EACtB,mBAAqC,EAAE;QAEvC,OAAO,IAAI,CAAC,MAAM,CAChB,SAAS,EACT,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EACnD,IAAI,EACJ,cAAc,EACd,SAAS,EACT,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,IAAuB,EACvB,OAAe,EACf,SAAkB,EAClB,cAAuB,EACvB,OAAiB,EACjB,mBAAqC,EAAE;QAEvC,IAAI,WAAiE,CAAC;QACtE,IAAI,CAAC;YACH,WAAW;gBACT,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,eAAe,CAAC,KAAK,CAAC;YAC3B,IAAI;YACJ,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC;YAC1D,SAAS;YACT,GAAG,CAAC,cAAc,KAAK,SAAS;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,cAAc,EAAE,sBAAsB,CACpC,cAAc,EACd,gBAAgB,CACjB;iBACF,CAAC;YACN,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turingfocus/chat-gateway-tfrobot",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "TFRobotServer REST and realtime gateway adapter",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "socket.io-client": "4.8.3",
32
32
  "zod": "4.0.17",
33
- "@turingfocus/chat-protocol": "^0.1.0"
33
+ "@turingfocus/chat-protocol": "^0.3.0"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public",