@rudderjs/orm 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -109,6 +109,65 @@ const user = await User.create({ name: 'Alice', email: 'alice@example.com' })
109
109
 
110
110
  ---
111
111
 
112
+ ## Relations
113
+
114
+ Eager loading is delegated to the adapter — Prisma's `include` / `select` and Drizzle's `with()` are already type-safe and support depth, ordering, and selective columns. The ORM ships a thin **lazy fluent fetch** API on top: declare the relation on `static relations` and call `instance.related(name)` to get a chainable QueryBuilder scoped to the parent record.
115
+
116
+ ```ts
117
+ class User extends Model {
118
+ static override relations = {
119
+ posts: { type: 'hasMany', model: () => Post, foreignKey: 'authorId' },
120
+ team: { type: 'belongsTo', model: () => Team, foreignKey: 'teamId' },
121
+ phone: { type: 'hasOne', model: () => Phone, foreignKey: 'userId' },
122
+ roles: { type: 'belongsToMany', model: () => Role, pivotTable: 'role_user' },
123
+ } as const
124
+ }
125
+
126
+ const user = await User.find(1)
127
+ const recentPosts = await user!.related('posts').orderBy('createdAt', 'desc').limit(5).get()
128
+ const team = await user!.related('team').first()
129
+
130
+ // Many-to-many: chainable read filtered through the pivot
131
+ const activeRoles = await user!.related('roles').where('active', true).get()
132
+
133
+ // Pivot mutations on the auto-generated per-relation accessor
134
+ await user!.roles().attach([1, 2, 3])
135
+ await user!.roles().attach([1], { addedBy: 'admin' })
136
+ await user!.roles().detach([2])
137
+ const result = await user!.roles().sync([1, 3, 5])
138
+ // → { attached: [3, 5], detached: [2] }
139
+ ```
140
+
141
+ Supported types: `hasOne`, `hasMany`, `belongsTo`, `belongsToMany`. Polymorphic relations are out of scope. Defaults: `foreignKey` → `<parentClassName>Id` for `hasOne`/`hasMany`, `<relatedClassName>Id` for `belongsTo`. For `belongsToMany`, `pivotTable` is required; `foreignPivotKey` / `relatedPivotKey` default to camelCase of each side's class name + `Id`. The `model: () => Class` thunk avoids circular-import issues.
142
+
143
+ `belongsToMany` v1 limitations: pivot columns are not surfaced on read results (write side only), no `withTimestamps`, no polymorphic `morphToMany`. Mutations on the deferred read query (`create`/`update`/`delete`/`insertMany`/`deleteAll`) throw — write the pivot via the accessor and write the related rows via the related model directly.
144
+
145
+ ---
146
+
147
+ ## Route model binding
148
+
149
+ Models opt into route binding by exposing `static routeKey` (defaults to `'id'`) and `static findForRoute(value)`. The router's `router.bind(name, ModelClass)` API picks them up:
150
+
151
+ ```ts
152
+ // Model
153
+ class Post extends Model {
154
+ static override routeKey = 'slug'
155
+
156
+ // Optional override — apply additional constraints.
157
+ static override async findForRoute(value: string) {
158
+ return await this.where('slug', value).where('publishedAt', '!=', null).first()
159
+ }
160
+ }
161
+
162
+ // routes/web.ts
163
+ router.bind('post', Post)
164
+ router.get('/posts/:post', (req) => req.bound!['post'])
165
+ ```
166
+
167
+ Returns `null` when not found — the router translates that into a `RouteModelNotFoundError`. See the [routing guide](https://github.com/rudderjs/rudder/blob/main/docs/guide/routing.md#route-model-binding) for the full router-side contract.
168
+
169
+ ---
170
+
112
171
  ## Attribute Casts
113
172
 
114
173
  Casts automatically transform attribute values when reading from and writing to the database.
@@ -76,6 +76,87 @@ await Post.restore(id)
76
76
  await Post.forceDelete(id)
77
77
  ```
78
78
 
79
+ ### Hydrated instances
80
+
81
+ Every read path (`find`/`first`/`all`/`paginate`/`where(...).first()`/`where(...).get()`/`create`/`update`/`restore`/`firstOrCreate`/`updateOrCreate`) returns Model instances — not plain records. Instance methods you define on the class work directly:
82
+
83
+ ```ts
84
+ class User extends Model {
85
+ isAdmin() { return this.role === 'admin' }
86
+ }
87
+
88
+ const user = await User.find(id)
89
+ if (user?.isAdmin()) { /* ... */ }
90
+ ```
91
+
92
+ The base Model ships with persistence + identity instance methods:
93
+
94
+ ```ts
95
+ const user = await User.find(id)
96
+
97
+ user.fill({ name: 'New' }) // mass-assign without persisting (filtered by `fillable`)
98
+ user.forceFill({ role: 'admin' }) // mass-assign WITHOUT the filter (trusted source)
99
+ await user.save() // insert if no PK; otherwise update
100
+ await user.refresh() // re-read row + replace fields in place
101
+ await user.delete() // soft-delete or hard-delete based on softDeletes
102
+ const draft = user.replicate() // unsaved clone (drops PK + timestamps)
103
+ user.is(other) // identity by table + PK
104
+ user.trashed() // true if deletedAt is set
105
+ ```
106
+
107
+ `Model.hydrate(record)` wraps a plain record (cached JSON, fixture) into a Model instance.
108
+
109
+ ### Mass assignment
110
+
111
+ `static fillable` (allowlist) and `static guarded` (denylist; `['*']` locks all) are enforced on `Model.create()`, `Model.update()`, and `instance.fill()` — keys outside the policy are silently dropped. Both default to `[]` (no enforcement). `fillable` wins when both set.
112
+
113
+ ```ts
114
+ class User extends Model {
115
+ static fillable = ['name', 'email']
116
+ }
117
+
118
+ await User.create({ name: 'A', email: 'a@x.com', isAdmin: true }) // isAdmin dropped
119
+ ```
120
+
121
+ Bypass paths:
122
+ - `instance.forceFill(data)` — skip the filter (factories, internal sync, fixtures).
123
+ - `instance.save()` after direct property assignment — `user.role = 'admin'; await user.save()` works regardless of `fillable`.
124
+
125
+ **Heads-up for `firstOrCreate(attrs, values)`:** `attrs` go through `create()` so lookup keys must be in `fillable` too — otherwise the lookup column won't be set on the new row.
126
+
127
+ ### Counters: increment / decrement
128
+
129
+ For counter columns, use the atomic `increment`/`decrement` instead of read-modify-write:
130
+
131
+ ```ts
132
+ await Post.increment(postId, 'viewCount') // +1, atomic SQL
133
+ await Post.increment(postId, 'viewCount', 5) // +5
134
+ await User.decrement(userId, 'credits', 10, { lastSeen: new Date() }) // with extras
135
+
136
+ // Instance variant — merges new value back so post.viewCount reflects it
137
+ await post.increment('viewCount')
138
+ ```
139
+
140
+ **Caveat:** `increment`/`decrement` deliberately do NOT fire `updating`/`updated`/`saving`/`saved` observers. Counter updates are a pure data-plane operation. If you need observer hooks, read the row, compute the resolved value, and call `Model.update()` instead.
141
+
142
+ ### firstOrCreate / updateOrCreate
143
+
144
+ ```ts
145
+ // Find by email; if missing, create with attrs + values merged
146
+ const user = await User.firstOrCreate(
147
+ { email: 'a@x.com' },
148
+ { name: 'Alice', role: 'user' },
149
+ )
150
+
151
+ // Find by email; if found update with values, else create with merge
152
+ const user = await User.updateOrCreate(
153
+ { email: 'a@x.com' },
154
+ { name: 'Alice', role: 'admin' },
155
+ )
156
+ ```
157
+
158
+ `firstOrCreate` filters by all keys in the first argument; the second is only used on create. `updateOrCreate` always writes the second argument. Both go through `Model.create()`/`Model.update()`, so `fillable` applies (lookup attrs must be fillable).
159
+
79
160
  ### Scopes
80
161
 
81
162
  ```ts
package/dist/index.d.ts CHANGED
@@ -42,12 +42,14 @@ export declare class ModelRegistry {
42
42
  }
43
43
  /**
44
44
  * Thrown by `Model.findOrFail()` and `Model.firstOrFail()` when no record matches.
45
- * Apps can catch this to render a 404, or let it bubble — `@rudderjs/core` maps
46
- * it to an HTTP 404 by default.
45
+ * Apps can catch this to render a custom 404, or let it bubble — `@rudderjs/core`
46
+ * picks up the duck-typed `httpStatus` and renders an HTTP 404 by default.
47
47
  */
48
48
  export declare class ModelNotFoundError extends Error {
49
49
  readonly model: string;
50
50
  readonly id?: string | number;
51
+ /** Duck-typed signal to `@rudderjs/core`'s exception handler. */
52
+ readonly httpStatus = 404;
51
53
  constructor(model: string, id?: string | number);
52
54
  }
53
55
  export type ModelEvent = 'retrieved' | 'creating' | 'created' | 'updating' | 'updated' | 'saving' | 'saved' | 'deleting' | 'deleted' | 'restoring' | 'restored';
@@ -68,6 +70,55 @@ export interface ModelObserver {
68
70
  restored?(record: Record<string, unknown>): void | Promise<void>;
69
71
  }
70
72
  type ScopeFn = (query: QueryBuilder<any>, ...args: any[]) => QueryBuilder<any>;
73
+ /**
74
+ * Thin relation declaration consumed by {@link Model.related}.
75
+ *
76
+ * Lazy `model: () => SomeModel` avoids circular imports — relation declarations
77
+ * sit on each side of the relationship and would otherwise need to reference
78
+ * each other at module evaluation time.
79
+ *
80
+ * - `hasMany` / `hasOne`: parent owns the foreign key on the related table.
81
+ * `foreignKey` is the column on the *related* table pointing back to the
82
+ * parent's primary key. Defaults to `<parentClassName>Id` (camelCased), e.g.
83
+ * `userId` for a `User`.
84
+ * - `belongsTo`: this model carries the foreign key. `foreignKey` is the column
85
+ * on *this* model holding the related row's primary key. Defaults to
86
+ * `<relatedClassName>Id`, e.g. `teamId` for `team: belongsTo(Team)`.
87
+ *
88
+ * `localKey` lets you override the column resolved on the parent side (the
89
+ * primary key by default for has*, or the foreign key for belongsTo).
90
+ *
91
+ * `belongsToMany` declares a many-to-many relation through a pivot table.
92
+ * `pivotTable` is required; the two pivot keys default to camelCase of each
93
+ * side's class name + `Id` (`User` ⇄ `Role` → `userId` / `roleId`). Reads
94
+ * route through `Model.related(name)` returning a chainable QueryBuilder on
95
+ * the related model; pivot mutations (`attach` / `detach` / `sync`) live on
96
+ * the per-relation accessor (`user.roles().attach([1,2])`) — see
97
+ * {@link Model.belongsToMany}.
98
+ */
99
+ export type RelationDefinition = {
100
+ type: 'hasOne' | 'hasMany' | 'belongsTo';
101
+ /** Lazy reference to the related model class — avoids circular imports. */
102
+ model: () => typeof Model;
103
+ /** Foreign-key column. Defaults are described in the interface comment. */
104
+ foreignKey?: string;
105
+ /** Override the local column joined against `foreignKey`. */
106
+ localKey?: string;
107
+ } | {
108
+ type: 'belongsToMany';
109
+ /** Lazy reference to the related model class — avoids circular imports. */
110
+ model: () => typeof Model;
111
+ /** Pivot table name — required. Conventionally `<a>_<b>` alphabetical. */
112
+ pivotTable: string;
113
+ /** Pivot column pointing at the parent. Default: `${camelCase(thisClass)}Id`. */
114
+ foreignPivotKey?: string;
115
+ /** Pivot column pointing at the related row. Default: `${camelCase(relatedClass)}Id`. */
116
+ relatedPivotKey?: string;
117
+ /** Column on the parent model joined against `foreignPivotKey`. Default: `primaryKey`. */
118
+ parentKey?: string;
119
+ /** Column on the related model joined against `relatedPivotKey`. Default: `Related.primaryKey`. */
120
+ relatedKey?: string;
121
+ };
71
122
  /**
72
123
  * Mark an instance property as hidden from JSON output.
73
124
  * Equivalent to adding the field name to `static hidden`.
@@ -122,6 +173,83 @@ export declare abstract class Model {
122
173
  static table: string;
123
174
  /** Primary key column */
124
175
  static primaryKey: string;
176
+ /**
177
+ * Column used to resolve a route parameter into a Model instance via
178
+ * {@link Model.findForRoute}. Defaults to the primary key. Override to
179
+ * resolve by slug, uuid, or any other unique column:
180
+ *
181
+ * ```ts
182
+ * class Post extends Model {
183
+ * static override routeKey = 'slug'
184
+ * }
185
+ * ```
186
+ *
187
+ * Then in `routes/web.ts`:
188
+ *
189
+ * ```ts
190
+ * router.bind('post', Post)
191
+ * router.get('/posts/:post', (req) => req.bound['post'])
192
+ * ```
193
+ */
194
+ static routeKey: string;
195
+ /**
196
+ * Resolve a route parameter value into a Model instance.
197
+ *
198
+ * Default implementation runs `Model.where(routeKey, value).first()`. Override
199
+ * on a subclass to apply additional constraints (auth scope, soft-delete
200
+ * behavior, etc.):
201
+ *
202
+ * ```ts
203
+ * static override async findForRoute(value: string) {
204
+ * return await this.where('slug', value)
205
+ * .where('publishedAt', '!=', null)
206
+ * .first()
207
+ * }
208
+ * ```
209
+ *
210
+ * Returns `null` when no record matches; the router translates that into a
211
+ * `RouteModelNotFoundError` (HTTP 404) for required bindings.
212
+ *
213
+ * The return type is `Model | null` rather than the generic `InstanceType<T>`
214
+ * so subclass overrides can narrow it without violating variance under
215
+ * `exactOptionalPropertyTypes`.
216
+ */
217
+ static findForRoute(value: string): Promise<Model | null>;
218
+ /**
219
+ * Relation map — a thin declaration of how each named relation joins to the
220
+ * owner model. Used by {@link Model.related} (instance) and {@link Model.with}.
221
+ *
222
+ * **This is not a substitute for the adapter's relation engine.** Prisma's
223
+ * `include` and Drizzle's `with()` already handle eager loading, joins, and
224
+ * type inference. The relation map exists for the *fluent lazy-fetch* case —
225
+ * `await user.related('posts').where('published', true).get()` — where you
226
+ * want a chainable QueryBuilder scoped to the parent record.
227
+ *
228
+ * Supported types: `hasMany`, `hasOne`, `belongsTo`, `belongsToMany`.
229
+ * Polymorphic relations are intentionally out of scope — reach for the
230
+ * adapter directly when you need them.
231
+ *
232
+ * For `belongsToMany`, pivot mutations (`attach` / `detach` / `sync`) live
233
+ * on a separate accessor — see {@link Model.belongsToMany}. `related()`
234
+ * returns the related rows already filtered through the pivot, so callers
235
+ * can chain `where`/`orderBy`/`paginate` without seeing the pivot.
236
+ *
237
+ * @example
238
+ * class User extends Model {
239
+ * static override relations = {
240
+ * posts: { type: 'hasMany', model: () => Post, foreignKey: 'authorId' },
241
+ * team: { type: 'belongsTo', model: () => Team, foreignKey: 'teamId' },
242
+ * phone: { type: 'hasOne', model: () => Phone, foreignKey: 'userId' },
243
+ * roles: { type: 'belongsToMany', model: () => Role, pivotTable: 'role_user' },
244
+ * } as const
245
+ * }
246
+ *
247
+ * const user = await User.find(1)
248
+ * await user!.related('posts').where('published', true).get()
249
+ * await user!.related('roles').orderBy('name').get()
250
+ * await user!.roles().attach([1, 2, 3])
251
+ */
252
+ static relations: Record<string, RelationDefinition>;
125
253
  /** Columns to hide from JSON output */
126
254
  static hidden: string[];
127
255
  /**
@@ -372,6 +500,46 @@ export declare abstract class Model {
372
500
  isNot(other: Model | null | undefined): boolean;
373
501
  /** True when this instance has been soft-deleted (its `deletedAt` is set). */
374
502
  trashed(): boolean;
503
+ /**
504
+ * Lazy-fetch a related record (or set of records) as a chainable query.
505
+ *
506
+ * Looks up the relation declared on `static relations`, builds a
507
+ * {@link QueryBuilder} on the related model already filtered to this
508
+ * instance, and returns it. Call any builder method (`where`, `orderBy`,
509
+ * `first`, `get`, `paginate`, ...) to finalize the query.
510
+ *
511
+ * For eager loading, prefer the adapter's native `with()` / `include` /
512
+ * `select` — this method is for the deferred, fluent case.
513
+ *
514
+ * @example
515
+ * const user = await User.find(1)
516
+ * const recent = await user!.related('posts').orderBy('createdAt', 'desc').limit(5).get()
517
+ *
518
+ * @throws Error when the relation is not declared on `static relations`.
519
+ * @throws Error when `belongsTo` is used and this instance has no value for
520
+ * the foreign-key column.
521
+ */
522
+ related(name: string): QueryBuilder<Model>;
523
+ /**
524
+ * Pivot-mutation accessor for a `belongsToMany` relation.
525
+ *
526
+ * Most callers use the auto-generated per-relation method
527
+ * (`user.roles().attach([1, 2])`) installed when the parent model is
528
+ * first queried. This static is the public-facing alias the
529
+ * auto-method dispatches to — call it directly when you want to define
530
+ * a typed wrapper on your Model subclass:
531
+ *
532
+ * ```ts
533
+ * class User extends Model {
534
+ * static override relations = {
535
+ * roles: { type: 'belongsToMany' as const, model: () => Role, pivotTable: 'role_user' },
536
+ * }
537
+ * // Override for typing — same behavior as the auto-generated method.
538
+ * roles() { return Model.belongsToMany(this, 'roles') }
539
+ * }
540
+ * ```
541
+ */
542
+ static belongsToMany(parent: Model, name: string): BelongsToManyAccessor;
375
543
  /** @internal — apply cast setters and attribute mutators to an incoming data payload */
376
544
  private static _applyMutators;
377
545
  /**
@@ -407,4 +575,47 @@ export declare abstract class Model {
407
575
  mergeHidden(keys: string[]): this;
408
576
  toJSON(): Record<string, unknown>;
409
577
  }
578
+ /**
579
+ * Helper for `Model.belongsToMany` — accepts both flat pivot data
580
+ * (same row written for every id) and a per-id map.
581
+ *
582
+ * Flat: `attach([1, 2, 3], { addedBy: 'admin' })`
583
+ * Per-id: `attach({ 1: { addedBy: 'admin' }, 2: { addedBy: 'system' } })`
584
+ */
585
+ type AttachInput = ReadonlyArray<number | string> | Record<string | number, Record<string, unknown>>;
586
+ /**
587
+ * Per-relation accessor for a `belongsToMany` relation. Returned from
588
+ * {@link Model.belongsToMany} and from the auto-generated prototype
589
+ * methods.
590
+ *
591
+ * `attach` writes new pivot rows. `detach` removes pivot rows. `sync`
592
+ * diffs the current pivot ids against the requested set and runs
593
+ * `attach`/`detach` for the difference.
594
+ */
595
+ export interface BelongsToManyAccessor {
596
+ /**
597
+ * Insert pivot rows. Accepts a list of ids (with optional flat pivot data
598
+ * applied to every row) or a per-id map keyed by related id with that
599
+ * row's pivot data.
600
+ *
601
+ * Empty input is a no-op — no INSERT, no error.
602
+ */
603
+ attach(input: AttachInput, flatPivot?: Record<string, unknown>): Promise<void>;
604
+ /**
605
+ * Delete pivot rows. With ids, deletes only the matching pivot rows.
606
+ * With no args, deletes all pivot rows for this parent.
607
+ */
608
+ detach(ids?: ReadonlyArray<number | string>): Promise<number>;
609
+ /**
610
+ * Diff the current pivot set against `desiredIds` — attach the missing,
611
+ * detach what's no longer present. Optional flat pivot data is written
612
+ * onto the *new* pivot rows only; existing rows are not modified.
613
+ *
614
+ * Returns counts of what changed.
615
+ */
616
+ sync(desiredIds: ReadonlyArray<number | string>, flatPivot?: Record<string, unknown>): Promise<{
617
+ attached: unknown[];
618
+ detached: unknown[];
619
+ }>;
620
+ }
410
621
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -37,6 +37,7 @@ export class ModelRegistry {
37
37
  if (!name || this.models.has(name))
38
38
  return;
39
39
  this.models.set(name, ModelClass);
40
+ _installBelongsToManyMethods(ModelClass);
40
41
  for (const listener of this.listeners)
41
42
  listener(name, ModelClass);
42
43
  }
@@ -64,12 +65,14 @@ export class ModelRegistry {
64
65
  // ─── Errors ────────────────────────────────────────────────
65
66
  /**
66
67
  * Thrown by `Model.findOrFail()` and `Model.firstOrFail()` when no record matches.
67
- * Apps can catch this to render a 404, or let it bubble — `@rudderjs/core` maps
68
- * it to an HTTP 404 by default.
68
+ * Apps can catch this to render a custom 404, or let it bubble — `@rudderjs/core`
69
+ * picks up the duck-typed `httpStatus` and renders an HTTP 404 by default.
69
70
  */
70
71
  export class ModelNotFoundError extends Error {
71
72
  model;
72
73
  id;
74
+ /** Duck-typed signal to `@rudderjs/core`'s exception handler. */
75
+ httpStatus = 404;
73
76
  constructor(model, id) {
74
77
  super(id !== undefined
75
78
  ? `[RudderJS ORM] No ${model} found for id ${String(id)}.`
@@ -161,6 +164,85 @@ export class Model {
161
164
  static table;
162
165
  /** Primary key column */
163
166
  static primaryKey = 'id';
167
+ /**
168
+ * Column used to resolve a route parameter into a Model instance via
169
+ * {@link Model.findForRoute}. Defaults to the primary key. Override to
170
+ * resolve by slug, uuid, or any other unique column:
171
+ *
172
+ * ```ts
173
+ * class Post extends Model {
174
+ * static override routeKey = 'slug'
175
+ * }
176
+ * ```
177
+ *
178
+ * Then in `routes/web.ts`:
179
+ *
180
+ * ```ts
181
+ * router.bind('post', Post)
182
+ * router.get('/posts/:post', (req) => req.bound['post'])
183
+ * ```
184
+ */
185
+ static routeKey = 'id';
186
+ /**
187
+ * Resolve a route parameter value into a Model instance.
188
+ *
189
+ * Default implementation runs `Model.where(routeKey, value).first()`. Override
190
+ * on a subclass to apply additional constraints (auth scope, soft-delete
191
+ * behavior, etc.):
192
+ *
193
+ * ```ts
194
+ * static override async findForRoute(value: string) {
195
+ * return await this.where('slug', value)
196
+ * .where('publishedAt', '!=', null)
197
+ * .first()
198
+ * }
199
+ * ```
200
+ *
201
+ * Returns `null` when no record matches; the router translates that into a
202
+ * `RouteModelNotFoundError` (HTTP 404) for required bindings.
203
+ *
204
+ * The return type is `Model | null` rather than the generic `InstanceType<T>`
205
+ * so subclass overrides can narrow it without violating variance under
206
+ * `exactOptionalPropertyTypes`.
207
+ */
208
+ static async findForRoute(value) {
209
+ return Model._q(this).where(this.routeKey, value).first();
210
+ }
211
+ /**
212
+ * Relation map — a thin declaration of how each named relation joins to the
213
+ * owner model. Used by {@link Model.related} (instance) and {@link Model.with}.
214
+ *
215
+ * **This is not a substitute for the adapter's relation engine.** Prisma's
216
+ * `include` and Drizzle's `with()` already handle eager loading, joins, and
217
+ * type inference. The relation map exists for the *fluent lazy-fetch* case —
218
+ * `await user.related('posts').where('published', true).get()` — where you
219
+ * want a chainable QueryBuilder scoped to the parent record.
220
+ *
221
+ * Supported types: `hasMany`, `hasOne`, `belongsTo`, `belongsToMany`.
222
+ * Polymorphic relations are intentionally out of scope — reach for the
223
+ * adapter directly when you need them.
224
+ *
225
+ * For `belongsToMany`, pivot mutations (`attach` / `detach` / `sync`) live
226
+ * on a separate accessor — see {@link Model.belongsToMany}. `related()`
227
+ * returns the related rows already filtered through the pivot, so callers
228
+ * can chain `where`/`orderBy`/`paginate` without seeing the pivot.
229
+ *
230
+ * @example
231
+ * class User extends Model {
232
+ * static override relations = {
233
+ * posts: { type: 'hasMany', model: () => Post, foreignKey: 'authorId' },
234
+ * team: { type: 'belongsTo', model: () => Team, foreignKey: 'teamId' },
235
+ * phone: { type: 'hasOne', model: () => Phone, foreignKey: 'userId' },
236
+ * roles: { type: 'belongsToMany', model: () => Role, pivotTable: 'role_user' },
237
+ * } as const
238
+ * }
239
+ *
240
+ * const user = await User.find(1)
241
+ * await user!.related('posts').where('published', true).get()
242
+ * await user!.related('roles').orderBy('name').get()
243
+ * await user!.roles().attach([1, 2, 3])
244
+ */
245
+ static relations = {};
164
246
  /** Columns to hide from JSON output */
165
247
  static hidden = [];
166
248
  /**
@@ -841,6 +923,100 @@ export class Model {
841
923
  const v = this['deletedAt'];
842
924
  return v !== null && v !== undefined;
843
925
  }
926
+ // ── Relations ──────────────────────────────────────────
927
+ /**
928
+ * Lazy-fetch a related record (or set of records) as a chainable query.
929
+ *
930
+ * Looks up the relation declared on `static relations`, builds a
931
+ * {@link QueryBuilder} on the related model already filtered to this
932
+ * instance, and returns it. Call any builder method (`where`, `orderBy`,
933
+ * `first`, `get`, `paginate`, ...) to finalize the query.
934
+ *
935
+ * For eager loading, prefer the adapter's native `with()` / `include` /
936
+ * `select` — this method is for the deferred, fluent case.
937
+ *
938
+ * @example
939
+ * const user = await User.find(1)
940
+ * const recent = await user!.related('posts').orderBy('createdAt', 'desc').limit(5).get()
941
+ *
942
+ * @throws Error when the relation is not declared on `static relations`.
943
+ * @throws Error when `belongsTo` is used and this instance has no value for
944
+ * the foreign-key column.
945
+ */
946
+ related(name) {
947
+ const ctor = this.constructor;
948
+ const def = ctor.relations[name];
949
+ if (!def) {
950
+ throw new Error(`[RudderJS ORM] Relation "${name}" is not defined on ${ctor.name}.`);
951
+ }
952
+ const Related = def.model();
953
+ const fkCamel = (s) => s.charAt(0).toLowerCase() + s.slice(1);
954
+ if (def.type === 'belongsToMany') {
955
+ const meta = _resolveBelongsToManyMeta(ctor, Related, def);
956
+ const parentVal = this[meta.parentKey];
957
+ if (parentVal === undefined || parentVal === null) {
958
+ throw new Error(`[RudderJS ORM] Cannot resolve "${name}" on ${ctor.name} — ${meta.parentKey} is unset.`);
959
+ }
960
+ return _belongsToManyDeferredQb(Related, def, meta, parentVal);
961
+ }
962
+ if (def.type === 'belongsTo') {
963
+ // This model holds the FK; query the related model's PK.
964
+ const fk = def.foreignKey ?? `${fkCamel(Related.name)}Id`;
965
+ const localCol = def.localKey ?? fk;
966
+ const localVal = this[localCol];
967
+ if (localVal === undefined || localVal === null) {
968
+ throw new Error(`[RudderJS ORM] Cannot resolve belongsTo "${name}" — ${ctor.name}.${localCol} is unset.`);
969
+ }
970
+ return Related.where(Related.primaryKey, localVal);
971
+ }
972
+ // hasOne / hasMany — related model holds the FK pointing back to us.
973
+ const fk = def.foreignKey ?? `${fkCamel(ctor.name)}Id`;
974
+ const localCol = def.localKey ?? ctor.primaryKey;
975
+ const localVal = this[localCol];
976
+ if (localVal === undefined || localVal === null) {
977
+ throw new Error(`[RudderJS ORM] Cannot resolve "${name}" on ${ctor.name} — ${localCol} is unset.`);
978
+ }
979
+ return Related.where(fk, localVal);
980
+ }
981
+ /**
982
+ * Pivot-mutation accessor for a `belongsToMany` relation.
983
+ *
984
+ * Most callers use the auto-generated per-relation method
985
+ * (`user.roles().attach([1, 2])`) installed when the parent model is
986
+ * first queried. This static is the public-facing alias the
987
+ * auto-method dispatches to — call it directly when you want to define
988
+ * a typed wrapper on your Model subclass:
989
+ *
990
+ * ```ts
991
+ * class User extends Model {
992
+ * static override relations = {
993
+ * roles: { type: 'belongsToMany' as const, model: () => Role, pivotTable: 'role_user' },
994
+ * }
995
+ * // Override for typing — same behavior as the auto-generated method.
996
+ * roles() { return Model.belongsToMany(this, 'roles') }
997
+ * }
998
+ * ```
999
+ */
1000
+ static belongsToMany(parent, name) {
1001
+ const ctor = parent.constructor;
1002
+ const def = ctor.relations[name];
1003
+ if (!def) {
1004
+ throw new Error(`[RudderJS ORM] Relation "${name}" is not defined on ${ctor.name}.`);
1005
+ }
1006
+ if (def.type !== 'belongsToMany') {
1007
+ throw new Error(`[RudderJS ORM] Relation "${name}" on ${ctor.name} is "${def.type}", not "belongsToMany".`);
1008
+ }
1009
+ const Related = def.model();
1010
+ const meta = _resolveBelongsToManyMeta(ctor, Related, def);
1011
+ const parentVal = parent[meta.parentKey];
1012
+ if (parentVal === undefined || parentVal === null) {
1013
+ throw new Error(`[RudderJS ORM] Cannot use belongsToMany "${name}" on ${ctor.name} — ${meta.parentKey} is unset.`);
1014
+ }
1015
+ // Belt-and-suspenders: make sure the auto-method is installed even
1016
+ // for instances constructed before any query against this class.
1017
+ _installBelongsToManyMethods(ctor);
1018
+ return _makeBelongsToManyAccessor(ctor, Related, def, parentVal);
1019
+ }
844
1020
  // ── Cast / Mutator helpers ─────────────────────────────
845
1021
  /** @internal — apply cast setters and attribute mutators to an incoming data payload */
846
1022
  static _applyMutators(data) {
@@ -956,6 +1132,191 @@ export class Model {
956
1132
  return Object.fromEntries(Object.entries(result).filter(([k]) => !effectiveHidden.includes(k)));
957
1133
  }
958
1134
  }
1135
+ function _camelHead(s) {
1136
+ return s.charAt(0).toLowerCase() + s.slice(1);
1137
+ }
1138
+ function _resolveBelongsToManyMeta(Parent, Related, def) {
1139
+ return {
1140
+ pivotTable: def.pivotTable,
1141
+ foreignPivotKey: def.foreignPivotKey ?? `${_camelHead(Parent.name)}Id`,
1142
+ relatedPivotKey: def.relatedPivotKey ?? `${_camelHead(Related.name)}Id`,
1143
+ parentKey: def.parentKey ?? Parent.primaryKey,
1144
+ relatedKey: def.relatedKey ?? Related.primaryKey,
1145
+ };
1146
+ }
1147
+ const _CHAIN_METHODS = new Set([
1148
+ 'where', 'orWhere', 'orderBy', 'limit', 'offset', 'with', 'withTrashed', 'onlyTrashed',
1149
+ ]);
1150
+ const _TERMINAL_METHODS = new Set([
1151
+ 'first', 'find', 'get', 'all', 'count', 'paginate',
1152
+ ]);
1153
+ const _UNSUPPORTED_TERMINALS = new Set([
1154
+ 'create', 'update', 'delete', 'restore', 'forceDelete', 'increment', 'decrement', 'insertMany', 'deleteAll',
1155
+ ]);
1156
+ function _replayChain(q, recorded) {
1157
+ let cur = q;
1158
+ for (const [m, args] of recorded) {
1159
+ const fn = cur[m];
1160
+ if (fn)
1161
+ cur = fn.apply(cur, args);
1162
+ }
1163
+ return cur;
1164
+ }
1165
+ function _belongsToManyDeferredQb(Related, _def, meta, parentVal) {
1166
+ const recorded = [];
1167
+ const buildResolved = async () => {
1168
+ const adapter = ModelRegistry.getAdapter();
1169
+ const pivotRows = await adapter
1170
+ .query(meta.pivotTable)
1171
+ .where(meta.foreignPivotKey, parentVal)
1172
+ .get();
1173
+ const ids = pivotRows.map(r => r[meta.relatedPivotKey]);
1174
+ // Empty IN list — short-circuit with a guaranteed-empty query so
1175
+ // adapters don't have to handle the edge case.
1176
+ const q = Related.query()
1177
+ .where(meta.relatedKey, 'IN', ids.length === 0 ? [] : ids);
1178
+ return _replayChain(q, recorded);
1179
+ };
1180
+ const proxy = new Proxy({}, {
1181
+ get(_t, prop) {
1182
+ const name = String(prop);
1183
+ if (_CHAIN_METHODS.has(name)) {
1184
+ return (...args) => {
1185
+ recorded.push([name, args]);
1186
+ return proxy;
1187
+ };
1188
+ }
1189
+ if (_TERMINAL_METHODS.has(name)) {
1190
+ return async (...args) => {
1191
+ const q = await buildResolved();
1192
+ const fn = q[name];
1193
+ return fn ? fn.apply(q, args) : undefined;
1194
+ };
1195
+ }
1196
+ if (_UNSUPPORTED_TERMINALS.has(name)) {
1197
+ return () => {
1198
+ throw new Error(`[RudderJS ORM] "${name}" is not supported on a belongsToMany lazy-fetch query. ` +
1199
+ `Use Model.belongsToMany(parent, name) for pivot mutations or call methods on the related Model directly.`);
1200
+ };
1201
+ }
1202
+ return undefined;
1203
+ },
1204
+ });
1205
+ return proxy;
1206
+ }
1207
+ function _normalizeAttachInput(input, foreignPivotKey, parentVal, relatedPivotKey, flatPivot) {
1208
+ const rows = [];
1209
+ if (Array.isArray(input)) {
1210
+ for (const id of input) {
1211
+ rows.push({
1212
+ ...(flatPivot ?? {}),
1213
+ [foreignPivotKey]: parentVal,
1214
+ [relatedPivotKey]: id,
1215
+ });
1216
+ }
1217
+ }
1218
+ else {
1219
+ for (const [id, perIdPivot] of Object.entries(input)) {
1220
+ // Normalize numeric-string keys back to numbers when possible — JS
1221
+ // object keys are always strings; the pivot column may be int.
1222
+ const idVal = /^\d+$/.test(id) ? Number(id) : id;
1223
+ rows.push({
1224
+ ...perIdPivot,
1225
+ [foreignPivotKey]: parentVal,
1226
+ [relatedPivotKey]: idVal,
1227
+ });
1228
+ }
1229
+ }
1230
+ return rows;
1231
+ }
1232
+ function _idsFromAttachInput(input) {
1233
+ if (Array.isArray(input))
1234
+ return [...input];
1235
+ return Object.keys(input).map(k => /^\d+$/.test(k) ? Number(k) : k);
1236
+ }
1237
+ function _makeBelongsToManyAccessor(Parent, Related, def, parentVal) {
1238
+ const meta = _resolveBelongsToManyMeta(Parent, Related, def);
1239
+ return {
1240
+ async attach(input, flatPivot) {
1241
+ const ids = _idsFromAttachInput(input);
1242
+ if (ids.length === 0)
1243
+ return;
1244
+ const rows = _normalizeAttachInput(input, meta.foreignPivotKey, parentVal, meta.relatedPivotKey, flatPivot);
1245
+ await ModelRegistry.getAdapter()
1246
+ .query(meta.pivotTable)
1247
+ .insertMany(rows);
1248
+ },
1249
+ async detach(ids) {
1250
+ const adapter = ModelRegistry.getAdapter();
1251
+ let q = adapter
1252
+ .query(meta.pivotTable)
1253
+ .where(meta.foreignPivotKey, parentVal);
1254
+ if (ids !== undefined) {
1255
+ if (ids.length === 0)
1256
+ return 0;
1257
+ q = q.where(meta.relatedPivotKey, 'IN', [...ids]);
1258
+ }
1259
+ return q.deleteAll();
1260
+ },
1261
+ async sync(desiredIds, flatPivot) {
1262
+ const adapter = ModelRegistry.getAdapter();
1263
+ const currentRows = await adapter
1264
+ .query(meta.pivotTable)
1265
+ .where(meta.foreignPivotKey, parentVal)
1266
+ .get();
1267
+ const current = new Set(currentRows.map(r => r[meta.relatedPivotKey]));
1268
+ const desired = new Set(desiredIds);
1269
+ const attached = [];
1270
+ const detached = [];
1271
+ for (const id of desired)
1272
+ if (!current.has(id))
1273
+ attached.push(id);
1274
+ for (const id of current)
1275
+ if (!desired.has(id))
1276
+ detached.push(id);
1277
+ if (attached.length > 0) {
1278
+ const rows = attached.map(id => ({
1279
+ ...(flatPivot ?? {}),
1280
+ [meta.foreignPivotKey]: parentVal,
1281
+ [meta.relatedPivotKey]: id,
1282
+ }));
1283
+ await adapter.query(meta.pivotTable).insertMany(rows);
1284
+ }
1285
+ if (detached.length > 0) {
1286
+ await adapter
1287
+ .query(meta.pivotTable)
1288
+ .where(meta.foreignPivotKey, parentVal)
1289
+ .where(meta.relatedPivotKey, 'IN', detached)
1290
+ .deleteAll();
1291
+ }
1292
+ return { attached, detached };
1293
+ },
1294
+ };
1295
+ }
1296
+ /**
1297
+ * Install per-relation prototype methods for every `belongsToMany` entry
1298
+ * declared on `static relations`. Idempotent — won't overwrite a method
1299
+ * the author already defined (typing escape hatch).
1300
+ *
1301
+ * Called on first query (via `ModelRegistry.register`) and once more
1302
+ * defensively from `Model.belongsToMany` so apps that construct instances
1303
+ * without ever querying still get the auto-method.
1304
+ */
1305
+ function _installBelongsToManyMethods(ModelClass) {
1306
+ for (const [name, def] of Object.entries(ModelClass.relations)) {
1307
+ if (def.type !== 'belongsToMany')
1308
+ continue;
1309
+ if (Object.prototype.hasOwnProperty.call(ModelClass.prototype, name))
1310
+ continue;
1311
+ Object.defineProperty(ModelClass.prototype, name, {
1312
+ configurable: true,
1313
+ writable: true,
1314
+ value() {
1315
+ return Model.belongsToMany(this, name);
1316
+ },
1317
+ });
1318
+ }
1319
+ }
959
1320
  // ─── Compile-time contract check ───────────────────────────
960
1321
  // Asserts that `Model`'s static surface conforms to the `ModelLike`
961
1322
  // contract from `@rudderjs/contracts`. Downstream tools (admin panels
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAuB,MAAM,WAAW,CAAA;AAKjE,OAAO,EAAE,SAAS,EAAE,MAAoC,gBAAgB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAa,eAAe,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAA8B,iBAAiB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAuB,cAAc,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAuC,aAAa,CAAA;AAGrE,8DAA8D;AAE9D,MAAM,OAAO,aAAa;IAChB,MAAM,CAAC,OAAO,GAAsB,IAAI,CAAA;IACxC,MAAM,CAAC,MAAM,GAA8B,IAAI,GAAG,EAAE,CAAA;IACpD,MAAM,CAAC,SAAS,GAA0D,IAAI,GAAG,EAAE,CAAA;IAE3F,MAAM,CAAC,GAAG,CAAC,OAAmB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAA;QACtH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAwB;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAM;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACjC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACnE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,QAA0D;QAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,CAAC,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;;AAGH,8DAA8D;AAE9D;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,KAAK,CAAQ;IACb,EAAE,CAAkB;IAE7B,YAAY,KAAa,EAAE,EAAoB;QAC7C,KAAK,CAAC,EAAE,KAAK,SAAS;YACpB,CAAC,CAAC,qBAAqB,KAAK,iBAAiB,MAAM,CAAC,EAAE,CAAC,GAAG;YAC1D,CAAC,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACpC,CAAC;CACF;AAgCD,8DAA8D;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,GAAoB;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,WAA2B,CAAA;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,GAAoB;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,WAA2B,CAAA;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAChC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,GAAoB;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,WAA2B,CAAA;IAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAAC,IAAoB;IACvC,OAAO,CAAC,MAAc,EAAE,GAAoB,EAAQ,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,WAA2B,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAA;QACxC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAChC,CAAC,CAAA;AACH,CAAC;AAED,8DAA8D;AAE9D,MAAM,OAAgB,KAAK;IACzB,8DAA8D;IAC9D,MAAM,CAAC,KAAK,CAAQ;IAEpB,yBAAyB;IACzB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;IAExB,uCAAuC;IACvC,MAAM,CAAC,MAAM,GAAa,EAAE,CAAA;IAE5B;;;;OAIG;IACH,MAAM,CAAC,OAAO,GAAa,EAAE,CAAA;IAE7B;;;OAGG;IACH,MAAM,CAAC,OAAO,GAAa,EAAE,CAAA;IAE7B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,GAAmC,EAAE,CAAA;IAEjD;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,GAA8B,EAAE,CAAA;IAEjD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,QAAQ,GAAa,EAAE,CAAA;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,GAAa,EAAE,CAAA;IAE7B;;;;;;;;OAQG;IACH,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE1B,0DAA0D;IAC1D,EAAE;IACF,+DAA+D;IAC/D,oEAAoE;IACpE,qEAAqE;IAErE,gBAAgB;IAChB,eAAe,CAAW;IAC1B,gBAAgB;IAChB,gBAAgB,CAAW;IAE3B,0DAA0D;IAE1D,MAAM,CAAC,YAAY,GAA4B,EAAE,CAAA;IACjD,MAAM,CAAC,MAAM,GAA4B,EAAE,CAAA;IAE3C,0DAA0D;IAE1D,gBAAgB;IACR,MAAM,CAAC,UAAU,GAAoB,EAAE,CAAA;IAE/C,gBAAgB;IAChB,8DAA8D;IACtD,MAAM,CAAC,UAAU,GAAoD,IAAI,GAAG,EAAE,CAAA;IAEtF,+EAA+E;IACvE,MAAM,CAAC,YAAY,GAAG,KAAK,CAAA;IAEnC,MAAM,CAAC,OAAO,CAAC,aAAsC;QACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,EAAE,CAAC,KAAiB,EAAE,OAAgC;QAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAiB,EAAE,GAAG,IAAW;QAC/D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpF,+DAA+D;YAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QAED,mEAAmE;QACnE,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QACjG,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,KAA4B,CAA+C,CAAA;YAC9F,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;gBAC3C,IAAI,GAAG,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAA;gBAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,MAAM,GAAG,GAAG,CAAA;YAChF,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;YACxE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpC,CAAC,CAAC,EAAE,CAAA;QACN,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,mEAAmE;YACnE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;YAC7B,IAAI,GAAG,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAA;YAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAA;QAChF,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;IAC7B,CAAC;IAED,0DAA0D;IAE1D,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA;IACpD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,CAAkC,MAAe;QAC7D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QACxD,IAAI,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI;YAAE,OAAO,MAAyB,CAAA;QAC5F,MAAM,IAAI,GAAG,IAA4C,CAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,kFAAkF;IAC1E,MAAM,CAAC,YAAY,CAAyB,IAAO,EAAE,EAAiC;QAC5F,MAAM,UAAU,GAAI,IAAoB,CAAA;QACxC,MAAM,IAAI,GAAU,CAAC,CAAU,EAAmB,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAoB,CAAA;QACxG,MAAM,SAAS,GAAK,CAAC,CAAU,EAA0B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtF,MAAM,QAAQ,GAAM,CAAC,EAAa,EAAsB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEvE,MAAM,KAAK,GAAkC,IAAI,KAAK,CAAC,EAAY,EAAE;YACnE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAY,CAAA;gBAC5D,IAAI,OAAO,KAAK,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAA;gBAE7C,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,MAAM;wBACT,OAAO,KAAK,EAAE,EAAmB,EAAmC,EAAE,CACpE,SAAS,CAAC,MAAO,MAAwC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;oBACvE,KAAK,OAAO;wBACV,OAAO,KAAK,IAAqC,EAAE,CACjD,SAAS,CAAC,MAAO,MAAwC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACtE,KAAK,KAAK;wBACR,OAAO,KAAK,IAAgC,EAAE,CAC5C,QAAQ,CAAC,MAAO,MAAwC,CAAC,GAAG,EAAE,CAAC,CAAA;oBACnE,KAAK,KAAK;wBACR,OAAO,KAAK,IAAgC,EAAE,CAC5C,QAAQ,CAAC,MAAO,MAAwC,CAAC,GAAG,EAAE,CAAC,CAAA;oBACnE,KAAK,UAAU;wBACb,OAAO,KAAK,EAAE,IAAa,EAAE,OAAgB,EAA6C,EAAE;4BAC1F,MAAM,CAAC,GAAG,MAAO,MAAwC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;4BACtF,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;wBACzC,CAAC,CAAA;oBACH,KAAK,QAAQ;wBACX,OAAO,KAAK,EAAE,IAA8B,EAA4B,EAAE,CACxE,IAAI,CAAC,MAAO,MAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;oBACtE,KAAK,QAAQ;wBACX,OAAO,KAAK,EAAE,EAAmB,EAAE,IAA8B,EAA4B,EAAE,CAC7F,IAAI,CAAC,MAAO,MAAwC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;oBAC1E,KAAK,SAAS;wBACZ,OAAO,KAAK,EAAE,EAAmB,EAA4B,EAAE,CAC7D,IAAI,CAAC,MAAO,MAAwC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;oBACrE,KAAK,WAAW;wBACd,OAAO,KAAK,EAAE,EAAmB,EAAE,MAAc,EAAE,MAAe,EAAE,KAA+B,EAA4B,EAAE,CAC/H,IAAI,CAAC,MAAO,MAAwC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;oBAC9F,KAAK,WAAW;wBACd,OAAO,KAAK,EAAE,EAAmB,EAAE,MAAc,EAAE,MAAe,EAAE,KAA+B,EAA4B,EAAE,CAC/H,IAAI,CAAC,MAAO,MAAwC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;oBAC9F;wBACE,yEAAyE;wBACzE,4DAA4D;wBAC5D,OAAO,CAAC,GAAG,IAAe,EAAW,EAAE;4BACrC,iEAAiE;4BACjE,MAAM,MAAM,GAAI,KAAsC,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;4BAC1E,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;wBAC3C,CAAC,CAAA;gBACL,CAAC;YACH,CAAC;SACF,CAAkC,CAAA;QAEnC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,KAAK;QACV,aAAa,CAAC,QAAQ,CAAC,IAA+B,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,IAAoB,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAA;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;QAC5C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;QAExC,MAAM,WAAW,GAAG,GAAkC,EAAE;YACtD,IAAI,GAAG,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,KAAK,CAAkB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClF,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC3B,8DAA8D;gBAC7D,GAAW,CAAC,kBAAkB,EAAE,EAAE,CAAA;YACrC,CAAC;YACD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAkC,CAAA;gBACrD,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACtC,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,CAAgC,EAA+K,EAAE;YAChO,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,CAAQ,CAAA;YACzB,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAY,EAAE,GAAG,IAAe,EAAE,EAAE;gBACpD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,uBAAuB,UAAU,CAAC,IAAI,GAAG,CAAC,CAAA;gBACrG,OAAO,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACnC,CAAC,CAAA;YACD,QAAQ,CAAC,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC7C,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACxB,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/B,CAAC,CAAA;YACD,+DAA+D;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAED,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAC/B,CAAC;IAEO,MAAM,CAAC,EAAE,CAAyB,IAAO;QAC/C,aAAa,CAAC,QAAQ,CAAC,IAA+B,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,IAAoB,CAAA;QACvC,IAAI,CAAC,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,KAAK,CAAkB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChF,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,8DAA8D;YAC7D,CAAS,CAAC,kBAAkB,EAAE,EAAE,CAAA;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAkC,CAAA;QACjD,CAAC;QACD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAkC,EAAmB;QACpE,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5C,IAAI,MAAM;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAiC,CAAC,CAAA;QACjF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,UAAU,CAAkC,EAAmB;QAC1E,MAAM,MAAM,GAAG,MAAO,IAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,kBAAkB,CAAE,IAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;QAC1C,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAA4B,CAAC,CAAA;QACzF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;QAC3C,IAAI,MAAM;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,MAAiC,CAAC,CAAA;QACjF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,WAAW;QACtB,MAAM,MAAM,GAAG,MAAO,IAAyB,CAAC,KAAK,EAAE,CAAA;QACvD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,kBAAkB,CAAE,IAAqB,CAAC,IAAI,CAAC,CAAA;QACtE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK;QACV,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAkC,IAAY,EAAE,OAAgB;QACnF,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAA4B,CAAC,CAAA;QAC7F,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAkC,MAAc,EAAE,KAAc;QAC1E,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAExB,KAA+B,EAC/B,SAAmC,EAAE;QAErC,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,IAAI,CAAC,GAAkC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAmC,CAAC,CAAA;YACvE,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,OAAQ,IAAyB,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAA8B,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc,CAEzB,KAA+B,EAC/B,MAAgC;QAEhC,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,IAAI,CAAC,GAAkC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,KAAK,EAAwD,CAAA;QACtF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAoB,CAAA;YACvD,OAAQ,IAAyB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACtD,CAAC;QACD,OAAQ,IAAyB,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAA8B,CAAC,CAAA;IAC/F,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAwB,EAAwB;QACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAA;QACvG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAA;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,WAAW,CAAC,GAAW;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,eAAe,CAAC,IAA6B;QAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACxE,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAkC,IAA8B;QACjF,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,CAAA;QACtE,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAA6B,CAAA;IACzE,CAAC;IAED,gFAAgF;IACxE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAkC,IAA6B;QAC3F,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjE,IAAI,cAAc,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7G,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;YAAE,OAAO,GAAG,cAAyC,CAAA;QAE7G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7D,IAAI,YAAY,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAClH,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,OAAO,GAAG,YAAuC,CAAA;QAEvG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAmC,CAAC,CAAA;QAE/E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAiC,CAAC,CAAA;QACnE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAI,MAAiC,CAAC,CAAA;QACnE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,IAAI,CAAkC,GAAG,SAAmB;QACjE,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAkC,EAAmB,EAAE,IAA8B;QACtG,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,CAAA;QACtE,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAA6B,CAAA;IAC7E,CAAC;IAED,gFAAgF;IACxE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAkC,EAAmB,EAAE,IAA6B;QAChH,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;QACrE,IAAI,cAAc,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7G,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;YAAE,OAAO,GAAG,cAAyC,CAAA;QAE7G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC7D,IAAI,YAAY,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAClH,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,OAAO,GAAG,YAAuC,CAAA;QAEvG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAmC,CAAC,CAAA;QAEnF,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAiC,CAAC,CAAA;QACnE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAI,MAAiC,CAAC,CAAA;QACnE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAkC,EAAmB;QACtE,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAErG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAkC,EAAmB;QACvE,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACrD,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAiC,CAAC,CAAA;QACpE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CAAkC,EAAmB;QAC3E,MAAM,IAAI,GAAG,IAAoB,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACpD,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAErG,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAEpB,EAAuB,EACvB,MAAc,EACd,SAAiB,CAAC,EAClB,QAAmC,EAA8B;QAEjE,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAgC,CAAC,CAAA;IACvF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CAEpB,EAAuB,EACvB,MAAc,EACd,SAAiB,CAAC,EAClB,QAAmC,EAA8B;QAEjE,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAgC,CAAC,CAAA;IACvF,CAAC;IAED,0DAA0D;IAE1D,0FAA0F;IAClF,OAAO;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,KAAK,GAAI,IAA2C,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAC3D,OAAO,KAAwB,CAAA;IACjC,CAAC;IAED;;;;OAIG;IACK,OAAO;QACb,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC/B,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAQ;YAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,EAAE,GAAK,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,8EAA8E;QAC9E,MAAM,SAAS,GAAG,EAAE,KAAK,SAAS;YAChC,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YACxC,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAmB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAA+B,CAAC,CAAA;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAmB;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;QACxF,CAAC;QACD,MAAM,KAAK,GAAG,MAAO,IAA2E,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzG,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAQ,IAA2C,CAAC,CAAC,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;QACvF,CAAC;QACD,MAAO,IAAqE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,QAAuB,EAAE;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,OAAO,GAAG,MAAO,IAErB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAgC,CAAC,CAAA;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC,EAAE,QAAuB,EAAE;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QACzB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,IAAI,yBAAyB,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,OAAO,GAAG,MAAO,IAErB,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAgC,CAAC,CAAA;QAClE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAmB,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;QACpG,MAAM,IAAI,GAAG,IAAiC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAK,KAAiC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1E,OAAQ,KAAiC,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS;gBAAE,SAC3D;YAAC,KAA4C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACH,EAAE,CAAC,KAA+B;QAChC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACrD,MAAM,IAAI,GAAI,IAAI,CAAC,WAA2B,CAAA;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,WAA2B,CAAA;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;YAAE,OAAO,KAAK,CAAA;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QACxB,MAAM,CAAC,GAAI,KAA+D,CAAC,OAAO,EAAE,CAAA;QACpF,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,KAA+B;QACnC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,8EAA8E;IAC9E,OAAO;QACL,MAAM,CAAC,GAAI,IAA2C,CAAC,WAAW,CAAC,CAAA;QACnE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAA;IACtC,CAAC;IAED,0DAA0D;IAE1D,wFAAwF;IAChF,MAAM,CAAC,cAAc,CAAC,IAA6B;QACzD,MAAM,MAAM,GAA4B,EAAE,CAAA;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,GAAG,KAAK,CAAA;YAEf,8CAA8C;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACjC,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC1D,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QACnB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,yDAAyD;IAEzD;;;;OAIG;IACH,WAAW,CAAC,IAAuB;QACjC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,IAAK,IAAI,CAAC,WAA4B,CAAC,MAAM,CAAC;aACvF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAuB;QAChC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAK,IAAI,CAAC,WAA4B,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACrG,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAc;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAc;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAc;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,IAAK,IAAI,CAAC,WAA4B,CAAC,OAAO,CAAA;QAChF,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,IAAK,IAAI,CAAC,WAA4B,CAAC,MAAM,CAAA;QAC9E,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,0DAA0D;IAE1D,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,WAA2B,CAAA;QAC7C,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;QAED,MAAM,MAAM,GAA4B,EAAE,CAAA;QAE1C,8CAA8C;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAClC,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBAC1C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpB,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAA;QAC9D,MAAM,eAAe,GAAI,IAAI,CAAC,eAAe,IAAK,IAAI,CAAC,MAAM,CAAA;QAE7D,+CAA+C;QAC/C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1F,CAAA;QACH,CAAC;QAED,0BAA0B;QAC1B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrE,CAAA;IACH,CAAC;;AAGH,8DAA8D;AAC9D,oEAAoE;AACpE,sEAAsE;AACtE,gEAAgE;AAChE,wEAAwE;AACxE,oEAAoE;AACpE,iBAAiB;AACjB,6DAA6D;AAC7D,MAAM,uBAAuB,GAAc,KAAK,CAAA;AAChD,KAAK,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/orm",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@rudderjs/contracts": "^1.1.0"
28
+ "@rudderjs/contracts": "^1.1.1"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^20.0.0",