@agentrq/acp-gateway 0.2.3 → 0.2.5
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 +96 -1
- package/dist/__tests__/acpClient.test.js +220 -106
- package/dist/__tests__/acpClient.test.js.map +1 -1
- package/dist/__tests__/agentInfo.test.js +79 -0
- package/dist/__tests__/agentInfo.test.js.map +1 -0
- package/dist/__tests__/agentInstall.test.js +342 -0
- package/dist/__tests__/agentInstall.test.js.map +1 -0
- package/dist/__tests__/auth.test.js +283 -0
- package/dist/__tests__/auth.test.js.map +1 -0
- package/dist/__tests__/config.test.js +45 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/index.test.js +544 -12
- package/dist/__tests__/index.test.js.map +1 -1
- package/dist/__tests__/mcpClient.test.js +12 -0
- package/dist/__tests__/mcpClient.test.js.map +1 -1
- package/dist/__tests__/registry.test.js +175 -0
- package/dist/__tests__/registry.test.js.map +1 -0
- package/dist/acpClient.js +215 -59
- package/dist/acpClient.js.map +1 -1
- package/dist/agentInfo.js +69 -0
- package/dist/agentInfo.js.map +1 -0
- package/dist/agentInstall.js +241 -0
- package/dist/agentInstall.js.map +1 -0
- package/dist/auth.js +189 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.js +50 -16
- package/dist/config.js.map +1 -1
- package/dist/index.js +508 -46
- package/dist/index.js.map +1 -1
- package/dist/mcpClient.js +12 -1
- package/dist/mcpClient.js.map +1 -1
- package/dist/registry.js +118 -0
- package/dist/registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/acpClient.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acpClient.test.js","sourceRoot":"","sources":["../../src/__tests__/acpClient.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAa,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,oBAAoB;AACpB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAErB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,SAAc,CAAC;IACnB,IAAI,MAAwB,CAAC;IAE7B;;;OAGG;IACH,SAAS,UAAU,CAAC,QAAgB;QAClC,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,2EAA2E;QAC3E,qEAAqE;QACrE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE;YAC5C,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC;YACrD,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACtD,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,GAAG,IAAI,gBAAgB,CAAC,SAAiC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE;oBACR,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;iBACzB;gBACD,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;iBAClD;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAC1C,IAAI,KAAK,CAAC,qCAAqC,CAAC,CACjD,CAAC;YAEF,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE;oBACR,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;iBACzB;gBACD,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;iBAClD;aACK,CAAC;YAET,yEAAyE;YACzE,sEAAsE;YACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,iEAAiE;YACjE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9C,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAE5F,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE;oBACR,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;iBACzB;gBACD,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;iBAClD;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,iDAAiD,EACjD,MAAM,CAAC,gBAAgB,CAAC;gBACtB,OAAO,EAAE,UAAU;aACpB,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE;oBACR,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,mDAAmD;iBAC3D;gBACD,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;iBAClD;aACK,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACxD,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,mFAAmF;YACnF,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CACxC,CAAC;YACF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;gBACvD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACxD,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CACtD,CAAC;YAEF,+CAA+C;YAC/C,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CACjD,CAAC;YAEF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,yEAAyE;QACzE,oEAAoE;QACpE,uEAAuE;QACvE,yDAAyD;QACzD,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,mBAAmB;oBAC/B,KAAK,EAAE,0CAA0C;oBACjD,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE;iBACrF;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACjF,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1D,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,kBAAkB;oBACjC,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,0BAA0B;oBACjC,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtD;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACxE,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,wEAAwE;YACxE,oDAAoD;YACpD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,SAAS,EAAE,0BAA0B;gBACrC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;aAC3E,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;iBAC/B;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE;oBACR,UAAU,EAAE,UAAU;oBACtB,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;iBAClC;gBACD,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,SAAS,EAAE,aAAa;gBACxB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;aACvD,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBAC3E,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;YAExG,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;aAC9D,CAAC,CAAC;YACV,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;aACvE,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACzE,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,sEAAsE;YACtE,kEAAkE;YAClE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,+BAA+B;oBACtC,MAAM,EAAE,SAAS;iBAClB;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACzE,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,mEAAmE;YACnE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,CAAE,KAAK,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAE1D,uEAAuE;YACvE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,gEAAgE;QAChE,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,+BAA+B;oBACtC,MAAM,EAAE,SAAS;iBAClB;aACK,CAAC,CAAC;YACV,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,kBAAkB;oBACjC,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,aAAa;iBACtB;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACzE,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1D,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,kBAAkB;oBACjC,UAAU,EAAE,WAAW;oBACvB,MAAM,EAAE,aAAa;iBACtB;aACK,CAAC,CAAC;YAEV,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;gBACzE,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;oBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3D;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,MAAM,CACV,MAAM,CAAC,aAAa,CAAC;gBACnB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE;aAC5D,CAAC,CACV,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE;oBAC1D,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;iBACjD;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE;iBACxD;aACK,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtD;aACK,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6GAA6G,EAAE,KAAK,IAAI,EAAE;YAC3H,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC7D,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;iBAChE;aACK,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,oEAAoE;YACpE,sEAAsE;YACtE,yCAAyC;YACzC,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;iBACnD;aACK,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;YAC/G,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;aAC/D,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iHAAiH,EAAE,KAAK,IAAI,EAAE;YAC/H,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;oBACtE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;iBACjE;aACK,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,sEAAsE;YACtE,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE;oBACP,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;oBACxE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;iBACnE;aACK,CAAC;YAET,UAAU,CAAC,MAAM,CAAC,CAAC;YAEnB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;YAClH,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;aAC3E,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;gBACnC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC9D,CAAC;YAET,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,CAAE,QAAQ,CAAC,OAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAE5F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;aAC3G,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uBAAuB;gBAChC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aAC3E,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBACxD,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,uBAAuB;gBAChC,IAAI,EAAE,MAAM;gBACZ,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAE5F,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACnC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aACxE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,KAAK;gBACX,aAAa,EAAE,SAAS;gBACxB,GAAG,EAAE,6BAA6B;gBAClC,OAAO,EAAE,0BAA0B;aAC7B,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBACxD,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,6BAA6B;aACnC,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACvE,CAAC;YAET,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACvC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;aACzE,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAExF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACvC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aACxE,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uDAAuD;gBAChE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACvE,CAAC;YAET,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC3D,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAChC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrD,CAAC;gBACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,YAAY,EAAE;gBAClE,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,kBAAkB,EAAE;gBACxE,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE;gBAC9D,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM;gBACZ,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAS,CAAC;YAElH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC3D,IAAI,IAAI,KAAK,YAAY;oBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBACpG,IAAI,IAAI,KAAK,kBAAkB;oBAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAS,CAAC;YACpG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;YAEpG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAClF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAS,CAAC;YAC9E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAS,CAAC;YAE7E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACvE,CAAC;YAET,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACnC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;aACrE,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;aACvE,CAAC;YAET,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,CACV,MAAM,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAS,CAAC,CAChE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,QAAQ,GAAG,EAAE;iBAChB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;iBAC9B,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,qBAAqB;oBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;iBACzC;aACK,CAAC;YAET,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC/C,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,GAAG,EAAE;iBAChB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;iBAC9B,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,qBAAqB;oBACpC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC5C;aACK,CAAC;YAET,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,SAAS;iBAClB;aACK,CAAC;YAET,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACrC,MAAM,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAC1D,CAAC;YACF,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,UAAU,GAAG,EAAE;iBAClB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;iBACvB,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,mDAAmD;oBAC1D,MAAM,EAAE,SAAS;iBAClB;aACK,CAAC;YAET,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC1C,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAS,CAAC;YAC/D,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,SAAS,CAAC,CAAC;YAC7E,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAS,CAAC,CAAC;YACnJ,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAS,CAAC,CAAC;YAElJ,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAEtG,4DAA4D;YAC5D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YAEpF,MAAM,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEjC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAS,CAAC,CAAC;YACrJ,MAAM,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAEnC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC3F,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YACpF,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,qBAAqB;YACrB,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAS,CAAC,CAAC;YAExJ,6DAA6D;YAC7D,MAAM,CAAC,CAAC,aAAa,CAAC;gBACpB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,wCAAwC;oBAC/C,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,MAAM;oBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE;iBACtD;aACK,CAAC,CAAC;YAEV,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,CAAC,CAAC;YACvG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YACpF,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAS,CAAC,CAAC;YAEhK,gDAAgD;YAChD,MAAM,CAAC,CAAC,aAAa,CAAC;gBACpB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,wCAAwC;oBAC/C,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,MAAM;oBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE;iBACvD;aACK,CAAC,CAAC;YAEV,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YACpF,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjE,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAS,CAAC,CAAC;YAExJ,0CAA0C;YAC1C,MAAM,CAAC,CAAC,aAAa,CAAC;gBACpB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE;oBACN,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,wCAAwC;oBAC/C,MAAM,EAAE,aAAa;oBACrB,UAAU,EAAE,MAAM;oBAClB,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE;iBACtD;aACK,CAAC,CAAC;YAEV,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,SAAS,GAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAC9E,OAAO,EAAE;gBACP,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;gBACxD,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;aACzD;YACD,GAAG,SAAS;SACb,CAAQ,CAAC;QAEV,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzC,wEAAwE;YACxE,0DAA0D;YAC1D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEjE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,OAAO,GAAG;gBACd,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvF,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;aACxF,CAAC;YACF,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEnD,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACtF,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAE1C,sEAAsE;YACtE,uEAAuE;YACvE,wDAAwD;YACxD,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACtF,mBAAmB,EAAE,MAAM;aAC5B,CAAC,CAAC;YACH,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACxF,mBAAmB,EAAE,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjD,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,MAAM,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;YAExD,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAE/D,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CACpB,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CACzE,CAAC;YAEF,0EAA0E;YAC1E,wDAAwD;YACxD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9C,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,MAAM,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE9B,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1E,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CACpB,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACxE,CAAC;YAEF,0EAA0E;YAC1E,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;YAEjD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,EAAE;aACjE,CAAC,CAAC;YAEV,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,CACV,MAAM,CAAC,aAAa,CAAC;gBACnB,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,EAAE;aACjE,CAAC,CACV,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,SAAS,aAAa,CAAC,MAA0B;YAC/C,OAAO,IAAI,gBAAgB,CAAC,SAAiC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC;QAED,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAErE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEvC,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAC7D,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAErD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAE1E,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE;gBACvD,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAErE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAE3D,MAAM,MAAM,CACV,aAAa,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC9D,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC/D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBACzC,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,CACV,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CACrE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC/D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACtD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACjD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAErD,MAAM,MAAM,CAAC,aAAa,CAAC;gBACzB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACvC,qBAAqB,EACrB,aAAa,EACb,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,CACV,MAAM,CAAC,aAAa,CAAC;gBACnB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,cAAc;aAC1B,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { describeAgentInfo } from "../agentInfo.js";
|
|
3
|
+
/** A minimal initialize response, with only what a test cares about set. */
|
|
4
|
+
function initResult(overrides = {}) {
|
|
5
|
+
return { protocolVersion: 1, ...overrides };
|
|
6
|
+
}
|
|
7
|
+
describe("describeAgentInfo", () => {
|
|
8
|
+
it("should name the agent as it named itself", () => {
|
|
9
|
+
const text = describeAgentInfo(initResult({
|
|
10
|
+
agentInfo: { name: "antigravity-acp", title: "Google Antigravity", version: "1.2.3" },
|
|
11
|
+
}), "some-binary --acp");
|
|
12
|
+
expect(text.split("\n")[0]).toBe("antigravity-acp — Google Antigravity 1.2.3");
|
|
13
|
+
});
|
|
14
|
+
it("should not repeat a title that only restates the name", () => {
|
|
15
|
+
const text = describeAgentInfo(initResult({ agentInfo: { name: "gemini", title: "gemini" } }), "gemini --acp");
|
|
16
|
+
expect(text.split("\n")[0]).toBe("gemini");
|
|
17
|
+
});
|
|
18
|
+
it("should fall back to how the agent was launched when it names no name", () => {
|
|
19
|
+
expect(describeAgentInfo(initResult(), "gemini --acp").split("\n")[0]).toBe("gemini --acp");
|
|
20
|
+
expect(describeAgentInfo(initResult({ agentInfo: { version: "1.0" } }), "gemini --acp").split("\n")[0]).toBe("gemini --acp");
|
|
21
|
+
});
|
|
22
|
+
it("should report the protocol version the agent negotiated", () => {
|
|
23
|
+
expect(describeAgentInfo(initResult({ protocolVersion: 2 }), "x")).toContain("ACP protocol version 2");
|
|
24
|
+
});
|
|
25
|
+
it("should read a capability supplied as {} as supported", () => {
|
|
26
|
+
const text = describeAgentInfo(initResult({
|
|
27
|
+
agentCapabilities: {
|
|
28
|
+
loadSession: true,
|
|
29
|
+
sessionCapabilities: { list: {}, resume: {} },
|
|
30
|
+
},
|
|
31
|
+
}), "x");
|
|
32
|
+
expect(text).toContain("session/load yes");
|
|
33
|
+
expect(text).toContain("session/list yes");
|
|
34
|
+
expect(text).toContain("session/resume yes");
|
|
35
|
+
// Absent, null and false all mean the agent does not support it.
|
|
36
|
+
expect(text).toContain("session/close no");
|
|
37
|
+
expect(text).toContain("session/fork no");
|
|
38
|
+
});
|
|
39
|
+
it("should treat an explicitly false or null capability as unsupported", () => {
|
|
40
|
+
const text = describeAgentInfo(initResult({
|
|
41
|
+
agentCapabilities: {
|
|
42
|
+
loadSession: false,
|
|
43
|
+
sessionCapabilities: { resume: null },
|
|
44
|
+
promptCapabilities: { image: false, audio: true, embeddedContext: true },
|
|
45
|
+
},
|
|
46
|
+
}), "x");
|
|
47
|
+
expect(text).toContain("session/load no");
|
|
48
|
+
expect(text).toContain("session/resume no");
|
|
49
|
+
expect(text).toContain("image no");
|
|
50
|
+
expect(text).toContain("audio yes");
|
|
51
|
+
expect(text).toContain("embedded context yes");
|
|
52
|
+
});
|
|
53
|
+
it("should report every MCP transport, including the unstable acp one", () => {
|
|
54
|
+
const text = describeAgentInfo(initResult({ agentCapabilities: { mcpCapabilities: { http: true, sse: true } } }), "x");
|
|
55
|
+
expect(text).toContain("http yes");
|
|
56
|
+
expect(text).toContain("sse yes");
|
|
57
|
+
expect(text).toContain("acp no");
|
|
58
|
+
});
|
|
59
|
+
it("should list the login methods alongside logout support", () => {
|
|
60
|
+
const text = describeAgentInfo(initResult({
|
|
61
|
+
agentCapabilities: { auth: { logout: {} } },
|
|
62
|
+
authMethods: [{ id: "oauth-personal", name: "Log in with Google" }],
|
|
63
|
+
}), "x");
|
|
64
|
+
expect(text).toContain("logout yes");
|
|
65
|
+
expect(text).toContain("Log in with Google (oauth-personal)");
|
|
66
|
+
});
|
|
67
|
+
it("should say plainly when an agent needs no login at all", () => {
|
|
68
|
+
const text = describeAgentInfo(initResult(), "x");
|
|
69
|
+
expect(text).toContain("logout no");
|
|
70
|
+
expect(text).toContain("no authentication methods");
|
|
71
|
+
});
|
|
72
|
+
it("should describe an agent that reports no capabilities at all", () => {
|
|
73
|
+
const text = describeAgentInfo(initResult({ agentCapabilities: null }), "x");
|
|
74
|
+
expect(text).toContain("session/load no");
|
|
75
|
+
expect(text).toContain("image no");
|
|
76
|
+
expect(text).toContain("http no");
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=agentInfo.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentInfo.test.js","sourceRoot":"","sources":["../../src/__tests__/agentInfo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,4EAA4E;AAC5E,SAAS,UAAU,CAAC,SAAS,GAA4B,EAAE;IACzD,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC;YACT,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE;SACtF,CAAC,EACF,mBAAmB,CACpB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC9D,cAAc,CACf,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5F,MAAM,CACJ,iBAAiB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,KAAK,CACpF,IAAI,CACL,CAAC,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAC1E,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC;YACT,iBAAiB,EAAE;gBACjB,WAAW,EAAE,IAAI;gBACjB,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;aAC9C;SACF,CAAC,EACF,GAAG,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,iEAAiE;QACjE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC;YACT,iBAAiB,EAAE;gBACjB,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACrC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;aACzE;SACF,CAAC,EACF,GAAG,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC,EAAE,iBAAiB,EAAE,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EACjF,GAAG,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,IAAI,GAAG,iBAAiB,CAC5B,UAAU,CAAC;YACT,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3C,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;SACpE,CAAC,EACF,GAAG,CACJ,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;QAElD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAE7E,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
+
import { execFileSync } from "node:child_process";
|
|
3
|
+
import { mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
6
|
+
import * as path from "node:path";
|
|
7
|
+
import { archiveKind, assertChecksum, assertVerifiable, defaultCacheDir, downloadArchive, extractArchive, installBinaryAgent, installDir, moveInto, resolveAgentLaunch, runExtractionTool, resolveExecutable, sha256, } from "../agentInstall.js";
|
|
8
|
+
const agent = {
|
|
9
|
+
id: "demo-acp",
|
|
10
|
+
name: "Demo Agent",
|
|
11
|
+
version: "1.2.3",
|
|
12
|
+
description: "A demo agent",
|
|
13
|
+
distribution: {},
|
|
14
|
+
};
|
|
15
|
+
/** Builds a real .tar.gz containing an executable, so extraction is exercised for real. */
|
|
16
|
+
async function makeTarball(cmdName, contents) {
|
|
17
|
+
const staging = await mkdtemp(path.join(tmpdir(), "acp-gateway-fixture-"));
|
|
18
|
+
try {
|
|
19
|
+
await writeFile(path.join(staging, cmdName), contents);
|
|
20
|
+
const archive = path.join(staging, "out.tar.gz");
|
|
21
|
+
execFileSync("tar", ["-czf", archive, "-C", staging, cmdName]);
|
|
22
|
+
return new Uint8Array(await readFile(archive));
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
await rm(staging, { recursive: true, force: true });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function okResponse(data) {
|
|
29
|
+
return {
|
|
30
|
+
ok: true,
|
|
31
|
+
status: 200,
|
|
32
|
+
statusText: "OK",
|
|
33
|
+
arrayBuffer: async () => data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
describe("agentInstall", () => {
|
|
37
|
+
let cacheDir;
|
|
38
|
+
let errorSpy;
|
|
39
|
+
beforeEach(async () => {
|
|
40
|
+
cacheDir = await mkdtemp(path.join(tmpdir(), "acp-gateway-cache-"));
|
|
41
|
+
errorSpy = vi.spyOn(console, "error").mockImplementation(() => { });
|
|
42
|
+
});
|
|
43
|
+
afterEach(async () => {
|
|
44
|
+
errorSpy.mockRestore();
|
|
45
|
+
await rm(cacheDir, { recursive: true, force: true });
|
|
46
|
+
});
|
|
47
|
+
describe("defaultCacheDir", () => {
|
|
48
|
+
it("uses XDG_CACHE_HOME where it is set", () => {
|
|
49
|
+
expect(defaultCacheDir("linux", { XDG_CACHE_HOME: "/xdg" })).toBe(path.join("/xdg", "acp-gateway", "agents"));
|
|
50
|
+
});
|
|
51
|
+
it("falls back to the per-user cache on macOS and Linux", () => {
|
|
52
|
+
expect(defaultCacheDir("darwin", {})).toMatch(/\.cache[\\/]acp-gateway[\\/]agents$/);
|
|
53
|
+
});
|
|
54
|
+
it("uses LOCALAPPDATA on Windows", () => {
|
|
55
|
+
expect(defaultCacheDir("win32", { LOCALAPPDATA: "C:\\Users\\me\\AppData\\Local" })).toBe(path.join("C:\\Users\\me\\AppData\\Local", "acp-gateway", "agents"));
|
|
56
|
+
expect(defaultCacheDir("win32", {})).toMatch(/AppData[\\/]Local[\\/]acp-gateway/);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe("archiveKind", () => {
|
|
60
|
+
it("recognises every format the registry allows", () => {
|
|
61
|
+
expect(archiveKind("https://x/y.zip")).toBe("zip");
|
|
62
|
+
expect(archiveKind("https://x/y.tar.gz")).toBe("tar.gz");
|
|
63
|
+
expect(archiveKind("https://x/y.tgz")).toBe("tar.gz");
|
|
64
|
+
expect(archiveKind("https://x/y.tar.bz2")).toBe("tar.bz2");
|
|
65
|
+
expect(archiveKind("https://x/y.tbz2")).toBe("tar.bz2");
|
|
66
|
+
});
|
|
67
|
+
it("ignores query strings and fragments", () => {
|
|
68
|
+
expect(archiveKind("https://x/y.ZIP?token=abc#frag")).toBe("zip");
|
|
69
|
+
});
|
|
70
|
+
it("treats anything else as a raw executable", () => {
|
|
71
|
+
expect(archiveKind("https://x/agent-darwin-arm64")).toBe("raw");
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
describe("installDir", () => {
|
|
75
|
+
it("keeps each version and platform apart", () => {
|
|
76
|
+
expect(installDir("/cache", "demo", "darwin-aarch64", "1.2.3")).toBe(path.join("/cache", "demo@1.2.3", "darwin-aarch64"));
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe("resolveExecutable", () => {
|
|
80
|
+
it("resolves the registry's cmd inside the install directory", () => {
|
|
81
|
+
expect(resolveExecutable("/cache/demo", "./bin/agent")).toBe(path.resolve("/cache/demo/bin/agent"));
|
|
82
|
+
});
|
|
83
|
+
it("refuses a cmd that climbs out of the install directory", () => {
|
|
84
|
+
expect(() => resolveExecutable("/cache/demo", "../../../usr/bin/curl")).toThrow(/points outside its install directory/);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe("assertVerifiable", () => {
|
|
88
|
+
const unverifiable = { archive: "https://x/y.zip", cmd: "./demo" };
|
|
89
|
+
it("refuses an archive the registry publishes no checksum for", () => {
|
|
90
|
+
expect(() => assertVerifiable(agent, unverifiable, false)).toThrow(/publishes no sha256 for "demo-acp".*--allow-unverified-agent/s);
|
|
91
|
+
});
|
|
92
|
+
it("allows it once the user has explicitly opted in", () => {
|
|
93
|
+
expect(() => assertVerifiable(agent, unverifiable, true)).not.toThrow();
|
|
94
|
+
});
|
|
95
|
+
it("allows an archive that does publish a checksum", () => {
|
|
96
|
+
expect(() => assertVerifiable(agent, { ...unverifiable, sha256: "a".repeat(64) }, false)).not.toThrow();
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe("assertChecksum", () => {
|
|
100
|
+
const data = new Uint8Array([1, 2, 3]);
|
|
101
|
+
it("accepts a download that matches, whatever the case", () => {
|
|
102
|
+
const digest = sha256(data);
|
|
103
|
+
expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d", sha256: digest.toUpperCase() }, data)).not.toThrow();
|
|
104
|
+
});
|
|
105
|
+
it("refuses a download that does not match", () => {
|
|
106
|
+
expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d", sha256: "b".repeat(64) }, data)).toThrow(/Checksum mismatch for "demo-acp"/);
|
|
107
|
+
});
|
|
108
|
+
it("has nothing to check when the registry publishes no checksum", () => {
|
|
109
|
+
expect(() => assertChecksum(agent, { archive: "https://x/y", cmd: "./d" }, data)).not.toThrow();
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
describe("downloadArchive", () => {
|
|
113
|
+
it("returns the bytes", async () => {
|
|
114
|
+
const data = new Uint8Array([9, 8, 7]);
|
|
115
|
+
const fetchImpl = vi.fn().mockResolvedValue(okResponse(data));
|
|
116
|
+
expect(await downloadArchive("https://x/y.zip", fetchImpl)).toEqual(data);
|
|
117
|
+
});
|
|
118
|
+
it("reports a failed download", async () => {
|
|
119
|
+
const fetchImpl = vi
|
|
120
|
+
.fn()
|
|
121
|
+
.mockResolvedValue({ ok: false, status: 403, statusText: "Forbidden" });
|
|
122
|
+
await expect(downloadArchive("https://x/y.zip", fetchImpl)).rejects.toThrow(/Failed to download https:\/\/x\/y.zip: 403 Forbidden/);
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
describe("extractArchive", () => {
|
|
126
|
+
it("writes a raw download straight out as the executable", async () => {
|
|
127
|
+
const dir = path.join(cacheDir, "raw");
|
|
128
|
+
await extractArchive(new Uint8Array([1, 2]), "raw", dir, "./demo-agent");
|
|
129
|
+
expect(await readFile(path.join(dir, "demo-agent"))).toEqual(Buffer.from([1, 2]));
|
|
130
|
+
});
|
|
131
|
+
it("unpacks a real tarball and removes the archive afterwards", async () => {
|
|
132
|
+
const tarball = await makeTarball("demo", "#!/bin/sh\necho hi\n");
|
|
133
|
+
const dir = path.join(cacheDir, "tar");
|
|
134
|
+
await extractArchive(tarball, "tar.gz", dir, "./demo");
|
|
135
|
+
expect(await readFile(path.join(dir, "demo"), "utf8")).toContain("echo hi");
|
|
136
|
+
expect(existsSync(path.join(dir, "archive.tar.gz"))).toBe(false);
|
|
137
|
+
});
|
|
138
|
+
it("uses unzip for zips on Linux, where tar cannot read them", async () => {
|
|
139
|
+
const dir = path.join(cacheDir, "zip");
|
|
140
|
+
// `unzip` is not guaranteed on every machine, so assert on the failure
|
|
141
|
+
// message rather than on a successful extraction.
|
|
142
|
+
await expect(extractArchive(new Uint8Array([1]), "zip", dir, "./demo", "linux")).rejects.toThrow(/unzip/);
|
|
143
|
+
});
|
|
144
|
+
it("reports an extraction tool that is not installed", async () => {
|
|
145
|
+
await expect(runExtractionTool("acp-gateway-no-such-tool", [], cacheDir)).rejects.toThrow(/Could not run "acp-gateway-no-such-tool" to unpack the agent archive/);
|
|
146
|
+
});
|
|
147
|
+
it("reports a corrupt archive with the tool's own diagnostics", async () => {
|
|
148
|
+
const dir = path.join(cacheDir, "bad");
|
|
149
|
+
await expect(extractArchive(new Uint8Array([1, 2, 3]), "tar.gz", dir, "./demo", "darwin")).rejects.toThrow(/failed to unpack the agent archive/);
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe("moveInto", () => {
|
|
153
|
+
it("copies when the staged install cannot simply be renamed into place", async () => {
|
|
154
|
+
const from = await mkdtemp(path.join(tmpdir(), "acp-gateway-move-"));
|
|
155
|
+
await writeFile(path.join(from, "demo"), "binary");
|
|
156
|
+
// A destination whose parents do not exist: rename() fails, and the copy
|
|
157
|
+
// fallback — the same path taken when the temp dir is another mount —
|
|
158
|
+
// has to create the tree.
|
|
159
|
+
const to = path.join(cacheDir, "deep", "deeper", "install");
|
|
160
|
+
await moveInto(from, to);
|
|
161
|
+
expect(await readFile(path.join(to, "demo"), "utf8")).toBe("binary");
|
|
162
|
+
await rm(from, { recursive: true, force: true });
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
describe("installBinaryAgent", () => {
|
|
166
|
+
async function install(overrides = {}) {
|
|
167
|
+
const tarball = await makeTarball("demo", "#!/bin/sh\nexit 0\n");
|
|
168
|
+
const target = {
|
|
169
|
+
archive: "https://example.com/demo.tar.gz",
|
|
170
|
+
sha256: sha256(tarball),
|
|
171
|
+
cmd: "./demo",
|
|
172
|
+
args: ["--acp"],
|
|
173
|
+
...overrides.target,
|
|
174
|
+
};
|
|
175
|
+
const fetchImpl = vi.fn().mockResolvedValue(okResponse(tarball));
|
|
176
|
+
const spec = await installBinaryAgent({
|
|
177
|
+
agent,
|
|
178
|
+
target,
|
|
179
|
+
platformTarget: "darwin-aarch64",
|
|
180
|
+
cacheDir,
|
|
181
|
+
fetchImpl: fetchImpl,
|
|
182
|
+
platform: "darwin",
|
|
183
|
+
...overrides.options,
|
|
184
|
+
});
|
|
185
|
+
return { spec, fetchImpl, tarball };
|
|
186
|
+
}
|
|
187
|
+
it("downloads, verifies, unpacks and makes the agent executable", async () => {
|
|
188
|
+
const { spec } = await install();
|
|
189
|
+
expect(spec).toEqual({
|
|
190
|
+
command: path.join(cacheDir, "demo-acp@1.2.3", "darwin-aarch64", "demo"),
|
|
191
|
+
args: ["--acp"],
|
|
192
|
+
env: undefined,
|
|
193
|
+
kind: "binary",
|
|
194
|
+
});
|
|
195
|
+
expect(existsSync(spec.command)).toBe(true);
|
|
196
|
+
// 0o111 — executable by someone.
|
|
197
|
+
expect((await stat(spec.command)).mode & 0o111).toBeGreaterThan(0);
|
|
198
|
+
});
|
|
199
|
+
it("skips the executable bit on Windows, which has none", async () => {
|
|
200
|
+
const { spec } = await install({ options: { platform: "win32" } });
|
|
201
|
+
expect(existsSync(spec.command)).toBe(true);
|
|
202
|
+
});
|
|
203
|
+
it("reuses a cached install instead of downloading again", async () => {
|
|
204
|
+
await install();
|
|
205
|
+
const { fetchImpl } = await install();
|
|
206
|
+
expect(fetchImpl).not.toHaveBeenCalled();
|
|
207
|
+
expect(errorSpy.mock.calls.flat().join("\n")).toContain("Using cached demo-acp 1.2.3");
|
|
208
|
+
});
|
|
209
|
+
it("refuses an archive with no published checksum", async () => {
|
|
210
|
+
await expect(install({ target: { sha256: undefined } })).rejects.toThrow(/publishes no sha256/);
|
|
211
|
+
});
|
|
212
|
+
it("installs an unverified archive when explicitly allowed, and says so", async () => {
|
|
213
|
+
const { spec } = await install({
|
|
214
|
+
target: { sha256: undefined },
|
|
215
|
+
options: { allowUnverified: true },
|
|
216
|
+
});
|
|
217
|
+
expect(existsSync(spec.command)).toBe(true);
|
|
218
|
+
expect(errorSpy.mock.calls.flat().join("\n")).toContain("publishes no checksum");
|
|
219
|
+
});
|
|
220
|
+
it("refuses a download that does not match the checksum", async () => {
|
|
221
|
+
await expect(install({ target: { sha256: "c".repeat(64) } })).rejects.toThrow(/Checksum mismatch/);
|
|
222
|
+
});
|
|
223
|
+
it("leaves nothing cached when the archive lacks the promised command", async () => {
|
|
224
|
+
await expect(install({ target: { cmd: "./not-in-archive" } })).rejects.toThrow(/does not contain "\.\/not-in-archive"/);
|
|
225
|
+
expect(existsSync(installDir(cacheDir, agent.id, "darwin-aarch64", agent.version))).toBe(false);
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
describe("resolveAgentLaunch", () => {
|
|
229
|
+
const gemini = {
|
|
230
|
+
id: "gemini",
|
|
231
|
+
name: "Gemini CLI",
|
|
232
|
+
version: "0.58.0",
|
|
233
|
+
description: "Google's CLI",
|
|
234
|
+
distribution: { npx: { package: "@google/gemini-cli@0.58.0", args: ["--acp"] } },
|
|
235
|
+
};
|
|
236
|
+
const pyAgent = {
|
|
237
|
+
id: "fast-agent",
|
|
238
|
+
name: "fast-agent",
|
|
239
|
+
version: "1.0.0",
|
|
240
|
+
description: "A Python agent",
|
|
241
|
+
distribution: { uvx: { package: "fast-agent-mcp" } },
|
|
242
|
+
};
|
|
243
|
+
const binaryOnly = {
|
|
244
|
+
...agent,
|
|
245
|
+
distribution: {
|
|
246
|
+
binary: {
|
|
247
|
+
"linux-x86_64": { archive: "https://x/y.tar.gz", sha256: "a".repeat(64), cmd: "./demo" },
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
};
|
|
251
|
+
const registry = {
|
|
252
|
+
version: "1.0.0",
|
|
253
|
+
agents: [gemini, pyAgent, binaryOnly],
|
|
254
|
+
};
|
|
255
|
+
it("runs npm-distributed agents through npx without downloading anything", async () => {
|
|
256
|
+
const fetchImpl = vi.fn();
|
|
257
|
+
const spec = await resolveAgentLaunch({
|
|
258
|
+
id: "gemini",
|
|
259
|
+
registry,
|
|
260
|
+
platformTarget: "darwin-aarch64",
|
|
261
|
+
fetchImpl: fetchImpl,
|
|
262
|
+
});
|
|
263
|
+
expect(spec).toEqual({
|
|
264
|
+
command: "npx",
|
|
265
|
+
args: ["-y", "@google/gemini-cli@0.58.0", "--acp"],
|
|
266
|
+
env: undefined,
|
|
267
|
+
kind: "npx",
|
|
268
|
+
});
|
|
269
|
+
expect(fetchImpl).not.toHaveBeenCalled();
|
|
270
|
+
});
|
|
271
|
+
it("names npx explicitly on Windows, where a bare npx cannot be spawned", async () => {
|
|
272
|
+
const spec = await resolveAgentLaunch({
|
|
273
|
+
id: "gemini",
|
|
274
|
+
registry,
|
|
275
|
+
platformTarget: "windows-x86_64",
|
|
276
|
+
platform: "win32",
|
|
277
|
+
});
|
|
278
|
+
expect(spec.command).toBe("npx.cmd");
|
|
279
|
+
});
|
|
280
|
+
it("runs PyPI-distributed agents through uvx", async () => {
|
|
281
|
+
const spec = await resolveAgentLaunch({
|
|
282
|
+
id: "fast-agent",
|
|
283
|
+
registry,
|
|
284
|
+
platformTarget: "linux-x86_64",
|
|
285
|
+
});
|
|
286
|
+
expect(spec).toEqual({
|
|
287
|
+
command: "uvx",
|
|
288
|
+
args: ["fast-agent-mcp"],
|
|
289
|
+
env: undefined,
|
|
290
|
+
kind: "uvx",
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
it("installs the binary when that is the only distribution", async () => {
|
|
294
|
+
const tarball = await makeTarball("demo", "#!/bin/sh\nexit 0\n");
|
|
295
|
+
const registryWithDigest = {
|
|
296
|
+
version: "1.0.0",
|
|
297
|
+
agents: [
|
|
298
|
+
{
|
|
299
|
+
...binaryOnly,
|
|
300
|
+
distribution: {
|
|
301
|
+
binary: {
|
|
302
|
+
"linux-x86_64": {
|
|
303
|
+
archive: "https://x/y.tar.gz",
|
|
304
|
+
sha256: sha256(tarball),
|
|
305
|
+
cmd: "./demo",
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
],
|
|
311
|
+
};
|
|
312
|
+
const fetchImpl = vi.fn().mockResolvedValue(okResponse(tarball));
|
|
313
|
+
const spec = await resolveAgentLaunch({
|
|
314
|
+
id: "demo-acp",
|
|
315
|
+
registry: registryWithDigest,
|
|
316
|
+
platformTarget: "linux-x86_64",
|
|
317
|
+
cacheDir,
|
|
318
|
+
fetchImpl: fetchImpl,
|
|
319
|
+
platform: "linux",
|
|
320
|
+
});
|
|
321
|
+
expect(spec.kind).toBe("binary");
|
|
322
|
+
expect(existsSync(spec.command)).toBe(true);
|
|
323
|
+
});
|
|
324
|
+
it("reports an id the registry does not list", async () => {
|
|
325
|
+
await expect(resolveAgentLaunch({ id: "nope", registry, platformTarget: "linux-x86_64" })).rejects.toThrow(/No agent "nope" in the ACP registry/);
|
|
326
|
+
});
|
|
327
|
+
it("reports an agent that has no build for this machine", async () => {
|
|
328
|
+
await expect(resolveAgentLaunch({ id: "demo-acp", registry, platformTarget: "windows-aarch64" })).rejects.toThrow(/publishes no build of "demo-acp" for windows-aarch64 \(it publishes: binary\)/);
|
|
329
|
+
});
|
|
330
|
+
it("says so when an agent publishes no distribution at all", async () => {
|
|
331
|
+
const empty = {
|
|
332
|
+
version: "1.0.0",
|
|
333
|
+
agents: [{ ...agent, distribution: {} }],
|
|
334
|
+
};
|
|
335
|
+
await expect(resolveAgentLaunch({ id: "demo-acp", registry: empty, platformTarget: "linux-x86_64" })).rejects.toThrow(/it publishes: nothing/);
|
|
336
|
+
});
|
|
337
|
+
it("reports an unsupported platform by name", async () => {
|
|
338
|
+
await expect(resolveAgentLaunch({ id: "demo-acp", registry, platformTarget: undefined })).rejects.toThrow(/publishes no build of "demo-acp" for/);
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
//# sourceMappingURL=agentInstall.test.js.map
|