@unconfirmed/sui-effect 0.1.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/AGENTS.md +209 -0
- package/LICENSE +21 -0
- package/LLMS.md +6707 -0
- package/README.md +300 -0
- package/dist/domain/bcs.d.ts +101 -0
- package/dist/domain/bcs.d.ts.map +1 -0
- package/dist/domain/bcs.js +183 -0
- package/dist/domain/bcs.js.map +1 -0
- package/dist/domain/errors.d.ts +595 -0
- package/dist/domain/errors.d.ts.map +1 -0
- package/dist/domain/errors.js +476 -0
- package/dist/domain/errors.js.map +1 -0
- package/dist/domain/executed.d.ts +325 -0
- package/dist/domain/executed.d.ts.map +1 -0
- package/dist/domain/executed.js +253 -0
- package/dist/domain/executed.js.map +1 -0
- package/dist/domain/journal-entry.d.ts +468 -0
- package/dist/domain/journal-entry.d.ts.map +1 -0
- package/dist/domain/journal-entry.js +63 -0
- package/dist/domain/journal-entry.js.map +1 -0
- package/dist/domain/schemas.d.ts +950 -0
- package/dist/domain/schemas.d.ts.map +1 -0
- package/dist/domain/schemas.js +571 -0
- package/dist/domain/schemas.js.map +1 -0
- package/dist/domain/sui-schema.d.ts +12 -0
- package/dist/domain/sui-schema.d.ts.map +1 -0
- package/dist/domain/sui-schema.js +12 -0
- package/dist/domain/sui-schema.js.map +1 -0
- package/dist/extension.d.ts +7 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +7 -0
- package/dist/extension.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +18 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +18 -0
- package/dist/internal.js.map +1 -0
- package/dist/journal.d.ts +51 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +18 -0
- package/dist/journal.js.map +1 -0
- package/dist/script.d.ts +7 -0
- package/dist/script.d.ts.map +1 -0
- package/dist/script.js +7 -0
- package/dist/script.js.map +1 -0
- package/dist/services/Journal.d.ts +76 -0
- package/dist/services/Journal.d.ts.map +1 -0
- package/dist/services/Journal.js +70 -0
- package/dist/services/Journal.js.map +1 -0
- package/dist/services/JournalKeyValueStore.d.ts +73 -0
- package/dist/services/JournalKeyValueStore.d.ts.map +1 -0
- package/dist/services/JournalKeyValueStore.js +155 -0
- package/dist/services/JournalKeyValueStore.js.map +1 -0
- package/dist/services/Script.d.ts +210 -0
- package/dist/services/Script.d.ts.map +1 -0
- package/dist/services/Script.js +441 -0
- package/dist/services/Script.js.map +1 -0
- package/dist/services/Signer.d.ts +132 -0
- package/dist/services/Signer.d.ts.map +1 -0
- package/dist/services/Signer.js +158 -0
- package/dist/services/Signer.js.map +1 -0
- package/dist/services/SubmitConfig.d.ts +175 -0
- package/dist/services/SubmitConfig.d.ts.map +1 -0
- package/dist/services/SubmitConfig.js +52 -0
- package/dist/services/SubmitConfig.js.map +1 -0
- package/dist/services/Sui.d.ts +295 -0
- package/dist/services/Sui.d.ts.map +1 -0
- package/dist/services/Sui.js +414 -0
- package/dist/services/Sui.js.map +1 -0
- package/dist/services/SuiCore.d.ts +227 -0
- package/dist/services/SuiCore.d.ts.map +1 -0
- package/dist/services/SuiCore.js +400 -0
- package/dist/services/SuiCore.js.map +1 -0
- package/dist/services/SuiCoreFake.d.ts +278 -0
- package/dist/services/SuiCoreFake.d.ts.map +1 -0
- package/dist/services/SuiCoreFake.js +1003 -0
- package/dist/services/SuiCoreFake.js.map +1 -0
- package/dist/services/SuiExtension.d.ts +208 -0
- package/dist/services/SuiExtension.d.ts.map +1 -0
- package/dist/services/SuiExtension.js +355 -0
- package/dist/services/SuiExtension.js.map +1 -0
- package/dist/services/SuiGraphQL.d.ts +98 -0
- package/dist/services/SuiGraphQL.d.ts.map +1 -0
- package/dist/services/SuiGraphQL.js +118 -0
- package/dist/services/SuiGraphQL.js.map +1 -0
- package/dist/services/Tx.d.ts +687 -0
- package/dist/services/Tx.d.ts.map +1 -0
- package/dist/services/Tx.js +1224 -0
- package/dist/services/Tx.js.map +1 -0
- package/dist/testing.d.ts +88 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +163 -0
- package/dist/testing.js.map +1 -0
- package/dist/tx.d.ts +24 -0
- package/dist/tx.d.ts.map +1 -0
- package/dist/tx.js +24 -0
- package/dist/tx.js.map +1 -0
- package/docs/extensions.md +1685 -0
- package/examples/extension-template/README.md +170 -0
- package/examples/extension-template/package.json +44 -0
- package/examples/extension-template/scripts/check-package.ts +147 -0
- package/examples/extension-template/src/Escrow.ts +445 -0
- package/examples/extension-template/src/Platform.ts +136 -0
- package/examples/extension-template/src/errors.ts +61 -0
- package/examples/extension-template/src/extension.ts +63 -0
- package/examples/extension-template/src/index.ts +34 -0
- package/examples/extension-template/src/schema.ts +158 -0
- package/examples/extension-template/src/upstream.ts +66 -0
- package/examples/extension-template/test/escrow.test.ts +559 -0
- package/examples/extension-template/tsconfig.build.json +26 -0
- package/examples/extension-template/tsconfig.json +35 -0
- package/package.json +87 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tx.js","sourceRoot":"","sources":["../../src/services/Tx.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACP,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,QAAQ,EAER,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,OAAO,EACR,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAO9B,oCAAoC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAA;AAgCvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAA;AAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;AACvD,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;AAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;AACzD,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;AAE3D,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,KAAc,EAAc,EAAE,CACrE,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AAEpC,8EAA8E;AAC9E,MAAM,SAAS,GAAG,OAAO,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,iBAAiB,GAAG,CACxB,MAAqB,EACrB,IAAY,EACZ,MAAmB,EACA,EAAE;IACrB,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,CAAA;IAClD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;QACnC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxC,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAA;YAC7C,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,IAAoB,EAAE,EAAE,CAChC,KAA2C,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACtE,CAAC;YACD,OAAO,CAAC,KAAc,EAAE,OAAiC,EAAE,EAAE,CAC1D,KAA2C,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;gBACjE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAClB,oEAAoE;gBACpE,gCAAgC;gBAChC,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM;aACpC,CAAC,CAAA;QACN,CAAC;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;QAC/B,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACrB,mEAAmE;YACnE,sDAAsD;YACtD,oEAAoE;YACpE,sBAAsB;YACtB,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAA;YAC/B,IAAI,GAAG,KAAK,6BAA6B;gBAAE,OAAO,SAAS,CAAA;YAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxC,OAAO,OAAO,KAAK,KAAK,UAAU;gBAChC,CAAC,CAAE,KAA2C,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC7D,CAAC,CAAC,KAAK,CAAA;QACX,CAAC;KACF,CAAC,CAAA;IACF,OAAO,IAAI,cAAc,CAAC;QACxB,MAAM,EAAE,MAAuB;QAC/B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC,wBAAwB,EAAE,CAAA;AAC/B,CAAC,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,eAAe,GAAG,CAAC,MAAyB,EAAE,MAAmB,EAAqB,EAAE;IAC5F,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,IAAI,IAAwB,CAAA;IAC5B,MAAM,MAAM,GAAG,CAAC,MAAc,EAAU,EAAE,CACxC,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAA;YACzC,IAAI,GAAG,KAAK,0BAA0B,EAAE,CAAC;gBACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,IAAK,MAAM,CAAC,IAA0B,EAAE,MAAM,CAAC,CAAA;gBAC1F,CAAC;gBACD,OAAO,OAAO,KAAK,KAAK,UAAU;oBAChC,CAAC,CAAC,CAAC,GAAG,IAAoB,EAAE,EAAE,CAC3B,KAA2C,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACpE,CAAC,CAAC,KAAK,CAAA;YACX,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,CAAC,OAAiC,EAAE,GAAG,IAAoB,EAAE,EAAE,CACnE,KAA2C,CAAC,IAAI,CAC/C,QAAQ,EACR,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,EAC7D,GAAG,IAAI,CACR,CAAA;YACL,CAAC;YACD,IACE,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC3C,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EACjD,CAAC;gBACD,gEAAgE;gBAChE,mCAAmC;gBACnC,OAAO,MAAM,CAAC,KAAe,CAAC,CAAA;YAChC,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAC,CAAA;IAEJ,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAyB,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAA;IACtB,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACrB,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxC,mEAAmE;YACnE,0EAA0E;YAC1E,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAA2C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC1G,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,GAAG,CAAC,EAAe,EAAW,EAAE;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;QACzB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAC3E,EACD,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC3B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAChE,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,EAAe,EAAyB,EAAE;IACvE,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM;aACvB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAChD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CAAC,KAAiB,EAAqC,EAAE;IACjF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjD,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,CACzB,KAAiB,EACwD,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,MAAM,GAAkD,EAAE,CAAA;QAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,IAAI,MAAM,KAAK,SAAS;gBAAE,SAAQ;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,SAAS,CAAA;YACzD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAQ;YACjC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;YACpD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CACxB,KAAiB,EACwD,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;QAC7E,MAAM,IAAI,GAAkD,EAAE,CAAA;QAC9D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;YAClD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAC5F,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,qFAAqF;AACrF,MAAM,iBAAiB,GAAG,CACxB,KAAiB,EACwD,EAAE,CAAC;IAC5E,GAAG,kBAAkB,CAAC,KAAK,CAAC;IAC5B,GAAG,iBAAiB,CAAC,KAAK,CAAC;CAC5B,CAAA;AAED,wEAAwE;AACxE,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAyB,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;aACrC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aACzF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAsB,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;QACrE,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,mFAAmF;AACnF,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,KAA0C,EAAkB,EAAE,CAC5G,KAAK,CAAC,IAAI,KAAK,cAAc;IAC3B,CAAC,CAAC,IAAI,cAAc,CAAC;QACnB,MAAM;QACN,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,mBAAmB;QAC3B,KAAK,EAAE,KAAK;KACb,CAAC;IACF,CAAC,CAAC,KAAK,CAAA;AAEX,MAAM,aAAa,GAAG,CAAC,KAA2B,EAA0C,EAAE,CAC5F,OAAO,KAAK,KAAK,UAAU;IACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACX,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;YAC5B,KAAK,CAAC,EAAE,CAAC,CAAA;YACT,OAAO,EAAE,CAAA;QACX,CAAC;QACD,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC;KACtC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAClD,KAA2B,EAC3B,IAAqE;IAErE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAClC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACtC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE;YACR,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,EAAE,UAAU,CAAC,qCAAqC,CAAC;KACzD,CAAC,CAAA;IAEF,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;gBACvC,KAAK,EAAE,UAAU,CAAC,yCAAyC,CAAC;aAC7D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI;SAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;SAC9E,IAAI,CACH,MAAM,CAAC,QAAQ,CACb,CAAC,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,EAC/E,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,IAAI,CACT,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,mCAAmC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACzG,CACJ;IACD,qEAAqE;IACrE,yEAAyE;IACzE,mEAAmE;IACnE,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1C,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,MAAM,KAAK,WAAW;QAC1B,CAAC,CAAC,IAAI,UAAU,CAAC;YACf,OAAO,EAAE,6DAA6D;gBACpE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,KAAK,EAAE,KAAK;SACb,CAAC;QACF,CAAC,CAAC,KAAK,CACV,CAAC,CACL,CAAA;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,2EAA2E;QAC3E,yEAAyE;QACzE,8CAA8C;QAC9C,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC;YAC3B,OAAO,EAAE,kBAAkB,MAAM,mCAAmC,MAAM,CAAC,YAAY,EAAE;YACzF,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACvF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,4CAA4C,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACvG,CACF,CAAA;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3C,OAAO;QACL,MAAM;QACN,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,4EAA4E;QAC5E,mEAAmE;QACnE,qDAAqD;QACrD,KAAK,EAAE,GAAG,CAAC,OAAO;QAClB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,oFAAoF;AACpF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAyC,EAAE,CACvE,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,cAAc,CAAC;QACjB,MAAM,EAAE,uBAAuB;QAC/B,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,2BAA2B,KAAK,4BAA4B,MAAM,CAAC,KAAK,CAAC,EAAE;KACnF,CAAC;CACL,CAAC,CAAA;AAEJ;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,CAAC,MAA2B,EAAqC,EAAE,CACjF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,SAAS;IACzD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC,CAAC,MAAM,CAAC,IAAI;IACX,wEAAwE;IACxE,oEAAoE;IACpE,yBAAyB;IACzB,IAAI,UAAU,CAAC;QACb,OAAO,EACL,+BAA+B,KAAK,8BAA8B,SAAS,GAAG;QAChF,KAAK,EAAE,KAAK;KACb,CAAC,CACH,CAAC,CAAA;AAER,+DAA+D;AAC/D,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EACnE,GAAmB,EACnB,MAA2B;IAE3B,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC/D,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAA;QACrC,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAChD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACrD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,OAAO;gBACL,WAAW,EAAE;oBACX,qEAAqE;oBACrE,mEAAmE;oBACnE,mEAAmE;oBACnE,wDAAwD;oBACxD,qEAAqE;oBACrE,kEAAkE;oBAClE,mBAAmB;oBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;oBACjC,YAAY,EAAE,IAAI;oBAClB,kEAAkE;oBAClE,+DAA+D;oBAC/D,oEAAoE;oBACpE,qDAAqD;oBACrD,YAAY;oBACZ,KAAK,EAAE,GAAG,CAAC,OAAO;oBAClB,KAAK;iBACN;aACF,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,mBAAmB,GAAG,CAC1B,KAAiB,EACjB,MAAc,EACqB,EAAE,CACrC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;IAClB,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAA;IACjD,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,YAAY,CAAC;QACf,KAAK,EAAE,wBAAwB,MAAM,CAAC,OAAO,6CAA6C;YACxF,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC;KACpF,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAChD,KAAY,EACZ,MAAc;IAEd,KAAK,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5D,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,4EAA4E;QAC5E,uDAAuD;QACvD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACpD,MAAc,EACd,MAAc;IAEd,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAChD,MAAM,SAAS,GAAc,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACxE,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAA;AACrE,CAAC,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAGzB,EAAE,EAAE,CACL,CAAC,MAAc,EAAU,EAAE,CAC3B,CAAC,EAAe,EAAE,EAAE;IAClB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7B,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAC,MAAc;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC/B,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CACjG,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAC7D,KAAmB;IAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;IAC9B,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAuB,EAAE,CAClE,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CACxB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CACxC,MAAM,CAAC,QAAQ,CACb,mFAAmF,EACnF,KAAK,CACN,CAAC,EACJ,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CACjE,CAAA;AAEH,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAC,QAAkB;IAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtC,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5E,EAAE,EAAE,GAAG;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAC,KAAsB;IAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,EAAE,EAAE,GAAG;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAC,KAAiB;IACjF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,EAAE,EAAE,GAAG;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EACzD,MAAc,EACd,SAAiB,EACjB,QAAgB;IAEhB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM;QACN,SAAS;QACT,QAAQ;QACR,EAAE,EAAE,GAAG;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,CACnB,GAAmB,EACnB,MAA2B,EAC3B,MAAc,EACO,EAAE,CACvB,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;KACtD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,IAAI,CACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACxC,MAAM,CAAC,MAAM;AACb,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,oDAAoD;AACpD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAChB,MAAM,CAAC,UAAU,CACf,qEAAqE;IACnE,qDAAqD,CACxD,CACF,EACD,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,EAC/B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACnC,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkE,MAAM,CAAC,EAAE,CAC5F,WAAW,CACZ,CAAC,QAAQ,CAAC,EACT,MAAc;IAMd,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAClC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE5B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,QAAQ,IAAI,CAAC,CAAA;QACb,OAAO,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACjC,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;YAClC,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EACrC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAC1D,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAC7B,MAAM,CAAC,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;KAClD,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACrC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,MAAM,CAAC,IAAI,CACT,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACrF,CAAC,EACJ,MAAM,CAAC,MAAM,CACd,CAAA;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QAClD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;IACvB,CAAC;IACD,2EAA2E;IAC3E,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC1D,CAAC,CAAC,CAAA;AAEF,uEAAuE;AACvE,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAC/D,MAAc,EACd,SAAyB,EACzB,QAAgB;IAMhB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5D,OAAO,OAAO,CAAC,OAAO,CAAA;IACxB,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,iBAAiB;YACpB,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;YAClD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;QACvB,KAAK,YAAY;YACf,qEAAqE;YACrE,qEAAqE;YACrE,eAAe;YACf,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;YACtD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;QACvB,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,mBAAmB;gBAClD,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YAC5E,KAAK,CAAC,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CACpE,CAAA;YACD,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;QACvB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,CAAC,KAAqB,EAAuC,EAAE;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACvD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;YAC1B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IACpD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAChD,CAAC,CAAA;AAWD;;;;;;;;;;;GAWG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EACzD,GAAmB,EACnB,QAAgB;IAEhB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAChC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC,CACzE,CAAA;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,0EAA0E;QAC1E,kDAAkD;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;QACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAChC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QACjC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,IAAI,cAAc,CAAC;YACjB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,6BAA6B,MAAM,CAAC,OAAO,QAAQ,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE;SACvF,CAAC;KACL,CAAC,CAAA;IACF,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO;QACP,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,SAAS;KAC7D,CAAA;AACH,CAAC,CAAC,CAAA;AASF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EACnE,GAAmB,EACnB,EAAU,EACV,QAAgB;IAEhB,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACtC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IAC7B,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS;QACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;QACvB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB;YAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;YACvB,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM;YAAE,SAAQ;QAC7D,OAAO,MAAM,CAAC,YAAY,IAAI,SAAS,CAAA;IACzC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAC3D,GAAmB,EACnB,MAAc,EACd,MAAc;IAEd,IAAI,YAAuC,CAAA;IAC3C,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAQ,EAAE;QAC1D,IAAI,YAAY,KAAK,SAAS;YAAE,YAAY,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IACzF,CAAC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,SAAQ;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAA;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;YAAE,SAAQ;QACzE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,QAAQ,CAAC,QAAQ,EAAE,uDAAuD,CAAC,CAAA;YAC3E,SAAQ;QACV,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,mBAAmB,CAAA;QACpC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,QAAQ,CAAC,QAAQ,EAAE,0EAA0E,CAAC,CAAA;YAC9F,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;QAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC5D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CACN,QAAQ,EACR,mDAAmD,EAAE,mCAAmC,CACzF,CAAA;YACD,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,KAAK,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;QACjF,QAAQ,CACN,QAAQ,EACR,eAAe,EAAE,qBAAqB,QAAQ,2BAA2B,MAAM,CAAC,OAAO,EAAE;YACvF,6DAA6D,CAChE,CAAA;IACH,CAAC;IACD,OAAO,YAAY,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEF,0EAA0E;AAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EACzD,GAAmB;IAEnB,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC/D,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EACzD,GAAmB,EACnB,MAA2B,EAC3B,MAAc;IAEd,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,KAAK,GAAG,SAAS;YAAE,OAAO,IAAI,CAAA;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAA;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM;YAAE,OAAO,IAAI,CAAA;IACvE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,MAAc,EAAsB,EAAE,CAC3D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAC1D,KAAqB;IAMrB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAClC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CACrD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1C,MAAM,CAAC,IAAI,CACT,IAAI,iBAAiB,CAAC;QACpB,MAAM;QACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,KAAK,EAAE,KAAK;KACb,CAAC,CACH,CAAC,CACL,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,8EAA8E;AAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAC/C,GAAmB,EACnB,MAA2B,EAC3B,MAAc,EACd,MAA0B;IAK1B,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE,CACjC,IAAI,iBAAiB,CAAC;QACpB,MAAM;QACN,yEAAyE;QACzE,kEAAkE;QAClE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,KAAK;KACN,CAAC,CAAA;IAEJ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,CAAC,OAAO,CACnB,oCAAoC,KAAK,uBAAuB,GAAG,CAAC,OAAO,GAAG;gBAC5E,gDAAgD,CACnD,CAAA;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC;QAIrD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,OAAO,CAAA;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;QAC7E,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IAErC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,2EAA2E,CAAC,CAAA;IACpG,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,eAAe,EAAE,CAAC;QAC9C,sEAAsE;QACtE,0DAA0D;QAC1D,IAAI,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAA;YACvC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC5C,IAAI,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;gBAC7B,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBACrC,OAAO,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1D,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAA;QACrE,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,sEAAsE;YACtE,0EAA0E;YAC1E,8DAA8D;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;YAC7B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACrC,OAAO,KAAK,CAAC,CAAC,OAAO,CACnB,UAAU,QAAQ,CAAC,QAAQ,0DAA0D;gBACnF,sDAAsD,CACzD,CAAA;QACH,CAAC;QACD,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,CAAC,OAAO,CACnB,UAAU,QAAQ,CAAC,QAAQ,iCAAiC,QAAQ,CAAC,MAAM,GAAG;gBAC5E,uBAAuB,CAC1B,CAAA;QACH,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,CAAC,OAAO,CACnB,sEAAsE,CACvE,CAAA;IACL,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,QAAgB,EAChB,OAA2B,EACU,EAAE;IACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,YAAY,CAAC;YACf,KAAK,EAAE,mCAAmC,QAAQ,4BAA4B;gBAC5E,iEAAiE;gBACjE,4EAA4E;gBAC5E,uEAAuE;SAC1E,CAAC,CACH,CAAA;IACH,CAAC;IACD,IAAI,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,YAAY,CAAC;YACf,KAAK,EAAE,wBAAwB,OAAO,CAAC,OAAO,oCAAoC;gBAChF,OAAO,QAAQ,EAAE;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAC9C,MAA4B,EAC5B,IAQC;IAcD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAClC,wEAAwE;IACxE,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS;QACtC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC;QACpE,CAAC,CAAC,CAAC,MAAM,CAAC;QACV,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE7F,6EAA6E;IAC7E,mDAAmD;IACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtG,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YACjC,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpE,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QAClC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5C,uEAAuE;QACvE,gEAAgE;QAChE,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,QAAQ,KAAK,mBAAmB,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACtD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5D,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU;QAC7B,CAAC,CAAC,MAAM,CAAC,WAAW,CAClB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EACtD,IAAI,CACL;QACD,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC;IAKhE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,cAAc,CAAA;IAC7C,MAAM,OAAO,GAAsB,EAAE,CAAA;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,SAAQ;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC5B,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,iBAAiB;gBACpB,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;gBAClD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrB,MAAK;YACP,KAAK,YAAY;gBACf,qEAAqE;gBACrE,kEAAkE;gBAClE,mEAAmE;gBACnE,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;gBACtD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrB,MAAK;YACP,OAAO,CAAC,CAAC,CAAC;gBACR,2DAA2D;gBAC3D,mEAAmE;gBACnE,oEAAoE;gBACpE,mEAAmE;gBACnE,qEAAqE;gBACrE,yCAAyC;gBACzC,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,KAAK,mBAAmB;oBAC5D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,IAAI,iBAAiB,CAAC;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,KAAK,EAAE,OAAO;qBACf,CAAC,CAAA;gBACJ,KAAK,CAAC,CAAC,cAAc,CACnB,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CACxE,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK;IACL,IAAI;IACJ,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,GAAG;IACH,YAAY;CACJ,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `sui-effect/testing`: the in-memory fake, the test layers built on it, and
|
|
3
|
+
* the harness an extension's own tests need.
|
|
4
|
+
*
|
|
5
|
+
* Nothing here touches the network. `layerTest` is the real `Sui` over the
|
|
6
|
+
* fake `SuiCore`, so a test exercises the production high tier.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
*/
|
|
10
|
+
import { Effect, Layer } from "effect";
|
|
11
|
+
import type { NetworkMismatch, TransportError } from "./domain/errors.ts";
|
|
12
|
+
import { Sui } from "./services/Sui.ts";
|
|
13
|
+
import type { SuiCore } from "./services/SuiCore.ts";
|
|
14
|
+
import type { FakeObject, FakeOutcome, FakeScript, RecordedCall } from "./services/SuiCoreFake.ts";
|
|
15
|
+
import { SuiCoreFake } from "./services/SuiCoreFake.ts";
|
|
16
|
+
export * from "./services/SuiCoreFake.ts";
|
|
17
|
+
/**
|
|
18
|
+
* The real `Sui` over the fake `SuiCore`, plus the fake's own handle so a test
|
|
19
|
+
* can script outcomes and inspect what the fake received.
|
|
20
|
+
*
|
|
21
|
+
* This is `Sui.layerNoDeps`, the production layer, so the chain-id rules are
|
|
22
|
+
* the production rules: a script whose `network` is `mainnet` or `testnet` must
|
|
23
|
+
* report that network's identifier, and any other network asserts nothing. A
|
|
24
|
+
* test that wants the assertion on a custom network builds
|
|
25
|
+
* `Sui.layerNoDepsWith({ chainId })` over `SuiCoreFake.layer(script)` itself,
|
|
26
|
+
* rather than having the fake compared against its own script.
|
|
27
|
+
*
|
|
28
|
+
* Fails with: `NetworkMismatch`, `TransportError` — both only when the script
|
|
29
|
+
* asks for them.
|
|
30
|
+
*/
|
|
31
|
+
export declare const layerTest: (script?: FakeScript) => Layer.Layer<Sui | SuiCore | SuiCoreFake, NetworkMismatch | TransportError>;
|
|
32
|
+
/**
|
|
33
|
+
* An extension's own layer over {@link layerTest}, which is the whole wiring an
|
|
34
|
+
* extension test needs.
|
|
35
|
+
*
|
|
36
|
+
* `layerTest` provides `Sui`, `SuiCore` and `SuiCoreFake`, and an extension's
|
|
37
|
+
* `layerTest` (or `layer`, for an extension with no fake of its own) may
|
|
38
|
+
* require `Sui | SuiCore` and nothing else — the same requirement
|
|
39
|
+
* `SuiExtension.fromService` satisfies in production. So composing the two is
|
|
40
|
+
* the recipe, and everything the extension's layer provides plus the fake's
|
|
41
|
+
* handle comes out the other side.
|
|
42
|
+
*
|
|
43
|
+
* Fails with: whatever the extension's layer fails with, plus `NetworkMismatch`
|
|
44
|
+
* and `TransportError` when the script asks for them.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { layerExtensionTest } from "@unconfirmed/sui-effect/testing"
|
|
49
|
+
*
|
|
50
|
+
* const layer = layerExtensionTest(Escrow.layerTest(), { objects: [escrow] })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare const layerExtensionTest: <Self, E>(layer: Layer.Layer<Self, E, Sui | SuiCore>, script?: FakeScript) => Layer.Layer<Self | Sui | SuiCore | SuiCoreFake, E | NetworkMismatch | TransportError>;
|
|
54
|
+
/**
|
|
55
|
+
* The harness: everything an extension's tests need to drive the fake from
|
|
56
|
+
* inside an Effect, without reaching for the `SuiCoreFake` handle by hand.
|
|
57
|
+
*
|
|
58
|
+
* Every member requires `SuiCoreFake`, which {@link layerTest} and
|
|
59
|
+
* {@link layerExtensionTest} provide.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { Effect } from "effect"
|
|
64
|
+
* import { SuiTest } from "@unconfirmed/sui-effect/testing"
|
|
65
|
+
*
|
|
66
|
+
* const program = Effect.gen(function*() {
|
|
67
|
+
* yield* SuiTest.bumpVersion("0x…")
|
|
68
|
+
* const sent = yield* SuiTest.calls("executeTransaction")
|
|
69
|
+
* return sent.length
|
|
70
|
+
* })
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare const SuiTest: {
|
|
74
|
+
readonly putObject: (object: FakeObject) => Effect.Effect<void, never, SuiCoreFake>;
|
|
75
|
+
readonly bumpVersion: (objectId: string, opts?: {
|
|
76
|
+
readonly content?: Uint8Array;
|
|
77
|
+
readonly consumedBy?: string;
|
|
78
|
+
}) => Effect.Effect<bigint, never, SuiCoreFake>;
|
|
79
|
+
readonly recordTransaction: (digest: string, outcome: FakeOutcome) => Effect.Effect<void, never, SuiCoreFake>;
|
|
80
|
+
readonly deleteObject: (objectId: string) => Effect.Effect<void, never, SuiCoreFake>;
|
|
81
|
+
readonly setClock: (timestampMs: bigint) => Effect.Effect<void, never, SuiCoreFake>;
|
|
82
|
+
readonly setEpoch: (epoch: bigint) => Effect.Effect<void, never, SuiCoreFake>;
|
|
83
|
+
readonly scriptExecute: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
|
|
84
|
+
readonly scriptSimulate: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
|
|
85
|
+
readonly scriptGetTransaction: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
|
|
86
|
+
readonly calls: (method?: string) => Effect.Effect<ReadonlyArray<RecordedCall>, never, SuiCoreFake>;
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,cAAc,2BAA2B,CAAA;AAEzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GACpB,SAAQ,UAAe,KACtB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,WAAW,EAAE,eAAe,GAAG,cAAc,CACP,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,GAAI,IAAI,EAAE,CAAC,EACxC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,EAC1C,SAAQ,UAAe,KACtB,KAAK,CAAC,KAAK,CACZ,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,WAAW,EAClC,CAAC,GAAG,eAAe,GAAG,cAAc,CACgB,CAAA;AAgItD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO;iCA7IO,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;qCA0BnE,MAAM,SACT;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KACrE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;yCA4BlC,MAAM,WACL,WAAW,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;sCAIV,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;qCAQjD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;+BAStD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;uCAQ7D,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;wCAK9B,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;8CAK9B,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;8BAa/B,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC;CAsCvD,CAAA"}
|
package/dist/testing.js
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `sui-effect/testing`: the in-memory fake, the test layers built on it, and
|
|
3
|
+
* the harness an extension's own tests need.
|
|
4
|
+
*
|
|
5
|
+
* Nothing here touches the network. `layerTest` is the real `Sui` over the
|
|
6
|
+
* fake `SuiCore`, so a test exercises the production high tier.
|
|
7
|
+
*
|
|
8
|
+
* @since 0.1.0
|
|
9
|
+
*/
|
|
10
|
+
import { Effect, Layer, Option } from "effect";
|
|
11
|
+
import { Sui } from "./services/Sui.js";
|
|
12
|
+
import { SuiCoreFake } from "./services/SuiCoreFake.js";
|
|
13
|
+
export * from "./services/SuiCoreFake.js";
|
|
14
|
+
/**
|
|
15
|
+
* The real `Sui` over the fake `SuiCore`, plus the fake's own handle so a test
|
|
16
|
+
* can script outcomes and inspect what the fake received.
|
|
17
|
+
*
|
|
18
|
+
* This is `Sui.layerNoDeps`, the production layer, so the chain-id rules are
|
|
19
|
+
* the production rules: a script whose `network` is `mainnet` or `testnet` must
|
|
20
|
+
* report that network's identifier, and any other network asserts nothing. A
|
|
21
|
+
* test that wants the assertion on a custom network builds
|
|
22
|
+
* `Sui.layerNoDepsWith({ chainId })` over `SuiCoreFake.layer(script)` itself,
|
|
23
|
+
* rather than having the fake compared against its own script.
|
|
24
|
+
*
|
|
25
|
+
* Fails with: `NetworkMismatch`, `TransportError` — both only when the script
|
|
26
|
+
* asks for them.
|
|
27
|
+
*/
|
|
28
|
+
export const layerTest = (script = {}) => Sui.layerNoDeps.pipe(Layer.provideMerge(SuiCoreFake.layer(script)));
|
|
29
|
+
/**
|
|
30
|
+
* An extension's own layer over {@link layerTest}, which is the whole wiring an
|
|
31
|
+
* extension test needs.
|
|
32
|
+
*
|
|
33
|
+
* `layerTest` provides `Sui`, `SuiCore` and `SuiCoreFake`, and an extension's
|
|
34
|
+
* `layerTest` (or `layer`, for an extension with no fake of its own) may
|
|
35
|
+
* require `Sui | SuiCore` and nothing else — the same requirement
|
|
36
|
+
* `SuiExtension.fromService` satisfies in production. So composing the two is
|
|
37
|
+
* the recipe, and everything the extension's layer provides plus the fake's
|
|
38
|
+
* handle comes out the other side.
|
|
39
|
+
*
|
|
40
|
+
* Fails with: whatever the extension's layer fails with, plus `NetworkMismatch`
|
|
41
|
+
* and `TransportError` when the script asks for them.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* import { layerExtensionTest } from "@unconfirmed/sui-effect/testing"
|
|
46
|
+
*
|
|
47
|
+
* const layer = layerExtensionTest(Escrow.layerTest(), { objects: [escrow] })
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export const layerExtensionTest = (layer, script = {}) => layer.pipe(Layer.provideMerge(layerTest(script)));
|
|
51
|
+
const withFake = (f) => Effect.flatMap(SuiCoreFake, f);
|
|
52
|
+
/** Inserts or replaces an object the fake serves. Never fails. */
|
|
53
|
+
const putObject = (object) => withFake((fake) => fake.setObject(object));
|
|
54
|
+
/**
|
|
55
|
+
* Moves an object to its next version, optionally with new content and with the
|
|
56
|
+
* digest of the transaction that moved it, and answers with the version it now
|
|
57
|
+
* has.
|
|
58
|
+
*
|
|
59
|
+
* The direct way to stand in for a transaction the test did not run. Pass
|
|
60
|
+
* `consumedBy` to say who moved it: `Tx.reconcile` reads that digest back as
|
|
61
|
+
* the object's `previousTransaction`, and it is the start of every answer a
|
|
62
|
+
* bumped input can produce — **the transaction's own** digest means it applied
|
|
63
|
+
* after all, and **no digest** means the node proved nothing and the outcome is
|
|
64
|
+
* `SubmissionUnknown`.
|
|
65
|
+
*
|
|
66
|
+
* A **different** digest is only `NotApplied { inputConsumed }` when that
|
|
67
|
+
* transaction's own effects say it took the object at exactly the version the
|
|
68
|
+
* bytes pinned, so a test that wants that answer also scripts the consuming
|
|
69
|
+
* transaction — `FakeScript.transactions` or {@link recordTransaction} — with
|
|
70
|
+
* an explicit `inputVersion`. Without it the answer is `SubmissionUnknown`,
|
|
71
|
+
* which is what a real network gives for almost every stuck submission.
|
|
72
|
+
*
|
|
73
|
+
* Dies when the fake has no such object: a test that bumps something that is
|
|
74
|
+
* not there is a broken test, not a failing one.
|
|
75
|
+
*/
|
|
76
|
+
const bumpVersion = (objectId, opts) => withFake((fake) => Effect.flatMap(fake.readObject(objectId), (found) => {
|
|
77
|
+
if (Option.isNone(found)) {
|
|
78
|
+
return Effect.die(new Error(`SuiTest.bumpVersion: the fake serves no object ${objectId}`));
|
|
79
|
+
}
|
|
80
|
+
const next = found.value.version + 1n;
|
|
81
|
+
return fake.setObject({
|
|
82
|
+
...found.value,
|
|
83
|
+
version: next,
|
|
84
|
+
...(opts?.content === undefined ? {} : { content: opts.content }),
|
|
85
|
+
...(opts?.consumedBy === undefined ? {} : { previousTransaction: opts.consumedBy })
|
|
86
|
+
}).pipe(Effect.as(next));
|
|
87
|
+
}));
|
|
88
|
+
/**
|
|
89
|
+
* Teaches the fake what the node says about one transaction, **by digest**.
|
|
90
|
+
*
|
|
91
|
+
* The ordered `scriptGetTransaction` answers "what comes back the next time
|
|
92
|
+
* `getTransaction` is called", which is what drives a reconcile. This answers
|
|
93
|
+
* "what does the node say about *that* transaction", which is what
|
|
94
|
+
* `Tx.reconcile` asks when it follows a moved object's `previousTransaction` to
|
|
95
|
+
* find out which version the consuming transaction took. Never fails.
|
|
96
|
+
*/
|
|
97
|
+
const recordTransaction = (digest, outcome) => withFake((fake) => fake.recordTransaction(digest, outcome));
|
|
98
|
+
/** Removes an object, so every later read reports it deleted. Never fails. */
|
|
99
|
+
const deleteObject = (objectId) => withFake((fake) => fake.deleteObject(objectId));
|
|
100
|
+
/**
|
|
101
|
+
* Moves the Clock object `0x6`, which is what `Sui.chainTime` reads and
|
|
102
|
+
* therefore what `Tx.build` bounds a transaction against. Effect's `TestClock`
|
|
103
|
+
* drives the program's own time; this drives the chain's. Never fails.
|
|
104
|
+
*/
|
|
105
|
+
const setClock = (timestampMs) => withFake((fake) => fake.setClock(timestampMs));
|
|
106
|
+
/**
|
|
107
|
+
* Moves the epoch `getCurrentSystemState` reports, which is what `Tx.build`
|
|
108
|
+
* bounds a transaction to and what `Tx.reconcile` compares a transaction's
|
|
109
|
+
* `maxEpoch` against. The direct way to make a transaction provably expired.
|
|
110
|
+
* Never fails.
|
|
111
|
+
*/
|
|
112
|
+
const setEpoch = (epoch) => withFake((fake) => fake.setEpoch(epoch));
|
|
113
|
+
/**
|
|
114
|
+
* Replaces the outcomes `executeTransaction` will produce, oldest first; the
|
|
115
|
+
* last one repeats forever. Never fails.
|
|
116
|
+
*/
|
|
117
|
+
const scriptExecute = (outcomes) => withFake((fake) => fake.setOutcomes("execute", outcomes));
|
|
118
|
+
/** The same for `simulateTransaction`. Never fails. */
|
|
119
|
+
const scriptSimulate = (outcomes) => withFake((fake) => fake.setOutcomes("simulate", outcomes));
|
|
120
|
+
/** The same for `getTransaction`, which is what `Tx.reconcile` asks. Never fails. */
|
|
121
|
+
const scriptGetTransaction = (outcomes) => withFake((fake) => fake.setOutcomes("getTransaction", outcomes));
|
|
122
|
+
/**
|
|
123
|
+
* Every call the fake has received, oldest first, optionally only those of one
|
|
124
|
+
* method.
|
|
125
|
+
*
|
|
126
|
+
* This is how a test asserts what the extension sent rather than only what it
|
|
127
|
+
* got back: the include set on a read, the fact that a recipe fragment reached
|
|
128
|
+
* exactly one `executeTransaction`, the absence of a call the extension should
|
|
129
|
+
* have cached. Never fails.
|
|
130
|
+
*/
|
|
131
|
+
const calls = (method) => withFake((fake) => Effect.map(fake.calls, (recorded) => method === undefined ? recorded : recorded.filter((call) => call.method === method)));
|
|
132
|
+
/**
|
|
133
|
+
* The harness: everything an extension's tests need to drive the fake from
|
|
134
|
+
* inside an Effect, without reaching for the `SuiCoreFake` handle by hand.
|
|
135
|
+
*
|
|
136
|
+
* Every member requires `SuiCoreFake`, which {@link layerTest} and
|
|
137
|
+
* {@link layerExtensionTest} provide.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* import { Effect } from "effect"
|
|
142
|
+
* import { SuiTest } from "@unconfirmed/sui-effect/testing"
|
|
143
|
+
*
|
|
144
|
+
* const program = Effect.gen(function*() {
|
|
145
|
+
* yield* SuiTest.bumpVersion("0x…")
|
|
146
|
+
* const sent = yield* SuiTest.calls("executeTransaction")
|
|
147
|
+
* return sent.length
|
|
148
|
+
* })
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
export const SuiTest = {
|
|
152
|
+
putObject,
|
|
153
|
+
bumpVersion,
|
|
154
|
+
recordTransaction,
|
|
155
|
+
deleteObject,
|
|
156
|
+
setClock,
|
|
157
|
+
setEpoch,
|
|
158
|
+
scriptExecute,
|
|
159
|
+
scriptSimulate,
|
|
160
|
+
scriptGetTransaction,
|
|
161
|
+
calls
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=testing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/tx.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `sui-effect/tx`: the transaction lifecycle.
|
|
3
|
+
*
|
|
4
|
+
* `Signer` is a value, not a service, because a process may hold two
|
|
5
|
+
* credentials at once. `Tx` is a set of functions, not an object with state,
|
|
6
|
+
* and every one of them has `R = Sui`. `SubmitConfig` and `Journal` are
|
|
7
|
+
* `Context.Reference`s with working defaults, so the shortest correct program
|
|
8
|
+
* is `Tx.run(recipe, { signer })` with no wiring at all.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
*/
|
|
12
|
+
/** The credential value type and its five constructors. */
|
|
13
|
+
export { ephemeral, fromConfig, fromKeypair, fromSdkSigner, remote, type RemoteSigner, Signer, type SignatureScheme } from "./services/Signer.ts";
|
|
14
|
+
/** The lifecycle settings, with the spec's defaults in force by default. */
|
|
15
|
+
export { type ExpirationPolicy, type ExpiryEvidencePolicy, SubmitConfig, type SubmitConfigService } from "./services/SubmitConfig.ts";
|
|
16
|
+
/** The submission journal: an in-memory default, a durable one in `sui-effect/journal`. */
|
|
17
|
+
export { Journal, type JournalService } from "./services/Journal.ts";
|
|
18
|
+
/** The lifecycle as a serializable union, for what the journal holds. */
|
|
19
|
+
export { isUnresolved, JournalEntry, UNRESOLVED_TAGS } from "./domain/journal-entry.ts";
|
|
20
|
+
/** Build, sign, cosign, sponsor, submit, reconcile, run. */
|
|
21
|
+
export { build, cosign, type Built, type Reconciled, type ReconcileInput, type RunError, type SubmitError, reconcile, reconcileAll, run, sign, Signed, sponsored, submit, Tx } from "./services/Tx.ts";
|
|
22
|
+
/** The expiration union and the bounds `Tx.reconcile` reasons about. */
|
|
23
|
+
export { chainOf, maxEpochOf, maxTimestampMsOf, Signature, TransactionExpiration } from "./domain/schemas.ts";
|
|
24
|
+
//# sourceMappingURL=tx.d.ts.map
|
package/dist/tx.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,YAAY,EACjB,MAAM,EACN,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAA;AAE7B,4EAA4E;AAC5E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAA;AAEnC,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEpE,yEAAyE;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEvF,4DAA4D;AAC5D,OAAO,EACL,KAAK,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,SAAS,EACT,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,SAAS,EACT,MAAM,EACN,EAAE,EACH,MAAM,kBAAkB,CAAA;AAEzB,wEAAwE;AACxE,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACtB,MAAM,qBAAqB,CAAA"}
|
package/dist/tx.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `sui-effect/tx`: the transaction lifecycle.
|
|
3
|
+
*
|
|
4
|
+
* `Signer` is a value, not a service, because a process may hold two
|
|
5
|
+
* credentials at once. `Tx` is a set of functions, not an object with state,
|
|
6
|
+
* and every one of them has `R = Sui`. `SubmitConfig` and `Journal` are
|
|
7
|
+
* `Context.Reference`s with working defaults, so the shortest correct program
|
|
8
|
+
* is `Tx.run(recipe, { signer })` with no wiring at all.
|
|
9
|
+
*
|
|
10
|
+
* @since 0.1.0
|
|
11
|
+
*/
|
|
12
|
+
/** The credential value type and its five constructors. */
|
|
13
|
+
export { ephemeral, fromConfig, fromKeypair, fromSdkSigner, remote, Signer } from "./services/Signer.js";
|
|
14
|
+
/** The lifecycle settings, with the spec's defaults in force by default. */
|
|
15
|
+
export { SubmitConfig } from "./services/SubmitConfig.js";
|
|
16
|
+
/** The submission journal: an in-memory default, a durable one in `sui-effect/journal`. */
|
|
17
|
+
export { Journal } from "./services/Journal.js";
|
|
18
|
+
/** The lifecycle as a serializable union, for what the journal holds. */
|
|
19
|
+
export { isUnresolved, JournalEntry, UNRESOLVED_TAGS } from "./domain/journal-entry.js";
|
|
20
|
+
/** Build, sign, cosign, sponsor, submit, reconcile, run. */
|
|
21
|
+
export { build, cosign, reconcile, reconcileAll, run, sign, Signed, sponsored, submit, Tx } from "./services/Tx.js";
|
|
22
|
+
/** The expiration union and the bounds `Tx.reconcile` reasons about. */
|
|
23
|
+
export { chainOf, maxEpochOf, maxTimestampMsOf, Signature, TransactionExpiration } from "./domain/schemas.js";
|
|
24
|
+
//# sourceMappingURL=tx.js.map
|
package/dist/tx.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx.js","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EAEN,MAAM,EAEP,MAAM,sBAAsB,CAAA;AAE7B,4EAA4E;AAC5E,OAAO,EAGL,YAAY,EAEb,MAAM,4BAA4B,CAAA;AAEnC,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAuB,MAAM,uBAAuB,CAAA;AAEpE,yEAAyE;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEvF,4DAA4D;AAC5D,OAAO,EACL,KAAK,EACL,MAAM,EAMN,SAAS,EACT,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,SAAS,EACT,MAAM,EACN,EAAE,EACH,MAAM,kBAAkB,CAAA;AAEzB,wEAAwE;AACxE,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACtB,MAAM,qBAAqB,CAAA"}
|