@dbos-inc/dbos-sdk 2.2.10-preview.g90e74a1e32 → 2.3.9-preview

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. package/.husky/pre-commit +1 -0
  2. package/.prettierignore +3 -0
  3. package/.prettierrc +9 -0
  4. package/CODE_OF_CONDUCT.md +24 -18
  5. package/CONTRIBUTING.md +12 -10
  6. package/README.md +2 -2
  7. package/compose.yaml +17 -17
  8. package/dbos-config.schema.json +4 -13
  9. package/dist/schemas/user_db_schema.d.ts.map +1 -1
  10. package/dist/schemas/user_db_schema.js.map +1 -1
  11. package/dist/src/context.d.ts +12 -12
  12. package/dist/src/context.d.ts.map +1 -1
  13. package/dist/src/context.js +9 -9
  14. package/dist/src/context.js.map +1 -1
  15. package/dist/src/data_validation.d.ts +1 -1
  16. package/dist/src/data_validation.d.ts.map +1 -1
  17. package/dist/src/data_validation.js +14 -8
  18. package/dist/src/data_validation.js.map +1 -1
  19. package/dist/src/dbos-executor.d.ts +4 -3
  20. package/dist/src/dbos-executor.d.ts.map +1 -1
  21. package/dist/src/dbos-executor.js +152 -141
  22. package/dist/src/dbos-executor.js.map +1 -1
  23. package/dist/src/dbos-runtime/cli.d.ts +3 -3
  24. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  25. package/dist/src/dbos-runtime/cli.js +80 -39
  26. package/dist/src/dbos-runtime/cli.js.map +1 -1
  27. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts +1 -1
  28. package/dist/src/dbos-runtime/cloudutils/authentication.d.ts.map +1 -1
  29. package/dist/src/dbos-runtime/cloudutils/authentication.js +14 -14
  30. package/dist/src/dbos-runtime/cloudutils/authentication.js.map +1 -1
  31. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts +2 -2
  32. package/dist/src/dbos-runtime/cloudutils/cloudutils.d.ts.map +1 -1
  33. package/dist/src/dbos-runtime/cloudutils/cloudutils.js +32 -32
  34. package/dist/src/dbos-runtime/cloudutils/cloudutils.js.map +1 -1
  35. package/dist/src/dbos-runtime/cloudutils/databases.d.ts +2 -2
  36. package/dist/src/dbos-runtime/cloudutils/databases.d.ts.map +1 -1
  37. package/dist/src/dbos-runtime/cloudutils/databases.js +25 -21
  38. package/dist/src/dbos-runtime/cloudutils/databases.js.map +1 -1
  39. package/dist/src/dbos-runtime/commands.d.ts +1 -1
  40. package/dist/src/dbos-runtime/commands.js +9 -9
  41. package/dist/src/dbos-runtime/config.d.ts +7 -7
  42. package/dist/src/dbos-runtime/config.d.ts.map +1 -1
  43. package/dist/src/dbos-runtime/config.js +39 -23
  44. package/dist/src/dbos-runtime/config.js.map +1 -1
  45. package/dist/src/dbos-runtime/configure.d.ts.map +1 -1
  46. package/dist/src/dbos-runtime/configure.js.map +1 -1
  47. package/dist/src/dbos-runtime/db_connection.d.ts.map +1 -1
  48. package/dist/src/dbos-runtime/db_connection.js +2 -2
  49. package/dist/src/dbos-runtime/db_connection.js.map +1 -1
  50. package/dist/src/dbos-runtime/db_wizard.d.ts +1 -1
  51. package/dist/src/dbos-runtime/db_wizard.d.ts.map +1 -1
  52. package/dist/src/dbos-runtime/db_wizard.js +18 -18
  53. package/dist/src/dbos-runtime/db_wizard.js.map +1 -1
  54. package/dist/src/dbos-runtime/debug.d.ts +3 -3
  55. package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
  56. package/dist/src/dbos-runtime/debug.js +7 -12
  57. package/dist/src/dbos-runtime/debug.js.map +1 -1
  58. package/dist/src/dbos-runtime/migrate.d.ts +2 -2
  59. package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
  60. package/dist/src/dbos-runtime/migrate.js +14 -10
  61. package/dist/src/dbos-runtime/migrate.js.map +1 -1
  62. package/dist/src/dbos-runtime/reset.d.ts +2 -2
  63. package/dist/src/dbos-runtime/reset.js +2 -2
  64. package/dist/src/dbos-runtime/reset.js.map +1 -1
  65. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  66. package/dist/src/dbos-runtime/runtime.js +4 -4
  67. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  68. package/dist/src/dbos-runtime/workflow_management.d.ts +5 -4
  69. package/dist/src/dbos-runtime/workflow_management.d.ts.map +1 -1
  70. package/dist/src/dbos-runtime/workflow_management.js +34 -14
  71. package/dist/src/dbos-runtime/workflow_management.js.map +1 -1
  72. package/dist/src/dbos.d.ts +23 -23
  73. package/dist/src/dbos.d.ts.map +1 -1
  74. package/dist/src/dbos.js +59 -59
  75. package/dist/src/dbos.js.map +1 -1
  76. package/dist/src/debugpoint.d.ts.map +1 -1
  77. package/dist/src/debugpoint.js +4 -4
  78. package/dist/src/debugpoint.js.map +1 -1
  79. package/dist/src/decorators.d.ts +8 -8
  80. package/dist/src/decorators.d.ts.map +1 -1
  81. package/dist/src/decorators.js +36 -33
  82. package/dist/src/decorators.js.map +1 -1
  83. package/dist/src/error.d.ts.map +1 -1
  84. package/dist/src/error.js +6 -5
  85. package/dist/src/error.js.map +1 -1
  86. package/dist/src/eventreceiver.d.ts +1 -1
  87. package/dist/src/eventreceiver.d.ts.map +1 -1
  88. package/dist/src/httpServer/handler.d.ts +8 -8
  89. package/dist/src/httpServer/handler.d.ts.map +1 -1
  90. package/dist/src/httpServer/handler.js.map +1 -1
  91. package/dist/src/httpServer/handlerTypes.d.ts.map +1 -1
  92. package/dist/src/httpServer/handlerTypes.js.map +1 -1
  93. package/dist/src/httpServer/middleware.d.ts +9 -9
  94. package/dist/src/httpServer/middleware.d.ts.map +1 -1
  95. package/dist/src/httpServer/middleware.js +6 -6
  96. package/dist/src/httpServer/middleware.js.map +1 -1
  97. package/dist/src/httpServer/server.d.ts +2 -2
  98. package/dist/src/httpServer/server.d.ts.map +1 -1
  99. package/dist/src/httpServer/server.js +27 -33
  100. package/dist/src/httpServer/server.js.map +1 -1
  101. package/dist/src/index.d.ts +16 -16
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/index.js.map +1 -1
  104. package/dist/src/kafka/kafka.d.ts.map +1 -1
  105. package/dist/src/kafka/kafka.js +2 -2
  106. package/dist/src/kafka/kafka.js.map +1 -1
  107. package/dist/src/procedure.d.ts +6 -6
  108. package/dist/src/procedure.d.ts.map +1 -1
  109. package/dist/src/procedure.js.map +1 -1
  110. package/dist/src/scheduler/crontab.d.ts.map +1 -1
  111. package/dist/src/scheduler/crontab.js +54 -33
  112. package/dist/src/scheduler/crontab.js.map +1 -1
  113. package/dist/src/scheduler/scheduler.d.ts +3 -3
  114. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  115. package/dist/src/scheduler/scheduler.js +7 -7
  116. package/dist/src/scheduler/scheduler.js.map +1 -1
  117. package/dist/src/step.d.ts +4 -4
  118. package/dist/src/step.d.ts.map +1 -1
  119. package/dist/src/step.js.map +1 -1
  120. package/dist/src/system_database.d.ts +20 -13
  121. package/dist/src/system_database.d.ts.map +1 -1
  122. package/dist/src/system_database.js +168 -60
  123. package/dist/src/system_database.js.map +1 -1
  124. package/dist/src/telemetry/collector.d.ts +3 -3
  125. package/dist/src/telemetry/exporters.d.ts +1 -1
  126. package/dist/src/telemetry/exporters.js.map +1 -1
  127. package/dist/src/telemetry/index.d.ts +5 -5
  128. package/dist/src/telemetry/logs.d.ts +4 -4
  129. package/dist/src/telemetry/logs.d.ts.map +1 -1
  130. package/dist/src/telemetry/logs.js +18 -18
  131. package/dist/src/telemetry/logs.js.map +1 -1
  132. package/dist/src/telemetry/traces.d.ts +3 -3
  133. package/dist/src/telemetry/traces.js +7 -7
  134. package/dist/src/testing/testing_runtime.d.ts +11 -11
  135. package/dist/src/testing/testing_runtime.d.ts.map +1 -1
  136. package/dist/src/testing/testing_runtime.js +15 -8
  137. package/dist/src/testing/testing_runtime.js.map +1 -1
  138. package/dist/src/transaction.d.ts +6 -6
  139. package/dist/src/transaction.d.ts.map +1 -1
  140. package/dist/src/transaction.js +4 -4
  141. package/dist/src/transaction.js.map +1 -1
  142. package/dist/src/user_database.d.ts +4 -4
  143. package/dist/src/user_database.d.ts.map +1 -1
  144. package/dist/src/user_database.js +45 -45
  145. package/dist/src/user_database.js.map +1 -1
  146. package/dist/src/utils.d.ts.map +1 -1
  147. package/dist/src/utils.js +6 -12
  148. package/dist/src/utils.js.map +1 -1
  149. package/dist/src/wfqueue.d.ts +1 -1
  150. package/dist/src/wfqueue.d.ts.map +1 -1
  151. package/dist/src/wfqueue.js +8 -8
  152. package/dist/src/wfqueue.js.map +1 -1
  153. package/dist/src/workflow.d.ts +22 -10
  154. package/dist/src/workflow.d.ts.map +1 -1
  155. package/dist/src/workflow.js +19 -18
  156. package/dist/src/workflow.js.map +1 -1
  157. package/dist/tsconfig.build.tsbuildinfo +1 -1
  158. package/eslint.config.js +29 -27
  159. package/migrations/20240123182943_schema.js +7 -8
  160. package/migrations/20240123183021_tables.js +52 -48
  161. package/migrations/20240123183025_indexes.js +11 -14
  162. package/migrations/20240123183030_triggers.js +7 -8
  163. package/migrations/20240124015239_status_timestamp.js +12 -18
  164. package/migrations/20240201213211_replica_identity.js +8 -11
  165. package/migrations/20240205223925_foreign_keys.js +40 -18
  166. package/migrations/20240207192338_executor_id_index.js +8 -10
  167. package/migrations/20240430090000_tables.js +8 -10
  168. package/migrations/20240516004341_application_version.js +10 -12
  169. package/migrations/20240517000000_status_class_config.js +10 -14
  170. package/migrations/20240621000000_workflow_tries.js +8 -12
  171. package/migrations/20240924000000_workflowqueue.js +32 -23
  172. package/migrations/20241009150000_event_dispatch_kv.js +12 -14
  173. package/migrations/20252101000000_workflow_queues_executor_id.js +7 -9
  174. package/package.json +9 -2
  175. package/src/dbos-runtime/cloudutils/README.md +1 -1
