@spine-event-engine/storage-datastore 2.0.0-snapshot.2 → 2.0.0-snapshot.21

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.
@@ -15,13 +15,17 @@ import { clone, fromBinary, toBinary } from "@bufbuild/protobuf";
15
15
  import {} from "@bufbuild/protobuf/wkt";
16
16
  import { EventSchema } from "@spine-event-engine/proto";
17
17
  import { EntityRecordSchema, } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
18
- import { eventStoreRecordSpec } from "@spine-event-engine/storage/internal/event-store";
19
- import { disabledEventHistoryPort, disabledStateHistoryPort, eventHistorySpec, stateHistorySpec, } from "@spine-event-engine/storage/internal/entity-history";
20
- import { RecordSpec, TenantBoundary } from "@spine-event-engine/storage";
18
+ import { eventStoreRecordSpec } from "@spine-event-engine/storage/provider";
19
+ import { disabledEventHistoryPort, disabledStateHistoryPort, eventHistorySpec, stateHistorySpec, } from "@spine-event-engine/storage/provider";
20
+ import { RecordSpec } from "@spine-event-engine/storage";
21
+ import { TenantBoundary } from "@spine-event-engine/storage/provider";
21
22
  import { Datastore } from "@google-cloud/datastore";
22
23
  import { DatastoreRecordStorage } from "./record-storage.js";
23
24
  /**
24
25
  * Groups Entity current and optional history record families.
26
+ *
27
+ * @typeParam I Entity identifier type.
28
+ * @typeParam S Entity state message type.
25
29
  */
