@spinajs/orm 2.0.520 → 2.0.521

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/lib/cjs/builders.d.ts.map +1 -1
  2. package/lib/cjs/builders.js +0 -1
  3. package/lib/cjs/builders.js.map +1 -1
  4. package/lib/cjs/converters.d.ts.map +1 -1
  5. package/lib/cjs/converters.js +12 -5
  6. package/lib/cjs/converters.js.map +1 -1
  7. package/lib/cjs/decorators.d.ts.map +1 -1
  8. package/lib/cjs/decorators.js +41 -4
  9. package/lib/cjs/decorators.js.map +1 -1
  10. package/lib/cjs/interfaces.d.ts +7 -9
  11. package/lib/cjs/interfaces.d.ts.map +1 -1
  12. package/lib/cjs/interfaces.js.map +1 -1
  13. package/lib/cjs/metadata.d.ts.map +1 -1
  14. package/lib/cjs/metadata.js +0 -1
  15. package/lib/cjs/metadata.js.map +1 -1
  16. package/lib/cjs/model.d.ts +72 -53
  17. package/lib/cjs/model.d.ts.map +1 -1
  18. package/lib/cjs/model.js +155 -104
  19. package/lib/cjs/model.js.map +1 -1
  20. package/lib/cjs/relation-objects.d.ts +9 -4
  21. package/lib/cjs/relation-objects.d.ts.map +1 -1
  22. package/lib/cjs/relation-objects.js +15 -13
  23. package/lib/cjs/relation-objects.js.map +1 -1
  24. package/lib/cjs/snapshot.d.ts +12 -0
  25. package/lib/cjs/snapshot.d.ts.map +1 -1
  26. package/lib/cjs/snapshot.js +9 -0
  27. package/lib/cjs/snapshot.js.map +1 -1
  28. package/lib/cjs/subject-builder.d.ts +3 -2
  29. package/lib/cjs/subject-builder.d.ts.map +1 -1
  30. package/lib/cjs/subject-builder.js +10 -9
  31. package/lib/cjs/subject-builder.js.map +1 -1
  32. package/lib/cjs/subject-executor.d.ts +2 -2
  33. package/lib/cjs/subject-executor.d.ts.map +1 -1
  34. package/lib/cjs/subject-executor.js +11 -8
  35. package/lib/cjs/subject-executor.js.map +1 -1
  36. package/lib/cjs/subject.d.ts +8 -1
  37. package/lib/cjs/subject.d.ts.map +1 -1
  38. package/lib/cjs/subject.js.map +1 -1
  39. package/lib/mjs/builders.d.ts.map +1 -1
  40. package/lib/mjs/builders.js +0 -1
  41. package/lib/mjs/builders.js.map +1 -1
  42. package/lib/mjs/converters.d.ts.map +1 -1
  43. package/lib/mjs/converters.js +12 -5
  44. package/lib/mjs/converters.js.map +1 -1
  45. package/lib/mjs/decorators.d.ts.map +1 -1
  46. package/lib/mjs/decorators.js +41 -4
  47. package/lib/mjs/decorators.js.map +1 -1
  48. package/lib/mjs/interfaces.d.ts +7 -9
  49. package/lib/mjs/interfaces.d.ts.map +1 -1
  50. package/lib/mjs/interfaces.js.map +1 -1
  51. package/lib/mjs/metadata.d.ts.map +1 -1
  52. package/lib/mjs/metadata.js +0 -1
  53. package/lib/mjs/metadata.js.map +1 -1
  54. package/lib/mjs/model.d.ts +72 -53
  55. package/lib/mjs/model.d.ts.map +1 -1
  56. package/lib/mjs/model.js +156 -105
  57. package/lib/mjs/model.js.map +1 -1
  58. package/lib/mjs/relation-objects.d.ts +9 -4
  59. package/lib/mjs/relation-objects.d.ts.map +1 -1
  60. package/lib/mjs/relation-objects.js +15 -13
  61. package/lib/mjs/relation-objects.js.map +1 -1
  62. package/lib/mjs/snapshot.d.ts +12 -0
  63. package/lib/mjs/snapshot.d.ts.map +1 -1
  64. package/lib/mjs/snapshot.js +8 -0
  65. package/lib/mjs/snapshot.js.map +1 -1
  66. package/lib/mjs/subject-builder.d.ts +3 -2
  67. package/lib/mjs/subject-builder.d.ts.map +1 -1
  68. package/lib/mjs/subject-builder.js +10 -9
  69. package/lib/mjs/subject-builder.js.map +1 -1
  70. package/lib/mjs/subject-executor.d.ts +2 -2
  71. package/lib/mjs/subject-executor.d.ts.map +1 -1
  72. package/lib/mjs/subject-executor.js +11 -8
  73. package/lib/mjs/subject-executor.js.map +1 -1
  74. package/lib/mjs/subject.d.ts +8 -1
  75. package/lib/mjs/subject.d.ts.map +1 -1
  76. package/lib/mjs/subject.js.map +1 -1
  77. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  78. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  79. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
package/lib/cjs/model.js CHANGED
@@ -21,19 +21,6 @@ const lodash_1 = __importDefault(require("lodash"));
21
21
  const uuid_1 = require("uuid");
22
22
  const descriptor_js_1 = require("./descriptor.js");
23
23
  const primary_keys_js_1 = require("./primary-keys.js");