@@ -20,8 +20,8 @@ async function migrateSystemDatabase(systemPoolConfig) {
20
20
  connection: systemPoolConfig,
21
21
  migrations: {
22
22
  directory: migrationsDirectory,
23
- tableName: 'knex_migrations'
24
- }
23
+ tableName: 'knex_migrations',
24
+ },
25
25
  };
26
26
  const knexDB = (0, knex_1.default)(knexConfig);
27
27
  try {
@@ -58,8 +58,8 @@ class PostgresSystemDatabase {
58
58
  client: 'pg',
59
59
  connection: this.systemPoolConfig,
60
60
  pool: {
61
- max: 2
62
- }
61
+ max: 2,
62
+ },
63
63
  };
64
64
  this.knexDB = (0, knex_1.default)(knexConfig);
65
65
  }
@@ -125,11 +125,12 @@ class PostgresSystemDatabase {
125
125
  executor_id,
126
126
  application_version,
127
127
  application_id,
128
- created_at
129
- ) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15)
128
+ created_at,
129
+ recovery_attempts
130
+ ) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
130
131
  ON CONFLICT (workflow_uuid)
131
132
  DO UPDATE SET
132
- recovery_attempts = CASE WHEN $16 THEN workflow_status.recovery_attempts + 1 ELSE workflow_status.recovery_attempts END
133
+ recovery_attempts = workflow_status.recovery_attempts + 1
133
134
  RETURNING recovery_attempts, status, name, class_name, config_name, queue_name`, [
134
135
  initStatus.workflowUUID,
135
136
  initStatus.status,
@@ -146,15 +147,15 @@ class PostgresSystemDatabase {
146
147
  initStatus.applicationVersion,
147
148
  initStatus.applicationID,
148
149
  initStatus.createdAt,
149
- initStatus.recovery,
150
+ initStatus.status === workflow_1.StatusString.ENQUEUED ? 0 : 1,
150
151
  ]);
151
152
  // Check the started workflow matches the expected name, class_name, config_name, and queue_name
152
153
  // A mismatch indicates a workflow starting with the same UUID but different functions, which should not be allowed.
153
154
  const resRow = result.rows[0];
154
- initStatus.configName = initStatus.configName || "";
155
- resRow.config_name = resRow.config_name || "";
155
+ initStatus.configName = initStatus.configName || '';
156
+ resRow.config_name = resRow.config_name || '';
156
157
  resRow.queue_name = resRow.queue_name === null ? undefined : resRow.queue_name; // Convert null in SQL to undefined
157
- let msg = "";
158
+ let msg = '';
158
159
  if (resRow.name !== initStatus.name) {
159
160
  msg = `Workflow already exists with a different function name: ${resRow.name}, but the provided function name is: ${initStatus.name}`;
160
161
  }
@@ -168,14 +169,18 @@ class PostgresSystemDatabase {
168
169
  // This is a warning because a different queue name is not necessarily an error.
169
170
  this.logger.warn(`Workflow (${initStatus.workflowUUID}) already exists in queue: ${resRow.queue_name}, but the provided queue name is: ${initStatus.queueName}. The queue is not updated.`);
170
171
  }
171
- if (msg !== "") {
172
+ if (msg !== '') {
172
173
  throw new error_1.DBOSConflictingWorkflowError(initStatus.workflowUUID, msg);
173
174
  }
174
- const recovery_attempts = resRow.recovery_attempts;
175
- if (recovery_attempts >= initStatus.maxRetries && initStatus.recovery) {
175
+ // recovery_attempt means "attempts" (we kept the name for backward compatibility). It's default value is 1.
176
+ // Every time we init the status, we increment `recovery_attempts` by 1.
177
+ // Thus, when this number becomes equal to `maxRetries + 1`, we should mark the workflow as `RETRIES_EXCEEDED`.
178
+ const attempts = resRow.recovery_attempts;
179
+ if (attempts > initStatus.maxRetries + 1) {
176
180
  await this.pool.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status SET status=$1 WHERE workflow_uuid=$2 AND status=$3`, [workflow_1.StatusString.RETRIES_EXCEEDED, initStatus.workflowUUID, workflow_1.StatusString.PENDING]);