26
30
  export class DatastoreEntityStorage {
27
31
  // prettier-ignore
@@ -99,8 +103,10 @@ export class DatastoreEntityCommitStorage {
99
103
  /**
100
104
  * Commits one Entity state transition and its generated history records.
101
105
  *
106
+ * @typeParam I Entity identifier type.
107
+ * @typeParam S Entity state message type.
102
108
  * @param input The Entity mutation to commit.
103
- * @returns The committed or conflicting outcome.
109
+ * @returns Completion after Datastore commits the mutation.
104
110
  */
105
111
  async commit(input) {
106
112
  this.validate(input);
@@ -115,18 +121,31 @@ export class DatastoreEntityCommitStorage {
115
121
  : undefined;
116
122
  const events = this.openRecords(eventStoreRecordSpec);
117
123
  try {
118
- return await this.run(input, current, states, diagnostics, events);
124
+ await this.run(input, current, states, diagnostics, events);
119
125
  }
120
126
  finally {
121
127
  this.closeRecords(current, states, diagnostics, events);
122
128
  }
123
129
  }
130
+ /**
131
+ * Retries the prepared Datastore transaction after bounded aborts.
132
+ *
133
+ * @typeParam I Entity identifier type.
134
+ * @typeParam S Entity state type.
135
+ * @param input Supplies current and immutable records.
136
+ * @param current Provides current Entity storage.
137
+ * @param states Provides state history when enabled.
138
+ * @param diagnostics Provides diagnostic history when enabled.
139
+ * @param events Provides delivery Event storage.
140
+ * @returns Completion after a successful transaction.
141
+ */
124
142
  async run(input, current, states, diagnostics, events) {
125
143
  const prepared = this.prepare(input, current, states, diagnostics, events);
126
144
  validateCommitSize(prepared.map((row) => row.entity));
127
145
  for (let attempt = 0; attempt < 3; attempt += 1) {
128
146
  try {
129
- return await this.tryCommit(input, current, prepared);
147
+ await this.tryCommit(current, prepared);
148
+ return;
130
149
  }
131
150
  catch (error) {
132
151
  if (isAborted(error) && attempt < 2) {
@@ -138,6 +157,17 @@ export class DatastoreEntityCommitStorage {
138
157
  }
139
158
  throw new Error("Datastore transaction did not complete.");
140
159
  }
160
+ /**
161
+ * Builds affected rows before opening a transaction.
162
+ *
163
+ * @typeParam I Entity identifier type.
164
+ * @param input Supplies records to materialize.
165
+ * @param current Provides current Entity storage.
166
+ * @param states Provides state history when enabled.
167
+ * @param diagnostics Provides diagnostic history when enabled.
168
+ * @param events Provides delivery Event storage.
169
+ * @returns Deduplicated rows for the transaction.
170
+ */
141
171
  prepare(input, current, states, diagnostics, events) {
142
172
  return coalesceImmutableRows([
143
173
  ...preparedRows(current, [input.next], false),
@@ -146,23 +176,35 @@ export class DatastoreEntityCommitStorage {
146
176
  ...preparedRows(events, input.events ?? [], true),
147
177
  ]);
148
178
  }
149
- async tryCommit(input, current, prepared) {
179
+ /**
180
+ * Applies one prepared transaction attempt and rolls back on failure.
181
+ *
182
+ * @typeParam I Entity identifier type.
183
+ * @param current Opens a transaction for the Entity scope.
184
+ * @param prepared Supplies current and immutable rows.
185
+ * @returns Completion after the transaction commits.
186
+ */
187
+ async tryCommit(current, prepared) {
150
188
  const transaction = current.transaction();
151
189
  try {
152
190
  await transaction.run();
153
191
  const values = await this.load(transaction, prepared);
154
- if (await this.conflict(transaction, input, current, values))
155
- return "conflict";
156
192
  this.validateImmutable(prepared, values);
157
193
  this.apply(transaction, prepared, values);
158
194
  await transaction.commit();
159
- return "committed";
160
195
  }
161
196
  catch (error) {
162
197
  await rollback(transaction);
163
198
  throw error;
164
199
  }
165
200
  }
201
+ /**
202
+ * Loads affected keys in stable order within one transaction.
203
+ *
204
+ * @param transaction Supplies the active Datastore transaction.
205
+ * @param prepared Supplies affected rows.
206
+ * @returns Existing data indexed by key.
207
+ */
166
208
  async load(transaction, prepared) {
167
209
  const keys = [...uniqueKeys(prepared.map((row) => row.entity.key))].sort((left, right) => keyId(left).localeCompare(keyId(right)));
168
210
  const values = [];
@@ -173,14 +215,12 @@ export class DatastoreEntityCommitStorage {
173
215
  ]);
174
216
  return new Map(values);
175
217
  }
176
- async conflict(transaction, input, current, values) {
177
- const live = values.get(keyId(current.transactionEntity(input.next).key));
178
- const expected = input.expected === undefined ? undefined : current.transactionEntity(input.expected).data;
179
- if (sameData(live, expected) || sameData(live, current.transactionEntity(input.next).data))
180
- return false;
181
- await transaction.rollback();
182
- return true;
183
- }
218
+ /**
219
+ * Rejects divergent data already stored under immutable keys.
220
+ *
221
+ * @param prepared Supplies proposed immutable rows.
222
+ * @param values Supplies existing data for affected keys.
223
+ */
184
224
  validateImmutable(prepared, values) {
185
225
  for (const row of prepared.filter((item) => item.immutable)) {
186
226
  const previous = values.get(keyId(row.entity.key));
@@ -188,6 +228,13 @@ export class DatastoreEntityCommitStorage {
188
228
  throw new Error("Immutable history record has divergent content.");
189
229
  }
190
230
  }
231
+ /**
232
+ * Writes missing immutable rows and changed current state in the transaction.
233
+ *
234
+ * @param transaction Supplies the active Datastore transaction.
235
+ * @param prepared Supplies current and immutable rows.
236
+ * @param values Supplies existing data for affected keys.
237
+ */
191
238
  apply(transaction, prepared, values) {
192
239
  for (const row of prepared) {
193
240
  const previous = values.get(keyId(row.entity.key));
@@ -195,6 +242,14 @@ export class DatastoreEntityCommitStorage {
195
242
  transaction.save(row.entity);
196
243
  }
197
244
  }
245
+ /**
246
+ * Closes temporary record-family handles after the commit attempt.
247
+ *
248
+ * @param current Supplies current Entity storage.
249
+ * @param states Supplies state history when enabled.
250
+ * @param diagnostics Supplies diagnostic history when enabled.
251
+ * @param events Supplies delivery Event storage.
252
+ */
198
253
  closeRecords(current, states, diagnostics, events) {
199
254
  current.close();
200
255
  states?.close();
@@ -207,6 +262,13 @@ export class DatastoreEntityCommitStorage {
207
262
  close() {
208
263
  this.#open = false;
209
264
  }
265
+ /**
266
+ * Validates the Entity, tenant, history, and Event boundaries of a commit.
267
+ *
268
+ * @typeParam I Entity identifier type.
269
+ * @typeParam S Entity state type.
270
+ * @param input Supplies the proposed commit.
271
+ */
210
272
  validate(input) {
211
273
  if (!this.#open)
212
274
  throw new Error("Entity commit storage is closed.");
@@ -221,22 +283,52 @@ export class DatastoreEntityCommitStorage {
221
283
  validateEvents(input.events ?? []);
222
284
  }
223
285
  }
286
+ /**
287
+ * Provides the current Entity records through one record-family handle.
288
+ *
289
+ * @typeParam I Entity identifier type.
290
+ * @typeParam S Entity state message type.
291
+ */
224
292
  class CurrentStorage {
225
293
  input;
226
294
  records;
295
+ /**
296
+ * Creates current-record access for one Entity storage contract.
297
+ *
298
+ * @param input Defines the Entity identity and columns.
299
+ * @param records Provides current Entity record storage.
300
+ */
227
301
  constructor(input, records) {
228
302
  this.input = input;
229
303
  this.records = records;
230
304
  }
305
+ /**
306
+ * Reads one current Entity record.
307
+ *
308
+ * @param id Identifies the Entity.
309
+ * @returns The current record, or undefined when none is stored.
310
+ */
231
311
  read(id) {
232
312
  return this.records.read(id);
233
313
  }
314
+ /**
315
+ * Stores the current record for its Entity.
316
+ *
317
+ * @param record Supplies the current Entity record.
318
+ * @returns Completion after the record is stored.
319
+ */
234
320
  async write(record) {
235
321
  const id = record.entityId === undefined ? undefined : this.input.id.unpack(record.entityId);
236
322
  if (id === undefined)
237
323
  throw new Error("Entity current record ID does not match its Entity ID schema.");
238
324
  await this.records.write(record);
239
325
  }
326
+ /**
327
+ * Returns current Entity records and their configured columns.
328
+ *
329
+ * @param plan Specifies the normalized query.
330
+ * @returns Matching Entity records and column values.
331
+ */
240
332
  async query(plan) {
241
333
  return (await this.records.queryPlanEntries(plan)).map((entry) => ({
242
334
  ...entry,
@@ -244,17 +336,43 @@ class CurrentStorage {
244
336
  }));
245
337
  }
246
338
  }
339
+ /**
340
+ * Provides retained Entity state history through one record-family handle.
341
+ *
342
+ * @typeParam I Entity identifier type.
343
+ * @typeParam S Entity state message type.
344
+ */
247
345
  class StateHistory {
248
346
  input;
249
347
  records;
348
+ /**
349
+ * Creates state-history access for one Entity storage contract.
350
+ *
351
+ * @param input Defines the Entity identity and state schema.
352
+ * @param records Provides retained state-history records.
353
+ */
250
354
  constructor(input, records) {
251
355
  this.input = input;
252
356
  this.records = records;
253
357
  }
358
+ /**
359
+ * Stores one immutable state-history record.
360
+ *
361
+ * @param record Supplies the state-history record.
362
+ * @returns Completion after the record is retained.
363
+ */
254
364
  append(record) {
255
365
  this.requireOpen();
256
366
  return immutable(this.records, record);
257
367
  }
368
+ /**
369
+ * Reads recent state-history records in reverse order.
370
+ *
371
+ * @param id Identifies the Entity.
372
+ * @param depth Sets the maximum number of records to read.
373
+ * @param from Sets an optional upper version bound.
374
+ * @returns Matching records from newest to oldest.
375
+ */
258
376
  async backward(id, depth, from) {
259
377
  this.requireOpen();
260
378
  requireDepth(depth);
@@ -266,6 +384,13 @@ class StateHistory {
266
384
  { property: "created", direction: "desc" },
267
385
  ], depth);
268
386
  }
387
+ /**
388
+ * Reads the Entity state recorded at or before a time.
389
+ *
390
+ * @param id Identifies the Entity.
391
+ * @param time Sets the latest creation time to include.
392
+ * @returns The matching state, or undefined when none exists.
393
+ */
269
394
  async stateAt(id, time) {
270
395
  this.requireOpen();
271
396
  const page = await this.provider().queryProviderPage({
@@ -281,6 +406,13 @@ class StateHistory {
281
406
  ? undefined
282
407
  : fromBinary(this.input.stateSchema, found.state.value);
283
408
  }
409
+ /**
410
+ * Stores no more than the newest state-history records for an Entity.
411
+ *
412
+ * @param id Identifies the Entity.
413
+ * @param keep Sets the number of newest records to retain.
414
+ * @returns Completion after older records are removed.
415
+ */
284
416
  async trim(id, keep) {
285
417
  this.requireOpen();
286
418
  requireKeep(keep);
@@ -299,6 +431,12 @@ class StateHistory {
299
431
  break;
300
432
  }
301
433
  }
434
+ /**
435
+ * Removes state-history records created before a time.
436
+ *
437
+ * @param time Sets the exclusive creation-time boundary.
438
+ * @returns Completion after matching records are removed.
439
+ */
302
440
  async truncate(time) {
303
441
  this.requireOpen();
304
442
  for (;;) {
@@ -315,16 +453,35 @@ class StateHistory {
315
453
  break;
316
454
  }
317
455
  }
456
+ /**
457
+ * Closes the state-history record handle.
458
+ */
318
459
  close() {
319
460
  this.records.close();
320
461
  }
462
+ /**
463
+ * Returns the Datastore provider for state-history queries.
464
+ *
465
+ * @returns The typed Datastore record-storage handle.
466
+ */
321
467
  provider() {
322
468
  return this.records;
323
469
  }
470
+ /**
471
+ * Rejects operations after the record handle closes.
472
+ */
324
473
  requireOpen() {
325
474
  if (!this.records.isOpen())
326
475
  throw new Error("Entity history storage is closed.");
327
476
  }
477
+ /**
478
+ * Reads a bounded sequence of matching state-history pages.
479
+ *
480
+ * @param filters Specifies the Datastore filters.
481
+ * @param order Specifies the Datastore sort order.
482
+ * @param depth Sets the maximum number of records to read.
483
+ * @returns Matching records in page order.
484
+ */
328
485
  async pages(filters, order, depth) {
329
486
  const result = [];
330
487
  let cursor;
@@ -343,17 +500,43 @@ class StateHistory {
343
500
  return result;
344
501
  }
345
502
  }
503
+ /**
504
+ * Provides retained Entity Event history through one record-family handle.
505
+ *
506
+ * @typeParam I Entity identifier type.
507
+ * @typeParam S Entity state message type.
508
+ */
346
509
  class EventHistory {
347
510
  input;
348
511
  records;
512
+ /**
513
+ * Creates Event-history access for one Entity storage contract.
514
+ *
515
+ * @param input Defines the Entity identity and state schema.
516
+ * @param records Provides retained Event-history records.
517
+ */
349
518
  constructor(input, records) {
350
519
  this.input = input;
351
520
  this.records = records;
352
521
  }
522
+ /**
523
+ * Stores one immutable Entity Event-history record.
524
+ *
525
+ * @param event Supplies the Event-history record.
526
+ * @returns Completion after the Event is retained.
527
+ */
353
528
  append(event) {
354
529
  this.requireOpen();
355
530
  return immutable(this.records, event);
356
531
  }
532
+ /**
533
+ * Reads recent Entity Events in reverse order.
534
+ *
535
+ * @param id Identifies the Entity.
536
+ * @param depth Sets the maximum number of Events to read.
537
+ * @param from Sets an optional upper version bound.
538
+ * @returns Matching Events from newest to oldest.
539
+ */
357
540
  async backward(id, depth, from) {
358
541
  this.requireOpen();
359
542
  requireDepth(depth);
@@ -379,6 +562,12 @@ class EventHistory {
379
562
  }
380
563
  return result;
381
564
  }
565
+ /**
566
+ * Removes Entity Events created before a time.
567
+ *
568
+ * @param time Sets the exclusive creation-time boundary.
569
+ * @returns Completion after matching Events are removed.
570
+ */
382
571
  async truncate(time) {
383
572
  this.requireOpen();
384
573
  for (;;) {
@@ -395,17 +584,37 @@ class EventHistory {
395
584
  break;
396
585
  }
397
586
  }
587
+ /**
588
+ * Closes the Event-history record handle.
589
+ */
398
590
  close() {
399
591
  this.records.close();
400
592
  }
593
+ /**
594
+ * Returns the Datastore provider for Event-history queries.
595
+ *
596
+ * @returns The typed Datastore record-storage handle.
597
+ */
401
598
  provider() {
402
599
  return this.records;
403
600
  }
601
+ /**
602
+ * Rejects operations after the record handle closes.
603
+ */
404
604
  requireOpen() {
405
605
  if (!this.records.isOpen())
406
606
  throw new Error("Entity history storage is closed.");
407
607
  }
408
608
  }
609
+ /**
610
+ * Stores a history record once and rejects divergent content for its ID.
611
+ *
612
+ * @typeParam I Record identifier type.
613
+ * @typeParam R Stored Protobuf message type.
614
+ * @param records Provides immutable history record storage.
615
+ * @param record Supplies the history record to retain.
616
+ * @returns Completion after the record is present.
617
+ */
409
618
  async function immutable(records, record) {
410
619
  const id = records.recordSpec.idValueIn(record);
411
620
  if (await records.compareAndSet(id, undefined, record))
@@ -416,6 +625,16 @@ async function immutable(records, record) {
416
625
  if (!same(toBinary(records.recordSpec.recordType, existing), toBinary(records.recordSpec.recordType, record)))
417
626
  throw new Error("Immutable history record has divergent content.");
418
627
  }
628
+ /**
629
+ * Prepares Datastore rows for one record family.
630
+ *
631
+ * @typeParam I Record identifier type.
632
+ * @typeParam R Stored Protobuf message type.
633
+ * @param storage Provides the record-family handle when enabled.
634
+ * @param records Supplies records to prepare.
635
+ * @param immutable Marks whether existing rows must remain unchanged.
636
+ * @returns The prepared rows for the transaction.
637
+ */
419
638
  function preparedRows(storage, records, immutable) {
420
639
  if (storage === undefined) {
421
640
  if (records.length > 0)
@@ -429,6 +648,13 @@ function preparedRows(storage, records, immutable) {
429
648
  entity: storage.transactionEntity(record),
430
649
  }));
431
650
  }
651
+ /**
652
+ * Removes duplicate immutable rows and rejects conflicting content.
653
+ *
654
+ * @typeParam R Prepared row type.
655
+ * @param rows Supplies prepared current and history rows.
656
+ * @returns Rows with duplicate immutable keys removed.
657
+ */
432
658
  function coalesceImmutableRows(rows) {
433
659
  const seen = new Map();
434
660
  return rows.filter((row) => {
@@ -455,6 +681,15 @@ function requireKeep(value) {
455
681
  if (!Number.isSafeInteger(value) || value < 0)
456
682
  throw new Error("History retention must be a non-negative safe integer.");
457
683
  }
684
+ /**
685
+ * Creates a Datastore filter for one Entity identifier.
686
+ *
687
+ * @typeParam I Entity identifier type.
688
+ * @typeParam S Entity state message type.
689
+ * @param input Defines the Entity ID schema.
690
+ * @param id Identifies the Entity to match.
691
+ * @returns The Datastore Entity ID filter.
692
+ */
458
693
  function entityFilter(input, id) {
459
694
  return { property: "entity_id", operator: "=", value: input.id.pack(id) };
460
695
  }
@@ -491,6 +726,12 @@ function abortBackoff(attempt) {
491
726
  const delayMs = 20 * (attempt + 1) + Math.floor(Math.random() * 40);
492
727
  return new Promise((resolve) => setTimeout(resolve, delayMs));
493
728
  }
729
+ /**
730
+ * Rolls back a failed Datastore transaction when possible.
731
+ *
732
+ * @param transaction Supplies the transaction to roll back.
733
+ * @returns Completion after rollback finishes or fails.
734
+ */
494
735
  async function rollback(transaction) {
495
736
  try {
496
737
  await transaction.rollback();
@@ -519,6 +760,13 @@ function validateEvents(events) {
519
760
  new Set(ids).size !== ids.length)
520
761
  throw new Error("Entity commit requires non-blank unique delivery-event IDs.");
521
762
  }
763
+ /**
764
+ * Checks that current and history records identify the committed Entity.
765
+ *
766
+ * @typeParam I Entity identifier type.
767
+ * @typeParam S Entity state message type.
768
+ * @param input Supplies the Entity commit to check.
769
+ */
522
770
  function validateCommitEntityId(input) {
523
771
  const nextId = input.next.entityId === undefined ? undefined : input.entity.id.unpack(input.next.entityId);
524
772
  if (nextId === undefined || input.entity.id.key(nextId) !== input.entity.id.key(input.entityId))
@@ -1 +1 @@
1
- {"version":3,"file":"entity-history.js","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-history.js","sourceRoot":"","sources":["../../src/datastore/entity-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAc,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACL,kBAAkB,GAEnB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,GAOjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAsB,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAA4B,MAAM,qBAAqB,CAAC;AAyBvF;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACjC,kBAAkB;IAElB;;OAEG;IACM,OAAO,CAAyB;IAEzC;;OAEG;IACM,MAAM,CAA4B;IAE3C;;OAEG;IACM,MAAM,CAA+B;IAErC,QAAQ,CAA+B;IAEhD,KAAK,GAAG,IAAI,CAAC;IAEb;;;;;OAKG;IACH,YAAY,KAA+B,EAAE,WAA8B;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY;YAC/B,CAAC,CAAC,WAAW,CACT,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EACxC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAC1C;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY;YAC/B,CAAC,CAAC,WAAW,CACT,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EACxC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAC1C;YACH,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM;YACT,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YACT,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA4B;IAUpB;IACA;IAVnB,KAAK,GAAG,IAAI,CAAC;IAEb;;;;;OAKG;IACH,YACmB,KAA2C,EAC3C,WAA8B;QAD9B,UAAK,GAAL,KAAK,CAAsC;QAC3C,gBAAW,GAAX,WAAW,CAAmB;IAC9C,CAAC;IAEJ;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAuB,KAA8B;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAGvD,CAAC;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;YACtC,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAGnD;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;YAC3C,CAAC,CAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAG7D;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAA2C,CAAC;QAChG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,GAAG,CACf,KAA8B,EAC9B,OAAgD,EAChD,MAAiE,EACjE,WAA+D,EAC/D,MAA8C;QAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3E,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;OAUG;IACK,OAAO,CACb,KAAoC,EACpC,OAAgD,EAChD,MAAiE,EACjE,WAA+D,EAC/D,MAA8C;QAE9C,OAAO,qBAAqB,CAAC;YAC3B,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;YAC7C,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC;YACjD,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC;YAC3D,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,SAAS,CACrB,OAAgD,EAChD,QAAsC;QAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,IAAI,CAChB,WAAiD,EACjD,QAAsC;QAEtC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACvF,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACxC,CAAC;QACF,MAAM,MAAM,GAAoD,EAAE,CAAC;QACnE,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,CAAC,GAAG,CAAC;gBACV,KAAK,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,GAA4C,CAAC,CAAC;aAC3E,CAAC,CAAC;QACL,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACvB,QAAsC,EACtC,MAAgE;QAEhE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CACX,WAAiD,EACjD,QAAsC,EACtC,MAAgE;QAEhE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAClB,OAA0B,EAC1B,MAAqC,EACrC,WAA0C,EAC1C,MAAyB;QAEzB,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,WAAW,EAAE,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAuB,KAA8B;QACnE,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrE,IACE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ;YACnE,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG;YAElF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;YAC/D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;YACpE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,cAAc,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,cAAc;IAQC;IACA;IARnB;;;;;OAKG;IACH,YACmB,KAA+B,EAC/B,OAAuC;QADvC,UAAK,GAAL,KAAK,CAA0B;QAC/B,YAAO,GAAP,OAAO,CAAgC;IACvD,CAAC;IAEJ;;;;;OAKG;IACH,IAAI,CAAC,EAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7F,IAAI,EAAE,KAAK,SAAS;YAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,IAAkE;QAC5E,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjE,GAAG,KAAK;YACR,OAAO,EAAE,IAAI,GAAG,CACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAChF;SACF,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,YAAY;IAQG;IACA;IARnB;;;;;OAKG;IACH,YACmB,KAA+B,EAC/B,OAGhB;QAJgB,UAAK,GAAL,KAAK,CAA0B;QAC/B,YAAO,GAAP,OAAO,CAGvB;IACA,CAAC;IAEJ;;;;;OAKG;IACH,MAAM,CAAC,MAAoB;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAK,EAAE,KAAa,EAAE,IAAa;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CACf;YACE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;SACrE,EACD;YACE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;YAC1C,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;SAC3C,EACD,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,EAAK,EAAE,IAAe;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;YACnD,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/E,KAAK,EAAE;gBACL,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;gBAC1C,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;aAC3C;YACD,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACtC,OAAO,KAAK,EAAE,KAAK,KAAK,SAAS;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,EAAK,EAAE,IAAY;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACnD,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE;oBACL,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;oBAC1C,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;iBAC3C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAe;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACnD,OAAO,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChD,KAAK,EAAE;oBACL,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;oBACzC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;iBAC1C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACK,QAAQ;QAId,OAAO,IAAI,CAAC,OAGX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,KAAK,CACjB,OAAsE,EACtE,KAAmF,EACnF,KAAa;QAEb,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,MAAuC,CAAC;QAC5C,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACnD,OAAO;gBACP,KAAK;gBACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrF,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;gBAAE,MAAM;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,YAAY;IAQG;IACA;IARnB;;;;;OAKG;IACH,YACmB,KAA+B,EAC/B,OAA0E;QAD1E,UAAK,GAAL,KAAK,CAA0B;QAC/B,YAAO,GAAP,OAAO,CAAmE;IAC1F,CAAC;IAEJ;;;;;OAKG;IACH,MAAM,CAAC,KAAY;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAK,EAAE,KAAa,EAAE,IAAa;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,MAAuC,CAAC;QAC5C,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACnD,OAAO,EAAE;oBACP,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC5B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBACrE;gBACD,KAAK,EAAE;oBACL,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;oBAC1C,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE;iBAC3C;gBACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;gBAAE,MAAM;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAe;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;gBACnD,OAAO,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAChD,KAAK,EAAE;oBACL,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;oBACzC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;iBAC1C;gBACD,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACK,QAAQ;QACd,OAAO,IAAI,CAAC,OAGX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACnF,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,SAAS,CACtB,OAA4B,EAC5B,MAAS;IAET,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC;QAAE,OAAO;IAC/D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC1F,IACE,CAAC,IAAI,CACH,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EACjD,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAChD;QAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CACnB,OAAiD,EACjD,OAAqB,EACrB,SAAkB;IAOlB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAK5B,IAAkB;IAClB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAClC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,IAAI,CAAC,IAAgB,EAAE,KAAiB;IAC/C,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC;AACD,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACtE,CAAC;AACD,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CACnB,KAA+B,EAC/B,EAAK;IAEL,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CACnB,QAAgB,EAChB,QAAuC,EACvC,KAAa;IAEb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CACtB,QAAgB,EAChB,QAAuC,EACvC,KAAgB;IAEhB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AACD,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAyC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AACD,SAAS,KAAK,CAAC,GAAY;IACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,UAAU,CAAC,IAAwB;IAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AACD,SAAS,QAAQ,CACf,IAAkD,EAClD,KAA0C;IAE1C,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,KAAK,KAAK,CAAC;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,OAAO,CACL,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAC7F,CAAC;AACJ,CAAC;AACD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1F,CAAC;AACD,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC;QAAE,OAAO,KAAK,CAAC;IACjG,OAAO,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC3D,CAAC;AACD,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,QAAQ,CAAC,WAOvB;IACC,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AACD,SAAS,kBAAkB,CACzB,IAAkF;IAElF,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CACb,KAAK;QACL,MAAM,CAAC,UAAU,CACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE,CAChD,KAAK,YAAY,UAAU;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClB,CAAC,CAAC,KAAK,CACZ,EACD,MAAM,CACP,EACH,CAAC,CACF,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;QACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnD,IACE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM;QAEhC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAuB,KAA8B;IAClF,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9F,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtF,IACE,OAAO,KAAK,SAAS;YACrB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEpE,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACN,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;QAC3C,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtF,IACE,OAAO,KAAK,SAAS;YACrB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;YAEpE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACjG,CAAC;AACH,CAAC"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import { create } from "@bufbuild/protobuf";
15
15
  import { InternetDomainSchema, TenantIdSchema } from "@spine-event-engine/proto";
16
- import { TenantBoundary } from "@spine-event-engine/storage";
16
+ import { TenantBoundary } from "@spine-event-engine/storage/provider";
17
17
  /**
18
18
  * Safe Spine JVM-compatible `D` and `V` Datastore namespace conversion.
19
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/datastore/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/datastore/namespace.ts"],"names":[],"mappings":"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"}