24
- const MODEL_PROXY_HANDLER = {
25
- set: (target, p, value) => {
26
- if (target[p] !== value) {
27
- target[p] = value;
28
- if (p !== 'IsDirty' && target.ModelDescriptor?.Columns.find((x) => x.Name === p)) {
29
- target.IsDirty = true;
30
- // HACK to access private prop ( internal use )
31
- target.__dirty_props__.push(p);
32
- }
33
- }
34
- return true;
35
- },
36
- };
37
24
  /**
38
25
  *
39
26
  * Updates model descriptor
@@ -59,18 +46,6 @@ function updateModelDescriptor(targetOrForward, callback) {
59
46
  callback(descriptor);
60
47
  }
61
48
  class ModelBase {
62
- /**
63
- * Marks model as dirty. It means that model have unsaved changes
64
- */
65
- get IsDirty() {
66
- return this.__is_dirty__;
67
- }
68
- set IsDirty(val) {
69
- this.__is_dirty__ = val;
70
- if (!val) {
71
- this.__dirty_props__ = [];
72
- }
73
- }
74
49
  /**
75
50
  * Gets descriptor for this model. It contains information about relations, orm driver, connection properties,
76
51
  * db table attached, column information and others.
@@ -161,10 +136,43 @@ class ModelBase {
161
136
  snapshotColumns() {
162
137
  return (this.ModelDescriptor?.Columns ?? []).filter((c) => !c.Virtual);
163
138
  }
139
+ /**
140
+ * The value this model writes for every foreign key a @BelongsTo currently manages, keyed by
141
+ * column name. A relation holding a target owns its foreign key: `toSql()` writes the target's
142
+ * join-column value ( `Relation.PrimaryKey` — the target's primary key unless `@BelongsTo`
143
+ * names another column ), so a direct write to the column never reaches the database. A
144
+ * relation holding null or undefined owns nothing and is absent here, leaving the column to
145
+ * speak for itself: NULL after a `detach()`, untouched after a `populate()` that found no row.
146
+ *
147
+ * A @Recursive relation is excluded whatever it holds: `toSql()` writes its foreign key from
148
+ * the raw column, overriding the relation, so the column is what reaches the database.
149
+ *
150
+ * The single place that answers "what does this model persist for this column", so the
151
+ * snapshot baseline and the diff can never read the question differently.
152
+ */
153
+ effectiveForeignKeys() {
154
+ const effective = new Map();
155
+ for (const [, r] of this.ModelDescriptor?.Relations ?? []) {
156
+ if (r.Type !== interfaces_js_1.RelationType.One || !r.ForeignKey || r.Recursive) {
157
+ continue;
158
+ }
159
+ const rel = this[r.Name];
160
+ if (rel?.Value) {
161
+ effective.set(r.ForeignKey, rel.Value[r.PrimaryKey]);
162
+ }
163
+ }
164
+ return effective;
165
+ }
164
166
  /**
165
167
  * Captures the current value of every column as the diff baseline, discarding any
166
168
  * previous baseline and any relation keys recorded against it.
167
169
  *
170
+ * Reads the raw columns, deliberately: a snapshot is taken after an INSERT too, and an INSERT
171
+ * may omit a foreign key on purpose ( a deferred self-reference, whose target had no key yet ).
172
+ * Recording what the relation now holds would claim that key had been written and suppress the
173
+ * follow-up UPDATE that actually writes it. `writeBackRelationKeys()` is what brings a column
174
+ * in line with its relation, and it runs only where the key really was written.
175
+ *
168
176
  * Values are copied, never aliased — see `snapshotValue`. An aliased snapshot makes
169
177
  * every diff empty and `save()` a silent no-op.
170
178
  */
@@ -175,6 +183,20 @@ class ModelBase {
175
183
  }
176
184
  this.__snapshot__ = snapshot;
177
185
  }
186
+ /**
187
+ * Copies the value each @BelongsTo relation just wrote back onto its foreign-key column, so
188
+ * the model agrees with the row. Call it after a statement that wrote those keys, before
189
+ * `takeSnapshot()`.
190
+ *
191
+ * Without it a foreign key written directly and then overridden by its relation keeps the
192
+ * overridden value in the column, the snapshot records that value as the baseline, and the
193
+ * model reads dirty forever - every `save()` minting an UPDATE that changes nothing.
194
+ */
195
+ writeBackRelationKeys() {
196
+ for (const [name, value] of this.effectiveForeignKeys()) {
197
+ this[name] = value;
198
+ }
199
+ }
178
200
  /**
179
201
  * Records the primary keys of the members currently in relation `name` as that
180
202
  * relation's baseline. A no-op when the model has no snapshot — an unhydrated model
@@ -206,72 +228,82 @@ class ModelBase {
206
228
  this.__snapshot__ = null;
207
229
  }
208
230
  /**
209
- * Names of the columns whose current value differs from the snapshot.
210
- *
211
- * With no snapshot every column is reported as changed, which is the right answer for a
212
- * model that is about to be inserted.
213
- *
214
- * This is deliberately independent of `__dirty_props__`: the proxy records a property as
215
- * dirty on any write, including one that puts the original value back, so the snapshot
216
- * diff is the more precise answer and the one the UPDATE payload is built from.
231
+ * `true` until the row has been in the database: the diff baseline is `null`. This is what
232
+ * classifies the model as an INSERT - not the presence of a primary key, because
233
+ * `setDefaults()` pre-fills @Uuid keys on construction.
234
+ */
235
+ get IsNew() {
236
+ return this.__snapshot__ === null;
237
+ }
238
+ /**
239
+ * Whether `save()` would write anything: a model that has never been in the database, or one
240
+ * with at least one column ( or re-pointed foreign key ) differing from its baseline.
217
241
  *
218
- * Reads the same column set `takeSnapshot()` wrote, and must keep doing so: comparing a column
219
- * the baseline never covered means comparing its live value against `undefined`, which reports it
220
- * changed on every single save.
242
+ * Derived from the snapshot on every read - there is no write observer - so it costs one
243
+ * comparison per column until the first difference. There is deliberately no setter: the only
244
+ * way to make a model clean is to persist it or to re-baseline it with `takeSnapshot()`.
221
245
  */