177
181
  throw new error_1.DBOSDeadLetterQueueError(initStatus.workflowUUID, initStatus.maxRetries);
178
182
  }
183
+ this.logger.debug(`Workflow ${initStatus.workflowUUID} attempt number: ${attempts}.`);
179
184
  const status = resRow.status;
180
185
  const serializedInputs = utils_1.DBOSJSON.stringify(args);
181
186
  const { rows } = await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO UPDATE SET workflow_uuid = excluded.workflow_uuid RETURNING inputs`, [initStatus.workflowUUID, serializedInputs]);
@@ -208,7 +213,7 @@ class PostgresSystemDatabase {
208
213
  const batchUUIDs = [];
209
214
  for (const [workflowUUID, status] of localBuffer) {
210
215
  if (paramCnt > 1) {
211
- sqlStmt += ", ";
216
+ sqlStmt += ', ';
212
217
  }
213
218
  sqlStmt += `($${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++})`;
214
219
  values.push(workflowUUID, status.status, status.name, status.authenticatedUser, status.assumedRole, utils_1.DBOSJSON.stringify(status.authenticatedRoles), utils_1.DBOSJSON.stringify(status.request), utils_1.DBOSJSON.stringify(status.output), status.executorID, status.applicationVersion, status.applicationID, status.createdAt, Date.now(), status.className, status.configName, status.queueName);
@@ -219,7 +224,8 @@ class PostgresSystemDatabase {
219
224
  break;
220
225
  }
221
226
  }
222
- sqlStmt += " ON CONFLICT (workflow_uuid) DO UPDATE SET status=EXCLUDED.status, output=EXCLUDED.output, updated_at=EXCLUDED.updated_at;";
227
+ sqlStmt +=
228
+ ' ON CONFLICT (workflow_uuid) DO UPDATE SET status=EXCLUDED.status, output=EXCLUDED.output, updated_at=EXCLUDED.updated_at;';
223
229
  await this.pool.query(sqlStmt, values);
224
230
  // Clean up after each batch succeeds
225
231
  batchUUIDs.forEach((value) => {
@@ -281,8 +287,11 @@ class PostgresSystemDatabase {
281
287
  ]);
282
288
  }
283
289
  async getPendingWorkflows(executorID) {
284
- const { rows } = await this.pool.query(`SELECT workflow_uuid FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
285
- return rows.map(i => i.workflow_uuid);
290
+ const { rows } = await this.pool.query(`SELECT workflow_uuid, queue_name FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
291
+ return rows.map((i) => ({
292
+ workflowUUID: i.workflow_uuid,
293
+ queueName: i.queue_name,
294
+ }));
286
295
  }
287
296
  bufferWorkflowInputs(workflowUUID, args) {
288
297
  this.workflowInputsBuffer.set(workflowUUID, args);
@@ -305,7 +314,7 @@ class PostgresSystemDatabase {
305
314
  continue;
306
315
  }
307
316
  if (paramCnt > 1) {
308
- sqlStmt += ", ";
317
+ sqlStmt += ', ';
309
318
  }
310
319
  sqlStmt += `($${paramCnt++}, $${paramCnt++})`;
311
320
  values.push(workflowUUID, utils_1.DBOSJSON.stringify(args));
@@ -316,10 +325,12 @@ class PostgresSystemDatabase {
316
325
  }
317
326
  }
318
327
  if (batchUUIDs.length > 0) {
319
- sqlStmt += " ON CONFLICT (workflow_uuid) DO NOTHING;";
328
+ sqlStmt += ' ON CONFLICT (workflow_uuid) DO NOTHING;';
320
329
  await this.pool.query(sqlStmt, values);
321
330
  // Clean up after each batch succeeds
322
- batchUUIDs.forEach((value) => { localBuffer.delete(value); });
331
+ batchUUIDs.forEach((value) => {
332
+ localBuffer.delete(value);
333
+ });
323
334
  }
324
335
  }
325
336
  }
@@ -363,7 +374,7 @@ class PostgresSystemDatabase {
363
374
  }
364
375
  catch (error) {
365
376
  const err = error;
366
- if (err.code === "40001" || err.code === "23505") {
377
+ if (err.code === '40001' || err.code === '23505') {
367
378
  // Serialization and primary key conflict (Postgres).
368
379
  throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
369
380
  }
@@ -379,7 +390,7 @@ class PostgresSystemDatabase {
379
390
  }
380
391
  catch (error) {
381
392
  const err = error;
382
- if (err.code === "40001" || err.code === "23505") {
393
+ if (err.code === '40001' || err.code === '23505') {
383
394
  // Serialization and primary key conflict (Postgres).
384
395
  throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
385
396
  }
@@ -397,7 +408,7 @@ class PostgresSystemDatabase {
397
408
  }
398
409
  catch (error) {
399
410
  const err = error;
400
- if (err.code === "40001" || err.code === "23505") {
411
+ if (err.code === '40001' || err.code === '23505') {
401
412
  // Serialization and primary key conflict (Postgres).
402
413
  throw new error_1.DBOSWorkflowConflictUUIDError(workflowUUID);
403
414
  }
@@ -420,25 +431,25 @@ class PostgresSystemDatabase {
420
431
  return;
421
432
  }
422
433
  }
423
- nullTopic = "__null__topic__";
434
+ nullTopic = '__null__topic__';
424
435
  async send(workflowUUID, functionID, destinationUUID, message, topic) {
425
436
  topic = topic ?? this.nullTopic;
426
437
  const client = await this.pool.connect();
427
- await client.query("BEGIN ISOLATION LEVEL READ COMMITTED");
438
+ await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
428
439
  try {
429
440
  const { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
430
441
  if (rows.length > 0) {
431
- await client.query("ROLLBACK");
442
+ await client.query('ROLLBACK');
432
443
  return;
433
444
  }
434
445
  await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications (destination_uuid, topic, message) VALUES ($1, $2, $3);`, [destinationUUID, topic, utils_1.DBOSJSON.stringify(message)]);
435
446
  await this.recordNotificationOutput(client, workflowUUID, functionID, undefined);
436
- await client.query("COMMIT");
447
+ await client.query('COMMIT');
437
448
  }
