@jesonliu/lark-claudecode-bridge 1.3.7 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/assets/web/js/main.js +2 -1
- package/assets/web/js/pages/memory.js +561 -0
- package/config.example.yaml +34 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.js +133 -1
- package/dist/config.js.map +1 -1
- package/dist/executor/claude-executor.d.ts +26 -3
- package/dist/executor/claude-executor.js +718 -293
- package/dist/executor/claude-executor.js.map +1 -1
- package/dist/executor/notify-server.d.ts +10 -0
- package/dist/executor/notify-server.js +11 -0
- package/dist/executor/notify-server.js.map +1 -1
- package/dist/executor/permission-gate.d.ts +8 -1
- package/dist/executor/permission-gate.js +7 -3
- package/dist/executor/permission-gate.js.map +1 -1
- package/dist/gateway/card-builder.d.ts +15 -3
- package/dist/gateway/card-builder.js +21 -10
- package/dist/gateway/card-builder.js.map +1 -1
- package/dist/gateway/feishu-gateway.d.ts +13 -0
- package/dist/gateway/feishu-gateway.js +34 -2
- package/dist/gateway/feishu-gateway.js.map +1 -1
- package/dist/gateway/progress-card.d.ts +4 -2
- package/dist/gateway/progress-card.js +52 -25
- package/dist/gateway/progress-card.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +225 -32
- package/dist/index.js.map +1 -1
- package/dist/memory-installer.d.ts +174 -0
- package/dist/memory-installer.js +1035 -0
- package/dist/memory-installer.js.map +1 -0
- package/dist/memory.d.ts +88 -0
- package/dist/memory.js +195 -0
- package/dist/memory.js.map +1 -0
- package/dist/security/paths.d.ts +3 -1
- package/dist/security/paths.js +28 -4
- package/dist/security/paths.js.map +1 -1
- package/dist/session/session-store.d.ts +15 -0
- package/dist/session/session-store.js +16 -0
- package/dist/session/session-store.js.map +1 -1
- package/dist/types.d.ts +56 -1
- package/dist/web/config-api.js +32 -0
- package/dist/web/config-api.js.map +1 -1
- package/dist/web/memory-api.d.ts +25 -0
- package/dist/web/memory-api.js +197 -0
- package/dist/web/memory-api.js.map +1 -0
- package/dist/web/server.js +73 -2
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-installer.js","sourceRoot":"","sources":["../src/memory-installer.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,gEAAgE;AAChE,qDAAqD;AACrD,uDAAuD;AACvD,qDAAqD;AACrD,EAAE;AACF,yBAAyB;AACzB,kGAAkG;AAClG,sGAAsG;AACtG,uGAAuG;AACvG,4FAA4F;AAC5F,+GAA+G;AAC/G,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,IAAI,YAAY,EAAe,MAAM,SAAS,CAAC;AACjL,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAC9C,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,oEAAoE,GAAG,EAAE,CAAC;AAC5E,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CACtC,uEAAuE,GAAG,EAAE,CAAC;AAC/E,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAE3D;;;0DAG0D;AAC1D,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,MAAM,uBAAuB,GAAG;IAC9B,uBAAuB;IACvB,8FAA8F;CAC/F,CAAC;AACF,MAAM,eAAe,GAAG,GAAG,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;AAoBpE,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC;IACvC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;IACtD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE;IAC/D,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE;IAC7D,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;IACnD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;CACrD,CAAC;AAEF,wDAAwD;AACxD,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC;IACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;IACrD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE;IACnD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;CACrD,CAAC;AAEF,IAAI,YAAY,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;AAC3F,MAAM,UAAU,eAAe,KAAmB,OAAO,YAAY,CAAC,CAAC,CAAC;AAKxE,IAAI,OAAgC,CAAC;AAErC,wDAAwD;AACxD,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,GAAG,SAAS,CAAC;AACtB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB,KAAc,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;AAE7E,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,KAAyB,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAErF,gCAAgC;AAEhC,gDAAgD;AAChD,SAAS,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,IAAI,GAAyD,EAAE;IACvG,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;YACzB,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;SAC7C,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;;gBAChC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,CAAS;IAC9B,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAClF,CAAC;AAED;;sDAEsD;AACtD,SAAS,UAAU;IACjB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACpF,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAClC,CAAC;AAED,iDAAiD;AACjD,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,oCAAoC;AAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EACjH,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAEpC,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,OAAO;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAChI,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;KACrE,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;QACjG,CAAC;QACD,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrG,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,2BAA2B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;IACxC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,CAAC,4DAA4D,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9F,gFAAgF;QAChF,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,6CAA6C;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YACd,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;gBACxF,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpF,CAAC,CAAC,EAAE;SACP,CAAC;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACvC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,+CAA+C;AAE/C,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACzF,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC;SACtF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,GAAW;IAChD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACvI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC9F,CAAC;IACD,qFAAqF;IACrF,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC/E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;AAC1E,CAAC;AAED,4CAA4C;AAE5C,oCAAoC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAC5H,yBAAyB,EAAE,YAAY,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;AAEnE,2EAA2E;AAC3E,SAAS,WAAW,CAAC,CAAgC;IACnD,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAC1B,KAAwB,EACxB,IAAiE;IAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;QACzC,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;gBACjC,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;gBAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;aAC9B;SACF;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC7B,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;SAC5B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,UAAU;SACzB;KACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED,uCAAuC;AACvC,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAA2C,CAAC;QACxG,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED;uCACuC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAC5F,aAAa,EAAE,SAAS,CAAC,CAAC;AAE5B,4DAA4D;AAC5D,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAoC,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;IAC7G,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,6DAA6D;AAC7D,wEAAwE;AACxE,uEAAuE;AACvE,wDAAwD;AAExD,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EACtF,aAAa,EAAE,YAAY,CAAC,CAAC;AAI/B;;;2DAG2D;AAC3D,SAAS,oBAAoB,CAAC,CAAU;IACtC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;WACxF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;yBAEyB;AACzB,MAAM,UAAU,eAAe,CAAC,MAAkD;IAChF,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;AAC1G,CAAC;AAED;;;;;;;sEAOsE;AACtE,MAAM,UAAU,mBAAmB,CACjC,MAAkD,EAClD,WAAoB;IAEpB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,GAAG,GAAG,SAAS,CAAC;IAAC,CAAC;IACjF,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QAChE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;8CAC8C;AAC9C,MAAM,UAAU,oBAAoB,CAAC,WAAoB;IACvD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAC9E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAKD;wEACwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,KAAwC;IACzE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/E,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,GAAG,GAAG,SAAS,CAAC;IAAC,CAAC;IACvF,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAClF,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,sCAAsC;AAEtC;;gCAEgC;AAChC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAS,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE;IAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,OAAO;YAAE,SAAS,CAAC,UAAU;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;0DAC0D;AAC1D,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAY,EAAE,QAAQ,GAAG,KAAK;IAC/F,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,0BAA0B,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3H,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,kBAAkB;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,uBAAuB,IAAI,yCAAyC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3H,iBAAiB,EAAE,CAAC;IACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,QAAgB;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,sBAAsB;IACtB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,OAAO,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3G,iBAAiB,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,0DAA0D;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA4B;IACjE,IAAI,YAAY,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAC9C,YAAY,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;IAC3G,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,MAAkB,EAAE,MAAe,EAAE,EAAE;QAC9D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QAClB,IAAI,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,CAAC,CAAC;IACF,IAAI,CAAC;QACH,uDAAuD;QACvD,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe;YAC5D,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,QAAQ,KAAK,gBAAgB,CAAC;QAC/C,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvG,mCAAmC;QACnC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzB,IAAI,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QACzB,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACd,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,sBAAsB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChE,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,iBAAiB,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtF,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACd,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,4CAA4C;QAC5C,yEAAyE;QACzE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC;YAC1B,QAAQ,EAAE,oBAAoB,IAAI,IAAI,IAAI,EAAE;YAC5C,OAAO,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;SAC9C,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;YACjB,uDAAuD;YACvD,eAAe,CAAC,IAAI,CAAC,UAAU,EAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAClF,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;YACzB,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAY;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;QAC7F,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACrG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC9C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,GAAG,SAAS,CAAC;YAAC,OAAO;QAAC,CAAC;QACrD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,OAAO,CAAC,QAAQ,SAAS,GAAG,EAAE,CAAC,CAAC;YAC9E,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC;wBAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;gBAC9F,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACrE,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,oCAAoC;AAEpC;mCACmC;AACnC,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EACtH,yBAAyB,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAa5D;0EAC0E;AAC1E,SAAS,iBAAiB;IACxB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,mBAAmB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC,CAAC,oBAAoB;IAC7C,MAAM,UAAU,GAA8D,EAAE,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAClC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC;YAAC,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAA0B,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAChI,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QACjG,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,IAAI,GAAiC,EAAE;IAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAC3E,IAAI,GAAG,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC3E,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC9F,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YAC5E,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa;oBACtC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAkBD;;0BAE0B;AAC1B,MAAM,UAAU,uBAAuB,CAAC,SAAiB,EAAE,GAAW,EAAE,IAA+C;IACrH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAoB,CAAC;YACzE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAyC,EAAE,CAAC;IAC5E,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAClB,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,GAAG;YACrC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED;0BAC0B;AAC1B,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,GAAW;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC9C,IAAI,GAAG,GAA4B,EAAE,CAAC;IACtC,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC3G,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7G,CAAC,CAAC,GAAG,CAAC,cAAyC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACf,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC;IACxB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,wEAAwE;AACxE,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAA4B,CAAC;QAC/H,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,YAAY;AAC5C,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CAAC,SAAiB,EAAE,IAAc;IACvE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACtE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACjG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,CAAC,EAAE,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC5F,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvE,OAAO,EAAE,MAAM,EAAE,QAAQ,gBAAgB,OAAO,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,qCAAqC;IACrC,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IACtH,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,6DAA6D;IAC7D,MAAM,WAAW,GAAG,GAAuB,EAAE;QAC3C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YAC1E,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,OAAO,WAAW;QAChB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,WAAW,EAAE,EAAE,WAAW,EAAE;QAClD,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,eAAe,4CAA4C,EAAE,CAAC;AAChG,CAAC;AAED;;;oDAGoD;AACpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAA+C;IAE9E,sDAAsD;IACtD,uBAAuB;IACvB,IAAI,UAAuC,CAAC;IAC5C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YAAC,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACjD,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IACjH,CAAC;IACD,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpF,IAAI,SAAS,GAAG,kBAAkB,CAAC;IACnC,IAAI,CAAC;QAAC,SAAS,GAAG,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAE9F,yDAAyD;IACzD,uDAAuD;IACvD,4CAA4C;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YAC1E,IAAI,GAAG;gBAAE,OAAO;oBACd,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,4BAA4B,GAAG,CAAC,IAAI,GAAG,YAAY,EAAE;oBAC7D,UAAU;oBACV,SAAS,EAAE;wBACT,UAAU,EAAE,GAAG,CAAC,IAAI;wBACpB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;qBACrH;iBACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,mDAAmD;IACnD,2DAA2D;IAC3D,wDAAwD;IACxD,MAAM,GAAG,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,iBAAiB,YAAY,EAAE;YACpD,UAAU;YACV,SAAS,EAAE;gBACT,UAAU,EAAE,GAAG,CAAC,WAAW;gBAC3B,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;aACrH;SACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpE,gEAAgE;IAChE,iEAAiE;IACjE,sFAAsF;IACtF,4DAA4D;IAC5D,2EAA2E;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,gDAAgD;IACpE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/E,sDAAsD;QACtD,gDAAgD;QAChD,MAAM,MAAM,GAAG,cAAc,GAAG,IAAI,aAAa,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QAC5H,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC7E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAChG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACnF,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACzC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3F,gDAAgD;QAChD,uBAAuB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpF,sBAAsB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACnD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACjF,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,QAAQ,OAAO,eAAe,IAAI,iBAAiB,YAAY,EAAE;YACzE,UAAU;YACV,SAAS,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE;aACrH;SACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,8DAA8D;AAE9D,0FAA0F;AAC1F,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACxC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAmBD;+CAC+C;AAC/C,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,EAAmB,EAAE,UAAmB,EAAE,IAAI,GAAkB,EAAE;IACpH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,IAAsE,EAAE,GAAW,EAAE,GAAY,EAAE,EAAE;QACtH,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;IACzH,CAAC,CAAC;IACF,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,SAAS,CAAC,GAAkF,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACvH,SAAS,CAAC,GAAkF,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/G,IAAI,EAAE,CAAC,MAAM;YAAE,SAAS,CAAC,GAAkF,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACrI,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvI,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAsD,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,GAAyF,CAAC;YAC1G,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,UAAU;gBAAE,SAAS;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAiD,CAAC;YACvF,4CAA4C;YAC5C,gDAAgD;YAChD,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAA6C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAEzE,CAAC;YACd,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,GAAG,KAAK,UAAU;oBAAE,SAAS;gBACjC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,+CAA+C;oBAC/C,oDAAoD;oBACpD,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;2BAC1C,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxE,IAAI,CAAC,QAAQ;wBAAE,SAAS;gBAC1B,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,aAAa;gBAAE,SAAS,CAAC,gCAAgC;YAClE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,iCAAiC;AAEjC;wEACwE;AACxE,KAAK,UAAU,aAAa,CAAC,UAAkB;IAC7C,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAUD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAoB;IACnD,IAAI,YAAY,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAC9C,YAAY,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;IAC7G,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,EAAqB,EAAE,MAAkB,EAAE,MAAe,EAAE,EAAE;QACzE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QAClB,IAAI,MAAM,KAAK,SAAS;YAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,CAAC,CAAC;IACF,IAAI,CAAC;QACH,0DAA0D;QAC1D,IAAI,eAAmC,CAAC;QACxC,OAAO;QACP,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC1B,IAAI,EAAE;YAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACrE,CAAC;YACJ,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;YACvB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO;QACP,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7D,yDAAyD;QACzD,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzB,gDAAgD;QAChD,oDAAoD;QACpD,aAAa;QACb,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;QACvH,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YACrB,+DAA+D;YAC/D,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,eAAe,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAE,CAAC;YACjB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAoC,CAAC,MAAM,EAAE,IAAI,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,SAAS,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9K,MAAM,IAAI,GAAG,QAAQ,IAAI,MAAM,YAAY,EAAE,CAAC;YAC9C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE;gBAC/C,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;gBAC9C,IAAI;gBACJ,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YACH,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACtE,6DAA6D;YAC7D,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;YACvD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,eAAe,OAAO,IAAI,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,OAAO;QACP,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACrD,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACzD,mEAAmE;QACnE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC;YAC1B,QAAQ,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE;YACvC,OAAO,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;SAC9C,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1D,mEAAmE;QACnE,oEAAoE;QACpE,sCAAsC;QACtC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE;YAC/B,QAAQ,EAAE,oBAAoB,EAAE,CAAC,IAAI,EAAE;YACvC,IAAI,EAAE,UAAU;YAChB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,YAAY,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;YACzB,MAAM,CAAC,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC"}
|
package/dist/memory.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { MemoryConfig } from './types.js';
|
|
2
|
+
/** 记忆插件名(§6.9 自动注入目标;与 ~/.claude 侧 installed_plugins.json 键
|
|
3
|
+
* "openviking-memory@openviking" 的 @ 前段一致——discoverPlugins 的 name 口径) */
|
|
4
|
+
export declare const MEMORY_PLUGIN_NAME = "openviking-memory";
|
|
5
|
+
/** 记忆服务缺省端点(dev 模式回环默认;embedded 模式由 B3 分配后回写 config) */
|
|
6
|
+
export declare const DEFAULT_MEMORY_ENDPOINT = "http://127.0.0.1:1933";
|
|
7
|
+
/** memory 段的生效端点(remote 显式配置 > 缺省回环)。参数放宽为 Pick——渲染客户端接入配置
|
|
8
|
+
* (ovcli.conf 骨架)等场景只有 endpoint/account 子集,只读 endpoint 的纯函数不该要求全段 */
|
|
9
|
+
export declare function memoryEndpoint(memory: Pick<MemoryConfig, 'endpoint'>): string;
|
|
10
|
+
/**
|
|
11
|
+
* memory.enabled 时的 ns env 下发(§6.4/§6.6)——返回值由调用方以「保留既有值」方式并入
|
|
12
|
+
* taskEnv(apps[].env 手配 OPENVIKING_* = 专家覆盖口,优先级最高)。键语义:
|
|
13
|
+
* - OPENVIKING_ACCOUNT:账号轴(全局),缺省 lcb
|
|
14
|
+
* - OPENVIKING_USER:用户轴 = {appId}-{userId},**每条消息拼装**(群聊按人隔离;
|
|
15
|
+
* deputy 的 appId 天然不同于主 bot——「分身有自己的记忆、永不读主人记忆」的实现点)
|
|
16
|
+
* - OPENVIKING_API_KEY:连接 key。api_key 模式 = 该 bot 的独立 user key(userKeys 缓存,
|
|
17
|
+
* root key 永不下发子进程);dev 模式无 key(身份经 header 隔离)
|
|
18
|
+
* - OPENVIKING_MEMORY_ENABLED:'1' 强制启用通道——插件 isPluginEnabled() 的第 1 优先级判据
|
|
19
|
+
* (插件 scripts/config.mjs),使启用不依赖 ~/.openviking/ 下任何文件(全新机器零手工的关键;
|
|
20
|
+
* 与 ACCOUNT 同级、不依赖 userId)。实测教训:LCB 原先只下发身份三键,插件启用判定根本不看,
|
|
21
|
+
* 全新机器 ~/.openviking 不存在 → 9 个 hook 全部静默秒退
|
|
22
|
+
* - OPENVIKING_URL:memoryEndpoint(memory)——embedded = 受管服务实际端口(findFreePort 可能
|
|
23
|
+
* 分到 1934+,插件缺省连 127.0.0.1:1933 会错连)、remote = 外部端点。它同时是插件
|
|
24
|
+
* CREDENTIAL_ENV_VARS 成员:任一凭证 env 存在 → 凭证链 unpinned → env 层恒压过
|
|
25
|
+
* ovcli.conf/ov.conf,文件通道(哪怕 user-managed)永远劫持不了 LCB 会话的连接
|
|
26
|
+
* 纯函数 exported 便于单测;userId 为空串时不产出 OPENVIKING_USER(防御非消息触发的任务路径)。
|
|
27
|
+
*/
|
|
28
|
+
export declare function memoryEnvFor(memory: MemoryConfig, appId: string, userId: string,
|
|
29
|
+
/** 启动时 Admin API 签发的 per-bot user key(api_key 模式);缺失/未签发则跳过 key 下发 */
|
|
30
|
+
userKeys?: ReadonlyMap<string, string>): Record<string, string>;
|
|
31
|
+
/** 探活结果:healthy + 服务端自报版本/鉴权模式(B2 配置页状态灯数据源;B3 受管进程崩溃检测) */
|
|
32
|
+
export interface MemoryHealth {
|
|
33
|
+
healthy: boolean;
|
|
34
|
+
/** /health 返回的 version 字段(成功时必有;探活失败缺省) */
|
|
35
|
+
version?: string;
|
|
36
|
+
/** /health 返回的 auth_mode("dev" / "api_key");决定身份隔离走 header 还是 user key */
|
|
37
|
+
authMode?: string;
|
|
38
|
+
/** 失败分类(配置页据此给「下一步动作」而非笼统「服务异常」):
|
|
39
|
+
* not-running=连接被拒(端口无监听,服务进程未运行——已装可拉起)
|
|
40
|
+
* unreachable=端点不可达/域名解析失败;timeout=探活超时;auth=401/403(key 不匹配)
|
|
41
|
+
* http-error=其他非 2xx;unhealthy=2xx 但服务自报异常;error=未分类异常 */
|
|
42
|
+
reason?: 'not-running' | 'unreachable' | 'timeout' | 'auth' | 'http-error' | 'unhealthy' | 'error';
|
|
43
|
+
/** 失败原因(用户可读,进状态灯 tooltip / 日志) */
|
|
44
|
+
detail?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* OpenViking server 探活(GET {endpoint}/health):B1 启动检查、B2 状态区状态灯、B3 受管进程
|
|
48
|
+
* 崩溃检测共用。短超时(缺省 2s)——探活走消息处理路径时不能拖住任务。Node 18+ 原生 fetch;
|
|
49
|
+
* 失败(网络/超时/非 200/JSON 异常)一律收敛为 { healthy: false, detail },不抛出。
|
|
50
|
+
*/
|
|
51
|
+
export declare function probeMemoryHealth(endpoint: string, timeoutMs?: number): Promise<MemoryHealth>;
|
|
52
|
+
/** BridgeDeps.memory 最小接口(§6.6):探活供启动/状态页;namespacesFor 供 B2 ns 矩阵;
|
|
53
|
+
* userKeys 供 env 下发取 per-bot key(dev 模式为空 Map——身份走 header) */
|
|
54
|
+
export interface MemoryProvider {
|
|
55
|
+
isHealthy(): Promise<MemoryHealth>;
|
|
56
|
+
/** 某 bot 的 ns 映射(account/user 前缀;peer 轴按 workspace 运行期派生,不在此暴露) */
|
|
57
|
+
namespacesFor(appId: string): {
|
|
58
|
+
account: string;
|
|
59
|
+
userPrefix: string;
|
|
60
|
+
};
|
|
61
|
+
/** 启动/热重载时 Admin API 签发的 per-bot user key(appId → key);未签发/未启用为空 */
|
|
62
|
+
userKeys(): ReadonlyMap<string, string>;
|
|
63
|
+
}
|
|
64
|
+
/** 生产实现:全部现读 config.memory 与共享 key 缓存(同一 config 引用被热重载 mutate,改段即生效) */
|
|
65
|
+
export declare function createMemoryProvider(config: BridgeConfigLike, userKeys: ReadonlyMap<string, string>): MemoryProvider;
|
|
66
|
+
/** createMemoryProvider 只需 config 的 memory 段(结构子集,避免循环 import BridgeConfig) */
|
|
67
|
+
interface BridgeConfigLike {
|
|
68
|
+
memory?: MemoryConfig;
|
|
69
|
+
}
|
|
70
|
+
/** 单个 bot 的 user key 签发/跳过结果 */
|
|
71
|
+
export interface MemoryKeyOutcome {
|
|
72
|
+
appId: string;
|
|
73
|
+
/** 签发成功(api_key 模式);dev 模式为 undefined(skipped 带原因) */
|
|
74
|
+
userKey?: string;
|
|
75
|
+
skipped?: string;
|
|
76
|
+
error?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 为每个 bot 签发独立 user key(§6.7 第 5 步;api_key 模式)。
|
|
80
|
+
* - dev 模式:整体跳过——身份隔离由 OPENVIKING_USER → X-OpenViking-User header 承担,
|
|
81
|
+
* Admin API 在 dev 模式被服务端禁用(403),跳过是唯一正解而非降级
|
|
82
|
+
* - api_key 模式:X-API-Key 携带 root key(memory.api_key,只在本函数与配置盘间流转),
|
|
83
|
+
* POST /api/v1/admin/accounts/{account}/users 签发;seed = sha256(appId+rootKey) 确定性
|
|
84
|
+
* ——同 seed 重签同值,LCB 重启无须持久化 key 存储
|
|
85
|
+
* - 失败不抛出(逐 bot 记 error):记忆不可用不应阻断机器人服务,与插件发现的容错基调一致
|
|
86
|
+
*/
|
|
87
|
+
export declare function ensureMemoryUserKeys(memory: MemoryConfig, appIds: string[], timeoutMs?: number): Promise<Map<string, MemoryKeyOutcome>>;
|
|
88
|
+
export {};
|
package/dist/memory.js
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// 长期记忆(OpenViking)集成 · B1 配置通道(生命周期方案 §6,docs/LCB会话生命周期与长期记忆整合方案-v2.3.md)。
|
|
2
|
+
// 职责收敛在「配置 → env 下发 / 插件注入」的纯计算 + 最小 HTTP(探活 / user key 签发)——弱耦合
|
|
3
|
+
// 验收:LCB 对 OpenViking 零 SDK 依赖、零 import,全部交互只有 HTTP 与环境变量。B3 嵌入式
|
|
4
|
+
// 安装器(uv / 受管子进程 / ov.conf 渲染)在此文件基础上扩展,不动本层语义。
|
|
5
|
+
//
|
|
6
|
+
// OpenViking 0.5.0 身份体系(源码探查 + 实测确认):
|
|
7
|
+
// - env 三键由 openviking_sdk 转为请求 header:OPENVIKING_API_KEY → X-API-Key、
|
|
8
|
+
// OPENVIKING_ACCOUNT → X-OpenViking-Account、OPENVIKING_USER → X-OpenViking-User
|
|
9
|
+
// - auth_mode=dev(单机默认):key 不校验,身份完全由 Account/User header 决定——env 下发
|
|
10
|
+
// OPENVIKING_USER 即得 ns 隔离,无须任何 key(仅限回环监听的本机场景)
|
|
11
|
+
// - auth_mode=api_key(root_api_key 配置后):Account/User header 被服务端剥除,身份由
|
|
12
|
+
// X-API-Key 自带(key = base64url(account).base64url(user).base64url(secret),不可伪造);
|
|
13
|
+
// user key 经 Admin API 签发(POST /api/v1/admin/accounts/{account}/users,X-API-Key 携带
|
|
14
|
+
// root key,seed 参数可得确定性 key——同 seed 重签同值,LCB 无须持久化存储 key)
|
|
15
|
+
import { createHash } from 'node:crypto';
|
|
16
|
+
/** 记忆插件名(§6.9 自动注入目标;与 ~/.claude 侧 installed_plugins.json 键
|
|
17
|
+
* "openviking-memory@openviking" 的 @ 前段一致——discoverPlugins 的 name 口径) */
|
|
18
|
+
export const MEMORY_PLUGIN_NAME = 'openviking-memory';
|
|
19
|
+
/** 记忆服务缺省端点(dev 模式回环默认;embedded 模式由 B3 分配后回写 config) */
|
|
20
|
+
export const DEFAULT_MEMORY_ENDPOINT = 'http://127.0.0.1:1933';
|
|
21
|
+
/** memory 段的生效端点(remote 显式配置 > 缺省回环)。参数放宽为 Pick——渲染客户端接入配置
|
|
22
|
+
* (ovcli.conf 骨架)等场景只有 endpoint/account 子集,只读 endpoint 的纯函数不该要求全段 */
|
|
23
|
+
export function memoryEndpoint(memory) {
|
|
24
|
+
return memory.endpoint?.trim() || DEFAULT_MEMORY_ENDPOINT;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* memory.enabled 时的 ns env 下发(§6.4/§6.6)——返回值由调用方以「保留既有值」方式并入
|
|
28
|
+
* taskEnv(apps[].env 手配 OPENVIKING_* = 专家覆盖口,优先级最高)。键语义:
|
|
29
|
+
* - OPENVIKING_ACCOUNT:账号轴(全局),缺省 lcb
|
|
30
|
+
* - OPENVIKING_USER:用户轴 = {appId}-{userId},**每条消息拼装**(群聊按人隔离;
|
|
31
|
+
* deputy 的 appId 天然不同于主 bot——「分身有自己的记忆、永不读主人记忆」的实现点)
|
|
32
|
+
* - OPENVIKING_API_KEY:连接 key。api_key 模式 = 该 bot 的独立 user key(userKeys 缓存,
|
|
33
|
+
* root key 永不下发子进程);dev 模式无 key(身份经 header 隔离)
|
|
34
|
+
* - OPENVIKING_MEMORY_ENABLED:'1' 强制启用通道——插件 isPluginEnabled() 的第 1 优先级判据
|
|
35
|
+
* (插件 scripts/config.mjs),使启用不依赖 ~/.openviking/ 下任何文件(全新机器零手工的关键;
|
|
36
|
+
* 与 ACCOUNT 同级、不依赖 userId)。实测教训:LCB 原先只下发身份三键,插件启用判定根本不看,
|
|
37
|
+
* 全新机器 ~/.openviking 不存在 → 9 个 hook 全部静默秒退
|
|
38
|
+
* - OPENVIKING_URL:memoryEndpoint(memory)——embedded = 受管服务实际端口(findFreePort 可能
|
|
39
|
+
* 分到 1934+,插件缺省连 127.0.0.1:1933 会错连)、remote = 外部端点。它同时是插件
|
|
40
|
+
* CREDENTIAL_ENV_VARS 成员:任一凭证 env 存在 → 凭证链 unpinned → env 层恒压过
|
|
41
|
+
* ovcli.conf/ov.conf,文件通道(哪怕 user-managed)永远劫持不了 LCB 会话的连接
|
|
42
|
+
* 纯函数 exported 便于单测;userId 为空串时不产出 OPENVIKING_USER(防御非消息触发的任务路径)。
|
|
43
|
+
*/
|
|
44
|
+
export function memoryEnvFor(memory, appId, userId,
|
|
45
|
+
/** 启动时 Admin API 签发的 per-bot user key(api_key 模式);缺失/未签发则跳过 key 下发 */
|
|
46
|
+
userKeys) {
|
|
47
|
+
const env = {
|
|
48
|
+
OPENVIKING_ACCOUNT: memory.account ?? 'lcb',
|
|
49
|
+
OPENVIKING_MEMORY_ENABLED: '1',
|
|
50
|
+
OPENVIKING_URL: memoryEndpoint(memory),
|
|
51
|
+
};
|
|
52
|
+
if (userId)
|
|
53
|
+
env.OPENVIKING_USER = `${appId}-${userId}`;
|
|
54
|
+
const key = userKeys?.get(appId);
|
|
55
|
+
if (key)
|
|
56
|
+
env.OPENVIKING_API_KEY = key;
|
|
57
|
+
return env;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* OpenViking server 探活(GET {endpoint}/health):B1 启动检查、B2 状态区状态灯、B3 受管进程
|
|
61
|
+
* 崩溃检测共用。短超时(缺省 2s)——探活走消息处理路径时不能拖住任务。Node 18+ 原生 fetch;
|
|
62
|
+
* 失败(网络/超时/非 200/JSON 异常)一律收敛为 { healthy: false, detail },不抛出。
|
|
63
|
+
*/
|
|
64
|
+
export async function probeMemoryHealth(endpoint, timeoutMs = 2000) {
|
|
65
|
+
const url = `${endpoint.replace(/\/+$/, '')}/health`;
|
|
66
|
+
// host/port 仅用于失败文案定位(如「127.0.0.1:1933 无进程监听」);URL 非法时留空
|
|
67
|
+
const { hostname, port } = (() => { try {
|
|
68
|
+
return new URL(url);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return { hostname: '', port: '' };
|
|
72
|
+
} })();
|
|
73
|
+
const at = hostname ? `${hostname}:${port || '1933'}` : url;
|
|
74
|
+
const controller = new AbortController();
|
|
75
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
76
|
+
try {
|
|
77
|
+
const res = await fetch(url, { signal: controller.signal });
|
|
78
|
+
if (!res.ok) {
|
|
79
|
+
// 401/403 单列:api_key 模式 key 不匹配与服务未运行是完全不同的处置路径
|
|
80
|
+
if (res.status === 401 || res.status === 403) {
|
|
81
|
+
return { healthy: false, reason: 'auth', detail: `HTTP ${res.status}(鉴权失败:服务为 api_key 模式时检查 memory.api_key / root key 是否匹配)` };
|
|
82
|
+
}
|
|
83
|
+
return { healthy: false, reason: 'http-error', detail: `HTTP ${res.status}` };
|
|
84
|
+
}
|
|
85
|
+
const body = (await res.json());
|
|
86
|
+
// 服务端语义:status=ok(0.5.0 实测);healthy 字段兼容未来版本
|
|
87
|
+
const ok = body.status === 'ok' || body.healthy === true;
|
|
88
|
+
return ok
|
|
89
|
+
? {
|
|
90
|
+
healthy: true,
|
|
91
|
+
...(typeof body.version === 'string' ? { version: body.version } : {}),
|
|
92
|
+
...(typeof body.auth_mode === 'string' ? { authMode: body.auth_mode } : {}),
|
|
93
|
+
}
|
|
94
|
+
: { healthy: false, reason: 'unhealthy', detail: `服务进程在但自报异常:${JSON.stringify(body)}` };
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
// Node 18+ 原生 fetch(undici)连接层失败一律抛 TypeError: fetch failed,真实 errno 藏在
|
|
98
|
+
// e.cause.code——不读 cause 时用户只能看到「fetch failed」,无法区分「服务没跑」与「网络问题」
|
|
99
|
+
const err = e;
|
|
100
|
+
const code = err?.cause?.code ?? e?.code;
|
|
101
|
+
if (e instanceof Error && e.name === 'AbortError') {
|
|
102
|
+
return { healthy: false, reason: 'timeout', detail: `探活超时(>${timeoutMs}ms)——服务无响应` };
|
|
103
|
+
}
|
|
104
|
+
if (code === 'ECONNREFUSED') {
|
|
105
|
+
return { healthy: false, reason: 'not-running', detail: `连接被拒绝:${at} 无进程监听,服务未运行` };
|
|
106
|
+
}
|
|
107
|
+
if (code === 'ENOTFOUND' || code === 'EAI_AGAIN') {
|
|
108
|
+
return { healthy: false, reason: 'unreachable', detail: `域名无法解析:${hostname || url}` };
|
|
109
|
+
}
|
|
110
|
+
if (code === 'ETIMEDOUT' || code === 'ECONNRESET') {
|
|
111
|
+
return { healthy: false, reason: 'timeout', detail: `连接${code === 'ECONNRESET' ? '被重置' : '超时'}(${at})` };
|
|
112
|
+
}
|
|
113
|
+
if (code === 'EHOSTUNREACH' || code === 'ENETUNREACH') {
|
|
114
|
+
return { healthy: false, reason: 'unreachable', detail: `网络不可达:${hostname || url}` };
|
|
115
|
+
}
|
|
116
|
+
const detail = e instanceof Error
|
|
117
|
+
? (e.message === 'fetch failed' && err.cause?.message ? `网络错误:${err.cause.message}` : e.message)
|
|
118
|
+
: String(e);
|
|
119
|
+
return { healthy: false, reason: 'error', detail };
|
|
120
|
+
}
|
|
121
|
+
finally {
|
|
122
|
+
clearTimeout(timer);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/** 生产实现:全部现读 config.memory 与共享 key 缓存(同一 config 引用被热重载 mutate,改段即生效) */
|
|
126
|
+
export function createMemoryProvider(config, userKeys) {
|
|
127
|
+
return {
|
|
128
|
+
isHealthy: () => (config.memory?.enabled
|
|
129
|
+
? probeMemoryHealth(memoryEndpoint(config.memory))
|
|
130
|
+
: Promise.resolve({ healthy: false, detail: 'memory 段未开启' })),
|
|
131
|
+
namespacesFor: (appId) => ({
|
|
132
|
+
account: config.memory?.account ?? 'lcb',
|
|
133
|
+
userPrefix: `${appId}-`,
|
|
134
|
+
}),
|
|
135
|
+
userKeys: () => userKeys,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* 为每个 bot 签发独立 user key(§6.7 第 5 步;api_key 模式)。
|
|
140
|
+
* - dev 模式:整体跳过——身份隔离由 OPENVIKING_USER → X-OpenViking-User header 承担,
|
|
141
|
+
* Admin API 在 dev 模式被服务端禁用(403),跳过是唯一正解而非降级
|
|
142
|
+
* - api_key 模式:X-API-Key 携带 root key(memory.api_key,只在本函数与配置盘间流转),
|
|
143
|
+
* POST /api/v1/admin/accounts/{account}/users 签发;seed = sha256(appId+rootKey) 确定性
|
|
144
|
+
* ——同 seed 重签同值,LCB 重启无须持久化 key 存储
|
|
145
|
+
* - 失败不抛出(逐 bot 记 error):记忆不可用不应阻断机器人服务,与插件发现的容错基调一致
|
|
146
|
+
*/
|
|
147
|
+
export async function ensureMemoryUserKeys(memory, appIds, timeoutMs = 5000) {
|
|
148
|
+
const out = new Map();
|
|
149
|
+
const health = await probeMemoryHealth(memoryEndpoint(memory), timeoutMs);
|
|
150
|
+
if (!health.healthy) {
|
|
151
|
+
for (const appId of appIds) {
|
|
152
|
+
out.set(appId, { appId, skipped: `服务不可达(${health.detail ?? '未知原因'}),身份隔离依赖 OPENVIKING_USER header` });
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
if (health.authMode !== 'api_key') {
|
|
157
|
+
for (const appId of appIds) {
|
|
158
|
+
out.set(appId, { appId, skipped: `服务为 ${health.authMode ?? 'unknown'} 模式:身份经 X-OpenViking-User header 隔离,无需 user key(多租户部署请在 ov.conf 配 root_api_key 启用 api_key 模式)` });
|
|
159
|
+
}
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
162
|
+
const account = memory.account ?? 'lcb';
|
|
163
|
+
const rootKey = memory.apiKey;
|
|
164
|
+
if (!rootKey) {
|
|
165
|
+
for (const appId of appIds) {
|
|
166
|
+
out.set(appId, { appId, error: '服务为 api_key 模式但 memory.api_key(root key)未配置:无法签发 user key,请先在 memory 段配置 root key' });
|
|
167
|
+
}
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
for (const appId of appIds) {
|
|
171
|
+
try {
|
|
172
|
+
// seed 确定性:sha256(appId + rootKey) 前 32 位。root key 轮换 → seed 变 → 新 key(旧 key
|
|
173
|
+
// 失效),属预期安全行为;同 root key 下重签幂等
|
|
174
|
+
const seed = createHash('sha256').update(`${appId}:${rootKey}`).digest('hex').slice(0, 32);
|
|
175
|
+
const res = await fetch(`${memoryEndpoint(memory).replace(/\/+$/, '')}/api/v1/admin/accounts/${encodeURIComponent(account)}/users`, {
|
|
176
|
+
method: 'POST',
|
|
177
|
+
headers: { 'Content-Type': 'application/json', 'X-API-Key': rootKey },
|
|
178
|
+
body: JSON.stringify({ user_id: appId, role: 'user', seed }),
|
|
179
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
180
|
+
});
|
|
181
|
+
const body = (await res.json().catch(() => ({})));
|
|
182
|
+
if (res.ok && body.result?.user_key) {
|
|
183
|
+
out.set(appId, { appId, userKey: body.result.user_key });
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
out.set(appId, { appId, error: `签发失败:HTTP ${res.status}${body.message ? `(${body.message})` : ''}` });
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
190
|
+
out.set(appId, { appId, error: `签发异常:${e instanceof Error ? e.message : String(e)}` });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return out;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/security/paths.d.ts
CHANGED
|
@@ -32,8 +32,10 @@ export declare const WRITE_TOOLS: ReadonlySet<string>;
|
|
|
32
32
|
* - 把命令文本中的 `~/` 引用展开后,检查是否包含任一红区模式的「字面前缀」(模式首个通配符之前
|
|
33
33
|
* 的字面部分,如 `~/.ssh/**` → `<home>/.ssh/`);
|
|
34
34
|
* - 纯通配开头(如双星开头再接 credentials)无稳定字面前缀,跳过——此类交给出站脱敏兜底。
|
|
35
|
+
* inboxRoot(入站附件豁免根)传入时:命中字面前缀后须命令串中该前缀的每一处出现都指向 inbox
|
|
36
|
+
* 根内才豁免该模式,任一处不指向仍命中——fail-closed,不扩大既有绕过面。
|
|
35
37
|
* 命中返回模式串,未命中返回 null。
|
|
36
38
|
*/
|
|
37
|
-
export declare function bashHitsRedzone(command: string, matchers: readonly PathMatcher[]): string | null;
|
|
39
|
+
export declare function bashHitsRedzone(command: string, matchers: readonly PathMatcher[], inboxRoot?: string): string | null;
|
|
38
40
|
/** 带缓存的红区编译:同一份模式串(JSON 键)只编译一次,decide 热路径零重复开销 */
|
|
39
41
|
export declare function cachedPathMatchers(sources: readonly string[]): PathMatcher[];
|
package/dist/security/paths.js
CHANGED
|
@@ -14,7 +14,7 @@ import { resolve, isAbsolute } from 'node:path';
|
|
|
14
14
|
* 出站脱敏兜底)。误报取向:宁可多拦(双星加 .key 一类的密钥扩展名),分身工作区如需此类文件由主人显式调整清单。
|
|
15
15
|
*/
|
|
16
16
|
export const DEFAULT_REDZONE_READ_SOURCES = [
|
|
17
|
-
'~/.lark-claudecode-bridge/**', // bridge config.yaml(app_secret)/ transcripts / plans
|
|
17
|
+
'~/.lark-claudecode-bridge/**', // bridge config.yaml(app_secret)/ transcripts / plans;inbox 子目录被 R1 豁免(入站附件,见 GateSecurity.inboxRoot)
|
|
18
18
|
'~/.lark-cli/**', // lark-cli 用户授权 token(R4 私人面互锁项)
|
|
19
19
|
'~/.claude/**', // CLI 登录态 / OAuth / 本机 settings
|
|
20
20
|
'~/.codex/**',
|
|
@@ -178,20 +178,44 @@ export const WRITE_TOOLS = new Set(['Write', 'Edit', 'NotebookEdit']);
|
|
|
178
178
|
* - 把命令文本中的 `~/` 引用展开后,检查是否包含任一红区模式的「字面前缀」(模式首个通配符之前
|
|
179
179
|
* 的字面部分,如 `~/.ssh/**` → `<home>/.ssh/`);
|
|
180
180
|
* - 纯通配开头(如双星开头再接 credentials)无稳定字面前缀,跳过——此类交给出站脱敏兜底。
|
|
181
|
+
* inboxRoot(入站附件豁免根)传入时:命中字面前缀后须命令串中该前缀的每一处出现都指向 inbox
|
|
182
|
+
* 根内才豁免该模式,任一处不指向仍命中——fail-closed,不扩大既有绕过面。
|
|
181
183
|
* 命中返回模式串,未命中返回 null。
|
|
182
184
|
*/
|
|
183
|
-
export function bashHitsRedzone(command, matchers) {
|
|
185
|
+
export function bashHitsRedzone(command, matchers, inboxRoot) {
|
|
184
186
|
if (!command)
|
|
185
187
|
return null;
|
|
186
188
|
const expanded = command.replace(/(^|[\s"'=;(])~([/\\])/g, (_m, pre, sep) => `${pre}${homedir()}${sep}`);
|
|
187
189
|
const norm = normalizeForCompare(expanded);
|
|
190
|
+
const inboxNorm = inboxRoot ? normalizeForCompare(inboxRoot) : '';
|
|
188
191
|
for (const m of matchers) {
|
|
189
192
|
const literal = literalPrefix(m.id);
|
|
190
|
-
if (literal
|
|
191
|
-
|
|
193
|
+
if (!literal || !norm.includes(literal))
|
|
194
|
+
continue;
|
|
195
|
+
if (inboxNorm && allOccurrencesUnderInbox(norm, literal, inboxNorm))
|
|
196
|
+
continue; // 全部指向 inbox → 豁免该模式
|
|
197
|
+
return m.id;
|
|
192
198
|
}
|
|
193
199
|
return null;
|
|
194
200
|
}
|
|
201
|
+
/** Bash token 断字字符集(豁免的 fail-closed 边界):inbox 根之后紧跟这些字符视为引用结束;
|
|
202
|
+
* 其余字符(含 : = * ? $ 等 shell 合法文件名成分)一律视为路径成分 → 不豁免回退 deny */
|
|
203
|
+
const BASH_TOKEN_BREAK = new Set([' ', '\t', '\n', '\r', '"', "'", '`', ';', '&', '|', '<', '>', '(', ')', ',']);
|
|
204
|
+
/** literal 在 norm 中的每一处出现是否都指向 inbox 根内(含根本身):
|
|
205
|
+
* - 出现处须完整匹配 inboxNorm 前缀(~/.ssh/inbox 一类「第一段恰好叫 inbox」的无关模式引用不会误豁免);
|
|
206
|
+
* - inboxNorm 之后须为 /(子路径)、串尾(根本身)或断字符;inbox2 / inbox:x 等视为不同路径 → false。
|
|
207
|
+
* 已知边界(与文件头 best-effort 口径一致):`inbox/../config.yaml` 回溯、命令替换编码不在字面探测
|
|
208
|
+
* 能力内(R1 结构化路径侧因 normalizeForCompare 走 resolve 折叠 .. 无此问题),根治靠 OS 层沙箱 */
|
|
209
|
+
function allOccurrencesUnderInbox(norm, literal, inboxNorm) {
|
|
210
|
+
for (let i = norm.indexOf(literal); i !== -1; i = norm.indexOf(literal, i + literal.length)) {
|
|
211
|
+
if (!norm.startsWith(inboxNorm, i))
|
|
212
|
+
return false;
|
|
213
|
+
const c = norm[i + inboxNorm.length];
|
|
214
|
+
if (c !== undefined && c !== '/' && !BASH_TOKEN_BREAK.has(c))
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
195
219
|
/** 模式串首个通配符前的字面前缀(归一化;无有效字面前缀返回 '') */
|
|
196
220
|
function literalPrefix(pattern) {
|
|
197
221
|
const cut = pattern.replace(/\\/g, '/').split('*')[0].replace(/[?]+$/, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/security/paths.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,kBAAkB;AAClB,oEAAoE;AACpE,iDAAiD;AACjD,kDAAkD;AAClD,yDAAyD;AACzD,2DAA2D;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,8BAA8B,EAAI,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/security/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,12 @@ export interface ChannelState {
|
|
|
24
24
|
/** 通道级计划模式(/plan 命令切换,跨重启持久;/new 不清除——它是通道偏好而非会话状态)。
|
|
25
25
|
* true = 任务以 plan mode 启动(模型先出计划 → 飞书卡片批准后执行);缺省 = 直接执行 */
|
|
26
26
|
planMode?: boolean;
|
|
27
|
+
/** 最近一次任务完成时间(ISO):群聊空闲滚动(session.groupIdleResetHours)的判定基准。
|
|
28
|
+
* 每个任务收尾经 markActivity 刷新;缺省 = 无记录(不触发空闲滚动,首轮轮次滚动仍可生效) */
|
|
29
|
+
lastActiveAt?: string;
|
|
30
|
+
/** 当前会话累计任务轮次(每任务收尾 +1,切换续接指针时清零):群聊轮次滚动
|
|
31
|
+
* (session.groupMaxTurns)的判定基准。口径按飞书消息任务数计(非 CLI 主循环轮次) */
|
|
32
|
+
turnCount?: number;
|
|
27
33
|
}
|
|
28
34
|
/**
|
|
29
35
|
* 通道会话存储:JSON 文件持久化,每个 channelKey 一份 ChannelState。
|
|
@@ -52,9 +58,18 @@ export declare class SessionStore {
|
|
|
52
58
|
* /new 传 null(下个任务新开会话,历史保留);/resume <n> 传选中 sessionId。
|
|
53
59
|
* null 显式落盘(JSON 保留 "currentSessionId": null)——读取端以「字段缺失 vs null」
|
|
54
60
|
* 区分存量数据与用户主动 /new,不能 delete(会退化为 undefined,见 ChannelState 注释)。
|
|
61
|
+
* 切换指针 = 切换会话(三个调用方 /new、/resume <n>、/ws use 与群聊自动滚动同语义),
|
|
62
|
+
* 轮次计数随之清零——turnCount 度量的是「当前会话跑了多少任务」,换了会话从头计。
|
|
55
63
|
* channel 不存在时以 defaultWorkspace 初始化后设置。
|
|
56
64
|
*/
|
|
57
65
|
setCurrentSession(key: string, sessionId: string | null, defaultWorkspace?: string): void;
|
|
66
|
+
/**
|
|
67
|
+
* 任务收尾记一次通道活跃(生命周期方案 A3 滚动计数据源):
|
|
68
|
+
* lastActiveAt = 当前时间(群聊空闲滚动基准),turnCount +1(群聊轮次滚动基准)。
|
|
69
|
+
* 成功/出错/被停止的任务都算一轮——只要上下文被消耗就在向滚动阈值累积。
|
|
70
|
+
* 不动指针与会话历史(归档由 archiveSession 负责,两者先后执行互不干扰)。
|
|
71
|
+
*/
|
|
72
|
+
markActivity(key: string): void;
|
|
58
73
|
/**
|
|
59
74
|
* 开启新会话:channel 不存在时以 defaultWorkspace 初始化;
|
|
60
75
|
* 已存在时保持工作区与历史不变(历史由 /new 命令显式清空)。
|
|
@@ -53,11 +53,27 @@ export class SessionStore {
|
|
|
53
53
|
* /new 传 null(下个任务新开会话,历史保留);/resume <n> 传选中 sessionId。
|
|
54
54
|
* null 显式落盘(JSON 保留 "currentSessionId": null)——读取端以「字段缺失 vs null」
|
|
55
55
|
* 区分存量数据与用户主动 /new,不能 delete(会退化为 undefined,见 ChannelState 注释)。
|
|
56
|
+
* 切换指针 = 切换会话(三个调用方 /new、/resume <n>、/ws use 与群聊自动滚动同语义),
|
|
57
|
+
* 轮次计数随之清零——turnCount 度量的是「当前会话跑了多少任务」,换了会话从头计。
|
|
56
58
|
* channel 不存在时以 defaultWorkspace 初始化后设置。
|
|
57
59
|
*/
|
|
58
60
|
setCurrentSession(key, sessionId, defaultWorkspace = '') {
|
|
59
61
|
const st = this.data[key] ?? { workspaceName: defaultWorkspace, sessions: [] };
|
|
60
62
|
st.currentSessionId = sessionId;
|
|
63
|
+
st.turnCount = 0;
|
|
64
|
+
this.data[key] = st;
|
|
65
|
+
this.save();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 任务收尾记一次通道活跃(生命周期方案 A3 滚动计数据源):
|
|
69
|
+
* lastActiveAt = 当前时间(群聊空闲滚动基准),turnCount +1(群聊轮次滚动基准)。
|
|
70
|
+
* 成功/出错/被停止的任务都算一轮——只要上下文被消耗就在向滚动阈值累积。
|
|
71
|
+
* 不动指针与会话历史(归档由 archiveSession 负责,两者先后执行互不干扰)。
|
|
72
|
+
*/
|
|
73
|
+
markActivity(key) {
|
|
74
|
+
const st = this.data[key] ?? { workspaceName: '', sessions: [] };
|
|
75
|
+
st.lastActiveAt = new Date().toISOString();
|
|
76
|
+
st.turnCount = (st.turnCount ?? 0) + 1;
|
|
61
77
|
this.data[key] = st;
|
|
62
78
|
this.save();
|
|
63
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session/session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session/session-store.ts"],"names":[],"mappings":"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"}
|