222
- changedColumns() {
223
- const columns = this.snapshotColumns();
224
- if (!this.__snapshot__) {
225
- return columns.map((c) => c.Name);
226
- }
227
- const snapshot = this.__snapshot__;
228
- return columns.filter((c) => !(0, snapshot_js_1.snapshotEquals)(snapshot.Columns.get(c.Name), this[c.Name], c.Converter)).map((c) => c.Name);
246
+ get IsDirty() {
247
+ return this.IsNew || this.diff(true).length > 0;
229
248
  }
230
249
  /**
231
- * Foreign-key columns a relation object reported as rewritten, via {@link markDirty}.
250
+ * Every persisted column whose current value differs from the baseline, in descriptor column
251
+ * order, followed by any @BelongsTo foreign key the descriptor declares no column for. On a
252
+ * model with no baseline every column is reported with `OldValue: undefined`.
232
253
  *
233
- * These are the only columns the snapshot diff cannot see. `SingleRelation.attach()` stores
234
- * the new target on the relation wrapper and marks the foreign key dirty, but never writes
235
- * the column on the model — the value is materialised from the relation later, by
236
- * `StandardModelToSqlConverter`. So `changedColumns()` compares the column against its
237
- * snapshot, finds it untouched, and reports no change even though the relation was
238
- * re-pointed. Detaching a relation and calling `update()` would then emit nothing at all.
254
+ * Computed on demand - nothing observes writes - so an in-place mutation of a JSON column is
255
+ * seen exactly like an assignment. Call it once and reuse the result rather than polling it
256
+ * in a loop.
239
257
  *
240
- * Restricted to declared relation foreign keys on purpose. `__dirty_props__` also collects
241
- * ordinary property writes, and folding those in wholesale would undo the precision the
242
- * diff exists for: a column written A -> B -> A is in `__dirty_props__` but has no net
243
- * change, and must not be written back.
258
+ * Named `changeSet` - not `changes` - because model members and columns share a namespace and
259
+ * `changes` is a real column name in downstream schemas.
244
260
  */
245
- relationDirtyColumns() {
246
- const descriptor = this.ModelDescriptor;
247
- if (!descriptor) {
248
- return [];
249
- }
250
- const relationKeys = new Set();
251
- for (const [, relation] of descriptor.Relations) {
252
- if (relation.ForeignKey) {
253
- relationKeys.add(relation.ForeignKey);
254
- }
255
- }
256
- return this.__dirty_props__.filter((p) => relationKeys.has(p));
261
+ changeSet() {
262
+ return this.diff(false);
257
263
  }
258
264
  /**
259
- * Records `prop` as changed and marks the model dirty.
265
+ * The single diff. `stopAtFirst` lets a boolean question return as soon as one change is found.
260
266
  *
261
- * This is the supported way for relation objects to report that they rewrote one of the
262
- * owner's foreign keys. It replaces the `(owner as any).__dirty_props__.push(...)` casts
263
- * that reached into a private field from outside the class ( A6 ).
267
+ * Every foreign key is resolved to ONE effective value before anything is compared, so
268
+ * `IsDirty` and `changeSet()` can never disagree and the short-circuit can never skip a
269
+ * decision the full diff would have made.
264
270
  *
265
- * The push comes before `IsDirty = true` so the method stays correct even if the
266
- * `IsDirty` setter ever starts clearing `__dirty_props__` on a truthy assignment too.
267
- *
268
- * @param prop - column name
271
+ * The rule: a @BelongsTo holding a target decides its foreign key, because that is what
272
+ * `toSql()` writes - the target's join-column value, `Relation.PrimaryKey`, which is the
273
+ * target's own primary key unless `@BelongsTo` names another column. A direct write to the
274
+ * column is therefore overridden and never reaches the database, and the diff has to say so.
275
+ * A relation holding null or undefined decides nothing and the column stands: NULL after a
276
+ * `detach()`, untouched after a `populate()` that found no row.
269
277
  */
270
- markDirty(prop) {
271
- if (!this.__dirty_props__.includes(prop)) {
272
- this.__dirty_props__.push(prop);
278
+ diff(stopAtFirst) {
279
+ const columns = this.snapshotColumns();
280
+ const snap = this.__snapshot__?.Columns;
281
+ const out = [];
282
+ const effective = this.effectiveForeignKeys();
283
+ for (const c of columns) {
284
+ const current = effective.has(c.Name) ? effective.get(c.Name) : this[c.Name];
285
+ if (!snap || !(0, snapshot_js_1.snapshotEquals)(snap.get(c.Name), current, c.Converter)) {
286
+ out.push({ Column: c.Name, OldValue: (0, snapshot_js_1.baselineValue)(snap?.get(c.Name)), NewValue: current });
287
+ if (stopAtFirst) {
288
+ return out;
289
+ }
290
+ }
291
+ }
292
+ // A relation-managed foreign key the descriptor has no column for - the loop above never
293
+ // saw it, and there is no converter to compare it through.
294
+ const declared = new Set(columns.map((c) => c.Name));
295
+ for (const [name, current] of effective) {
296
+ if (declared.has(name)) {
297
+ continue;
298
+ }
299
+ if (!snap || !(0, snapshot_js_1.snapshotEquals)(snap.get(name), current)) {
300
+ out.push({ Column: name, OldValue: (0, snapshot_js_1.baselineValue)(snap?.get(name)), NewValue: current });
301
+ if (stopAtFirst) {
302
+ return out;
303
+ }
304
+ }
273
305
  }
274
- this.IsDirty = true;
306
+ return out;
275
307
  }
276
308
  valueOf() {
277
309
  return this.PrimaryKeyValue;
@@ -458,23 +490,18 @@ class ModelBase {
458
490
  throw new Error('Not implemented');
459
491
  }
460
492
  constructor(data) {
461
- this.__is_dirty__ = false;
462
493
  /**
463
- * prop to track model props that changeded since last update
464
- */
465
- this.__dirty_props__ = [];
466
- /**
467
- * Diff baseline, captured when this instance was hydrated from a database row.
468
- * `null` means "this model has never been in the database", which is what `save()`
469
- * uses to classify it as an INSERT — not the presence of a primary key, because
470
- * `setDefaults()` pre-fills @Uuid keys on construction.
494
+ * Diff baseline: a value copy of every persisted column, taken when the row was last read
495
+ * from or written to the database. `null` means the row has never been in the database, which
496
+ * is what classifies it as an INSERT - not the presence of a primary key, because
497
+ * `setDefaults()` pre-fills @Uuid keys on construction. Written only by `takeSnapshot()` and
498
+ * `clearSnapshot()`.
471
499
  */
472
500
  this.__snapshot__ = null;
473
501
  this.setDefaults();
474
502
  if (data) {
475
503
  this.hydrate(data);
476
504
  }
477
- return new Proxy(this, MODEL_PROXY_HANDLER);
478
505
  }
479
506
  /**
480
507
  * Fills model with data. It only fills properties that exists in database
@@ -503,7 +530,6 @@ class ModelBase {
503
530
  switch (v.Type) {
504
531
  case interfaces_js_1.RelationType.One:
505
532
  this[v.Name].attach(data);
506
- this.markDirty(v.ForeignKey);
507
533
  break;
508
534
  case interfaces_js_1.RelationType.Many: {
509
535
  // Set the child's back-reference to this owner, when the child declares one.
@@ -525,7 +551,6 @@ class ModelBase {
525
551
  break;
526
552
  }
527
553
  }
528
- this.IsDirty = true;
529
554
  }
530
555
  /**
531
556
  * Extracts all data from model. It takes only properties that exists in DB
@@ -555,7 +580,7 @@ class ModelBase {
555
580
  toSql(onlyDirty) {
556
581
  const vals = this.Container.resolve(interfaces_js_1.ModelToSqlConverter).toSql(this);
557
582
  if (onlyDirty) {
558
- return lodash_1.default.pick(vals, this.__dirty_props__);
583
+ return lodash_1.default.pick(vals, this.changeSet().map((c) => c.Column));
559
584
  }
560
585
  return vals;
561
586
  }
@@ -571,7 +596,6 @@ class ModelBase {
571
596
  return;
572
597
  }
573
598
  const result = await this.constructor.destroy(pk);
574
- this.IsDirty = false;
575
599
  return result;
576
600
  }
577
601
  /**
@@ -587,16 +611,18 @@ class ModelBase {
587
611
  const { query } = this.createUpdateQuery();
588
612
  query.update(this.toSql());
589
613
  (0, primary_keys_js_1.wherePk)(query, this.ModelDescriptor, this.PrimaryKeyValue);
590
- return await query;
614
+ const result = await query;
615
+ // The whole model is in the database now - that is the baseline for the next update().
616
+ this.writeBackRelationKeys();
617
+ this.takeSnapshot();
618
+ return result;
591
619
  }
592
620
  /**
593
621
  * Writes the columns that differ from the snapshot.
594
622
  *
595
- * The change set comes from `changedColumns()` the snapshot diff and not from the
596
- * proxy's `__dirty_props__`, which records a property as dirty on ANY write including one
597
- * that puts the original value straight back. `save()` has always used the diff, and
598
- * `changedColumns()` documents it as the more precise answer; this path used the imprecise
599
- * one, so the same edit produced a different UPDATE depending on which method you called.
623
+ * The change set is `changeSet()` - the snapshot diff, which also covers a foreign key that was
624
+ * re-pointed through its relation - so re-assigning a column its current value produces no
625
+ * UPDATE, and a column written A -> B -> A is not written back.
600
626
  *
601
627
  * A model with no snapshot ( never hydrated ) reports every column as changed, which is the
602
628
  * right answer: there is no baseline to be more precise than.
@@ -612,11 +638,12 @@ class ModelBase {
612
638
  this.hydrate(data);
613
639
  }
614
640
  const keyColumns = this.ModelDescriptor.PrimaryKey ?? [];
615
- const changed = lodash_1.default.union(this.changedColumns(), this.relationDirtyColumns()).filter((c) => !keyColumns.includes(c));
641
+ const changed = this.changeSet()
642
+ .map((c) => c.Column)
643
+ .filter((c) => !keyColumns.includes(c));
616
644
  // Nothing to write. Checked against the diff, so re-assigning a column its current value
617
645
  // no longer produces an UPDATE that sets it to what it already was.
618
646
  if (changed.length === 0) {
619
- this.IsDirty = false;
620
647
  return result;
621
648
  }
622
649
  const updatedAt = this.ModelDescriptor.Timestamps.UpdatedAt;
@@ -630,7 +657,7 @@ class ModelBase {
630
657
  query.update(lodash_1.default.pick(this.toSql(), changed));
631
658
  (0, primary_keys_js_1.wherePk)(query, this.ModelDescriptor, this.PrimaryKeyValue);
632
659
  const updateResult = await query;
633
- this.IsDirty = false;
660
+ this.writeBackRelationKeys();
634
661
  this.takeSnapshot();
635
662
  return updateResult;
636
663
  }
@@ -683,8 +710,12 @@ class ModelBase {
683
710
  modelCreation: () => null,
684
711
  afterHydration: () => null,
685
712
  });
686
- const result = query.values(this.toSql());
687
- this.IsDirty = false;
713
+ // Awaited here, not by the caller: the afterQuery middleware above backfills a generated key
714
+ // during execution, and the snapshot must include it. Taken only after the await - a throw
715
+ // leaves the model exactly as dirty as it was.
716
+ const result = await query.values(this.toSql());
717
+ this.writeBackRelationKeys();
718
+ this.takeSnapshot();
688
719
  return result;
689
720
  }
690
721
  /**
@@ -746,7 +777,9 @@ class ModelBase {
746
777
  for (const c of this.ModelDescriptor.Columns) {
747
778
  this[c.Name] = model[c.Name];
748
779
  }
749
- this.IsDirty = false;
780
+ // Every column now holds what the database holds - that is the new baseline, not the one
781
+ // captured before the refresh.
782
+ this.takeSnapshot();
750
783
  }
751
784
  toJSON() {
752
785
  return this.dehydrate();
@@ -1113,6 +1146,24 @@ exports.MODEL_STATIC_MIXINS = {
1113
1146
  // supplied and generated keys, a statement the server did not insert one row per input
1114
1147
  // row for — cannot be mapped positionally, so nothing is assigned. Callers needing the
1115
1148
  // keys there must re-select or insert the models one at a time.
1149
+ // Every persist path re-baselines after its statement, and the baseline is taken after
1150
+ // the backfill above so it carries whatever key the statement produced: the model is
1151
+ // re-baselined to exactly what the statement wrote, no more. The relation keys are
1152
+ // written back first because the payload took them from the relation ( `toSql()` reads
1153
+ // the target's join column ) and not from the model's own foreign-key column - without
1154
+ // the write-back the baseline would record a column value the row does not hold, and the
1155
+ // model would read dirty right after a successful insert.
1156
+ //
1157
+ // A plain-object payload is not a model and has nothing to snapshot; a model whose key
1158
+ // could not be mapped positionally is still in the database, so it is re-baselined too -
1159
+ // it just carries no key, and cannot be updated through this instance until one is set.
1160
+ rows.forEach((v) => {
1161
+ if (v instanceof ModelBase) {
1162
+ // Private instance member - the static side of the class cannot see it.
1163
+ v.writeBackRelationKeys();
1164
+ v.takeSnapshot();
1165
+ }
1166
+ });
1116
1167
  return result;
1117
1168
  },
1118
1169
  modelCreation: () => null,
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":";;;;;;;AACA,yCAAuC;AACvC,6CAAyD;AACzD,mDAA4X;AAE5X,+CAA8K;AAG9K,iDAA+C;AAC/C,mDAA+C;AAC/C,qDAAiG;AAGjG,+DAAiE;AACjE,+CAA8F;AAC9F,uDAA+C;AAE/C,oCAA0G;AAE1G,iCAAiC;AACjC,oDAAuB;AACvB,+BAAoC;AACpC,mDAAuF;AACvF,uDAAqL;AAErL,MAAM,mBAAmB,GAAG;IAC1B,GAAG,EAAE,CAAC,MAA0B,EAAE,CAA2B,EAAE,KAAU,EAAE,EAAE;QAC3E,IAAK,MAAc,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAChC,MAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAE3B,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEtB,+CAA+C;gBAC9C,MAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,+BAAsC,eAAoB,EAAE,QAAgD;IAC1G,MAAM,MAAM,GAAG,CAAC,IAAA,kBAAa,EAAC,eAAe,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IAExG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAA,2BAAsB,EAAmB,MAAM,EAAE,sCAAyB,EAAE,4CAA4B,CAAC,CAAC;IAE7H,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvB,CAAC;AAED;IAEE;;OAEG;IAEH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,OAAO,CAAC,GAAY;QAC7B,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAoBD;;;OAGG;IACH,IAAW,eAAe;QACxB,OAAO,IAAA,sCAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,OAAE,CAAC,OAAO,CAAY,eAAe,EAAE,CAAC,IAAI,CAAC,eAAgB,CAAC,UAAW,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,4BAA4B,IAAI,CAAC,eAAgB,CAAC,UAAU,6DAA6D,CAAC,CAAC;YAC3K,CAAC;YAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAgB,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAA,2BAAS,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,IAAW,eAAe,CAAC,MAAW;QACpC,IAAA,4BAAU,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,EAAE,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,eAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5C,MAAM,GAAG,GAAI,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG;gBAAE,OAAO;YAEjB,sFAAsF;YACtF,oFAAoF;YACpF,IAAI,IAAA,+BAAa,EAAC,IAAI,CAAC,eAAgB,CAAC,EAAE,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,2BAAS,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;YAEtD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,4BAAY,CAAC,GAAG;oBAClB,GAAW,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;oBACpC,MAAM;gBACR,KAAK,4BAAY,CAAC,IAAI;oBACnB,GAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;oBAChE,MAAM;gBACR,KAAK,4BAAY,CAAC,UAAU;oBAC1B,qBAAqB;oBACrB,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,eAAe;QACrB,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACI,YAAY;QACjB,MAAM,QAAQ,GAAG,IAAA,4BAAc,GAAE,CAAC;QAElC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAA,2BAAa,EAAE,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACI,gBAAgB,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,YAAY,oCAAc,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAC7B,IAAI,EACJ,CAAC,GAAI,QAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,cAAc;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,4BAAc,EAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAG,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrI,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,oBAAoB;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,CAAC,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,MAAM;QACX,MAAM,GAAG,GAAG,OAAE,CAAC,GAAG,CAAM,KAAK,CAAE,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,UAAW,CAAC,CAAC;QACtE,OAAO,MAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,wBAAwB,CAAC,SAAmB;QACjD,MAAM,eAAe,GAAG,UAAU,CAAY;YAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,eAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxC,IAAI,CAAC,CAAC,IAAI,KAAK,4BAAY,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,4BAAY,CAAC,UAAU,EAAE,CAAC;oBACvE,OAAQ,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBAED,IAAM,CAAS,CAAC,CAAC,CAAC,IAAI,CAAyB,CAAC,KAAK,EAAE,CAAC;oBACtD,OAAO,CAAE,CAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YAElC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,gBAAC,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,kBAAkB;QAC9B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,SAAiB;QACnD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAsC,KAAc,EAAE,QAAiB;QACtF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAsC,KAA+H,EAAE,gBAAgB,GAAoB,+BAAe,CAAC,IAAI;QACjP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAgBM,MAAM,CAAC,KAAK,CAAsC,OAA+H,EAAE,SAAoB,EAAE,MAAY;QAC1N,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAsC,KAA+B;QACvF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAI,CAAsC,IAAW;QACjE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAQM,MAAM,CAAC,KAAK;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAQM,MAAM,CAAC,IAAI;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMM,MAAM,CAAC,MAAM;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMM,MAAM,CAAC,MAAM;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMM,MAAM,CAAC,KAAK;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU,CAAsC,IAAW;QACvE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,GAAG,CAAsC,GAAQ;QAC7D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS,CAAsC,GAAQ;QACnE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAsC,KAAgC;QAC1F,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,QAAQ,CAA6B,SAAiB,EAAE,MAAmC;QACvG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM;QAClB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,WAAW,CAAsC,GAA2B,EAAE,KAAgC;QAC1H,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAsC,KAA+B;QACvF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IAEI,MAAM,CAAC,OAAO,CAAsC,GAAiB;QAC1E,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,MAAM;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAkE,KAAsC,EAAE,KAAsC;QACvK,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,cAAc,CAAkE,KAAsC,EAAE,KAAsC;QAC1K,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAyC,SAAyC;QACzG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,IAAiB;QA7gBrB,iBAAY,GAAG,KAAK,CAAC;QAkB7B;;WAEG;QAEK,oBAAe,GAAa,EAAE,CAAC;QAEvC;;;;;WAKG;QACK,iBAAY,GAA0B,IAAI,CAAC;QAgfjD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,IAAmB;QAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,4BAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,IAAe;QAC3B,4DAA4D;QAC5D,yBAAyB;QACzB,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,eAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,kFAAkF;YAClF,mFAAmF;YACnF,sFAAsF;YACtF,IAAI,CAAC,CAAC,WAAW,KAAM,IAAY,CAAC,WAAW,EAAE,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,4BAAY,CAAC,GAAG;oBACjB,IAAY,CAAC,CAAC,CAAC,IAAI,CAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC7B,MAAM;gBAER,KAAK,4BAAY,CAAC,IAAI,EAAE,CAAC;oBACvB,6EAA6E;oBAC7E,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,eAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;oBACzG,IAAI,GAAG,EAAE,CAAC;wBACP,IAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;oBACrC,CAAC;oBAEC,IAAY,CAAC,CAAC,CAAC,IAAI,CAAsD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvF,MAAM;gBACR,CAAC;gBAED,KAAK,4BAAY,CAAC,UAAU;oBAC1B,kFAAkF;oBAClF,gFAAgF;oBAChF,gFAAgF;oBAChF,4DAA4D;oBAC1D,IAAY,CAAC,CAAC,CAAC,IAAI,CAAsD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvF,MAAM;gBAER;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,OAA2B;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAuB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACrE,GAAG,OAAO;YACV,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;SAC1E,CAAoB,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,OAA2B;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qDAAoC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YAClF,GAAG,OAAO;YACV,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;SAC1E,CAAoC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,SAAmB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAmB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;QAEtF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,oFAAoF;QACpF,8EAA8E;QAC9E,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,WAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,eAAgB,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAY,CAAC,IAAI,CAAC,eAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,4BAAY,CAAC,wCAAwC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3B,IAAA,yBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,OAAO,MAAM,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,MAAM,CAAC,IAAoB;QACtC,MAAM,MAAM,GAAG;YACb,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnH,yFAAyF;QACzF,oEAAoE;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACb,IAAY,CAAC,SAAS,CAAC,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,KAAK,CAAC,MAAM,CAAC,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAA6B,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,IAAA,yBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAE5D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC;QAEjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,eAAe,GAAoB,+BAAe,CAAC,IAAI;QACzE,yFAAyF;QACzF,iCAAiC;QACjC,IAAA,wCAAsB,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;QACpD,IAAA,oCAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;QAEhD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoB,CAAC,CAAC;QAEtE,QAAQ,eAAe,EAAE,CAAC;YACxB,KAAK,+BAAe,CAAC,cAAc;gBACjC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM;YACR,KAAK,+BAAe,CAAC,cAAc;gBACjC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChG,MAAM;YACR,KAAK,+BAAe,CAAC,eAAe;gBAClC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM;QACV,CAAC;QAED,wFAAwF;QACxF,oFAAoF;QACpF,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAY,EAAC,WAAW,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACjG,IAAI,YAAY,IAAI,eAAe,KAAK,+BAAe,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,eAAe,EAAE,CAAC;YAC3H,KAAK,CAAC,SAAS,CAAC,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,UAAU,CAAC;YACf,UAAU,EAAE,CAAC,IAAmB,EAAE,EAAE;gBAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,CAAC;gBAEpE,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5C,IAAA,4BAAU,EAAC,IAAI,EAAE,WAAW,EAAE,IAAA,2BAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,YAAY,EAAE,CAAC;oBACxB,qFAAqF;oBACrF,2CAA2C;oBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;oBACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBACvG,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,EAAE,GAAQ,EAAE,CAAC,IAAI;YAC9B,cAAc,EAAE,GAAQ,EAAE,CAAC,IAAI;SAChC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc;QACzB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,IAAI,CAAC,OAAsB;QACtC,wFAAwF;QACxF,wFAAwF;QACxF,2DAA2D;QAC3D,OAAO,MAAM,4BAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAElB,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1C,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpC,uCAAuC;QACvC,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAA6B,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,KAAK,GAAgB,IAAI,CAAC;QAE9B,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAgB,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAI,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACO,WAAW;QACnB,IAAI,CAAC,eAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3C,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACV,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAA,SAAM,GAAE,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACL,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yFAAyF;QACzF,qEAAqE;QACrE,IAAA,wCAAsB,EAAC,IAAI,EAAE,IAAI,CAAC,eAAgB,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,eAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAY,CAAC,IAAI,CAAC,eAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;QAC7E,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,eAAgB,CAAC,SAAS,EAAE,CAAC;YACtD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACf,IAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC7B,IAAI,IAAA,YAAO,EAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC9B,IAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEvF,CAAC;qBAAM,IAAI,gBAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1C,IAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzF,CAAC;qBACI,CAAC;oBACJ,MAAM,IAAI,4BAAY,CAAC,8BAA8B,GAAG,CAAC,IAAI,+CAA+C,CAAC,CAAC;gBAChH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACL,IAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,oCAAc,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAA,yBAAW,EAAC,IAAI,CAAC,WAAW,EAAE,gCAAkB,CAAC,CAAC;IAC3D,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAA,yBAAW,EAAC,IAAI,CAAC,WAAW,EAAE,gCAAkB,CAAC,CAAC;IAC3D,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAA,yBAAW,EAAC,IAAI,CAAC,WAAW,EAAE,gCAAkB,CAAC,CAAC;IAC3D,CAAC;CACF;;AAGD;;;;;;;;;;;;;;GAcG;AACH,SAAS,0BAA0B,CAAC,WAA6B,EAAE,IAAW,EAAE,QAA0B,EAAE,QAA2B,EAAE,eAAgC;IACvK,6FAA6F;IAC7F,yEAAyE;IACzE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8FAA8F;IAC9F,qFAAqF;IACrF,MAAM,IAAI,GAAG,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,8BAAY,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yFAAyF;IACzF,4FAA4F;IAC5F,0FAA0F;IAC1F,qFAAqF;IACrF,IAAI,eAAe,KAAK,+BAAe,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QACvH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2FAA2F;IAC3F,wFAAwF;IACxF,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yFAAyF;IACzF,2FAA2F;IAC3F,8DAA8D;IAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,SAAS,eAAe,CAAC,WAA6B,EAAE,KAA+B,EAAE,KAAgB;IACvG,6FAA6F;IAC7F,uFAAuF;IACvF,wCAAwC;IACxC,IAAI,IAAA,uBAAK,EAAC,WAAW,CAAC,EAAE,CAAC;QACvB,IAAA,yBAAO,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAG,KAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,4BAAY,CAAC,qGAAqG,CAAC,CAAC;QAChI,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,WAA6B,EAAE,KAAsB,EAAE,KAAiB;IAC/F,uFAAuF;IACvF,0FAA0F;IAC1F,IAAI,IAAA,2BAAS,EAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,oBAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,oBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;QAC7C,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,IAAI,oBAAS,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;QAC7C,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,IAAI,oBAAS,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;CAKC;;AAGY,QAAA,mBAAmB,GAAG;IACjC,kBAAkB;QAChB,MAAM,GAAG,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,4BAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,uCAAyB,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,OAAE,CAAC,GAAG,CAAM,KAAK,CAAE,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,UAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,4BAA4B,GAAG,CAAC,UAAU,6DAA6D,CAAC,CAAC;QAC7I,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4FAA4F;IAC5F,8FAA8F;IAC9F,QAAQ,CAAkB,QAAgB,EAAE,KAAkC;QAC5E,gBAAgB;QAChB,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,4BAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,4BAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAEpE,MAAM,iBAAiB,GAAG;YACxB,UAAU,CAAC,IAAW;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,aAAa,CAAC,CAAM;gBAClB,OAAO,OAAE,CAAC,OAAO,CAAY,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,KAAK,CAAC,cAAc,CAAC,aAA0B,IAAI,CAAC;SACrD,CAAC;QAEF,QAAQ,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAChC,KAAK,4BAAY,CAAC,GAAG,EAAE,CAAC;gBACtB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAW,EAAC,kBAAkB,CAAC,WAAY,EAAE,gCAAkB,CAAC,CAAC;gBAE9F,6DAA6D;gBAC7D,6CAA6C;gBAE7C,uDAAuD;gBACvD,iDAAiD;gBAEjD,SAAS,CAAC,QAAQ,CAAC;oBACjB,SAAS,EAAE,kBAAkB,CAAC,WAAW;oBACzC,aAAa,EAAE;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,sBAAQ,CAAC,KAAK,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC;oBACxD,CAAC;oBACD,+EAA+E;oBAC/E,gFAAgF;oBAChF,gDAAgD;oBAChD,qBAAqB,EAAE,kBAAkB,CAAC,UAAU;oBACpD,mBAAmB,EAAE,kBAAkB,CAAC,UAAU;iBAC5C,CAAC,CAAC;gBAEV,qFAAqF;gBACrF,4EAA4E;gBAC5E,sCAAsC;gBACtC,IAAA,yBAAO,EAAC,SAAS,EAAE,kBAAkB,CAAC,WAAY,CAAC,kBAAkB,EAAE,EAAE,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,KAAK,4BAAY,CAAC,UAAU,EAAE,CAAC;gBAC7B,iFAAiF;gBACjF,qFAAqF;gBACrF,kFAAkF;gBAClF,gDAAgD;gBAChD,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;oBACtC,MAAM,IAAI,4BAAY,CAAC,YAAY,QAAQ,OAAO,eAAe,CAAC,IAAI,wBAAwB,CAAC,CAAC;gBAClG,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAA,yBAAW,EAAC,kBAAkB,CAAC,aAAa,EAAE,gCAAkB,CAAC,CAAC;gBAEnG,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC7B,aAAa,CAAC,QAAQ,CAAC;oBACrB,SAAS,EAAE,kBAAkB,CAAC,WAAW;oBACzC,aAAa,EAAE;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,sBAAQ,CAAC,KAAK,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC;oBACxD,CAAC;oBACD,qBAAqB,EAAE,kBAAkB,CAAC,iCAAiC;oBAC3E,mBAAmB,EAAE,kBAAkB,CAAC,UAAU;iBAC5C,CAAC,CAAC;gBAEV,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,iCAAkC,EAAE,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvI,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAE5C,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,KAAK,4BAAY,CAAC,OAAO,CAAC;YAC1B,KAAK,4BAAY,CAAC,KAAK;gBACrB,MAAM,IAAI,4BAAY,CAAC,sCAAsC,4BAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAE7H,KAAK,4BAAY,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,kBAAkB,CAAC,WAAW,EAAE,gCAAkB,CAAC,CAAC;gBAClF,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvG,OAAO,KAAK,CAAC;YACf,CAAC;YAED;gBACE,MAAM,IAAI,4BAAY,CAAC,yBAAyB,kBAAkB,CAAC,IAAI,iBAAiB,QAAQ,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAoE,EAAE,QAAmB,EAAE,KAAW;QAC1G,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAElB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAA6B,IAA8B;QAC/D,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,4BAAY,CAAC,8CAA8C,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAa,EAAE,OAAgB;QACjC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QAExD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAsC,IAA2G,EAAE,eAAe,GAAoB,+BAAe,CAAC,IAAI;QAGpN,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QAEhF,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,oCAAoB,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,oCAAoB,CAAC,CAAC;QAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAG,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,eAAe,KAAK,+BAAe,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,IAAI,4BAAY,CAAC,+CAA+C,CAAC,CAAC;YAC1E,CAAC;YAED,kFAAkF;YAClF,6EAA6E;YAC5E,IAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7C,IAAA,wCAAsB,EAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBACvC,IAAA,oCAAkB,EAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CACT,IAA+B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;oBAC3B,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACzC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,eAAe,EAAE,CAAC;gBACxB,KAAK,+BAAe,CAAC,cAAc;oBACjC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,MAAM;gBACR,KAAK,+BAAe,CAAC,cAAc;oBACjC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChG,MAAM;gBACR,KAAK,+BAAe,CAAC,eAAe;oBAClC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM;YACV,CAAC;YAED,IAAA,wCAAsB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1C,IAAA,oCAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEtC,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAc,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8BAAY,EAAC,WAAW,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAC5F,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,eAAe,EAAE,CAAC;YAChE,KAAK,CAAC,SAAS,CAAC,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,CAAC,MAAqB,EAAE,EAAE;gBACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,CAAC;gBACtE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA+B,CAAC,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;gBAEhG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtD,8EAA8E;oBAC9E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;wBACtB,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;4BAC3B,IAAA,4BAAU,EAAC,CAAC,EAAE,WAAW,EAAE,IAAA,2BAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,sCAAsC;oBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;wBACjD,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC5C,CAAC;gBACH,CAAC;qBAAM,IAAI,0BAA0B,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC;oBACtH,uFAAuF;oBACvF,iFAAiF;oBACjF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;wBACrB,CAAe,CAAC,eAAe,GAAG,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC;oBACjE,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,mFAAmF;gBACnF,uFAAuF;gBACvF,uFAAuF;gBACvF,gEAAgE;gBAEhE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,aAAa,EAAE,GAAQ,EAAE,CAAC,IAAI;YAC9B,cAAc,EAAE,GAAQ,EAAE,CAAC,IAAI;SAChC,CAAC;QAEF,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAsC,GAAU;QACxD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAC5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAA,4BAAU,EAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,MAAO,KAAoD,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAsC,GAAU;QAC9D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAEnF,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAA,4BAAU,EAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAO,KAAoD,CAAC;QAE3E,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAsC,EAAO;QACpD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAA,yBAAO,EAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAEhC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAwC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,SAAS,CAAsC,EAAO;QAC1D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,IAAA,yBAAO,EAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAEhC,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAwC,CAAC;IAC5E,CAAC;IAED,OAAO,CAA6B,GAAiB;QACnD,MAAM,WAAW,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAE,CAAC;QAEvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,IAAI,4BAAY,CAAC,2GAA2G,CAAC,CAAC;QACtI,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,4BAAY,CAAC,2CAA2C,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,IAAI,EAAE,gCAAkB,CAAC,CAAC;QAEpI,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YACrC,KAAmC,CAAC,MAAM,CAAC;gBAC1C,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,gBAAQ,CAAC,GAAG,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,IAAA,4BAAU,EAAC,KAAsC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAsC,IAA8B;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAO,MAAoB,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAsC,EAA0B,EAAE,IAA8B;QAC/G,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,eAAe;QACf,IAAI,IAAA,uBAAK,EAAC,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACtC,IAAA,yBAAO,EAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,oDAAoD;QACpD,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAG,IAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpC,IAAI,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAQ,CAAC;QAE1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,MAAO,MAAoB,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAsC,IAA+B;QACjF,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,oDAAoD;QACpD,4DAA4D;QAC5D,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,MAAM,KAAK,GAAI,IAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEpC,IAAI,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAQ,CAAC;QAE1C,IAAI,CAAC,MAAM,EAAE,CAAC;YAEZ,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,oFAAoF;YACpF,8EAA8E;YAC9E,+CAA+C;YAC/C,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC7D,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;oBACvB,OAAQ,SAAiB,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAsC,EAAO;QACvD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAC5E,eAAe;QACf,IAAI,IAAA,uBAAK,EAAC,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACtC,IAAA,yBAAO,EAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAC/B,IAAA,2BAAS,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW,CAA2F,MAAuC,EAAE,QAAwC;QACrL,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE/D,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAA2F,MAAuC,EAAE,QAAwC;QACxL,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE/D,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAsC,QAA8C;QAC7F,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAC5E,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAS,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAwC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CAAsC,QAA8C;QAC5F,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAC5E,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAS,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAwC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAsC,QAA8C;QAC9F,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,oBAAS,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,4BAAY,CAAC,qEAAqE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAwC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAsC,QAA8C;QAC9F,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE5E,IAAI,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,oBAAS,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,4BAAY,CAAC,qEAAqE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAwC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,KAAK,CAAsC,QAA8C;QAC7F,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,yBAAW,EAAC,IAAW,EAAE,gCAAkB,CAAC,CAAC;QAE/D,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE1B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,EAAqB,CAAC;QAC/D,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAsC,QAA2C;QAChG,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,MAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EAAc,EAAE,KAA6B,EAAE,EAAE;IAClF,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC;AAFW,QAAA,kBAAkB,GAAlB,kBAAkB,CAE7B;AAEF,OAAE,CAAC,QAAQ,CAAC,QAAA,kBAAkB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}