438
449
  catch (error) {
439
- await client.query("ROLLBACK");
450
+ await client.query('ROLLBACK');
440
451
  const err = error;
441
- if (err.code === "23503") {
452
+ if (err.code === '23503') {
442
453
  // Foreign key constraint violation (only expected for the INSERT query)
443
454
  throw new error_1.DBOSNonExistentWorkflowError(`Sent to non-existent destination workflow UUID: ${destinationUUID}`);
444
455
  }
@@ -525,10 +536,10 @@ class PostgresSystemDatabase {
525
536
  async setEvent(workflowUUID, functionID, key, message) {
526
537
  const client = await this.pool.connect();
527
538
  try {
528
- await client.query("BEGIN ISOLATION LEVEL READ COMMITTED");
539
+ await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
529
540
  let { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
530
541
  if (rows.length > 0) {
531
- await client.query("ROLLBACK");
542
+ await client.query('ROLLBACK');
532
543
  return;
533
544
  }
534
545
  ({ rows } = await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_events (workflow_uuid, key, value)
@@ -537,7 +548,7 @@ class PostgresSystemDatabase {
537
548
  DO UPDATE SET value = $3
538
549
  RETURNING workflow_uuid;`, [workflowUUID, key, utils_1.DBOSJSON.stringify(message)]));
539
550
  await this.recordNotificationOutput(client, workflowUUID, functionID, undefined);
540
- await client.query("COMMIT");
551
+ await client.query('COMMIT');
541
552
  }
542
553
  catch (e) {
543
554
  this.logger.error(e);
@@ -622,6 +633,56 @@ class PostgresSystemDatabase {
622
633
  await this.pool.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status SET recovery_attempts=0 WHERE workflow_uuid=$1`, [workflowUUID]);
623
634
  }
624
635
  }
636
+ async cancelWorkflow(workflowUUID) {
637
+ const client = await this.pool.connect();
638
+ try {
639
+ await client.query('BEGIN');
640
+ // Remove workflow from queues table
641
+ await client.query(`DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
642
+ WHERE workflow_uuid = $1`, [workflowUUID]);
643
+ await client.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
644
+ SET status = $1
645
+ WHERE workflow_uuid = $2`, [workflow_1.StatusString.CANCELLED, workflowUUID]);
646
+ await client.query('COMMIT');
647
+ }
648
+ catch (error) {
649
+ await client.query('ROLLBACK');
650
+ throw error;
651
+ }
652
+ finally {
653
+ client.release();
654
+ }
655
+ }
656
+ async resumeWorkflow(workflowUUID) {
657
+ const client = await this.pool.connect();
658
+ try {
659
+ await client.query('BEGIN');
660
+ // Check workflow status. If it is complete, do nothing.
661
+ const statusResult = await client.query(`SELECT status FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
662
+ WHERE workflow_uuid = $1`, [workflowUUID]);
663
+ if (statusResult.rows.length === 0 ||
664
+ statusResult.rows[0].status === workflow_1.StatusString.SUCCESS ||
665
+ statusResult.rows[0].status === workflow_1.StatusString.ERROR) {
666
+ await client.query('COMMIT');
667
+ return;
668
+ }
669
+ // Remove the workflow from the queues table so resume can safely be called on an ENQUEUED workflow
670
+ await client.query(`DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
671
+ WHERE workflow_uuid = $1`, [workflowUUID]);
672
+ // Update status to pending and reset recovery attempts
673
+ await client.query(`UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
674
+ SET status = $1, recovery_attempts = 0
675
+ WHERE workflow_uuid = $2`, [workflow_1.StatusString.PENDING, workflowUUID]);
676
+ await client.query('COMMIT');
677
+ }
678
+ catch (error) {
679
+ await client.query('ROLLBACK');
680
+ throw error;
681
+ }
682
+ finally {
683
+ client.release();
684
+ }
685
+ }
625
686
  async getWorkflowStatus(workflowUUID, callerUUID, functionID) {
626
687
  // Check if the operation has been done before for OAOO (only do this inside a workflow).
627
688
  if (callerUUID !== undefined && functionID !== undefined) {
@@ -636,8 +697,8 @@ class PostgresSystemDatabase {
636
697
  value = {
637
698
  status: rows[0].status,
638
699
  workflowName: rows[0].name,
639
- workflowClassName: rows[0].class_name || "",
640
- workflowConfigName: rows[0].config_name || "",
700
+ workflowClassName: rows[0].class_name || '',
701
+ workflowConfigName: rows[0].config_name || '',
641
702
  queueName: rows[0].queue_name || undefined,
642
703
  authenticatedUser: rows[0].authenticated_user,
643
704
  assumedRole: rows[0].assumed_role,
@@ -674,8 +735,8 @@ class PostgresSystemDatabase {
674
735
  */
675
736
  async listenForNotifications() {
676
737
  this.notificationsClient = await this.pool.connect();
677
- await this.notificationsClient.query("LISTEN dbos_notifications_channel;");
678
- await this.notificationsClient.query("LISTEN dbos_workflow_events_channel;");
738
+ await this.notificationsClient.query('LISTEN dbos_notifications_channel;');
739
+ await this.notificationsClient.query('LISTEN dbos_workflow_events_channel;');
679
740
  const handler = (msg) => {
680
741
  if (msg.channel === 'dbos_notifications_channel') {
681
742
  if (msg.payload && msg.payload in this.notificationsMap) {
@@ -688,7 +749,7 @@ class PostgresSystemDatabase {
688
749
  }
689
750
  }
690
751
  };
691
- this.notificationsClient.on("notification", handler);
752
+ this.notificationsClient.on('notification', handler);
692
753
  }
693
754
  // Event dispatcher queries / updates
694
755
  async getEventDispatchState(svc, wfn, key) {
@@ -707,7 +768,9 @@ class PostgresSystemDatabase {
707
768
  key: res.rows[0].key,
708
769
  value: res.rows[0].value,
709
770
  updateTime: res.rows[0].update_time,
710
- updateSeq: (res.rows[0].update_seq !== null && res.rows[0].update_seq !== undefined ? BigInt(res.rows[0].update_seq) : undefined),
771
+ updateSeq: res.rows[0].update_seq !== null && res.rows[0].update_seq !== undefined
772
+ ? BigInt(res.rows[0].update_seq)
773
+ : undefined,
711
774
  };
712
775
  }
713
776
  async queryEventDispatchState(input) {
@@ -741,7 +804,7 @@ class PostgresSystemDatabase {
741
804
  key: row.key,
742
805
  value: row.value,
743
806
  updateTime: row.update_time,
744
- updateSeq: (row.update_seq !== undefined && row.update_seq !== null ? BigInt(row.update_seq) : undefined),
807
+ updateSeq: row.update_seq !== undefined && row.update_seq !== null ? BigInt(row.update_seq) : undefined,
745
808
  };
746
809
  });
747
810
  return ers;
@@ -759,21 +822,16 @@ class PostgresSystemDatabase {
759
822
  (event_dispatch_kv.update_time IS NULL and event_dispatch_kv.update_seq IS NULL))
760
823
  THEN EXCLUDED.value ELSE event_dispatch_kv.value END
761
824
  RETURNING value, update_time, update_seq;
762
- `, [
763
- state.service,
764
- state.workflowFnName,
765
- state.key,
766
- state.value,
767
- state.updateTime,
768
- state.updateSeq,
769
- ]);
825
+ `, [state.service, state.workflowFnName, state.key, state.value, state.updateTime, state.updateSeq]);
770
826
  return {
771
827
  service: state.service,
772
828
  workflowFnName: state.workflowFnName,
773
829
  key: state.key,
774
830
  value: res.rows[0].value,
775
831
  updateTime: res.rows[0].update_time,
776
- updateSeq: (res.rows[0].update_seq !== undefined && res.rows[0].update_seq !== null ? BigInt(res.rows[0].update_seq) : undefined),
832
+ updateSeq: res.rows[0].update_seq !== undefined && res.rows[0].update_seq !== null
833
+ ? BigInt(res.rows[0].update_seq)
834
+ : undefined,
777
835
  };
778
836
  }
779
837
  async getWorkflows(input) {
@@ -800,9 +858,37 @@ class PostgresSystemDatabase {
800
858
  query = query.limit(input.limit);
801
859
  }
802
860
  const rows = await query.select('workflow_uuid');
803
- const workflowUUIDs = rows.map(row => row.workflow_uuid);
861
+ const workflowUUIDs = rows.map((row) => row.workflow_uuid);
804
862
  return {
805
- workflowUUIDs: workflowUUIDs
863
+ workflowUUIDs: workflowUUIDs,
864
+ };
865
+ }
866
+ async getQueuedWorkflows(input) {
867
+ let query = this.knexDB(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue`)
868
+ .join(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status`, `${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue.workflow_uuid`, '=', `${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.workflow_uuid`)
869
+ .orderBy(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, 'desc');
870
+ if (input.workflowName) {
871
+ query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.name = ?`, [input.workflowName]);
872
+ }
873
+ if (input.queueName) {
874
+ query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.queue_name = ?`, [input.queueName]);
875
+ }
876
+ if (input.startTime) {
877
+ query = query.where(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, '>=', new Date(input.startTime).getTime());
878
+ }
879
+ if (input.endTime) {
880
+ query = query.where(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.created_at`, '<=', new Date(input.endTime).getTime());
881
+ }
882
+ if (input.status) {
883
+ query = query.whereRaw(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.status = ?`, [input.status]);
884
+ }
885
+ if (input.limit) {
886
+ query = query.limit(input.limit);
887
+ }
888
+ const rows = await query.select(`${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status.workflow_uuid`);
889
+ const workflowUUIDs = rows.map((row) => row.workflow_uuid);
890
+ return {
891
+ workflowUUIDs: workflowUUIDs,
806
892
  };
807
893
  }
808
894
  async getWorkflowQueue(input) {
@@ -823,6 +909,7 @@ class PostgresSystemDatabase {
823
909
  const workflows = rows.map((row) => {
824
910
  return {
825
911
  workflowID: row.workflow_uuid,
912
+ executorID: row.executor_id,
826
913
  queueName: row.queue_name,
827
914
  createdAt: row.created_at_epoch_ms,
828
915
  startedAt: row.started_at_epoch_ms,
@@ -832,24 +919,48 @@ class PostgresSystemDatabase {
832
919
  return { workflows };
833
920
  }
834
921
  async enqueueWorkflow(workflowId, queue) {
835
- const _res = await this.pool.query(`
922
+ await this.pool.query(`
836
923
  INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue (workflow_uuid, queue_name)
837
924
  VALUES ($1, $2)
838
925
  ON CONFLICT (workflow_uuid)
839
926
  DO NOTHING;
840
927
  `, [workflowId, queue.name]);
841
928
  }
929
+ async clearQueueAssignment(workflowId) {
930
+ const client = await this.pool.connect();
931
+ try {
932
+ await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
933
+ await client.query(`
934
+ UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
935
+ SET started_at_epoch_ms = NULL, executor_id = NULL
936
+ WHERE workflow_uuid = $1;
937
+ `, [workflowId]);
938
+ await client.query(`
939
+ UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status
940
+ SET status = $2, executor_id = NULL
941
+ WHERE workflow_uuid = $1;
942
+ `, [workflowId, workflow_1.StatusString.ENQUEUED]);
943
+ await client.query('COMMIT');
944
+ }
945
+ catch (error) {
946
+ await client.query('ROLLBACK');
947
+ throw error;
948
+ }
949
+ finally {
950
+ client.release();
951
+ }
952
+ }
842
953
  async dequeueWorkflow(workflowId, queue) {
843
954
  if (queue.rateLimit) {
844
955
  const time = new Date().getTime();
845
- const _res = await this.pool.query(`
956
+ await this.pool.query(`
846
957
  UPDATE ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
847
958
  SET completed_at_epoch_ms = $2
848
959
  WHERE workflow_uuid = $1;
849
960
  `, [workflowId, time]);
850
961
  }
851
962
  else {
852
- const _res = await this.pool.query(`
963
+ await this.pool.query(`
853
964
  DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_queue
854
965
  WHERE workflow_uuid = $1;
855
966
  `, [workflowId]);
@@ -880,8 +991,7 @@ class PostgresSystemDatabase {
880
991
  .whereNull('completed_at_epoch_ms')
881
992
  .andWhere('queue_name', queue.name)
882
993
  .andWhere(function () {
883
- void this.whereNull("executor_id")
884
- .orWhere("executor_id", executorID);
994
+ void this.whereNull('executor_id').orWhere('executor_id', executorID);
885
995
  })
886
996
  .select();
887
997
  query = query.orderBy('created_at_epoch_ms', 'asc');
@@ -894,9 +1004,7 @@ class PostgresSystemDatabase {
894
1004
  // From the functions retrieved, get the workflow IDs of the functions
895
1005
  // that have not yet been started so we can start them.
896
1006
  const rows = await query.select(['workflow_uuid', 'started_at_epoch_ms', 'executor_id']);
897
- const workflowIDs = rows
898
- .filter((row) => !row.started_at_epoch_ms)
899
- .map(row => row.workflow_uuid);
1007
+ const workflowIDs = rows.filter((row) => !row.started_at_epoch_ms).map((row) => row.workflow_uuid);
900
1008
  for (const id of workflowIDs) {
901
1009
  // If we have a rate limit, stop starting functions when the number
902
1010
  // of functions started this period exceeds the limit.
@@ -919,7 +1027,7 @@ class PostgresSystemDatabase {
919
1027
  // If we did not update this record, probably someone else did. Count in either case.
920
1028
  ++numRecentQueries;
921
1029
  }
922
- }, { isolationLevel: "repeatable read" });
1030
+ }, { isolationLevel: 'repeatable read' });
923
1031
  // If we have a rate limit, garbage-collect all completed functions started
924
1032
  // before the period. If there's no limiter, there's no need--they were
925
1033
  // deleted on completion.
@@ -1 +1 @@
1
- {"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;AAEvD,qDAAmE;AACnE,mDAAmE;AACnE,2BAAuF;AACvF,mCAKiB;AACjB,yCASoB;AAUpB,mCAA6D;AAG7D,gDAAkC;AAClC,gDAAwB;AAgHjB,KAAK,UAAU,qBAAqB,CAAC,gBAA4B;IACtE,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE;YACV,SAAS,EAAE,mBAAmB;YAC9B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC;IACF,MAAM,MAAM,GAAG,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAhBD,sDAgBC;AAED,MAAa,sBAAsB;IAetB;IACA;IACA;IAhBF,IAAI,CAAO;IACX,gBAAgB,CAAa;IAC7B,MAAM,CAAO;IAEtB,mBAAmB,GAAsB,IAAI,CAAC;IACrC,gBAAgB,GAA+B,EAAE,CAAC;IAClD,iBAAiB,GAA+B,EAAE,CAAC;IAEnD,oBAAoB,GAAwC,IAAI,GAAG,EAAE,CAAC;IACtE,oBAAoB,GAAuB,IAAI,GAAG,EAAE,CAAC;IACrD,cAAc,GAAG,GAAG,CAAC;IAC9B,MAAM,CAAU,uBAAuB,GAAG,KAAK,CAAC,CAAC,oBAAoB;IAErE,YACW,YAAwB,EACxB,kBAA0B,EAC1B,MAAc;QAFd,iBAAY,GAAZ,YAAY,CAAY;QACxB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAEvB,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC;QAC/F,IAAI,CAAC,IAAI,GAAG,IAAI,SAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC;aACP;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,cAAc,GAAG,IAAI,WAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QAC/B,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CACzC,2DAA2D,IAAI,CAAC,kBAAkB,IAAI,CACvF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,mCAAmC;YACnC,MAAM,cAAc,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACvC,wHAAwH,CACzH,CAAC;YACF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,yFAA0F,CAAW,CAAC,OAAO,EAAE,CAChH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAI,YAAoB;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,qCAAqC,4BAAY,CAAC,kBAAkB,yCAAyC,EAC7G,CAAC,YAAY,CAAC,CACf,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,uBAAY,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,wBAAQ,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,uBAAY,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAA,kCAAgB,EAAC,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAAkC,EAClC,IAAO;QAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAQlC,eAAe,4BAAY,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;uFAqBmC,EACjF;YACE,UAAU,CAAC,YAAY;YACvB,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,UAAU;YACrB,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,iBAAiB;YAC5B,UAAU,CAAC,WAAW;YACtB,gBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACjD,gBAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;YACtC,IAAI;YACJ,UAAU,CAAC,UAAU;YACrB,UAAU,CAAC,kBAAkB;YAC7B,UAAU,CAAC,aAAa;YACxB,UAAU,CAAC,SAAS;YACpB,UAAU,CAAC,MAAM,KAAK,uBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpD,CACF,CAAC;QACF,gGAAgG;QAChG,oHAAoH;QACpH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QACpD,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,mCAAmC;QACnH,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YACpC,GAAG,GAAG,2DAA2D,MAAM,CAAC,IAAI,wCAAwC,UAAU,CAAC,IAAI,EAAE,CAAC;QACxI,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACtD,GAAG,GAAG,wDAAwD,MAAM,CAAC,UAAU,qCAAqC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC7I,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;YACxD,GAAG,GAAG,iEAAiE,MAAM,CAAC,WAAW,8CAA8C,UAAU,CAAC,UAAU,EAAE,CAAC;QACjK,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACtD,gFAAgF;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,aAAa,UAAU,CAAC,YAAY,8BAA8B,MAAM,CAAC,UAAU,qCAAqC,UAAU,CAAC,SAAS,6BAA6B,CAC1K,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,oCAA4B,CAAC,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,4GAA4G;QAC5G,wEAAwE;QACxE,+GAA+G;QAC/G,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC1C,IAAI,QAAQ,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,UAAU,4BAAY,CAAC,kBAAkB,qEAAqE,EAC9G,CAAC,uBAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,YAAY,EAAE,uBAAY,CAAC,OAAO,CAAC,CAC/E,CAAC;YACF,MAAM,IAAI,gCAAwB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,UAAU,CAAC,YAAY,oBAAoB,QAAQ,GAAG,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,MAAM,gBAAgB,GAAG,gBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,eAAe,4BAAY,CAAC,kBAAkB,4JAA4J,EAC1M,CAAC,UAAU,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAC5C,CAAC;QACF,IAAI,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,UAAU,CAAC,YAAY,yDAAyD,CACxG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,EAAE,MAAM,EAAE,CAAC;IAC/D,CAAC;IAED,oBAAoB,CAAC,YAAoB,EAAE,MAA8B;QACvE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B;QAC9B,0EAA0E;QAC1E,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,OAAO,WAAW,GAAG,SAAS,EAAE,CAAC;gBAC/B,IAAI,OAAO,GAAG,eAAe,4BAAY,CAAC,kBAAkB,+OAA+O,CAAC;gBAC5S,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAU,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;oBACjD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACjB,OAAO,IAAI,IAAI,CAAC;oBAClB,CAAC;oBACD,OAAO,IAAI,KAAK,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,MAAM,QAAQ,EAAE,GAAG,CAAC;oBAC9Q,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,WAAW,EAClB,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC7C,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAClC,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EACjC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,GAAG,EAAE,EACV,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,CACjB,CAAC;oBACF,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9B,WAAW,EAAE,CAAC;oBAEd,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC7C,yBAAyB;wBACzB,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,4HAA4H,CAAC;gBAE/H,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAEvC,qCAAqC;gBACrC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACd,KAAe,CAAC,OAAO,GAAG,0CAA2C,KAAe,CAAC,OAAO,EAAE,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,yGAAyG;YACzG,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB,EAAE,MAA8B;QAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,eAAe,4BAAY,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;gGAmB4C,EAC1F;YACE,YAAY;YACZ,uBAAY,CAAC,KAAK;YAClB,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,SAAS;YAChB,MAAM,CAAC,iBAAiB;YACxB,MAAM,CAAC,WAAW;YAClB,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC7C,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAClC,MAAM,CAAC,KAAK;YACZ,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,aAAa;YACpB,MAAM,CAAC,kBAAkB;YACzB,MAAM,CAAC,SAAS;YAChB,IAAI,CAAC,GAAG,EAAE;SACX,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,yCAAyC,4BAAY,CAAC,kBAAkB,qDAAqD,EAC7H,CAAC,uBAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CACnC,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,CAAC,EAAE,EAAE,CACJ,CAA2B;YACzB,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,SAAS,EAAE,CAAC,CAAC,UAAU;SACxB,CAAA,CACJ,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAkB,YAAoB,EAAE,IAAO;QACjE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,OAAO,WAAW,GAAG,SAAS,EAAE,CAAC;gBAC/B,IAAI,OAAO,GAAG,eAAe,4BAAY,CAAC,kBAAkB,kDAAkD,CAAC;gBAC/G,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAU,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC/C,WAAW,EAAE,CAAC;oBACd,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,iFAAiF;wBACjF,SAAS;oBACX,CAAC;oBAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACjB,OAAO,IAAI,IAAI,CAAC;oBAClB,CAAC;oBACD,OAAO,IAAI,KAAK,QAAQ,EAAE,MAAM,QAAQ,EAAE,GAAG,CAAC;oBAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBACpD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE9B,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC7C,yBAAyB;wBACzB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,OAAO,IAAI,0CAA0C,CAAC;oBACtD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvC,qCAAqC;oBACrC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3B,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACd,KAAe,CAAC,OAAO,GAAG,0CAA2C,KAAe,CAAC,OAAO,EAAE,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,yGAAyG;YACzG,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAkB,YAAoB;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,sBAAsB,4BAAY,CAAC,kBAAkB,yCAAyC,EAC9F,CAAC,YAAY,CAAC,CACf,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAI,YAAoB,EAAE,UAAkB;QACpE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,6BAA6B,4BAAY,CAAC,kBAAkB,8DAA8D,EAC1H,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,wBAAQ,CAAC;QAClB,CAAC;aAAM,IAAI,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAA,kCAAgB,EAAC,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAI,YAAoB,EAAE,UAAkB,EAAE,MAAS;QAChF,MAAM,YAAY,GAAG,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,eAAe,4BAAY,CAAC,kBAAkB,8EAA8E,EAC5H,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC,CACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAkB,KAAsB,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjD,qDAAqD;gBACrD,MAAM,IAAI,qCAA6B,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,YAAoB,EAAE,UAAkB,EAAE,KAAY;QAC/E,MAAM,SAAS,GAAG,gBAAQ,CAAC,SAAS,CAAC,IAAA,gCAAc,EAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,eAAe,4BAAY,CAAC,kBAAkB,6EAA6E,EAC3H,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CACtC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAkB,KAAsB,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjD,qDAAqD;gBACrD,MAAM,IAAI,qCAA6B,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAI,MAAkB,EAAE,YAAoB,EAAE,UAAkB,EAAE,MAAS;QACvG,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,4BAAY,CAAC,kBAAkB,8EAA8E,EAC5H,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CACvD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAkB,KAAsB,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjD,qDAAqD;gBACrD,MAAM,IAAI,qCAA6B,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAoB,EAAE,UAAkB,EAAE,UAAkB;QACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,sBAAsB,4BAAY,CAAC,kBAAkB,8DAA8D,EACnH,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAW,CAAC;YAC3D,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;YAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,eAAe,4BAAY,CAAC,kBAAkB,qGAAqG,EACnJ,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC1D,CAAC;YACF,MAAM,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;IACH,CAAC;IAEQ,SAAS,GAAG,iBAAiB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,UAAkB,EAClB,eAAuB,EACvB,OAAU,EACV,KAAc;QAEd,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAErD,MAAM,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,sBAAsB,4BAAY,CAAC,kBAAkB,8DAA8D,EACnH,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,4BAAY,CAAC,kBAAkB,wEAAwE,EACtH,CAAC,eAAe,EAAE,KAAK,EAAE,gBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CACtD,CAAC;YACF,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACjF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAkB,KAAsB,CAAC;YAClD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,wEAAwE;gBACxE,MAAM,IAAI,oCAA4B,CAAC,mDAAmD,eAAe,EAAE,CAAC,CAAC;YAC/G,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,UAAkB,EAClB,iBAAyB,EACzB,KAAc,EACd,iBAAyB,4BAAY,CAAC,6BAA6B;QAEnE,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;QAChC,wCAAwC;QACxC,MAAM,SAAS,GAAG,CAChB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,sBAAsB,4BAAY,CAAC,kBAAkB,8DAA8D,EACnH,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CACF,CAAC,IAAI,CAAC;QACP,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,gBAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;QAClD,CAAC;QAED,qFAAqF;QACrF,MAAM,YAAY,GAAG,CACnB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,qBAAqB,4BAAY,CAAC,kBAAkB,wDAAwD,EAC5G,CAAC,YAAY,EAAE,KAAK,CAAC,CACtB,CACF,CAAC,IAAI,CAAC;QACP,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,iEAAiE;YACjE,IAAI,mBAA+B,CAAC;YACpC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnD,mBAAmB,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,mBAAoB,CAAC,CAAC,wEAAwE;YAC/H,IAAI,KAAqB,CAAC;YAC1B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBACjE,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;oBAC3E,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;YACvD,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAM,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,IAAI,OAAO,GAAa,IAAI,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,CACpB,MAAM,MAAM,CAAC,KAAK,CAChB;;eAEK,4BAAY,CAAC,kBAAkB;;;;;;;sBAOxB,4BAAY,CAAC,kBAAkB;;;;;mCAKlB,EACzB,CAAC,YAAY,EAAE,KAAK,CAAC,CACtB,CACF,CAAC,IAAI,CAAC;YACP,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,gBAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAM,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/E,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,YAAoB,EAAE,UAAkB,EAAE,GAAW,EAAE,OAAU;QACjF,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC3D,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,sBAAsB,4BAAY,CAAC,kBAAkB,8DAA8D,EACnH,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,eAAe,4BAAY,CAAC,kBAAkB;;;;kCAIpB,EAC1B,CAAC,YAAY,EAAE,GAAG,EAAE,gBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CACjD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACjF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,YAAoB,EACpB,GAAW,EACX,cAAsB,EACtB,cAIC;QAED,yFAAyF;QACzF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC;;eAEO,4BAAY,CAAC,kBAAkB;kDACI,EAC1C,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CACzD,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,MAAM,YAAY,GAAG,CACnB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;aAEK,4BAAY,CAAC,kBAAkB;yCACH,EACjC,CAAC,YAAY,EAAE,GAAG,CAAC,CACpB,CACF,CAAC,IAAI,CAAC;QAEP,6DAA6D;QAC7D,IAAI,KAAK,GAAa,IAAI,CAAC;QAC3B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,gBAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAM,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,mBAA+B,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACjD,mBAAmB,GAAG,OAAO,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,mBAAoB,CAAC,CAAC,wEAAwE;YAChI,IAAI,KAAqB,CAAC;YAC1B,MAAM,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC;YAC5C,MAAM,cAAc,GAAG,cAAc;gBACnC,CAAC,CAAC,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;wBACjG,OAAO,EAAE,CAAC;oBACZ,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC;gBACJ,CAAC,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBACtB,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,aAAa,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;YACrD,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAM,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,aAAa,GAAG,CACpB,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;;iBAEO,4BAAY,CAAC,kBAAkB;6CACH,EACnC,CAAC,YAAY,EAAE,GAAG,CAAC,CACpB,CACF,CAAC,IAAI,CAAC;YACP,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,GAAG,gBAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAM,CAAC;YACtD,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,MAAwD,EACxD,qBAA8B;QAE9B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,UAAU,4BAAY,CAAC,kBAAkB,uDAAuD,EAChG,CAAC,MAAM,EAAE,YAAY,CAAC,CACvB,CAAC;QACF,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB,UAAU,4BAAY,CAAC,kBAAkB,iEAAiE,EAC1G,CAAC,YAAY,CAAC,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE5B,oCAAoC;YACpC,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,4BAAY,CAAC,kBAAkB;kCACpB,EAC1B,CAAC,YAAY,CAAC,CACf,CAAC;YAEF,MAAM,MAAM,CAAC,KAAK,CAChB,UAAU,4BAAY,CAAC,kBAAkB;;kCAEf,EAC1B,CAAC,uBAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CACvC,CAAC;YAEF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE5B,wDAAwD;YACxD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CACrC,sBAAsB,4BAAY,CAAC,kBAAkB;kCAC3B,EAC1B,CAAC,YAAY,CAAC,CACf,CAAC;YACF,IACE,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,uBAAY,CAAC,OAAO;gBACpD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,uBAAY,CAAC,KAAK,EAClD,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,mGAAmG;YACnG,MAAM,MAAM,CAAC,KAAK,CAChB,eAAe,4BAAY,CAAC,kBAAkB;kCACpB,EAC1B,CAAC,YAAY,CAAC,CACf,CAAC;YAEF,uDAAuD;YACvD,MAAM,MAAM,CAAC,KAAK,CAChB,UAAU,4BAAY,CAAC,kBAAkB;;kCAEf,EAC1B,CAAC,uBAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CACrC,CAAC;YAEF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,UAAmB,EACnB,UAAmB;QAEnB,yFAAyF;QACzF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,sBAAsB,4BAAY,CAAC,kBAAkB,8DAA8D,EACnH,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAmB,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,iIAAiI,4BAAY,CAAC,kBAAkB,yCAAyC,EACzM,CAAC,YAAY,CAAC,CACf,CAAC;QACF,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,GAAG;gBACN,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;gBACtB,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1B,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE;gBAC3C,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS;gBAC1C,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB;gBAC7C,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY;gBACjC,kBAAkB,EAAE,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAa;gBAC3E,OAAO,EAAE,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAgB;aACxD,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAI,YAAoB;QAC7C,MAAM,iBAAiB,GAAW,IAAI,CAAC;QAEvC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,qCAAqC,4BAAY,CAAC,kBAAkB,yCAAyC,EAC7G,CAAC,YAAY,CAAC,CACf,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9B,IAAI,MAAM,KAAK,uBAAY,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAM,CAAC;gBAC7C,CAAC;qBAAM,IAAI,MAAM,KAAK,uBAAY,CAAC,KAAK,EAAE,CAAC;oBACzC,MAAM,IAAA,kCAAgB,EAAC,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YACD,MAAM,IAAA,eAAO,EAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,CAAC,GAAiB,EAAE,EAAE;YACpC,IAAI,GAAG,CAAC,OAAO,KAAK,4BAA4B,EAAE,CAAC;gBACjD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,qBAAqB,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;QAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAC/B;;aAEO,4BAAY,CAAC,kBAAkB;;;;KAIvC,EACC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAChB,CAAC;QAEF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5C,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY;YACjC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAC5C,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;YACpB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YACxB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;YACnC,SAAS,EACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS;gBACrE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChC,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,KAA6B;QACzD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAoB,GAAG,4BAAY,CAAC,kBAAkB,oBAAoB,CAAC,CAAC;QACnG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,YAAY;gBACzB,cAAc,EAAE,GAAG,CAAC,gBAAgB;gBACpC,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,SAAS,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;aACxG,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAA6B;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAC/B;oBACc,4BAAY,CAAC,kBAAkB;;;;;;;;;;;KAW9C,EACC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CACjG,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YACxB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;YACnC,SAAS,EACP,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI;gBACrE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChC,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAwB;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAA4B,GAAG,4BAAY,CAAC,kBAAkB,kBAAkB,CAAC,CAAC,OAAO,CAC9G,YAAY,EACZ,MAAM,CACP,CAAC;QACF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO;YACL,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAA8B;QACrD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC;aACzE,IAAI,CACH,GAAG,4BAAY,CAAC,kBAAkB,kBAAkB,EACpD,GAAG,4BAAY,CAAC,kBAAkB,+BAA+B,EACjE,GAAG,EACH,GAAG,4BAAY,CAAC,kBAAkB,gCAAgC,CACnE;aACA,OAAO,CAAC,GAAG,4BAAY,CAAC,kBAAkB,6BAA6B,EAAE,MAAM,CAAC,CAAC;QAEpF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,4BAAY,CAAC,kBAAkB,2BAA2B,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,4BAAY,CAAC,kBAAkB,iCAAiC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CACjB,GAAG,4BAAY,CAAC,kBAAkB,6BAA6B,EAC/D,IAAI,EACJ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CACjB,GAAG,4BAAY,CAAC,kBAAkB,6BAA6B,EAC/D,IAAI,EACJ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAClC,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,4BAAY,CAAC,kBAAkB,6BAA6B,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,4BAAY,CAAC,kBAAkB,gCAAgC,CAAC,CAAC;QACpG,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAiC,CAAC,aAAa,CAAC,CAAC;QAC1F,OAAO;YACL,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA4B;QACjD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAiB,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC,CAAC,OAAO,CAClG,qBAAqB,EACrB,MAAM,CACP,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,OAAO;gBACL,UAAU,EAAE,GAAG,CAAC,aAAa;gBAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;gBACzB,SAAS,EAAE,GAAG,CAAC,mBAAmB;gBAClC,SAAS,EAAE,GAAG,CAAC,mBAAmB;gBAClC,WAAW,EAAE,GAAG,CAAC,qBAAqB;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,KAAoB;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;oBACc,4BAAY,CAAC,kBAAkB;;;;KAI9C,EACC,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,MAAM,MAAM,GAAe,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC3D,MAAM,MAAM,CAAC,KAAK,CAChB;iBACS,4BAAY,CAAC,kBAAkB;;;OAGzC,EACC,CAAC,UAAU,CAAC,CACb,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAChB;iBACS,4BAAY,CAAC,kBAAkB;;;OAGzC,EACC,CAAC,UAAU,EAAE,uBAAY,CAAC,QAAQ,CAAC,CACpC,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,KAAoB;QAC5D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;iBACS,4BAAY,CAAC,kBAAkB;;;OAGzC,EACC,CAAC,UAAU,EAAE,IAAI,CAAC,CACnB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACnB;sBACc,4BAAY,CAAC,kBAAkB;;OAE9C,EACC,CAAC,UAAU,CAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,KAAoB,EAAE,UAAkB;QAC1E,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B,KAAK,EAAE,GAAqB,EAAE,EAAE;YAC9B,mFAAmF;YACnF,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,iBAAiB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC;qBACtF,KAAK,EAAE;qBACP,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;qBAC/B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,eAAe,CAAC;qBACnE,KAAK,EAAE,CAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,GAAG,QAAQ,CAAC,GAAG,iBAAiB,EAAE,CAAC,CAAC;gBACpD,IAAI,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;oBACvD,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,kGAAkG;YAClG,uFAAuF;YACvF,sCAAsC;YACtC,IAAI,KAAK,GAAG,GAAG,CAAiB,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC;iBACjF,SAAS,CAAC,uBAAuB,CAAC;iBAClC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;iBAClC,QAAQ,CAAC;gBACR,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACxE,CAAC,CAAC;iBACD,MAAM,EAAE,CAAC;YACZ,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC1C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC3C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YAED,sEAAsE;YACtE,uDAAuD;YACvD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC;YACzF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACnG,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,mEAAmE;gBACnE,wDAAwD;gBACxD,IAAI,KAAK,CAAC,SAAS,IAAI,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC1E,MAAM;gBACR,CAAC;gBAED,iFAAiF;gBACjF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAkB,GAAG,4BAAY,CAAC,kBAAkB,kBAAkB,CAAC;qBACzF,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;qBAC1B,QAAQ,CAAC,QAAQ,EAAE,uBAAY,CAAC,QAAQ,CAAC;qBACzC,MAAM,CAAC,QAAQ,EAAE,uBAAY,CAAC,OAAO,CAAC;qBACtC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAErC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;oBACZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACpB,MAAM,GAAG,CAAiB,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC;yBAC3E,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;yBAC1B,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;yBAC1C,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBACvC,CAAC;gBACD,sFAAsF;gBACtF,EAAE,gBAAgB,CAAC;YACrB,CAAC;QACH,CAAC,EACD,EAAE,cAAc,EAAE,iBAAiB,EAAE,CACtC,CAAC;QAEF,2EAA2E;QAC3E,yEAAyE;QACzE,2BAA2B;QAC3B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,CAAiB,GAAG,4BAAY,CAAC,kBAAkB,iBAAiB,CAAC;iBACnF,YAAY,CAAC,uBAAuB,CAAC;iBACrC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC;iBAClC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,eAAe,CAAC;iBACnE,MAAM,EAAE,CAAC;QACd,CAAC;QAED,oDAAoD;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;;AApvCH,wDAqvCC"}
@@ -1,6 +1,6 @@
1
- import { ITelemetryExporter } from "./exporters";
2
- import { Span } from "@opentelemetry/sdk-trace-base";
3
- import { LogRecord } from "@opentelemetry/api-logs";
1
+ import { ITelemetryExporter } from './exporters';
2
+ import { Span } from '@opentelemetry/sdk-trace-base';
3
+ import { LogRecord } from '@opentelemetry/api-logs';
4
4
  export type TelemetrySignal = LogRecord | Span;
5
5
  export declare class TelemetryCollector {
6
6
  readonly exporter?: ITelemetryExporter | undefined;