@agenticprimitives/orchestration 0.0.0-alpha.1 → 0.0.0-alpha.11
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 +2 -0
- package/dist/admission.d.ts +127 -0
- package/dist/admission.d.ts.map +1 -0
- package/dist/admission.js +355 -0
- package/dist/admission.js.map +1 -0
- package/dist/answer-quality.d.ts +80 -0
- package/dist/answer-quality.d.ts.map +1 -0
- package/dist/answer-quality.js +97 -0
- package/dist/answer-quality.js.map +1 -0
- package/dist/artifacts.d.ts +137 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +232 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/authority.d.ts +465 -0
- package/dist/authority.d.ts.map +1 -0
- package/dist/authority.js +2 -0
- package/dist/authority.js.map +1 -0
- package/dist/conformance.d.ts +66 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +140 -0
- package/dist/conformance.js.map +1 -0
- package/dist/derivation.d.ts +21 -0
- package/dist/derivation.d.ts.map +1 -0
- package/dist/derivation.js +31 -0
- package/dist/derivation.js.map +1 -0
- package/dist/durable.d.ts +44 -0
- package/dist/durable.d.ts.map +1 -0
- package/dist/durable.js +15 -0
- package/dist/durable.js.map +1 -0
- package/dist/export-port.d.ts +13 -0
- package/dist/export-port.d.ts.map +1 -0
- package/dist/export-port.js +2 -0
- package/dist/export-port.js.map +1 -0
- package/dist/flow-trace.d.ts +105 -0
- package/dist/flow-trace.d.ts.map +1 -0
- package/dist/flow-trace.js +60 -0
- package/dist/flow-trace.js.map +1 -0
- package/dist/index.d.ts +37 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +165 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +33 -0
- package/dist/input.js.map +1 -0
- package/dist/intent.d.ts +37 -0
- package/dist/intent.d.ts.map +1 -0
- package/dist/intent.js +46 -0
- package/dist/intent.js.map +1 -0
- package/dist/judgment.d.ts +131 -0
- package/dist/judgment.d.ts.map +1 -0
- package/dist/judgment.js +249 -0
- package/dist/judgment.js.map +1 -0
- package/dist/loop.d.ts +155 -6
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +905 -32
- package/dist/loop.js.map +1 -1
- package/dist/metrics.d.ts +35 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +98 -0
- package/dist/metrics.js.map +1 -0
- package/dist/outcome.d.ts +223 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +325 -0
- package/dist/outcome.js.map +1 -0
- package/dist/plan-digest.d.ts +6 -0
- package/dist/plan-digest.d.ts.map +1 -0
- package/dist/plan-digest.js +35 -0
- package/dist/plan-digest.js.map +1 -0
- package/dist/planner-wire.d.ts +11 -0
- package/dist/planner-wire.d.ts.map +1 -0
- package/dist/planner-wire.js +53 -0
- package/dist/planner-wire.js.map +1 -0
- package/dist/planner.d.ts +51 -0
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +74 -0
- package/dist/planner.js.map +1 -1
- package/dist/reconcile.d.ts +41 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +20 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/record.d.ts +238 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/record.js +116 -0
- package/dist/record.js.map +1 -0
- package/dist/regression.d.ts +109 -0
- package/dist/regression.d.ts.map +1 -0
- package/dist/regression.js +97 -0
- package/dist/regression.js.map +1 -0
- package/dist/selection.d.ts +334 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +481 -0
- package/dist/selection.js.map +1 -0
- package/dist/spans.d.ts +262 -0
- package/dist/spans.d.ts.map +1 -0
- package/dist/spans.js +589 -0
- package/dist/spans.js.map +1 -0
- package/dist/tool-invoker.d.ts +61 -3
- package/dist/tool-invoker.d.ts.map +1 -1
- package/dist/tool-invoker.js +26 -1
- package/dist/tool-invoker.js.map +1 -1
- package/dist/trace-context.d.ts +26 -0
- package/dist/trace-context.d.ts.map +1 -0
- package/dist/trace-context.js +59 -0
- package/dist/trace-context.js.map +1 -0
- package/dist/trace-facts.d.ts +84 -0
- package/dist/trace-facts.d.ts.map +1 -0
- package/dist/trace-facts.js +82 -0
- package/dist/trace-facts.js.map +1 -0
- package/dist/types.d.ts +265 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/package.json +19 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,6DAA6D;AAC7D,EAAE;AACF,6GAA6G;AAC7G,8GAA8G;AAC9G,iHAAiH;AACjH,8GAA8G;AAC9G,6GAA6G;AAC7G,gHAAgH;AAChH,EAAE;AACF,2GAA2G;AAC3G,wGAAwG;AACxG,0FAA0F;AAC1F,EAAE;AACF,2GAA2G;AAC3G,yGAAyG;AACzG,4GAA4G;AAC5G,sGAAsG;AACtG,uGAAuG;AACvG,OAAO,EAAE,aAAa,EAAE,eAAe,EAA2C,MAAM,kBAAkB,CAAC;AAG3G,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAuB9D,2GAA2G;AAC3G,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,yEAAyE;IACzE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB;IACzG,wBAAwB;IACxB,iBAAiB;IACjB,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,0BAA0B;IAC/F,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB;IACvF,kBAAkB,EAAE,sBAAsB,EAAE,SAAS;IACrD,wGAAwG;IACxG,sBAAsB,EAAE,0BAA0B,EAAE,6BAA6B;IACjF,0BAA0B,EAAE,2BAA2B;IACvD,mBAAmB,EAAE,yBAAyB,EAAE,0BAA0B;IAC1E,oBAAoB,EAAE,4BAA4B,EAAE,+BAA+B;IACnF,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB;IAC7D,8BAA8B,EAAE,gBAAgB;IAChD,iFAAiF;IACjF,iBAAiB,EAAE,cAAc;IACjC,0GAA0G;IAC1G,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB;IACrF,0GAA0G;IAC1G,qGAAqG;IACrG,wGAAwG;IACxG,4EAA4E;IAC5E,sBAAsB,EAAE,sBAAsB;IAC9C,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB;IACxD,sBAAsB,EAAE,wBAAwB,EAAE,2BAA2B;IAC7E,mBAAmB,EAAE,qBAAqB;IAC1C,0GAA0G;IAC1G,kBAAkB,EAAE,iBAAiB,EAAE,eAAe;CACvD,CAAC,CAAC;AAEH;mFACmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,YAAY,OAAO,MAAM,EAAE;IACvD,IAAI,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAAC,GAAG,YAAY,OAAO,MAAM,IAAI,OAAO,EAAE;IACpF,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,YAAY,UAAU,MAAM,EAAE;IAC7D,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,YAAY,QAAQ,MAAM,EAAE;IACzD,QAAQ,EAAE,CAAC,MAAc,EAAE,OAAe,EAAE,EAAE,CAAC,GAAG,YAAY,QAAQ,MAAM,SAAS,OAAO,EAAE;CAC/F,CAAC;AAEF,4GAA4G;AAC5G,MAAM,MAAM,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;IAClD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAI,CAA6B,CAAC,CAAC,CAAC,GAAI,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjQ,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAc;IAChD,OAAO,KAAK,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED;;4GAE4G;AAC5G,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAqB,EAA+B,EAAE;IAC5E,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC,CAAC;AAEF,8GAA8G;AAC9G,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,OAAsB,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,MAAM,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE5I;;;8GAG8G;AAC9G,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxG,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxJ,IAAI,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5I,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,oGAAoG;AACpG,+FAA+F;AAC/F,MAAM,OAAO,GAAG,mDAAmD,CAAC;AAEpE,2GAA2G;AAC3G,MAAM,UAAU,GAAG,CAAC,CAAqB,EAAsB,EAAE;IAC/D,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7B,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAmB;IAC/C,0GAA0G;IAC1G,2GAA2G;IAC3G,wGAAwG;IACxG,sGAAsG;IACtG,gGAAgG;IAChG,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,uGAAuG;IACvG,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACnI,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxL,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC;IACjG,MAAM,IAAI,GAAW;QACnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ;QAC7D,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;QACzD,sGAAsG;QACtG,iFAAiF;QACjF,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QAC5F,UAAU,EAAE;YACV,uBAAuB,EAAE,cAAc;YACvC,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACjD,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAClD,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9C,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,gBAAgB,EAAE,MAAM,CAAC,OAAO;YAChC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACzC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,KAAK,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7G;KACF,CAAC;IACF,MAAM,KAAK,GAAa,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACxE,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7C,MAAM,KAAK,GAA8C;YACvD,uBAAuB,EAAE,cAAc;YACvC,kBAAkB,EAAE,CAAC,CAAC,MAAM;YAC5B,qBAAqB,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE;YACtD,kBAAkB,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YACzD,aAAa,EAAE,CAAC,CAAC,OAAO;YACxB,eAAe,EAAE,CAAC;YAClB,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YAC7D,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAClD,sBAAsB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YAClE,gBAAgB,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtF,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9G,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3O,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1M,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9K,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnI,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,8BAA8B,EAAE,KAAK,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9K,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnG,CAAC;QACF,oGAAoG;QACpG,mGAAmG;QACnG,sGAAsG;QACtG,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QAC9D,MAAM,SAAS,GAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAgD,EAAE,GAAG,EAAE,MAAM,CAAC;QACvG,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC;YAC5H,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjK,OAAO;YACL,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM;YAC/E,IAAI,EAAE,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,UAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;YACxG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAqB,EAAE,UAAU,EAAE,KAAK;YACtF,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvJ,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;qGACqG;AACrG,SAAS,YAAY,CAAC,MAAmB,EAAE,IAAY,EAAE,KAAe;IACtE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,KAAK,GAA8C,EAAE,CAAC;QAC5D,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,aAAa;gBAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAAC,MAAM;YAC5D,KAAK,aAAa;gBAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YAC/G,KAAK,gBAAgB;gBAAE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAAC,KAAK,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;gBAAC,MAAM;YACjI,KAAK,eAAe;gBAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YAC7G,KAAK,oBAAoB;gBAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAC,MAAM;YAClF,KAAK,aAAa;gBAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAAC,MAAM;YACnF,KAAK,gBAAgB;gBAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBAAC,MAAM;YACjE,KAAK,cAAc,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;YAClG,KAAK,WAAW,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC/F,OAAO,CAAC,CAAC,MAAM;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAmB,EAAE,GAAsE;IAC5H,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,MAAM,KAAK,GAAG,CAAkD,IAAO,EAAE,OAAgB,EAAE,EAAE,CAC3F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAK,CAA0B,CAAC,OAAO,KAAK,OAAO,CAAC,CAAoE,CAAC;IAC9L,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IACxC,qGAAqG;IACrG,8EAA8E;IAC9E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,MAAc,EAAE,GAAW,EAAE,KAA2B,EAAmB,EAAE,CAC5H,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnL,uGAAuG;IACvG,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;QACnG,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM;YAC9G,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;YACpG,UAAU,EAAE,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;SAC9G,CAAC,CAAC;IACL,CAAC;IACD,8GAA8G;IAC9G,mGAAmG;IACnG,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,CAAC,CAAY,EAAiB,EAAE;QACjD,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO;YAAE,OAAO,uBAAuB,CAAC;QACzJ,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,WAAW;YAAE,OAAO,qBAAqB,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;YAC1I,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO;YACnF,UAAU,EAAE,EAAE,uBAAuB,EAAE,SAAS,KAAK,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;SACxK,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,oBAAoB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE;YAC5F,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACjD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzH,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,KAAK,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3I,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iGAAiG;IACjG,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACnD,mGAAmG;QACnG,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,EAAE,EAAE,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,EAAE,EAAE,QAAQ,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM;YACnG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO;YACjJ,UAAU,EAAE;gBACV,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAChD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjD,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC9C,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACzC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE;SACF,CAAC,CAAC;IACL,CAAC;IAED,wHAAwH;IACxH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAA8E,CAAC;QAChL,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpE,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM;gBAC3H,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;gBACrI,UAAU,EAAE;oBACV,uBAAuB,EAAE,gBAAgB;oBACzC,aAAa,EAAE,CAAC,CAAC,OAAO;oBACxB,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;oBAC7D,sBAAsB,EAAE,CAAC,CAAC,QAAQ;oBAClC,6BAA6B,EAAE,CAAC,CAAC,aAAa;oBAC9C,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/F,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3M;aACF,CAAC,CAAC;YACH,sFAAsF;YACtF,IAAI,GAAG,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,eAAe,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,uBAAuB,CAAC,EAAE,YAAY,EAAE,MAAM;gBACtH,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO;gBACrH,UAAU,EAAE,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;aAChN,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,uBAAuB,EAAE;gBAC1G,uBAAuB,EAAE,gBAAgB;gBACzC,aAAa,EAAE,CAAC,CAAC,OAAO;gBACxB,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnI,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM;YAC5G,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO;YACvH,UAAU,EAAE;gBACV,uBAAuB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe;gBAC/D,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjD,gBAAgB,EAAE,MAAM,CAAC,OAAO;gBAChC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB,EAAE,MAAmB;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAChC,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAAC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAA4B,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IACtG,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK;QAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK;QAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;YACzH,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;YAC9F,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;YAC7H,KAAK,MAAM,CAAC,IAAI,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC5I,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,sBAAsB,CAAC,CAAC;QACxF,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;gBAC1I,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;gBAC/G,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;gBAC9I,KAAK,MAAM,CAAC,IAAI,SAAS;oBAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;YAC7J,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,uBAAuB,CAAC,MAAgF,EAAE,MAAmB;IAC3I,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,iCAAiC,CAAC,CAAC;YAC/G,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;YACpF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;6GAE6G;AAC7G,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,QAAmD;IACxG,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAA4B,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3O,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAW,CAAC;IAC5D,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;IACtD,OAAO;QACL,aAAa,EAAE,CAAC;gBACd,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAChJ,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,GAAG,EAAE;wBACjE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACvB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;4BAChC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,QAAU,CAAC;4BACrE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,QAAU,CAAC;4BACjE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACpE,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjL,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAU,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7N,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;yBACnC,CAAC,CAAC;qBACJ,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC;AAyED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAmB,EAAE,KAAa;IACnE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7H,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAwB,CAAC;IACjE,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC;IACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACxG,MAAM,GAAG,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/H,MAAM,KAAK,GAAG,CAAC,EAAsB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtH,4FAA4F;IAC5F,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvV,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9L,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjZ,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAC3C,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAC3C,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;QAC1C,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5H,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/iB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,qIAAqI;QACrI,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,uHAAuH;QACvH,6GAA6G;QAC7G,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAoB,EAAE,KAAK,EAAE,SAA+B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACvV,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAC3C,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;gBACpC,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;gBAChD,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5E,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtQ,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,yGAAyG;gBACzG,wGAAwG;gBACxG,iEAAiE;gBACjE,GAAG,CAAC,GAA2B,EAAE;oBAC/B,MAAM,GAAG,GAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAiE,EAAE,GAAG,CAAC;oBAC1G,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACtH,MAAM,GAAG,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACvH,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrH,CAAC,CAAC,EAAE;gBACJ,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9G,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrI,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtM,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpH,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,GAAG,CAAC,GAA4B,EAAE;oBAChC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAA0F,CAAC;oBAC/H,MAAM,GAAG,GAAG,KAAK,EAAE,OAAO,CAAC;oBAC3B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;wBAAE,OAAO,EAAE,CAAC;oBAC1F,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,OAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9J,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrG,CAAC,CAAC,EAAE;aACL,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,GAAG,4BAA4B,GAAG,MAAM,EAAE,CAAC"}
|
package/dist/tool-invoker.d.ts
CHANGED
|
@@ -1,15 +1,73 @@
|
|
|
1
1
|
import type { Intent, PlanStep } from './types.js';
|
|
2
|
+
import type { SuppliedInputV1 } from './input.js';
|
|
2
3
|
/** Context handed to the invoker for one step (for logging / args resolution; never authority). */
|
|
3
4
|
export interface InvokeContext {
|
|
4
5
|
intent: Intent;
|
|
6
|
+
/** Spec 420 — a COMPARISON's dry run: an invoker whose tool declares `dryRun: 'invoke'` runs its read-only preconditions
|
|
7
|
+
* (find the fact, check the turn) and returns what it WOULD do — or its refusal — and writes NOTHING. */
|
|
8
|
+
dryRun?: boolean;
|
|
5
9
|
step: PlanStep;
|
|
6
10
|
/** 0-based index of this step within the current plan. */
|
|
7
11
|
index: number;
|
|
12
|
+
/** Spec 350 §3.1 — present for medium+ risk steps. An invoker MUST make the call idempotent on it: a
|
|
13
|
+
* retry of a payment is not a re-read, and the loop may re-run a step after a resume. */
|
|
14
|
+
idempotencyKey?: string;
|
|
15
|
+
/** Spec 410 §3 — the step's LOGICAL operation identity, always present: the admitted binding's `operationId`,
|
|
16
|
+
* else the idempotency key, else `runRef:stepRef`. An adapter records it with the effect it makes (a write
|
|
17
|
+
* ledger, a send ledger) so a reconcile can find the operation before a retry acts again. */
|
|
18
|
+
operationId: string;
|
|
19
|
+
/** Spec 350 §3.4 — the answers supplied for THIS step on a resume (data, a signature, a confirmation).
|
|
20
|
+
* Empty on a first run. A tool that lacks something throws `InputRequired` instead of guessing. */
|
|
21
|
+
supplied?: SuppliedInputV1[];
|
|
22
|
+
/** Spec 408 §2.3 — the digest of the plan this step belongs to, as the verifier judged it. An invoker that
|
|
23
|
+
* redeems a plan-bound mandate on chain presents it (`DigestBindingEnforcer`, kind `plan`). */
|
|
24
|
+
planDigest?: string;
|
|
25
|
+
/** Spec 409 §4 — has this run SEEN UNTRUSTED CONTENT before this step: any earlier observation (executed or
|
|
26
|
+
* replayed) whose result carries `untrusted: true` (a web page, a file, an external MCP server's answer). A
|
|
27
|
+
* self-authorized write consults it: after untrusted content, a write parks as a proposal instead of running
|
|
28
|
+
* on words the planner may have taken from an attacker. Evidence, never authority — no verifier reads it. */
|
|
29
|
+
untrustedSeen?: boolean;
|
|
8
30
|
}
|
|
31
|
+
/** What an adapter can show for what it observed: a response digest, a receipt URL, a chain read, a reconcile hit. */
|
|
32
|
+
export interface EvidenceRefV1 {
|
|
33
|
+
kind: 'response-digest' | 'receipt-url' | 'chain-read' | 'read-back' | 'reconcile' | (string & {});
|
|
34
|
+
ref: string;
|
|
35
|
+
}
|
|
36
|
+
export type ObservedOutcome = 'attempted' | 'accepted' | 'committed' | 'confirmed';
|
|
37
|
+
export interface ToolObservationV1 {
|
|
38
|
+
/** `attempted`: the call left and nothing came back the adapter can vouch for. `accepted`: the provider
|
|
39
|
+
* acknowledged (a 202, a queued message) and has not committed. `committed`: the provider says it is done.
|
|
40
|
+
* `confirmed`: the harness read the effect back INDEPENDENTLY of the call that made it. */
|
|
41
|
+
outcome: ObservedOutcome;
|
|
42
|
+
/** The provider's own identifier for the effect: message id, tx hash, task id, record version. */
|
|
43
|
+
providerRef?: string;
|
|
44
|
+
/** RFC 3339 — the harness clock when the adapter returned. */
|
|
45
|
+
observedAt: string;
|
|
46
|
+
evidence: EvidenceRefV1[];
|
|
47
|
+
}
|
|
48
|
+
/** What an invoker resolves when it can say what it saw. A raw value is still accepted and read as `attempted`. */
|
|
49
|
+
export interface ToolInvocationResultV1<T = unknown> {
|
|
50
|
+
output: T;
|
|
51
|
+
observation: ToolObservationV1;
|
|
52
|
+
}
|
|
53
|
+
export declare function isToolInvocationResult(v: unknown): v is ToolInvocationResultV1;
|
|
54
|
+
/** An invocation result over a raw value, for an adapter that has nothing more to show than that it returned. */
|
|
55
|
+
export declare function observed<T>(output: T, outcome: ObservedOutcome, o?: {
|
|
56
|
+
providerRef?: string;
|
|
57
|
+
evidence?: EvidenceRefV1[];
|
|
58
|
+
now?: () => Date;
|
|
59
|
+
}): ToolInvocationResultV1<T>;
|
|
9
60
|
/**
|
|
10
|
-
* Execute a single tool. Resolve with the tool's result
|
|
11
|
-
*
|
|
12
|
-
*
|
|
61
|
+
* Execute a single tool. Resolve with the tool's result — a `ToolInvocationResultV1` when the adapter can say
|
|
62
|
+
* what it saw (spec 410 §2), or a raw value, which the loop records as `attempted` (a read as `confirmed`: the
|
|
63
|
+
* read IS the observation). REJECT to signal a step failure (the loop then re-plans, bounded). A resolved
|
|
64
|
+
* value is treated as success — an invoker that wants to surface a tool-level error as a failure must throw
|
|
65
|
+
* (fail-closed; the loop does not inspect result shapes for hidden errors).
|
|
13
66
|
*/
|
|
14
67
|
export type ToolInvoker = (toolId: string, args: Record<string, unknown>, ctx: InvokeContext) => Promise<unknown>;
|
|
68
|
+
/**
|
|
69
|
+
* Spec 410 §2 "done when" — a stranger given only the receipt can answer "which end committed this, and what did
|
|
70
|
+
* it see". Rendered from the observation's words, never composed: the four outcomes each have one sentence.
|
|
71
|
+
*/
|
|
72
|
+
export declare function describeObservation(o: ToolObservationV1 | undefined): string;
|
|
15
73
|
//# sourceMappingURL=tool-invoker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-invoker.d.ts","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-invoker.d.ts","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf;8GAC0G;IAC1G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd;8FAC0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;kGAE8F;IAC9F,WAAW,EAAE,MAAM,CAAC;IACpB;wGACoG;IACpG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B;oGACgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;kHAG8G;IAC9G,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAUD,sHAAsH;AACtH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnG,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC;;gGAE4F;IAC5F,OAAO,EAAE,eAAe,CAAC;IACzB,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,mHAAmH;AACnH,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IAAI,MAAM,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAE;AAIlG,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,sBAAsB,CAI9E;AAED,iHAAiH;AACjH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAE1K;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAU5E"}
|
package/dist/tool-invoker.js
CHANGED
|
@@ -1,2 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
const OUTCOMES = new Set(['attempted', 'accepted', 'committed', 'confirmed']);
|
|
2
|
+
export function isToolInvocationResult(v) {
|
|
3
|
+
const r = v;
|
|
4
|
+
return !!r && typeof r === 'object' && 'output' in r && !!r.observation && typeof r.observation === 'object'
|
|
5
|
+
&& OUTCOMES.has(String(r.observation.outcome)) && typeof r.observation.observedAt === 'string' && Array.isArray(r.observation.evidence);
|
|
6
|
+
}
|
|
7
|
+
/** An invocation result over a raw value, for an adapter that has nothing more to show than that it returned. */
|
|
8
|
+
export function observed(output, outcome, o = {}) {
|
|
9
|
+
return { output, observation: { outcome, ...(o.providerRef ? { providerRef: o.providerRef } : {}), observedAt: (o.now ?? (() => new Date()))().toISOString(), evidence: o.evidence ?? [] } };
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Spec 410 §2 "done when" — a stranger given only the receipt can answer "which end committed this, and what did
|
|
13
|
+
* it see". Rendered from the observation's words, never composed: the four outcomes each have one sentence.
|
|
14
|
+
*/
|
|
15
|
+
export function describeObservation(o) {
|
|
16
|
+
if (!o)
|
|
17
|
+
return 'nothing was observed: the receipt predates the observation record, and only the output digest stands';
|
|
18
|
+
const saw = o.evidence.length ? ` It saw: ${o.evidence.map((e) => `${e.kind} ${e.ref}`).join('; ')}.` : ' It showed nothing beyond the call.';
|
|
19
|
+
const ref = o.providerRef ? ` The provider's reference is ${o.providerRef}.` : '';
|
|
20
|
+
switch (o.outcome) {
|
|
21
|
+
case 'attempted': return `Neither end is known to have committed this: the call left at ${o.observedAt} and nothing came back the adapter could vouch for.${ref}${saw}`;
|
|
22
|
+
case 'accepted': return `The provider accepted this at ${o.observedAt} and had not committed it when the adapter returned.${ref}${saw}`;
|
|
23
|
+
case 'committed': return `The provider says it committed this at ${o.observedAt}; the harness has not read it back independently.${ref}${saw}`;
|
|
24
|
+
case 'confirmed': return `Confirmed at ${o.observedAt}: the harness read the effect back independently of the call that made it.${ref}${saw}`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
2
27
|
//# sourceMappingURL=tool-invoker.js.map
|
package/dist/tool-invoker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-invoker.js","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"tool-invoker.js","sourceRoot":"","sources":["../src/tool-invoker.ts"],"names":[],"mappings":"AAkEA,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAEnG,MAAM,UAAU,sBAAsB,CAAC,CAAU;IAC/C,MAAM,CAAC,GAAG,CAA+G,CAAC;IAC1H,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;WACvG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC5I,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,QAAQ,CAAI,MAAS,EAAE,OAAwB,EAAE,IAA4E,EAAE;IAC7I,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AAC/L,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAgC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,sGAAsG,CAAC;IACtH,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,CAAC;IAC9I,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,CAAC,OAAO,iEAAiE,CAAC,CAAC,UAAU,sDAAsD,GAAG,GAAG,GAAG,EAAE,CAAC;QACxK,KAAK,UAAU,CAAC,CAAC,OAAO,iCAAiC,CAAC,CAAC,UAAU,uDAAuD,GAAG,GAAG,GAAG,EAAE,CAAC;QACxI,KAAK,WAAW,CAAC,CAAC,OAAO,0CAA0C,CAAC,CAAC,UAAU,oDAAoD,GAAG,GAAG,GAAG,EAAE,CAAC;QAC/I,KAAK,WAAW,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,6EAA6E,GAAG,GAAG,GAAG,EAAE,CAAC;IAChJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** The parsed `traceparent`. Ids are lowercase hex, W3C-sized (16-byte trace, 8-byte span). */
|
|
2
|
+
export interface TraceContextV1 {
|
|
3
|
+
traceId: string;
|
|
4
|
+
parentSpanId: string;
|
|
5
|
+
/** The `traceparent` flags byte (`01` = sampled). Carried, never acted on. */
|
|
6
|
+
flags: string;
|
|
7
|
+
/** The `tracestate` header verbatim, when one arrived. Opaque to this substrate except its own `ap` member. */
|
|
8
|
+
tracestate?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Parse a `traceparent` header per W3C Trace Context level 2: version `00` (a higher version is read with
|
|
11
|
+
* the same first four fields), non-zero trace and span ids. Anything else is `null` — never a partial. */
|
|
12
|
+
export declare function parseTraceparent(header: string | null | undefined): Omit<TraceContextV1, 'tracestate'> | null;
|
|
13
|
+
/** The `traceparent` this run puts on an OUTBOUND hop: our trace, the current span as the parent. */
|
|
14
|
+
export declare function formatTraceparent(traceId: string, spanId: string, opts?: {
|
|
15
|
+
sampled?: boolean;
|
|
16
|
+
}): string;
|
|
17
|
+
/** `tracestate` with this substrate's member set (`ap=<value>`) at the front — W3C: a vendor updating its
|
|
18
|
+
* member moves it to the left, the list is capped at 32 members, and foreign members are kept verbatim. */
|
|
19
|
+
export declare function withTracestateMember(existing: string | null | undefined, key: string, value: string): string;
|
|
20
|
+
/** This substrate's member of a `tracestate`, when present. */
|
|
21
|
+
export declare function tracestateMember(state: string | null | undefined, key: string): string | null;
|
|
22
|
+
/** What an inbound request carried, as the run records it — or `null` when it carried nothing usable. */
|
|
23
|
+
export declare function traceContextOf(headers: {
|
|
24
|
+
get(name: string): string | null;
|
|
25
|
+
}): TraceContextV1 | null;
|
|
26
|
+
//# sourceMappingURL=trace-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context.d.ts","sourceRoot":"","sources":["../src/trace-context.ts"],"names":[],"mappings":"AAUA,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,+GAA+G;IAC/G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;2GAC2G;AAC3G,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,IAAI,CAU7G;AAED,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAG3G;AAED;4GAC4G;AAC5G,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5G;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7F;AAED,yGAAyG;AACzG,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,cAAc,GAAG,IAAI,CAKnG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// W3C TRACE CONTEXT — spec 390 W2. The wire form of "these hops are one causal operation": `traceparent`
|
|
2
|
+
// (version-traceId-parentSpanId-flags) and `tracestate` (vendor members). Pure; nothing here touches a
|
|
3
|
+
// header object, a fetch or a store — the app reads and writes the headers and hands strings in.
|
|
4
|
+
//
|
|
5
|
+
// CORRELATION, NEVER TRUST. A `traceparent` that arrives with a request joins the run's spans to the
|
|
6
|
+
// caller's trace. That is all it does. Admission does not read it, a verdict does not read it, and a
|
|
7
|
+
// forged one can at most mis-file a trace — the authority twin in `trace-context.test.ts` proves the
|
|
8
|
+
// verdicts of a run are identical with and without one. An absent or malformed header means the run's
|
|
9
|
+
// ids DERIVE from its references (spec 381 W2): a fact about the input, not an escalation (ADR-0013).
|
|
10
|
+
const TRACEPARENT = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/;
|
|
11
|
+
/** Parse a `traceparent` header per W3C Trace Context level 2: version `00` (a higher version is read with
|
|
12
|
+
* the same first four fields), non-zero trace and span ids. Anything else is `null` — never a partial. */
|
|
13
|
+
export function parseTraceparent(header) {
|
|
14
|
+
const raw = (header ?? '').trim().toLowerCase();
|
|
15
|
+
// A future version may append fields after the flags; read the first four and ignore the rest.
|
|
16
|
+
const head = raw.startsWith('00-') ? raw : raw.replace(/^([0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}).*$/, '$1');
|
|
17
|
+
const m = TRACEPARENT.exec(head);
|
|
18
|
+
if (!m)
|
|
19
|
+
return null;
|
|
20
|
+
const [, version, traceId, parentSpanId, flags] = m;
|
|
21
|
+
if (version === 'ff')
|
|
22
|
+
return null; // reserved
|
|
23
|
+
if (/^0+$/.test(traceId) || /^0+$/.test(parentSpanId))
|
|
24
|
+
return null;
|
|
25
|
+
return { traceId: traceId, parentSpanId: parentSpanId, flags: flags };
|
|
26
|
+
}
|
|
27
|
+
/** The `traceparent` this run puts on an OUTBOUND hop: our trace, the current span as the parent. */
|
|
28
|
+
export function formatTraceparent(traceId, spanId, opts = {}) {
|
|
29
|
+
if (!/^[0-9a-f]{32}$/.test(traceId) || !/^[0-9a-f]{16}$/.test(spanId))
|
|
30
|
+
throw new Error(`traceparent needs a 32-hex trace id and a 16-hex span id, got ${traceId}/${spanId}`);
|
|
31
|
+
return `00-${traceId}-${spanId}-${opts.sampled === false ? '00' : '01'}`;
|
|
32
|
+
}
|
|
33
|
+
/** `tracestate` with this substrate's member set (`ap=<value>`) at the front — W3C: a vendor updating its
|
|
34
|
+
* member moves it to the left, the list is capped at 32 members, and foreign members are kept verbatim. */
|
|
35
|
+
export function withTracestateMember(existing, key, value) {
|
|
36
|
+
if (!/^[a-z][a-z0-9_\-*/]{0,255}$/.test(key))
|
|
37
|
+
throw new Error(`tracestate key must be a W3C key, got ${JSON.stringify(key)}`);
|
|
38
|
+
const v = value.replace(/[^\x20-\x7e]/g, '').replace(/[,=]/g, '_').trim();
|
|
39
|
+
const others = (existing ?? '').split(',').map((s) => s.trim()).filter((s) => s && !s.startsWith(`${key}=`));
|
|
40
|
+
return [`${key}=${v}`, ...others].slice(0, 32).join(',');
|
|
41
|
+
}
|
|
42
|
+
/** This substrate's member of a `tracestate`, when present. */
|
|
43
|
+
export function tracestateMember(state, key) {
|
|
44
|
+
for (const m of (state ?? '').split(',')) {
|
|
45
|
+
const t = m.trim();
|
|
46
|
+
if (t.startsWith(`${key}=`))
|
|
47
|
+
return t.slice(key.length + 1);
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
/** What an inbound request carried, as the run records it — or `null` when it carried nothing usable. */
|
|
52
|
+
export function traceContextOf(headers) {
|
|
53
|
+
const parent = parseTraceparent(headers.get('traceparent'));
|
|
54
|
+
if (!parent)
|
|
55
|
+
return null;
|
|
56
|
+
const state = (headers.get('tracestate') ?? '').trim();
|
|
57
|
+
return { ...parent, ...(state ? { tracestate: state.slice(0, 512) } : {}) };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=trace-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context.js","sourceRoot":"","sources":["../src/trace-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { RunRecordV1 } from './record.js';
|
|
2
|
+
/** How the request reached the harness. Ids only. */
|
|
3
|
+
export interface RunDoorV1 {
|
|
4
|
+
kind: 'a2a-message' | 'harness-ask' | 'routed' | 'trigger' | 'resume' | 'home-mcp' | 'channel-mention' | 'background';
|
|
5
|
+
/** A2A 1.0 `Message.messageId` / `contextId` / task id, when the door was an A2A message. */
|
|
6
|
+
messageId?: string;
|
|
7
|
+
contextId?: string;
|
|
8
|
+
taskId?: string;
|
|
9
|
+
/** Spec 397 — through a HOST (the Home MCP): which registered client of the person, and under which template
|
|
10
|
+
* (`ask-as-me`, `act-as-me`). Ids only; the wire itself is never here. */
|
|
11
|
+
client?: string;
|
|
12
|
+
template?: string;
|
|
13
|
+
}
|
|
14
|
+
/** One language-model call the run made. Times in ms. */
|
|
15
|
+
/** What a provider REPORTED a model call used (never an estimate): input and output tokens, and where the provider
|
|
16
|
+
* says so, the input served from its prompt cache and the output spent on reasoning. */
|
|
17
|
+
export interface ModelUsageV1 {
|
|
18
|
+
tokensIn: number;
|
|
19
|
+
tokensOut: number;
|
|
20
|
+
cachedIn?: number;
|
|
21
|
+
reasoningOut?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Sum usages (an absent one contributes nothing). */
|
|
24
|
+
export declare function addUsage(a: ModelUsageV1 | undefined, b: ModelUsageV1 | undefined): ModelUsageV1 | undefined;
|
|
25
|
+
export interface ModelCallV1 {
|
|
26
|
+
/** `judge`: the call that chose a skill (spec 415 selection); `structured`: a step's own structured call. */
|
|
27
|
+
role: 'plan' | 'compose' | 'structured' | 'judge';
|
|
28
|
+
/** Spec 417 §5 — the step whose call this was (a skill's answer); absent for the plan, the compose and the judge. */
|
|
29
|
+
stepRef?: string;
|
|
30
|
+
/** The call failed (no answer came back); its time and tokens still count. */
|
|
31
|
+
failed?: boolean;
|
|
32
|
+
model?: string;
|
|
33
|
+
provider?: string;
|
|
34
|
+
/** A digest of the prompt (never the prompt) — two runs share a prompt exactly when these match. */
|
|
35
|
+
promptDigest?: string;
|
|
36
|
+
tokensIn?: number;
|
|
37
|
+
tokensOut?: number;
|
|
38
|
+
/** Spec 388 — why this provider carried the call (a reason code). */
|
|
39
|
+
routeReason?: string;
|
|
40
|
+
startMs?: number;
|
|
41
|
+
endMs?: number;
|
|
42
|
+
}
|
|
43
|
+
/** The configuration a run ran under — each part something a comparison may change on its own. */
|
|
44
|
+
export interface VariantV1 {
|
|
45
|
+
/** The playbook, by its definition commitment; absent = the bare harness. */
|
|
46
|
+
playbook?: string;
|
|
47
|
+
/** supplied | compiled | model | rule-based. */
|
|
48
|
+
plannerKind?: string;
|
|
49
|
+
/** Spec 388 route policy (`budget`, a pinned provider …). */
|
|
50
|
+
routePolicy?: string;
|
|
51
|
+
/** The runtime's build (deployment version id / commit). */
|
|
52
|
+
build?: string;
|
|
53
|
+
/** Harness-capability toggles by notation (`retrieval/kb` → `off`). Absent ⇒ defaults. */
|
|
54
|
+
toggles?: Record<string, string>;
|
|
55
|
+
}
|
|
56
|
+
/** The seeded records a run began from, by digest (a comparison's fixture). Absent for a live run. */
|
|
57
|
+
export interface StartingStateRefV1 {
|
|
58
|
+
digest: string;
|
|
59
|
+
}
|
|
60
|
+
export type EngagementEffectV1 = 'changed-plan' | 'changed-step' | 'changed-answer' | 'no-change' | 'refused';
|
|
61
|
+
/** One engagement of a harness capability — on the run (no `stepRef`) or on one step. */
|
|
62
|
+
export interface HarnessEngagementV1 {
|
|
63
|
+
capability: string;
|
|
64
|
+
effect: EngagementEffectV1;
|
|
65
|
+
version?: string;
|
|
66
|
+
stepRef?: string;
|
|
67
|
+
/** Spec 415 §3a — for a `skill-selection/*` engagement: candidates offered, chosen, and the rejected neighbour (IRIs). */
|
|
68
|
+
offered?: string[];
|
|
69
|
+
chose?: string[];
|
|
70
|
+
rejected?: string[];
|
|
71
|
+
/** Spec 415 A4 — the request typed in the domain ontology (class IRIs; `https://agenticprimitives.dev/ns/execution#OutsideDomain`). */
|
|
72
|
+
intent?: {
|
|
73
|
+
requests?: string;
|
|
74
|
+
about?: string[];
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** A variant's identity: SHA-256 over its canonical JSON (keys sorted — RFC 8785 for these string-valued parts). */
|
|
78
|
+
export declare function variantDigestOf(v: VariantV1): Promise<`sha256:${string}`>;
|
|
79
|
+
/** The planner kind as a harness-capability notation. */
|
|
80
|
+
export declare function plannerCapabilityOf(kind: string | undefined): string | undefined;
|
|
81
|
+
/** Every engagement the record shows, derived, merged with the explicit stamps (first mention wins per capability
|
|
82
|
+
* and step). Deterministic: the same record yields the same list. */
|
|
83
|
+
export declare function engagementsOf(record: RunRecordV1): HarnessEngagementV1[];
|
|
84
|
+
//# sourceMappingURL=trace-facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-facts.d.ts","sourceRoot":"","sources":["../src/trace-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { canonicalJson, isArtifactRef, resultFactsOf } from './artifacts.js';
|
|
2
|
+
/** Sum usages (an absent one contributes nothing). */
|
|
3
|
+
export function addUsage(a, b) {
|
|
4
|
+
if (!a)
|
|
5
|
+
return b;
|
|
6
|
+
if (!b)
|
|
7
|
+
return a;
|
|
8
|
+
const opt = (x, y) => (x === undefined && y === undefined ? undefined : (x ?? 0) + (y ?? 0));
|
|
9
|
+
const cachedIn = opt(a.cachedIn, b.cachedIn), reasoningOut = opt(a.reasoningOut, b.reasoningOut);
|
|
10
|
+
return { tokensIn: a.tokensIn + b.tokensIn, tokensOut: a.tokensOut + b.tokensOut, ...(cachedIn !== undefined ? { cachedIn } : {}), ...(reasoningOut !== undefined ? { reasoningOut } : {}) };
|
|
11
|
+
}
|
|
12
|
+
/** A variant's identity: SHA-256 over its canonical JSON (keys sorted — RFC 8785 for these string-valued parts). */
|
|
13
|
+
export async function variantDigestOf(v) {
|
|
14
|
+
const bytes = new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(canonicalJson(v))));
|
|
15
|
+
return `sha256:${Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('')}`;
|
|
16
|
+
}
|
|
17
|
+
/** The planner kind as a harness-capability notation. */
|
|
18
|
+
export function plannerCapabilityOf(kind) {
|
|
19
|
+
if (!kind)
|
|
20
|
+
return undefined;
|
|
21
|
+
if (kind === 'supplied')
|
|
22
|
+
return 'planner/supplied';
|
|
23
|
+
if (kind === 'compiled')
|
|
24
|
+
return 'planner/compiled-shape';
|
|
25
|
+
return 'planner/model';
|
|
26
|
+
}
|
|
27
|
+
/** Every engagement the record shows, derived, merged with the explicit stamps (first mention wins per capability
|
|
28
|
+
* and step). Deterministic: the same record yields the same list. */
|
|
29
|
+
export function engagementsOf(record) {
|
|
30
|
+
const out = [];
|
|
31
|
+
const seen = new Set();
|
|
32
|
+
const add = (e) => {
|
|
33
|
+
const k = `${e.capability}|${e.stepRef ?? ''}`;
|
|
34
|
+
if (seen.has(k))
|
|
35
|
+
return;
|
|
36
|
+
seen.add(k);
|
|
37
|
+
out.push(e);
|
|
38
|
+
};
|
|
39
|
+
for (const e of record.engaged ?? [])
|
|
40
|
+
add(e);
|
|
41
|
+
// The planner proposed the plan (a supplied plan is still "the plan came from here").
|
|
42
|
+
const planner = plannerCapabilityOf(record.variant?.plannerKind);
|
|
43
|
+
if (planner)
|
|
44
|
+
add({ capability: planner, effect: record.plan.steps.length ? 'changed-plan' : 'no-change' });
|
|
45
|
+
// Plan admission: a refusal that forced a replan changed the plan; one that ended the run refused.
|
|
46
|
+
const refusals = record.events.filter((e) => e.type === 'PlanRefused');
|
|
47
|
+
if (refusals.length)
|
|
48
|
+
add({ capability: 'plan-admission', effect: refusals.some((r) => r.replanning) ? 'changed-plan' : 'refused' });
|
|
49
|
+
// A playbook governed the run.
|
|
50
|
+
if (record.receipts.some((r) => r.skillRef))
|
|
51
|
+
add({ capability: 'playbook', effect: 'changed-plan' });
|
|
52
|
+
// Fan-out (spec 380): the loop expands one step into `<base>#<k>` steps — its own id convention — so an expanded
|
|
53
|
+
// step on the record IS the evidence the plan was widened.
|
|
54
|
+
if (record.steps.some((s) => /#\d+$/.test(s.stepRef)))
|
|
55
|
+
add({ capability: 'fan-out', effect: 'changed-plan' });
|
|
56
|
+
const receipts = new Map(record.receipts.map((r) => [r.stepRef, r]));
|
|
57
|
+
const replayed = new Set(record.events.filter((e) => e.type === 'StepReplayed').map((e) => e.stepRef));
|
|
58
|
+
const approvalRefused = new Set(record.events.filter((e) => e.type === 'ApprovalRefused').map((e) => e.stepRef));
|
|
59
|
+
for (const s of record.steps) {
|
|
60
|
+
const r = receipts.get(s.stepRef);
|
|
61
|
+
const facts = resultFactsOf(s.result);
|
|
62
|
+
// Spec 413 — the declared retrieval step grounds what is SAID: passages that came back changed the answer.
|
|
63
|
+
if (s.stepRef === 'retrieve')
|
|
64
|
+
add({ capability: 'retrieval/kb', stepRef: s.stepRef, effect: s.ok && typeof facts?.count === 'number' && facts.count > 0 ? 'changed-answer' : 'no-change' });
|
|
65
|
+
if (replayed.has(s.stepRef) || s.replayed)
|
|
66
|
+
add({ capability: 'durable-resume', stepRef: s.stepRef, effect: 'changed-step' });
|
|
67
|
+
if (r?.authority?.afterApproval)
|
|
68
|
+
add({ capability: 'approval', stepRef: s.stepRef, effect: 'changed-step' });
|
|
69
|
+
if (approvalRefused.has(s.stepRef))
|
|
70
|
+
add({ capability: 'approval', stepRef: s.stepRef, effect: 'refused' });
|
|
71
|
+
if (r?.decisions?.length)
|
|
72
|
+
add({ capability: 'decision-rules', stepRef: s.stepRef, effect: 'changed-step' });
|
|
73
|
+
if (r?.binding?.correlation?.delegatedTo)
|
|
74
|
+
add({ capability: 'handoff', stepRef: s.stepRef, effect: 'changed-step' });
|
|
75
|
+
else if (typeof facts?.via?.runRef === 'string')
|
|
76
|
+
add({ capability: 'routing', stepRef: s.stepRef, effect: 'changed-step' });
|
|
77
|
+
if (isArtifactRef(s.result))
|
|
78
|
+
add({ capability: 'context-offload', stepRef: s.stepRef, effect: 'changed-step' });
|
|
79
|
+
}
|
|
80
|
+
return out;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=trace-facts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-facts.js","sourceRoot":"","sources":["../src/trace-facts.ts"],"names":[],"mappings":"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"}
|