litedbmodel 2.2.0 → 2.2.2

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
@@ -1408,7 +1408,7 @@ const article = await CmsDB.withWriter(async () => {
1408
1408
  | **IDE Refactoring** | ✅ | ❌ | ⚠️ Partial | ❌ | ❌ |
1409
1409
  | **SKIP Pattern** | ✅ | ❌ | ❌ | ❌ | ❌ |
1410
1410
  | **Extensibility** | Middleware | Plugins | ❌ Manual | Subscribers | Extensions |
1411
- | **Performance** | 🏆 Fastest (9/19 wins) | Fast | Fast | Medium | Slow |
1411
+ | **Performance** | 🏆 Fastest overall ([benchmarks](./docs/BENCHMARK.md)) | Fast | Fast | Medium | Slow |
1412
1412
 
1413
1413
  > See [COMPARISON.md](./docs/COMPARISON.md) for detailed analysis and [BENCHMARK.md](./docs/BENCHMARK.md) for benchmarks.
1414
1414
 
package/dist/index.cjs CHANGED
@@ -5993,7 +5993,7 @@ function spliceWhere(baseSql, whereSql) {
5993
5993
  return tail === null ? baseSql + whereSql : baseSql.slice(0, tail.index) + whereSql + baseSql.slice(tail.index);
5994
5994
  }
5995
5995
  function assembleDynamicWhere(p) {
5996
- const frags = (p.whereDynamic.frags ?? []).filter((f) => f != null);
5996
+ const frags = p.whereDynamic.frags.filter((f) => !f.skipped);
5997
5997
  let whereSql = "";
5998
5998
  const whereParams = [];
5999
5999
  frags.forEach((f, i) => {
@@ -43,11 +43,13 @@
43
43
  *
44
44
  * A predicate declared `optional` is present-or-absent PER CALL, so the final SQL can only be
45
45
  * determined at execution time. The emitter therefore does NOT bake it: it passes the WHERE as
46
- * FRAGMENTS — SQL text + params, and a skipped fragment is simply omitted — and the `executeSQL`
47
- * leaf assembles the survivors when it runs ({@link import('../leaves').assembleDynamicWhere}); the
48
- * `?`→`$N` render happens after that, on the final SQL. There is no intermediate IR vocabulary: a
49
- * fragment is `{sql, params}` and nothing else, and a skipped one evaluates to `null` (bc's `cond` is
50
- * lazy, so a dropped fragment's params are never evaluated).
46
+ * FRAGMENTS — each a `{skipped, sql, params}` struct — and the `executeSQL` leaf assembles the
47
+ * NON-skipped survivors when it runs ({@link import('../leaves').assembleDynamicWhere}); the `?`→`$N`
48
+ * render happens after that, on the final SQL. There is no intermediate IR vocabulary: a fragment is
49
+ * SQL text + params + a SKIP FLAG (`skipped` = `param === null` for an optional predicate, `false` for
50
+ * a bounded one). Every fragment is the SAME struct — never a `cond`-to-null element — so the go/rust
51
+ * native-codegen emitters resolve the plan (a variant/nullable array element is the one shape they
52
+ * reject).
51
53
  *
52
54
  * A statement with NO optional predicate carries no plan at all — its WHERE is lowered into the
53
55
  * static `sql` at emit time (native-clean). One path, chosen per statement.
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../src/scp/emit/emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAcH,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAQV,WAAW,EAYZ,MAAM,YAAY,CAAC;AAIpB,oBAAoB;AACpB,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACxD,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,4BAA4B;AAC5B,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;CAChD;AAsBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAM7D"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../src/scp/emit/emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAcH,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAQV,WAAW,EAYZ,MAAM,YAAY,CAAC;AAIpB,oBAAoB;AACpB,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACxD,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAED,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qGAAqG;IACrG,QAAQ,CAAC,MAAM,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,4BAA4B;AAC5B,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;CAChD;AAsBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAM7D"}
@@ -44,11 +44,13 @@
44
44
  *
45
45
  * A predicate declared `optional` is present-or-absent PER CALL, so the final SQL can only be
46
46
  * determined at execution time. The emitter therefore does NOT bake it: it passes the WHERE as
47
- * FRAGMENTS — SQL text + params, and a skipped fragment is simply omitted — and the `executeSQL`
48
- * leaf assembles the survivors when it runs ({@link import('../leaves').assembleDynamicWhere}); the
49
- * `?`→`$N` render happens after that, on the final SQL. There is no intermediate IR vocabulary: a
50
- * fragment is `{sql, params}` and nothing else, and a skipped one evaluates to `null` (bc's `cond` is
51
- * lazy, so a dropped fragment's params are never evaluated).
47
+ * FRAGMENTS — each a `{skipped, sql, params}` struct — and the `executeSQL` leaf assembles the
48
+ * NON-skipped survivors when it runs ({@link import('../leaves').assembleDynamicWhere}); the `?`→`$N`
49
+ * render happens after that, on the final SQL. There is no intermediate IR vocabulary: a fragment is
50
+ * SQL text + params + a SKIP FLAG (`skipped` = `param === null` for an optional predicate, `false` for
51
+ * a bounded one). Every fragment is the SAME struct — never a `cond`-to-null element — so the go/rust
52
+ * native-codegen emitters resolve the plan (a variant/nullable array element is the one shape they
53
+ * reject).
52
54
  *
53
55
  * A statement with NO optional predicate carries no plan at all — its WHERE is lowered into the
54
56
  * static `sql` at emit time (native-clean). One path, chosen per statement.
@@ -254,15 +256,19 @@ class EmitContext {
254
256
  return { name, params, returnType: `${rowType}[]`, lines };
255
257
  }
256
258
  /**
257
- * The DYNAMIC WHERE plan expression: one fragment per declared predicate — `{sql, params}` from the
258
- * SAME `compileWhere` that produces a bounded WHERE — with an optional one wrapped in a conditional
259
- * that yields `null` when its parameter is absent. That is the whole fragment vocabulary.
259
+ * The DYNAMIC WHERE plan expression: ONE fragment per declared predicate, every one the SAME struct
260
+ * `{skipped, sql, params}` — `sql`/`params` from the SAME `compileWhere` that produces a bounded
261
+ * WHERE, and `skipped` the per-call SKIP decision carried as DATA (a bounded predicate is a literal
262
+ * `false`; an optional one is `param === null`). That is the whole fragment vocabulary (CLAUDE.md §2:
263
+ * SQL + params + a SKIP flag). The array is HOMOGENEOUS — never a `cond`-to-null element — so the
264
+ * go/rust native-codegen emitters resolve it (a variant/nullable array element is the one shape they
265
+ * reject); the `executeSQL` leaf drops the `skipped` fragments at run.
260
266
  */
261
267
  dynamicWherePlan(model, where) {
262
268
  const frags = where.map((p) => {
263
269
  const w = (0, compile_1.compileWhere)(this.conditions(model, [p]), this.spec.dialect);
264
- const frag = `{ sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(', ')}] }`;
265
- return isParameterised(p) && p.optional === true ? `${p.param} !== null ? ${frag} : null` : frag;
270
+ const skipped = isParameterised(p) && p.optional === true ? `${p.param} === null` : 'false';
271
+ return `{ skipped: ${skipped}, sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(', ')}] }`;
266
272
  });
267
273
  return `{ frags: [${frags.join(', ')}] }`;
268
274
  }
@@ -286,10 +292,18 @@ class EmitContext {
286
292
  // The runaway guard the compiled op resolved (`hasManyHardLimit` / the per-relation override):
287
293
  // baked onto the child fetch so the `executeSQL` transport asserts the RAW child row count —
288
294
  // the only point they are visible, since `group` receives an already-nested graph. A relation
289
- // batch never carries a dynamic WHERE (its SQL is fully static), so the `whereDynamic` slot is
290
- // an honest `null`. Uncapped ⇒ the ports stop at `bigint` and the call is byte-unchanged.
295
+ // batch never carries a dynamic WHERE (its SQL is fully static), so `whereDynamic` is passed as an
296
+ // EMPTY plan (`{frags:[]}` ≡ no dynamic WHERE) purely to reach the trailing `guard` arg positionally
297
+ // — NOT `null`, which bc's go emitter mis-lowers to an untyped `nil` in the wire payload (the
298
+ // positional-filler smell tracked by #193). Uncapped ⇒ both ports are omitted entirely.
291
299
  const guard = (0, relation_1.relationGuard)(op);
292
- const guardPorts = guard !== null ? `, null, ${JSON.stringify(guard)}` : '';
300
+ // The guard rides as a CONCRETE `CapGuard` struct (leaf-transport), so the native emitters build
301
+ // it directly: `limit` is an `Int` LITERAL (a plain `number` would emit as a float and the wire
302
+ // int-probe would miss the cap); `model` is omitted when the op resolved none.
303
+ const guardExpr = guard !== null
304
+ ? `{ limit: ${guard.limit} as Int, ${guard.model !== undefined ? `model: ${quote(guard.model)}, ` : ''}relation: ${quote(guard.relation)} }`
305
+ : null;
306
+ const guardPorts = guardExpr !== null ? `, { frags: [] }, ${guardExpr}` : '';
293
307
  lines.push(`const ${childVar}: WireValue[] = Db.executeSQL(${quote(op.sql)}, [${keysVar}], false, false, ${bigint}${guardPorts});`);
294
308
  let childRows = childVar;
295
309
  let childObj = objOf((0, outtype_1.deriveReadRow)(decl.targetTable, decl.select, this.resolver(targetModel), `${at} relation '${sel.name}'`).outType, `${at} relation '${sel.name}'`);
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/scp/emit/emitter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;;AAqHH,gDAMC;AAxHD,6CAA2G;AAE3G,8DAA4F;AAC5F,gDAAkD;AAClD,sDAA0E;AAC1E,sCAAiE;AACjE,gDAAmD;AACnD,wCAAuF;AACvF,kEAA+D;AAC/D,0CAAgH;AAChH,kDAAuD;AACvD,4DAO8B;AAC9B,iDAAkE;AAsElE,iGAAiG;AAEjG;;;;;GAKG;AACH,MAAM,QAAQ;IACS;IAArB,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACtC;AAQD,iGAAiG;AAEjG;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAAc;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,yBAAyB,CAAC,CAAC;IACnG,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AACnE,CAAC;AAYD,MAAM,WAAW;IAMc;IAL7B,yEAAyE;IACxD,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,0DAA0D;IACjD,SAAS,GAAsB,EAAE,CAAC;IAE3C,YAA6B,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE/C,+FAA+F;IAEvF,QAAQ,CAAC,KAAqB;QACpC,MAAM,CAAC,GAAG,IAAA,uCAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gBAAgB,KAAK,CAAC,IAAI,sEAAsE;gBAC9F,yEAAyE,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6EAA6E;IACrE,SAAS,CAAC,KAAqB;QACrC,MAAM,KAAK,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAA,sCAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,IAAI,0CAA0C,KAAK,IAAI,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,KAAqB,EAAE,MAAc;QACrD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gBAAgB,KAAK,CAAC,IAAI,qBAAqB,MAAM,wCAAwC;gBAC3F,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,mGAAmG;IAC3F,UAAU,CAAC,KAAqB,EAAE,MAAc;QACtD,OAAO,QAAQ,CAAC,IAAA,2BAAiB,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,8FAA8F;IAE9F,MAAM,CAAC,IAAY,EAAE,QAAkB;QACrC,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,IAAI,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,IAAI;YACJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,QAAkB;QAC5C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnC,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpC,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,8FAA8F;IAE9F;;;;;OAKG;IACK,YAAY,CAAC,QAAsB;QACzC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO,IAAA,mCAAoB,GAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;OAQG;IACK,IAAI,CAAC,CAAwB,EAAE,MAAmB;QACxD,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACvD,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACzC,CAAC;IAEO,IAAI,CAAC,IAAY,EAAE,QAAsB;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;QACrC,gGAAgG;QAChG,kFAAkF;QAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GACf,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE5F,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,yEAAyE;gBAC9F,8FAA8F;gBAC9F,yFAAyF,CAC5F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,iGAAiG;QACjG,sDAAsD;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,kGAAkG;QAClG,kGAAkG;QAClG,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,MAAM,GAC3G,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EACzD,EAAE,CAAC;QAEH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAA,uBAAa,EAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxG,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO;gBACL,IAAI;gBACJ,MAAM;gBACN,UAAU,EAAE,GAAG,OAAO,IAAI;gBAC1B,KAAK,EAAE,CAAC,SAAS,GAAG,KAAK,OAAO,sBAAsB,IAAI,QAAQ,OAAO,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC;aAClG,CAAC;QACJ,CAAC;QAED,iGAAiG;QACjG,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,iCAAiC,IAAI,IAAI,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QAC/G,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,4FAA4F;QAC5F,2DAA2D;QAC3D,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,KAAK,CAAC,WAAW,KAAK,OAAO,QAAQ,KAAK,CAAC,YAAY,OAAO,OAAO,KAAK,CAAC;QAC9G,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,KAAqB,EAAE,KAA2B;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1F,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACnG,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACK,SAAS,CACf,KAAqB,EACrB,SAAiB,EACjB,SAAuC,EACvC,UAA2E,EAC3E,KAAe,EACf,KAA+B,EAC/B,MAAe,EACf,EAAU;QAEV,IAAI,GAAG,GAAG,SAAS,CAAC;QACpB,MAAM,GAAG,GAAiC,EAAE,GAAG,SAAS,EAAE,CAAC;QAC3D,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,EAAE,GAAG,IAAA,4BAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,4BAA4B,GAAG,KAAK,SAAS,CAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACjG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,+FAA+F;YAC/F,6FAA6F;YAC7F,8FAA8F;YAC9F,+FAA+F;YAC/F,0FAA0F;YAC1F,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,iCAAiC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,OAAO,oBAAoB,MAAM,GAAG,UAAU,IAAI,CAAC,CAAC;YACpI,IAAI,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAI,QAAQ,GAAG,KAAK,CAClB,IAAA,uBAAa,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,EAChH,GAAG,EAAE,cAAc,GAAG,CAAC,IAAI,GAAG,CAC/B,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzI,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;gBACtB,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;YACjC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC;YACjF,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;YACxC,YAAY,GAAG,YAAY,GAAG,KAAK,SAAS,KAAK,SAAS,CAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC;YACjJ,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,mBAAmB,YAAY,GAAG,CAAC,CAAC;YACnE,GAAG,GAAG,WAAW,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,gGAAgG;IACxF,YAAY,CAAC,KAAqB,EAAE,IAAY,EAAE,EAAU;QAClE,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;QACvE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,YAAY,KAAK,CAAC,IAAI,2BAA2B,IAAI,iCAAiC,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,eAAe,IAAI,0EAA0E,CAAC,CAAC;QAC5H,CAAC;QACD,OAAO,IAAA,kCAAc,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,+FAA+F;IAEvF,KAAK,CAAC,IAAY,EAAE,QAA0D;QACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,MAAM,KAAK,GAA4B,EAAE,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAE7C,IAAI,SAAyC,CAAC;QAC9C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS,GAAG,QAAQ,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,SAAS,GAAG,QAAQ,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,QAAQ,CAAC;YACrB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,qBAAgB,EAAC,EAAE,SAAS,EAAE,KAAK,EAA4C,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrI,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,GAAG,OAAO,IAAI;YAC1B,KAAK,EAAE;gBACL,SAAS,GAAG,KAAK,OAAO,sBAAsB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,SAAS,KAAK,SAAS,eAAe,OAAO,KAAK;gBACnK,UAAU,GAAG,GAAG;aACjB;SACF,CAAC;IACJ,CAAC;IAED,yGAAyG;IACjG,UAAU,CAChB,KAAqB,EACrB,QAAiC,EACjC,MAAwB,EACxB,KAA8B,EAC9B,MAAmB;QAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,WAAW,CAAC,CAAC;QACnG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,KAAqB,EAAE,KAA2B,EAAE,MAAmB,EAAE,EAAU;QACnG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,oDAAoD,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,SAAS,EAAE,iFAAiF;oBAC1F,0CAA0C,CAAC,CAAC,IAAI,gCAAgC,CACnF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,CAAqB,CAAC;YAClC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,+EAA+E,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,6DAA6D,CAAC,CAAC;YACjH,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,8FAA8F;IAEtF,KAAK,CAAC,IAAY,EAAE,QAAsE;QAChG,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,GAA4B,EAAE,KAAK,EAAE,IAAA,+BAAW,EAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACpF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEtD,oGAAoG;QACpG,oGAAoG;QACpG,MAAM,WAAW,GAAG,CAAC,MAAc,EAAY,EAAE;YAC/C,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClH,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;gBAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU;gBAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACxE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnG,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvE,MAAM,EAAE,GAAG,IAAA,qBAAgB,EAAC,EAAE,SAAS,EAAE,KAAK,EAA4C,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrI,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,GAAG,OAAO,IAAI;YAC1B,KAAK,EAAE;gBACL,SAAS,GAAG,KAAK,OAAO,sBAAsB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,SAAS,KAAK,SAAS,eAAe,OAAO,KAAK;gBACxJ,UAAU,GAAG,GAAG;aACjB;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,IAAY,EAAE,QAA4B;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAClE,MAAM,MAAM,GAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAChH,MAAM,KAAK,GAA4B;YACrC,KAAK,EAAE,IAAA,+BAAW,EAAC,KAAK,CAAC;YACzB,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;SACxF,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAA,qBAAgB,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAA4C,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/I,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,GAAG,OAAO,IAAI;YAC1B,KAAK,EAAE;gBACL,SAAS,GAAG,KAAK,OAAO,sBAAsB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,SAAS,KAAK,SAAS,eAAe,OAAO,KAAK;gBAC5K,UAAU,GAAG,GAAG;aACjB;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,KAAqB,EAAE,SAAwC,EAAE,KAA8B;QACpH,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1D,CAAC;IAED,+FAA+F;IACvF,YAAY,CAAC,IAAY,EAAE,KAAqB,EAAE,SAAwC;QAChG,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAC1B,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAClB,KAAK,CAAC,IAAA,uBAAa,EAAC,IAAA,+BAAW,EAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,IAAI,aAAa,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CACxH,CAAC;IACJ,CAAC;IAED,oGAAoG;IAC5F,UAAU,CAAC,IAAY,EAAE,KAAqB,EAAE,OAA0B;QAChF,MAAM,GAAG,GAAiC,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,8FAA8F;IAE9F,sFAAsF;IAC9E,kBAAkB,CAAC,KAAqB,EAAE,CAAY,EAAE,MAAmB;QACjF,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;oBAAE,SAAS;gBACpC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,8BAA8B;QAC/D,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,KAAqB,EAAE,KAA2B;QACnE,MAAM,GAAG,GAAmC,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,KAAqB,EAAQ,EAAE;YACvD,+FAA+F;YAC/F,oGAAoG;YACpG,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,OAAO,CAAC,IAAI,GAAG;gBAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,cAAc,EAAE,IAAI,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,YAAY,EAAE,IAAI,mBAAQ,CAAC,IAAA,+BAAW,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAA8B,CAAC,CAAC;gBAC/H,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,IAAA,+BAAW,EAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,qBAAU,CACxB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,EACjE,IAAA,+BAAW,EAAC,CAAC,CAAC,KAAK,CAAC,EACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAA,+BAAW,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,EACzE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAC1B,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACjC,CAAC;gBACF,GAAG,CAAC,cAAc,EAAE,GAAgC,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAA,4BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAA8B,CAAC,CAAC;gBACtG,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,+FAA+F;gBAC/F,0FAA0F;gBAC1F,GAAG,CACD,IAAA,6BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAA,+BAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EACzG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAA8B,CAC3F,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,CAAqB,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAA8B,CAAC;YACjE,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;gBACrC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAsB,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,KAAqB,EAAE,OAA0B;QACtE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAgB,EAAC,CAAC,IAAA,mBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,KAAqB,EAAE,CAAmB;QAC9D,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,OAAO,CAAC,MAAM,kCAAkC,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAClF,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,yGAAyG;IACjG,WAAW,CAAC,CAAsC,EAAE,MAAsB;QAChF,MAAM,QAAQ,GAAG,IAAA,+BAAW,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAA,+BAAW,EAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE;YACxC,MAAM,MAAM,GAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxE,gGAAgG;YAChG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,sBAAW,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YACpG,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAe,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8FAA8F;IAE9F,kFAAkF;IAC1E,gBAAgB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,wGAAwG;IAChG,gBAAgB,CAAC,IAAY,EAAE,GAAiC;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aAC7B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gGAAgG;IACxF,MAAM,CAAC,CAAe,EAAE,QAAgB;QAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC,CAAa,CAAC,CAAC;QAC1D,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChF,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC3E,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAmC,CAAC,CAAC;QACpG,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAClF,CAAC;IAED,8FAA8F;IAE9F,MAAM,CAAC,OAA0B;QAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/H,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,MAAM,IAAI,GAAG;YACX,iGAAiG;YACjG,IAAI;YACJ,mGAAmG;YACnG,8FAA8F;YAC9F,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,6EAA6E;YACpG,8CAA8C;YAC9C,oBAAoB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,+BAA+B;YACxH,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;YACpD,EAAE;SACH,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,sBAAsB,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACtH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACtH,CAAC;CACF;AAED,iGAAiG;AAEjG,sGAAsG;AACtG,MAAM,OAAO,GAAoE;IAC/E,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,kFAAkF;AAClF,SAAS,eAAe,CAAC,CAAY;IACnC,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;AACzE,CAAC;AAED,yGAAyG;AACzG,SAAS,UAAU,CAAC,CAAY;IAC9B,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,IAAI,YAAY,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC/C,MAAM,GAAG,GAAI,IAA6C,EAAE,YAAY,EAAE,GAAG,CAAC;IAC9E,IAAI,GAAG,YAAY,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,gGAAgG;AAChG,SAAS,iBAAiB,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,aAAa,IAAK,CAA6B,CAAC;AAChG,CAAC;AAED,6FAA6F;AAC7F,SAAS,KAAK,CAAC,IAAuC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1H,CAAC;AAED,wDAAwD;AACxD,SAAS,KAAK,CAAC,CAAe,EAAE,EAAU;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,GAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,GAAoC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjJ,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,4CAA4C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,oGAAoG,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sFAAsF;AACtF,SAAS,QAAQ,CAAC,CAAW;IAC3B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAkC;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACjH,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,WAA8B,EAAE;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAiB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,CAAS;IACtB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,IAAI,CAAC,CAAS;IACrB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED,wFAAwF;AACxF,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,EAAU;IAChD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../src/scp/emit/emitter.ts"],"names":[],"mappings":"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"}
@@ -5192,7 +5192,7 @@ function spliceWhere(baseSql, whereSql) {
5192
5192
  return tail === null ? baseSql + whereSql : baseSql.slice(0, tail.index) + whereSql + baseSql.slice(tail.index);
5193
5193
  }
5194
5194
  function assembleDynamicWhere(p) {
5195
- const frags = (p.whereDynamic.frags ?? []).filter((f) => f != null);
5195
+ const frags = p.whereDynamic.frags.filter((f) => !f.skipped);
5196
5196
  let whereSql = "";
5197
5197
  const whereParams = [];
5198
5198
  frags.forEach((f, i) => {
@@ -7482,15 +7482,19 @@ var EmitContext = class {
7482
7482
  return { name, params, returnType: `${rowType}[]`, lines };
7483
7483
  }
7484
7484
  /**
7485
- * The DYNAMIC WHERE plan expression: one fragment per declared predicate — `{sql, params}` from the
7486
- * SAME `compileWhere` that produces a bounded WHERE — with an optional one wrapped in a conditional
7487
- * that yields `null` when its parameter is absent. That is the whole fragment vocabulary.
7485
+ * The DYNAMIC WHERE plan expression: ONE fragment per declared predicate, every one the SAME struct
7486
+ * `{skipped, sql, params}` — `sql`/`params` from the SAME `compileWhere` that produces a bounded
7487
+ * WHERE, and `skipped` the per-call SKIP decision carried as DATA (a bounded predicate is a literal
7488
+ * `false`; an optional one is `param === null`). That is the whole fragment vocabulary (CLAUDE.md §2:
7489
+ * SQL + params + a SKIP flag). The array is HOMOGENEOUS — never a `cond`-to-null element — so the
7490
+ * go/rust native-codegen emitters resolve it (a variant/nullable array element is the one shape they
7491
+ * reject); the `executeSQL` leaf drops the `skipped` fragments at run.
7488
7492
  */
7489
7493
  dynamicWherePlan(model, where) {
7490
7494
  const frags = where.map((p) => {
7491
7495
  const w = compileWhere(this.conditions(model, [p]), this.spec.dialect);
7492
- const frag = `{ sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(", ")}] }`;
7493
- return isParameterised(p) && p.optional === true ? `${p.param} !== null ? ${frag} : null` : frag;
7496
+ const skipped = isParameterised(p) && p.optional === true ? `${p.param} === null` : "false";
7497
+ return `{ skipped: ${skipped}, sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(", ")}] }`;
7494
7498
  });
7495
7499
  return `{ frags: [${frags.join(", ")}] }`;
7496
7500
  }
@@ -7512,7 +7516,8 @@ var EmitContext = class {
7512
7516
  lines.push(`const ${keysVar}: WireValue[] = Db.pluck(${acc}, ${jsonArray(parentKeyCols(op))});`);
7513
7517
  const childVar = fresh(sel.name);
7514
7518
  const guard = relationGuard(op);
7515
- const guardPorts = guard !== null ? `, null, ${JSON.stringify(guard)}` : "";
7519
+ const guardExpr = guard !== null ? `{ limit: ${guard.limit} as Int, ${guard.model !== void 0 ? `model: ${quote(guard.model)}, ` : ""}relation: ${quote(guard.relation)} }` : null;
7520
+ const guardPorts = guardExpr !== null ? `, { frags: [] }, ${guardExpr}` : "";
7516
7521
  lines.push(`const ${childVar}: WireValue[] = Db.executeSQL(${quote(op.sql)}, [${keysVar}], false, false, ${bigint}${guardPorts});`);
7517
7522
  let childRows = childVar;
7518
7523
  let childObj = objOf(
@@ -23,8 +23,9 @@
23
23
  export { MAKESQL, makeSqlCatalogEntry, LITEDBMODEL_MAKESQL_CATALOG, isMakeSQL, assembleMakeSQL, composeMakeSQL, renderPlaceholders, renderPorts, makeSqlHandler, makeSqlHandlerSync, compileWhere, whereClause, andTrailing, formatterFor, pgCastFormatter, noCastFormatter, compileSelect as compileSelectMakeSQL, builderFor, compileInsert as compileInsertMakeSQL, compileUpdateMany, compileUpdateSingle, compileDelete as compileDeleteMakeSQL, inferPgArrayType, resolvePgArrayCast, PG_ARRAY_CAST_TOKEN, compileSingleKeyUnlimited, compileSingleKeyLimited, compileCompositeKeyUnlimited, compileCompositeKeyStaticUnlimited, compileCompositeKeyLimited, configurePgDeboxTypeParsers, mysqlDeboxPoolOptions, pgConnectionPool, mysqlConnectionPool, pgPoolFactory, mysqlPoolFactory, } from './makesql';
24
24
  export type { MakeSQL, SqlParam, AssembledSql, Dialect as MakeSQLDialect, SqlExecutor, SqlExecutorSync, SelectDesc as MakeSQLSelectDesc, RelationCompileBase, PgPoolLike, MysqlPoolLike, PgTypesLike, PgModuleLike, Mysql2ModuleLike, } from './makesql';
25
25
  export { Db } from './leaf-transport';
26
+ export type { DynamicWhereFrag, DynamicWherePlan } from './leaf-transport';
26
27
  export { executeSQL, executeSQLAsync, pluck, group, leafHandlers, leafHandlersAsync, LEAF_TRANSPORT_SYMBOLS, prepareSql, spliceWhere, assembleDynamicWhere } from './leaves';
27
- export type { LeafContext, AsyncLeafContext, DynamicWhereFrag, DynamicWherePlan } from './leaves';
28
+ export type { LeafContext, AsyncLeafContext } from './leaves';
28
29
  export { emitBehaviorModule } from './emit';
29
30
  export type { EmitSpec, EmitResult, EmittedEndpoint, ComparisonOp, ComparePredicate, InPredicate, TupleInPredicate, NullPredicate, CorrelationTerm, ExistsPredicate, SubqueryPredicate, Predicate, RelationSelection, QueryView, PageBound, ReadEndpoint, ValueBinding, CreateEndpoint, UpdateEndpoint, DeleteEndpoint, CreateManyEndpoint, UpdateManyEndpoint, DeleteManyEndpoint, Endpoint, EndpointSet, } from './emit';
30
31
  export { dialectFor, toDollarPlaceholders, SQLITE, POSTGRES, MYSQL } from './dialect';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scp/index.ts"],"names":[],"mappings":"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"}
@@ -4665,7 +4665,7 @@ function spliceWhere(baseSql, whereSql) {
4665
4665
  return tail === null ? baseSql + whereSql : baseSql.slice(0, tail.index) + whereSql + baseSql.slice(tail.index);
4666
4666
  }
4667
4667
  function assembleDynamicWhere(p) {
4668
- const frags = (p.whereDynamic.frags ?? []).filter((f) => f != null);
4668
+ const frags = p.whereDynamic.frags.filter((f) => !f.skipped);
4669
4669
  let whereSql = "";
4670
4670
  const whereParams = [];
4671
4671
  frags.forEach((f, i) => {
@@ -6915,15 +6915,19 @@ var EmitContext = class {
6915
6915
  return { name, params, returnType: `${rowType}[]`, lines };
6916
6916
  }
6917
6917
  /**
6918
- * The DYNAMIC WHERE plan expression: one fragment per declared predicate — `{sql, params}` from the
6919
- * SAME `compileWhere` that produces a bounded WHERE — with an optional one wrapped in a conditional
6920
- * that yields `null` when its parameter is absent. That is the whole fragment vocabulary.
6918
+ * The DYNAMIC WHERE plan expression: ONE fragment per declared predicate, every one the SAME struct
6919
+ * `{skipped, sql, params}` — `sql`/`params` from the SAME `compileWhere` that produces a bounded
6920
+ * WHERE, and `skipped` the per-call SKIP decision carried as DATA (a bounded predicate is a literal
6921
+ * `false`; an optional one is `param === null`). That is the whole fragment vocabulary (CLAUDE.md §2:
6922
+ * SQL + params + a SKIP flag). The array is HOMOGENEOUS — never a `cond`-to-null element — so the
6923
+ * go/rust native-codegen emitters resolve it (a variant/nullable array element is the one shape they
6924
+ * reject); the `executeSQL` leaf drops the `skipped` fragments at run.
6921
6925
  */
6922
6926
  dynamicWherePlan(model, where) {
6923
6927
  const frags = where.map((p) => {
6924
6928
  const w = compileWhere(this.conditions(model, [p]), this.spec.dialect);
6925
- const frag = `{ sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(", ")}] }`;
6926
- return isParameterised(p) && p.optional === true ? `${p.param} !== null ? ${frag} : null` : frag;
6929
+ const skipped = isParameterised(p) && p.optional === true ? `${p.param} === null` : "false";
6930
+ return `{ skipped: ${skipped}, sql: ${quote(w.sql)}, params: [${w.params.map(renderSlot).join(", ")}] }`;
6927
6931
  });
6928
6932
  return `{ frags: [${frags.join(", ")}] }`;
6929
6933
  }
@@ -6945,7 +6949,8 @@ var EmitContext = class {
6945
6949
  lines.push(`const ${keysVar}: WireValue[] = Db.pluck(${acc}, ${jsonArray(parentKeyCols(op))});`);
6946
6950
  const childVar = fresh(sel.name);
6947
6951
  const guard = relationGuard(op);
6948
- const guardPorts = guard !== null ? `, null, ${JSON.stringify(guard)}` : "";
6952
+ const guardExpr = guard !== null ? `{ limit: ${guard.limit} as Int, ${guard.model !== void 0 ? `model: ${quote(guard.model)}, ` : ""}relation: ${quote(guard.relation)} }` : null;
6953
+ const guardPorts = guardExpr !== null ? `, { frags: [] }, ${guardExpr}` : "";
6949
6954
  lines.push(`const ${childVar}: WireValue[] = Db.executeSQL(${quote(op.sql)}, [${keysVar}], false, false, ${bigint}${guardPorts});`);
6950
6955
  let childRows = childVar;
6951
6956
  let childObj = objOf(
@@ -14,13 +14,66 @@
14
14
  *
15
15
  * ## The port vocabulary
16
16
  *
17
- * The ports are declared `WireValue` / `WireValue[]` — bc's OPAQUE wire type. A binding annotated
17
+ * The DATA ports are declared `WireValue` / `WireValue[]` — bc's OPAQUE wire type. A binding annotated
18
18
  * `WireValue[]` stays opaque (wire passthrough), so an intermediate result flows leaf→leaf with no
19
19
  * typed↔generic round-trip; the SINGLE de-box happens at the one binding that declares a CONCRETE row
20
20
  * type. A relation op therefore runs `executeSQL → pluck → executeSQL → … → group` entirely on the
21
21
  * wire plane and materializes the whole nested typed graph exactly once, at the end.
22
+ *
23
+ * The two CONTROL ports — {@link DynamicWherePlan} (`whereDynamic`) and {@link CapGuard} (`guard`) —
24
+ * are CONCRETE STRUCTS the emitter CONSTRUCTS at the call site from the endpoint's own parameters (not
25
+ * leaf→leaf wire values), so a native-codegen emitter builds them as typed structs. They are OPTIONAL:
26
+ * only a read with a SKIP predicate carries `whereDynamic`, only a guarded relation child carries
27
+ * `guard` — a bounded read, a write, and an uncapped fetch OMIT them (native-clean, CLAUDE.md §2 "only
28
+ * actually-optional predicates accumulate a plan"). bc typed-native lowers a NON-NULL struct into an
29
+ * `opt<named>` port via `optSome` (bc#275), so a concrete optional port is native — no boxing, and no
30
+ * empty plan carried on every statement. The fragment vocabulary is CLAUDE.md §2's: SQL + params + a
31
+ * SKIP FLAG (a homogeneous `{skipped, sql, params}` struct), assembled by the leaf at run — never a
32
+ * `cond`-to-null variant element (which the native-codegen emitters reject).
33
+ */
34
+ import { type Int, type WireValue } from 'behavior-contracts';
35
+ /**
36
+ * ONE dynamic-WHERE fragment: the fragment's SQL text and its bound `params`, plus a SKIP FLAG. The
37
+ * fragment vocabulary CLAUDE.md §2 fixes — "SQL text + params + SKIP flag" and nothing else. `skipped`
38
+ * carries the per-call SKIP decision as DATA (a bounded predicate is always `false`; an optional one is
39
+ * `param === null`), so every element of a plan is the SAME struct — never a `cond`-to-null variant,
40
+ * which the native-codegen emitters reject. `params` rides opaque (`WireValue[]`) exactly like the base
41
+ * `params` port; the leaf binds them in order. The runtime side ({@link import('./leaves')}) READS this
42
+ * struct — it never constructs one — so the one definition serves both the emitter's authored literal
43
+ * and the leaf's runtime assembly.
44
+ */
45
+ export interface DynamicWhereFrag {
46
+ readonly skipped: boolean;
47
+ readonly sql: string;
48
+ /**
49
+ * The fragment's bound params (`WireValue`), the SAME order the fragment's `?`s appear. An OPTIONAL
50
+ * predicate binds its own parameter, which is `null` exactly when the predicate is SKIPPED — so the
51
+ * element is `WireValue | null`; a skipped fragment's params are never bound (the leaf drops it), so
52
+ * the null is inert. A bounded predicate's params are non-null.
53
+ */
54
+ readonly params: (WireValue | null)[];
55
+ }
56
+ /**
57
+ * The dynamic-WHERE plan a SKIP read carries (OPTIONAL — a bounded read omits it): a HOMOGENEOUS
58
+ * fragment list the leaf assembles at run, dropping the `skipped` fragments.
59
+ */
60
+ export interface DynamicWherePlan {
61
+ readonly frags: readonly DynamicWhereFrag[];
62
+ }
63
+ /**
64
+ * The relation runaway cap a GUARDED child fetch carries — the bc wire-construction twin of the runtime
65
+ * {@link import('./limit-config').RelationGuard} (the emitter serializes the compiled op's resolved
66
+ * guard into this shape; the leaf transport asserts the raw child-row count against it). It is a
67
+ * SEPARATE type on purpose: `limit` is bc's `Int` brand so the native struct field is an integer (a
68
+ * plain `number` would emit as a float and the wire int-probe would miss it), whereas the runtime
69
+ * `RelationGuard` is `number`-typed because it is CONSTRUCTED from `resolveHasManyHardLimit`'s plain
70
+ * numbers — the two cannot be one type. `model` is optional exactly as `LimitExceededError.model` is.
22
71
  */
23
- import { type WireValue } from 'behavior-contracts';
72
+ export interface CapGuard {
73
+ readonly limit: Int;
74
+ readonly model?: string;
75
+ readonly relation: string;
76
+ }
24
77
  /**
25
78
  * The three OP-AGNOSTIC leaf transports. The bodies are declaration stubs — `bc generate --from`
26
79
  * reads this source and derives the catalog from the signatures; the executable side is the handler
@@ -34,14 +87,16 @@ export declare class Db {
34
87
  * a RETURNING write on the row path; `bigint` runs the read in exact-integer mode. A non-returning
35
88
  * write yields the one-row `[{changes, lastInsertRowid}]` summary so the output shape is uniform.
36
89
  *
37
- * `guard` is the RELATION runaway cap (`{limit, model, relation}` — the compiled op's own
38
- * {@link import('./limit-config').RelationGuard}) that a guarded relation child fetch carries: the
39
- * transport asserts the fetched row count against it and raises `LimitExceededError` when the batch
40
- * overruns. It rides HERE because this is where the RAW child rows exist — past `group` the graph is
41
- * already nested — and because SCP has no throw, so the enforcement must live in the transport. A
42
- * statement with no cap omits the port entirely (every non-relation call is byte-unchanged).
90
+ * `guard` is the RELATION runaway cap ({@link CapGuard}, the compiled op's own resolved cap) a
91
+ * guarded relation child fetch carries: the transport asserts the fetched row count against it and
92
+ * raises `LimitExceededError` when the batch overruns. It rides HERE because this is where the RAW
93
+ * child rows exist — past `group` the graph is already nested — and because SCP has no throw. Both
94
+ * control ports are OPTIONAL: a bounded read, a write, and an uncapped fetch OMIT them (native-clean,
95
+ * CLAUDE.md §2 "only actually-optional predicates accumulate a plan") — `whereDynamic` is present only
96
+ * on a read with a SKIP predicate, `guard` only on a guarded relation child. bc typed-native lowers an
97
+ * `opt<named>` port fed a non-null struct via `optSome` (bc#275), so a concrete OPTIONAL port is native.
43
98
  */
44
- static executeSQL(sql: string, params: WireValue[], write: boolean, returning: boolean, bigint: boolean, whereDynamic?: WireValue | null, guard?: WireValue | null): WireValue[];
99
+ static executeSQL(sql: string, params: WireValue[], write: boolean, returning: boolean, bigint: boolean, whereDynamic?: DynamicWherePlan | null, guard?: CapGuard | null): WireValue[];
45
100
  /** Relation key extraction: the deduped, non-null key set over the ordered key-column tuple `col`. */
46
101
  static pluck(rows: WireValue[], col: string[]): WireValue[];
47
102
  /** Relation shaping: nest `children` under each parent's `into`, matching `child[fk]` to `parent[pk]`. */
@@ -1 +1 @@
1
- {"version":3,"file":"leaf-transport.d.ts","sourceRoot":"","sources":["../../src/scp/leaf-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgB1D;;;;;GAKG;AACH,qBAAa,EAAE;IACb;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EAAE;IAEtL,sGAAsG;IAChG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAEjE,0GAA0G;IACpG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE;CACxI"}
1
+ {"version":3,"file":"leaf-transport.d.ts","sourceRoot":"","sources":["../../src/scp/leaf-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAQ,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAkBpE;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,EAAE;IACb;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAAE;IAE5L,sGAAsG;IAChG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE;IAEjE,0GAA0G;IACpG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE;CACxI"}
@@ -15,11 +15,22 @@
15
15
  *
16
16
  * ## The port vocabulary
17
17
  *
18
- * The ports are declared `WireValue` / `WireValue[]` — bc's OPAQUE wire type. A binding annotated
18
+ * The DATA ports are declared `WireValue` / `WireValue[]` — bc's OPAQUE wire type. A binding annotated
19
19
  * `WireValue[]` stays opaque (wire passthrough), so an intermediate result flows leaf→leaf with no
20
20
  * typed↔generic round-trip; the SINGLE de-box happens at the one binding that declares a CONCRETE row
21
21
  * type. A relation op therefore runs `executeSQL → pluck → executeSQL → … → group` entirely on the
22
22
  * wire plane and materializes the whole nested typed graph exactly once, at the end.
23
+ *
24
+ * The two CONTROL ports — {@link DynamicWherePlan} (`whereDynamic`) and {@link CapGuard} (`guard`) —
25
+ * are CONCRETE STRUCTS the emitter CONSTRUCTS at the call site from the endpoint's own parameters (not
26
+ * leaf→leaf wire values), so a native-codegen emitter builds them as typed structs. They are OPTIONAL:
27
+ * only a read with a SKIP predicate carries `whereDynamic`, only a guarded relation child carries
28
+ * `guard` — a bounded read, a write, and an uncapped fetch OMIT them (native-clean, CLAUDE.md §2 "only
29
+ * actually-optional predicates accumulate a plan"). bc typed-native lowers a NON-NULL struct into an
30
+ * `opt<named>` port via `optSome` (bc#275), so a concrete optional port is native — no boxing, and no
31
+ * empty plan carried on every statement. The fragment vocabulary is CLAUDE.md §2's: SQL + params + a
32
+ * SKIP FLAG (a homogeneous `{skipped, sql, params}` struct), assembled by the leaf at run — never a
33
+ * `cond`-to-null variant element (which the native-codegen emitters reject).
23
34
  */
24
35
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
25
36
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -57,12 +68,14 @@ class Db {
57
68
  * a RETURNING write on the row path; `bigint` runs the read in exact-integer mode. A non-returning
58
69
  * write yields the one-row `[{changes, lastInsertRowid}]` summary so the output shape is uniform.
59
70
  *
60
- * `guard` is the RELATION runaway cap (`{limit, model, relation}` — the compiled op's own
61
- * {@link import('./limit-config').RelationGuard}) that a guarded relation child fetch carries: the
62
- * transport asserts the fetched row count against it and raises `LimitExceededError` when the batch
63
- * overruns. It rides HERE because this is where the RAW child rows exist — past `group` the graph is
64
- * already nested — and because SCP has no throw, so the enforcement must live in the transport. A
65
- * statement with no cap omits the port entirely (every non-relation call is byte-unchanged).
71
+ * `guard` is the RELATION runaway cap ({@link CapGuard}, the compiled op's own resolved cap) a
72
+ * guarded relation child fetch carries: the transport asserts the fetched row count against it and
73
+ * raises `LimitExceededError` when the batch overruns. It rides HERE because this is where the RAW
74
+ * child rows exist — past `group` the graph is already nested — and because SCP has no throw. Both
75
+ * control ports are OPTIONAL: a bounded read, a write, and an uncapped fetch OMIT them (native-clean,
76
+ * CLAUDE.md §2 "only actually-optional predicates accumulate a plan") — `whereDynamic` is present only
77
+ * on a read with a SKIP predicate, `guard` only on a guarded relation child. bc typed-native lowers an
78
+ * `opt<named>` port fed a non-null struct via `optSome` (bc#275), so a concrete OPTIONAL port is native.
66
79
  */
67
80
  static executeSQL(sql, params, write, returning, bigint, whereDynamic, guard) { return declarationStub('executeSQL', [sql, params, write, returning, bigint, whereDynamic, guard]); }
68
81
  /** Relation key extraction: the deduped, non-null key set over the ordered key-column tuple `col`. */
@@ -1 +1 @@
1
- {"version":3,"file":"leaf-transport.js","sourceRoot":"","sources":["../../src/scp/leaf-transport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;AAEH,2DAA0D;AAE1D;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAwB;IACjE,KAAK,IAAI,CAAC;IACV,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,sEAAsE;QAC9F,mGAAmG,CACtG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAa,EAAE;IACb;;;;;;;;;;;;OAYG;IACU,AAAP,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,MAAmB,EAAE,KAAc,EAAE,SAAkB,EAAE,MAAe,EAAE,YAA+B,EAAE,KAAwB,IAAiB,OAAO,eAAe,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9R,sGAAsG;IACzF,AAAP,MAAM,CAAC,KAAK,CAAC,IAAiB,EAAE,GAAa,IAAiB,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnH,0GAA0G;IAC7F,AAAP,MAAM,CAAC,KAAK,CAAC,OAAoB,EAAE,QAAqB,EAAE,EAAY,EAAE,EAAY,EAAE,IAAY,EAAE,MAAe,IAAiB,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CACxN;AArBD,gBAqBC;AAPc;IAAZ,yBAAI;;;;0BAAyR;AAGjR;IAAZ,yBAAI;;;;qBAA8G;AAGtG;IAAZ,yBAAI;;;;qBAAkN"}
1
+ {"version":3,"file":"leaf-transport.js","sourceRoot":"","sources":["../../src/scp/leaf-transport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;;;;;;;;AAEH,2DAAoE;AAEpE;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAwB;IACjE,KAAK,IAAI,CAAC;IACV,MAAM,IAAI,KAAK,CACb,kBAAkB,QAAQ,sEAAsE;QAC9F,mGAAmG,CACtG,CAAC;AACJ,CAAC;AAiDD;;;;;GAKG;AACH,MAAa,EAAE;IACb;;;;;;;;;;;;;;OAcG;IACU,AAAP,MAAM,CAAC,UAAU,CAAC,GAAW,EAAE,MAAmB,EAAE,KAAc,EAAE,SAAkB,EAAE,MAAe,EAAE,YAAsC,EAAE,KAAuB,IAAiB,OAAO,eAAe,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpS,sGAAsG;IACzF,AAAP,MAAM,CAAC,KAAK,CAAC,IAAiB,EAAE,GAAa,IAAiB,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnH,0GAA0G;IAC7F,AAAP,MAAM,CAAC,KAAK,CAAC,OAAoB,EAAE,QAAqB,EAAE,EAAY,EAAE,EAAY,EAAE,IAAY,EAAE,MAAe,IAAiB,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CACxN;AAvBD,gBAuBC;AAPc;IAAZ,yBAAI;;;;0BAA+R;AAGvR;IAAZ,yBAAI;;;;qBAA8G;AAGtG;IAAZ,yBAAI;;;;qBAAkN"}