@antseed/node 0.2.57 → 0.2.58
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/dist/discovery/default-metadata-resolver.d.ts +16 -0
- package/dist/discovery/default-metadata-resolver.d.ts.map +1 -0
- package/dist/discovery/default-metadata-resolver.js +16 -0
- package/dist/discovery/default-metadata-resolver.js.map +1 -0
- package/dist/discovery/profile-manager.d.ts +50 -0
- package/dist/discovery/profile-manager.d.ts.map +1 -0
- package/dist/discovery/profile-manager.js +105 -0
- package/dist/discovery/profile-manager.js.map +1 -0
- package/dist/discovery/profile-search.d.ts +27 -0
- package/dist/discovery/profile-search.d.ts.map +1 -0
- package/dist/discovery/profile-search.js +75 -0
- package/dist/discovery/profile-search.js.map +1 -0
- package/dist/discovery/reputation-verifier.d.ts +5 -0
- package/dist/discovery/reputation-verifier.d.ts.map +1 -0
- package/dist/discovery/reputation-verifier.js +5 -0
- package/dist/discovery/reputation-verifier.js.map +1 -0
- package/dist/discovery/stats-verifier.d.ts +27 -0
- package/dist/discovery/stats-verifier.d.ts.map +1 -0
- package/dist/discovery/stats-verifier.js +38 -0
- package/dist/discovery/stats-verifier.js.map +1 -0
- package/dist/node.d.ts +1 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +1 -0
- package/dist/node.js.map +1 -1
- package/dist/p2p/handshake.d.ts +47 -0
- package/dist/p2p/handshake.d.ts.map +1 -0
- package/dist/p2p/handshake.js +107 -0
- package/dist/p2p/handshake.js.map +1 -0
- package/dist/p2p/reconnect.d.ts +48 -0
- package/dist/p2p/reconnect.d.ts.map +1 -0
- package/dist/p2p/reconnect.js +89 -0
- package/dist/p2p/reconnect.js.map +1 -0
- package/dist/payments/channel-store.d.ts +2 -0
- package/dist/payments/channel-store.d.ts.map +1 -1
- package/dist/payments/channel-store.js +6 -2
- package/dist/payments/channel-store.js.map +1 -1
- package/dist/payments/disputes.d.ts +18 -0
- package/dist/payments/disputes.d.ts.map +1 -0
- package/dist/payments/disputes.js +47 -0
- package/dist/payments/disputes.js.map +1 -0
- package/dist/payments/evm/escrow-client.d.ts +82 -0
- package/dist/payments/evm/escrow-client.d.ts.map +1 -0
- package/dist/payments/evm/escrow-client.js +277 -0
- package/dist/payments/evm/escrow-client.js.map +1 -0
- package/dist/payments/evm/keypair.d.ts +10 -0
- package/dist/payments/evm/keypair.d.ts.map +1 -0
- package/dist/payments/evm/keypair.js +13 -0
- package/dist/payments/evm/keypair.js.map +1 -0
- package/dist/payments/evm/sessions-client.d.ts +30 -0
- package/dist/payments/evm/sessions-client.d.ts.map +1 -0
- package/dist/payments/evm/sessions-client.js +61 -0
- package/dist/payments/evm/sessions-client.js.map +1 -0
- package/dist/payments/evm/wallet.d.ts +5 -0
- package/dist/payments/evm/wallet.d.ts.map +1 -0
- package/dist/payments/evm/wallet.js +31 -0
- package/dist/payments/evm/wallet.js.map +1 -0
- package/dist/payments/session-store.d.ts +68 -0
- package/dist/payments/session-store.d.ts.map +1 -0
- package/dist/payments/session-store.js +272 -0
- package/dist/payments/session-store.js.map +1 -0
- package/dist/payments/settlement.d.ts +6 -0
- package/dist/payments/settlement.d.ts.map +1 -0
- package/dist/payments/settlement.js +25 -0
- package/dist/payments/settlement.js.map +1 -0
- package/dist/proxy/model-api-adapter.d.ts +30 -0
- package/dist/proxy/model-api-adapter.d.ts.map +1 -0
- package/dist/proxy/model-api-adapter.js +891 -0
- package/dist/proxy/model-api-adapter.js.map +1 -0
- package/dist/seller-request-handler.d.ts.map +1 -1
- package/dist/seller-request-handler.js +38 -28
- package/dist/seller-request-handler.js.map +1 -1
- package/dist/types/model-api.d.ts +4 -0
- package/dist/types/model-api.d.ts.map +1 -0
- package/dist/types/model-api.js +11 -0
- package/dist/types/model-api.js.map +1 -0
- package/dist/types/peer-profile.d.ts +24 -0
- package/dist/types/peer-profile.d.ts.map +1 -0
- package/dist/types/peer-profile.js +2 -0
- package/dist/types/peer-profile.js.map +1 -0
- package/dist/types/staking.d.ts +16 -0
- package/dist/types/staking.d.ts.map +1 -0
- package/dist/types/staking.js +6 -0
- package/dist/types/staking.js.map +1 -0
- package/package.json +1 -1
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACL,oBAAoB,GAErB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,OAAO,EACP,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,EACL,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,GAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,EACV,qBAAqB,GAGtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,cAAc,EAGd,cAAc,EACd,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAA4B,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,mBAAmB,GAIpB,MAAM,4BAA4B,CAAC;AAkFpC,MAAM,OAAO,WAAY,SAAQ,YAAY;IACnC,OAAO,CAAa;IACpB,SAAS,GAAoB,IAAI,CAAC;IAClC,IAAI,GAAmB,IAAI,CAAC;IAC5B,kBAAkB,GAA6B,IAAI,CAAC;IACpD,UAAU,GAAe,EAAE,CAAC;IAC5B,OAAO,GAAkB,IAAI,CAAC;IAC9B,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAyB,IAAI,CAAC;IACxC,WAAW,GAAsB,IAAI,CAAC;IACtC,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrC,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAClD,IAAI,GAAwB,IAAI,CAAC;IACjC,SAAS,GAA2B,IAAI,CAAC;IACzC,iBAAiB,GAA4B,IAAI,CAAC;IAClD,eAAe,GAA0B,IAAI,CAAC;IAC9C,eAAe,GAA0B,IAAI,CAAC;IAC9C,eAAe,GAA0B,IAAI,CAAC;IAC9C,cAAc,GAAyB,IAAI,CAAC;IAC5C,eAAe,GAA0B,IAAI,CAAC;IAC9C,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtD,iFAAiF;IACzE,cAAc,GAAgC,IAAI,CAAC;IAC3D,8EAA8E;IACtE,oBAAoB,GAA+B,IAAI,CAAC;IAChE,kFAAkF;IAC1E,gBAAgB,GAAkC,IAAI,CAAC;IAC/D,qEAAqE;IAC7D,aAAa,GAA+B,IAAI,CAAC;IACzD,gFAAgF;IACxE,qBAAqB,GAAgC,IAAI,CAAC;IAClE,oDAAoD;IAC5C,aAAa,GAAwB,IAAI,CAAC;IAClD,yCAAyC;IACjC,uBAAuB,GAA0C,IAAI,CAAC;IAC9E,qDAAqD;IAC7C,wBAAwB,GAAW,CAAC,CAAC;IAC7C,gEAAgE;IACxD,eAAe,GAAgC,IAAI,CAAC;IAE5D,YAAY,MAAkB;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,QAAkB;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sFAAsF;IACtF,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,iFAAiF;IACjF,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,2DAA2D;IAC3D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,4EAA4E;IAC5E,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,iEAAiE;IACjE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAGD,kFAAkF;IAClF,sBAAsB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,kFAAkF;IAClF,2BAA2B;QACzB,OAAO,IAAI,CAAC,eAAe,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAEpE,0BAA0B;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;QACnF,QAAQ,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAE7E,gFAAgF;QAChF,4DAA4D;QAC5D,MAAM,cAAc,GAAG,iBAAiB,CACtC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YACrC,CAAC,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CACrF,CAAC;QACF,QAAQ,CAAC,sBAAsB,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,cAAc,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAEpG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;QACrD,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,wBAAwB;QACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,WAAW;QACX,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,QAAQ,CAAC,uCAAuC,OAAO,IAAI,GAAG,OAAO,CAAC,CAAC;QAEvE,iFAAiF;QACjF,+EAA+E;QAC/E,IAAI,OAAO,GAAG,OAAO;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAErC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,wCAAwC,OAAO,6BAA6B,CAAC,CAAC;YACvF,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC;QACD,QAAQ,CAAC,uBAAuB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;QAE5D,mFAAmF;QACnF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBAChE,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3C,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC;gBACzC,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,QAAQ,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAc;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,YAAoB;QAmBzC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAC5D,MAAM,OAAO,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;YACpC,CAAC,CAAC,CACA,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC;mBACpF,IAAI,CAAC,aAAa,EAAE,8BAA8B,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAC3F;YACD,CAAC,CAAC,CACA,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC;mBAC9D,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAC/D;mBACE,IAAI,CAAC;QAEV,MAAM,QAAQ,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC;YAClF,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC;mBACzD,IAAI,CAAC;QAEV,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;YACzD,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;gBAC5D,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;YAC3D,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,GAAG,CAAC;gBAChE,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,aAAa,EAAE,OAAO,EAAE,YAAY,IAAI,CAAC;YACzC,WAAW;YACX,YAAY;YACZ,WAAW,EAAE,WAAW,GAAG,YAAY;YACvC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI;YAC5F,YAAY,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;YACtC,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;YACtC,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI;YACvC,gBAAgB,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC;YAC9C,gBAAgB,EAAE,QAAQ,EAAE,aAAa,IAAI,CAAC;YAC9C,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,CAAC;YACpD,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,IAAI,CAAC;YACtD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,IAAI,CAAC,CAAC;YAC3F,sBAAsB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;YACxE,sBAAsB,EAAE,QAAQ,EAAE,cAAc,IAAI,IAAI;SACzD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,sBAAsB;QAapB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,CAAC,WAAW,IAAI,IAAI,IAAI,WAAW,GAAG,EAAE,CAAC;gBAC1D,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACxB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACd,OAAO;gBACL,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,aAAa;gBACvB,KAAK,EAAE,CAAC,CAAC,YAAY;gBACrB,UAAU;gBACV,gBAAgB,EAAE,CAAC,CAAC,OAAO;gBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;aACnC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,mBAAmB;QAajB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAC5D,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,aAAa;YACvB,KAAK,EAAE,CAAC,CAAC,YAAY;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,gBAAgB,EAAE,CAAC,CAAC,OAAO;YAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;SACnC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAc,EACd,GAA0B,EAC1B,OAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAc,EACd,GAA0B,EAC1B,SAAiC,EACjC,OAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,cAAqD;QAC1F,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAU,CAAC,MAAM;YAC9B,IAAI;YACJ,cAAc;YACd,oBAAoB,EAAE,kBAAkB,CAAC,oBAAoB;YAC7D,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,kBAAkB;YAC/F,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;SAC9C,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,IAAoB,EAAE,MAAc;QAC1D,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAgB,EAAE,EAAE;YACtC,IAAI,MAAuC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,SAAS,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,uDAAuD;gBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;wBACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;4BACpB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;yBACzC,CAAC,CAAC,CAAC;oBACN,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxD,SAAS;gBACX,CAAC;gBACD,IAAI,UAAU,IAAI,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC1C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,SAAS,CAAC,8CAA8C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;oBAChG,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,QAAQ,EAAE,CAAC;oBACpB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACxC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACjE,SAAS,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;wBACtF,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAsB,EAAE,EAAE;YAChD,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;gBACzE,uEAAuE;gBACvE,wEAAwE;gBACxE,mEAAmE;gBACnE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO;oBAAE,OAAO;gBACnD,+BAA+B;gBAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,kEAAkE;gBAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,kDAAkD;gBAClD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAChD,wCAAwC;gBACxC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,KAAK,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,0EAA0E;QAC1E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC;gBACrC,QAAQ,EAAE,CAAC,OAAmB,EAAE,EAAE;oBAChC,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;wBACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;4BACpB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,SAAS,EAAE,CAAC;4BACZ,OAAO;yBACR,CAAC,CAAC,CAAC;oBACN,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,aAAa;wBAAE,OAAO;oBAChG,SAAS,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBACpE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC5C,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACxC,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,cAAqD;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAU,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QACzD,QAAQ,CAAC,qCAAqC,OAAO,oBAAoB,aAAa,EAAE,CAAC,CAAC;QAE1F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,qCAAqC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC;gBAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAC7C,QAAQ,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,iBAAiB,EACtB,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,EAC9G;YACE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;YACtE,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC;SACnE,CACF,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAExC,kDAAkD;QAClD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAA6C,EAAE,EAAE;gBAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;oBAClC,QAAQ,CAAC,gCAAgC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,uCAAuC,CAAC,CAAC;oBAC/G,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBAC1C,QAAQ,CAAC,iCAAiC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC;oBAChG,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,YAAY;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,+CAA+C;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YACjD,SAAS,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC;YAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,4EAA4E;QAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,aAAa,CAAC;QACxF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE1C,0DAA0D;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;SACzC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,mFAAmF,CAAC,CAAC;YAC/F,SAAS,CAAC,iGAAiG,CAAC,CAAC;YAC7G,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,eAAe,GAAoB;gBACvC,QAAQ;gBACR,GAAG,EAAE,IAAI,CAAC,IAAI;gBACd,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrC,QAAQ,EAAE,CAAC,CAAC,IAAI;oBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvF,cAAc,EAAE,CAAC,CAAC,cAAc;iBACjC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,IAAI,GAAG,CACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACzB,CAAC,CAAC,IAAI;oBACN;wBACE,QAAQ,EAAE;4BACR,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;4BACzD,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;yBAC5D;wBACD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvE;iBACF,CAAC,CACH;gBACD,oBAAoB,EAAE,kBAAkB,CAAC,oBAAoB;gBAC7D,aAAa,EAAE,mBAAmB;gBAClC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9F,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;YAExC,yEAAyE;YACzE,IAAI,CAAC,kBAAmB,CAAC,mBAAmB,CAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,IAAI,CACnD,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;YAChD,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;SACpD,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAoB,EAAE,EAAE;YAChE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oCAAoC,IAAI,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,CAAC;IACrF,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,cAAqD;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAU,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QAC1C,QAAQ,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAExC,gCAAgC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,oDAAoD;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YACjD,SAAS,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACpD,MAAM,YAAY,GAAiB;YACjC,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,gBAAgB;YAChB,qBAAqB,EAAE,qBAAqB,CAAC,qBAAqB;YAClE,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB;YAC5D,oBAAoB,EAAE,qBAAqB,CAAC,oBAAoB;YAChE,UAAU,EAAE,qBAAqB,CAAC,UAAU;SAC7C,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAEhD,uEAAuE;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAI,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzH,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;oBACnD,QAAQ,CAAC,yCAAyC,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,kBAAkB,GAAuB;oBAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,uBAAuB,EAAE,QAAQ,CAAC,eAAe;oBACjD,uBAAuB,EAAE,QAAQ,CAAC,eAAe;oBACjD,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,IAAI,EAAE;oBAC/D,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;oBACjC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,IAAI,GAAG,EAAE,+CAA+C;oBACjH,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,EAAG,2CAA2C;oBAC/G,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,SAAS,CAAC,EAAG,qDAAqD;oBAChI,OAAO,EAAE,WAAW;iBACrB,CAAC;gBACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACtG,QAAQ,CAAC,oDAAoD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,kBAAkB,CAAC,OAAO,aAAa,kBAAkB,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBAEtN,8EAA8E;gBAC9E,IAAI,CAAC,gBAAgB,GAAG,IAAI,sBAAsB,CAChD,QAAQ,EACR,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,EAAE,EACF,IAAI,CACL,CAAC;gBACF,QAAQ,CAAC,6CAA6C,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAC1C;YACE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC/C,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB;YACvD,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;SACtD,EACD;YACE,UAAU,EAAE,IAAI,CAAC,gBAAgB;YACjC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,kBAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;SAC3E,CACF,CAAC;QAEF,QAAQ,CAAC,4CAA4C,IAAI,CAAC,IAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAEO,yBAAyB,CAAC,IAAoB;QACpD,QAAQ,CAAC,mCAAmC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QAEtC,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpC,KAAK,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC;qBAC1D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC1B,SAAS,CAAC,0CAA0C,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iDAAiD,CAAC,CAAC;wBAC/H,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,SAAS,CAAC,yCAAyC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjI,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE;gBAC7B,SAAS,CAAC,oEAAoE,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEhD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAErF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACxE,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;gBACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAC;YACH,QAAQ,CAAC,+CAA+C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACvG,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;gBACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C,CAAC,CAAC;YACH,QAAQ,CAAC,+CAA+C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACvG,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC;gBACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,eAAe,EAAE,QAAQ,CAAC,cAAc;gBACxC,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAC;YACH,QAAQ,CAAC,8CAA8C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QACrG,CAAC;QAED,wDAAwD;QACxD,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC;gBACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,eAAe,EAAE,QAAQ,CAAC,uBAAuB;aAClD,CAAC,CAAC;YACH,QAAQ,CAAC,+CAA+C,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/G,CAAC;QAED,4EAA4E;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;gBACnD,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa;YACtE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,YAAY,GAAwB;gBACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,uBAAuB,EAAE,QAAQ,CAAC,eAAe;gBACjD,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;gBACjC,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9F,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;YACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACxG,QAAQ,CAAC,yCAAyC,CAAC,CAAC;YAEpD,2FAA2F;YAC3F,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;YAEjD,4DAA4D;YAC5D,IAAI,CAAC;gBACH,IAAI,CAAC,wBAAwB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,qEAAqE;YACrE,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9C,KAAK,IAAI,CAAC,qBAAqB,EAAE,aAAa,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,KAAK,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;wBACnG,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,EAAE,MAAM,CAAC,CAAC;YACX,IAAI,OAAQ,IAAI,CAAC,uBAAkD,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACxF,IAAI,CAAC,uBAAiD,CAAC,KAAK,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,2EAA2E;YAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,SAAS,CAAC,8FAA8F,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzD,SAAS,CAAC,2CAA2C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAAc;QACjD,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,+DAA+D;QAC/D,yEAAyE;QACzE,yEAAyE;QACzE,8CAA8C;QAC9C,IAAI,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9E,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;gBAC9F,QAAQ,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,OAAO,OAAO,IAAI,OAAO,gBAAgB,CAAC,CAAC;gBACpK,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IACE,QAAQ,IAAI,CAAC,eAAe;YAC5B,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,MAAM;YACzC,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,MAAM,EACzC,CAAC;YACD,QAAQ,CAAC,yCAAyC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;YAC3G,kEAAkE;YAClE,IAAI,QAAQ,CAAC,KAAK,KAAK,eAAe,CAAC,UAAU,EAAE,CAAC;gBAClD,QAAQ,CAAC,0CAA0C,CAAC,CAAC;gBACrD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAQ,EAAE;wBAC/C,IAAI,KAAK,KAAK,eAAe,CAAC,IAAI,IAAI,KAAK,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;4BAC9E,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;4BACrC,OAAO,EAAE,CAAC;wBACZ,CAAC;6BAAM,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;4BAChF,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;4BACrC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC,CAAC;oBACF,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,QAAQ,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,UAAU,GAAqB;YACnC,YAAY,EAAE,IAAI,CAAC,MAAM;YACzB,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAElE,8BAA8B;QAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAQ,EAAE;gBAC/C,QAAQ,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;gBAC9C,IAAI,KAAK,KAAK,eAAe,CAAC,IAAI,IAAI,KAAK,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;oBAC9E,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBACjC,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;oBAChF,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBACjC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uBAAuB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,MAAc,EAAE,IAAoB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,qBAAqB,CAAC,MAAoB;QAChD,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QACpE,IAAI,qBAAqB,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,IAAI,EAAE,CAAC;YAChF,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAEO,uBAAuB,CAAC,MAAoB;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,sBAAsB,GAA6C,EAAE,CAAC;QAC5E,MAAM,8BAA8B,GAAuD,EAAE,CAAC;QAC9F,MAAM,iCAAiC,GAAyD,EAAE,CAAC;QAEnG,KAAK,MAAM,oBAAoB,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,cAAc,GAA8C,EAAE,CAAC;YACrE,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBACpD,cAAc,CAAC,OAAO,CAAC;oBACrB,oBAAoB,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,cAAc,CAAC;YAC1F,CAAC;YACD,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG;gBACtD,QAAQ,EAAE;oBACR,kBAAkB,EAAE,oBAAoB,CAAC,cAAc,CAAC,kBAAkB;oBAC1E,mBAAmB,EAAE,oBAAoB,CAAC,cAAc,CAAC,mBAAmB;oBAC5E,GAAG,CAAC,oBAAoB,CAAC,cAAc,CAAC,wBAAwB,IAAI,IAAI;wBACtE,CAAC,CAAC,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,cAAc,CAAC,wBAAwB,EAAE;wBAC5F,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChF,CAAC;YAEF,IAAI,oBAAoB,CAAC,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7G,8BAA8B,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG;oBAC9D,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;yBACnD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAC9D;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,oBAAoB,CAAC,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjH,iCAAiC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG;oBACjE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;yBACrD,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAC5D;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1E,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5F,MAAM,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjG,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAC9B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACnC,SAAS;YACT,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;YACjD,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtG,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,yBAAyB,EAAE,aAAa,EAAE,cAAc,CAAC,kBAAkB;YAC3E,0BAA0B,EAAE,aAAa,EAAE,cAAc,CAAC,mBAAmB;YAC7E,+BAA+B,EAAE,aAAa,EAAE,cAAc,CAAC,wBAAwB;YACvF,cAAc,EAAE,aAAa,EAAE,cAAc;YAC7C,WAAW,EAAE,aAAa,EAAE,WAAW;YACvC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB;YACxD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;SACrD,CAAC;IACJ,CAAC;CAEF;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type PeerId } from "../types/peer.js";
|
|
2
|
+
import { MessageType } from "../types/protocol.js";
|
|
3
|
+
import type { PeerConnection } from "./connection-manager.js";
|
|
4
|
+
export interface HandshakeResult {
|
|
5
|
+
remotePeerId: PeerId;
|
|
6
|
+
verified: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Build the HandshakeInit payload:
|
|
10
|
+
* [32 bytes pubkey] [32 bytes nonce] [64 bytes signature(nonce)]
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildHandshakeInit(publicKey: Uint8Array, privateKey: Uint8Array): Promise<{
|
|
13
|
+
payload: Uint8Array;
|
|
14
|
+
nonce: Uint8Array;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Verify a received HandshakeInit payload.
|
|
18
|
+
* Returns the remote peer's public key and nonce if valid.
|
|
19
|
+
*/
|
|
20
|
+
export declare function verifyHandshakeInit(payload: Uint8Array): Promise<{
|
|
21
|
+
remotePubKey: Uint8Array;
|
|
22
|
+
nonce: Uint8Array;
|
|
23
|
+
valid: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Build a HandshakeAck payload:
|
|
27
|
+
* [32 bytes pubkey] [32 bytes echo-nonce] [64 bytes signature(echo-nonce)]
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildHandshakeAck(publicKey: Uint8Array, privateKey: Uint8Array, remoteNonce: Uint8Array): Promise<Uint8Array>;
|
|
30
|
+
/**
|
|
31
|
+
* Verify a received HandshakeAck payload against the nonce we originally sent.
|
|
32
|
+
*/
|
|
33
|
+
export declare function verifyHandshakeAck(payload: Uint8Array, originalNonce: Uint8Array): Promise<{
|
|
34
|
+
remotePubKey: Uint8Array;
|
|
35
|
+
valid: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Perform the full handshake as the initiator.
|
|
39
|
+
* Sends HandshakeInit, waits for HandshakeAck, verifies.
|
|
40
|
+
*/
|
|
41
|
+
export declare function performHandshake(conn: PeerConnection, localPublicKey: Uint8Array, localPrivateKey: Uint8Array, sendFn: (type: MessageType, payload: Uint8Array) => void, waitForMessage: (type: MessageType, timeoutMs: number) => Promise<Uint8Array>): Promise<HandshakeResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Respond to a handshake as the responder.
|
|
44
|
+
* Waits for HandshakeInit, verifies, sends HandshakeAck.
|
|
45
|
+
*/
|
|
46
|
+
export declare function respondToHandshake(conn: PeerConnection, localPublicKey: Uint8Array, localPrivateKey: Uint8Array, sendFn: (type: MessageType, payload: Uint8Array) => void, waitForMessage: (type: MessageType, timeoutMs: number) => Promise<Uint8Array>): Promise<HandshakeResult>;
|
|
47
|
+
//# sourceMappingURL=handshake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/p2p/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ9D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AASD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAUrD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC;IAAE,YAAY,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAY1E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,UAAU,EACrB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,UAAU,GACxB,OAAO,CAAC;IAAE,YAAY,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAiBvD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,UAAU,EAC1B,eAAe,EAAE,UAAU,EAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,EACxD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,GAC5E,OAAO,CAAC,eAAe,CAAC,CAgB1B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,UAAU,EAC1B,eAAe,EAAE,UAAU,EAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,KAAK,IAAI,EACxD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,GAC5E,OAAO,CAAC,eAAe,CAAC,CAgB1B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { toPeerId } from "../types/peer.js";
|
|
2
|
+
import { MessageType } from "../types/protocol.js";
|
|
3
|
+
import { ConnectionState } from "../types/connection.js";
|
|
4
|
+
import { signData, verifySignature, bytesToHex } from "./identity.js";
|
|
5
|
+
/** Nonce size in bytes. */
|
|
6
|
+
const NONCE_SIZE = 32;
|
|
7
|
+
/** Handshake timeout in milliseconds. */
|
|
8
|
+
const HANDSHAKE_TIMEOUT_MS = 10_000;
|
|
9
|
+
/** Generate a random nonce for the handshake challenge. */
|
|
10
|
+
function generateNonce() {
|
|
11
|
+
const nonce = new Uint8Array(NONCE_SIZE);
|
|
12
|
+
crypto.getRandomValues(nonce);
|
|
13
|
+
return nonce;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Build the HandshakeInit payload:
|
|
17
|
+
* [32 bytes pubkey] [32 bytes nonce] [64 bytes signature(nonce)]
|
|
18
|
+
*/
|
|
19
|
+
export async function buildHandshakeInit(publicKey, privateKey) {
|
|
20
|
+
const nonce = generateNonce();
|
|
21
|
+
const signature = await signData(privateKey, nonce);
|
|
22
|
+
const payload = new Uint8Array(32 + 32 + 64);
|
|
23
|
+
payload.set(publicKey, 0);
|
|
24
|
+
payload.set(nonce, 32);
|
|
25
|
+
payload.set(signature, 64);
|
|
26
|
+
return { payload, nonce };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Verify a received HandshakeInit payload.
|
|
30
|
+
* Returns the remote peer's public key and nonce if valid.
|
|
31
|
+
*/
|
|
32
|
+
export async function verifyHandshakeInit(payload) {
|
|
33
|
+
if (payload.length !== 128) {
|
|
34
|
+
return { remotePubKey: new Uint8Array(32), nonce: new Uint8Array(32), valid: false };
|
|
35
|
+
}
|
|
36
|
+
const remotePubKey = payload.slice(0, 32);
|
|
37
|
+
const nonce = payload.slice(32, 64);
|
|
38
|
+
const signature = payload.slice(64, 128);
|
|
39
|
+
const valid = await verifySignature(remotePubKey, signature, nonce);
|
|
40
|
+
return { remotePubKey, nonce, valid };
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build a HandshakeAck payload:
|
|
44
|
+
* [32 bytes pubkey] [32 bytes echo-nonce] [64 bytes signature(echo-nonce)]
|
|
45
|
+
*/
|
|
46
|
+
export async function buildHandshakeAck(publicKey, privateKey, remoteNonce) {
|
|
47
|
+
const signature = await signData(privateKey, remoteNonce);
|
|
48
|
+
const payload = new Uint8Array(32 + 32 + 64);
|
|
49
|
+
payload.set(publicKey, 0);
|
|
50
|
+
payload.set(remoteNonce, 32);
|
|
51
|
+
payload.set(signature, 64);
|
|
52
|
+
return payload;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Verify a received HandshakeAck payload against the nonce we originally sent.
|
|
56
|
+
*/
|
|
57
|
+
export async function verifyHandshakeAck(payload, originalNonce) {
|
|
58
|
+
if (payload.length !== 128) {
|
|
59
|
+
return { remotePubKey: new Uint8Array(32), valid: false };
|
|
60
|
+
}
|
|
61
|
+
const remotePubKey = payload.slice(0, 32);
|
|
62
|
+
const echoNonce = payload.slice(32, 64);
|
|
63
|
+
const signature = payload.slice(64, 128);
|
|
64
|
+
// Verify that the echoed nonce matches what we sent
|
|
65
|
+
const nonceMatches = originalNonce.every((b, i) => b === echoNonce[i]);
|
|
66
|
+
if (!nonceMatches) {
|
|
67
|
+
return { remotePubKey, valid: false };
|
|
68
|
+
}
|
|
69
|
+
const valid = await verifySignature(remotePubKey, signature, echoNonce);
|
|
70
|
+
return { remotePubKey, valid };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Perform the full handshake as the initiator.
|
|
74
|
+
* Sends HandshakeInit, waits for HandshakeAck, verifies.
|
|
75
|
+
*/
|
|
76
|
+
export async function performHandshake(conn, localPublicKey, localPrivateKey, sendFn, waitForMessage) {
|
|
77
|
+
const { payload, nonce } = await buildHandshakeInit(localPublicKey, localPrivateKey);
|
|
78
|
+
sendFn(MessageType.HandshakeInit, payload);
|
|
79
|
+
const ackPayload = await waitForMessage(MessageType.HandshakeAck, HANDSHAKE_TIMEOUT_MS);
|
|
80
|
+
const { remotePubKey, valid } = await verifyHandshakeAck(ackPayload, nonce);
|
|
81
|
+
const remotePeerId = toPeerId(bytesToHex(remotePubKey));
|
|
82
|
+
if (valid) {
|
|
83
|
+
conn.setState(ConnectionState.Authenticated);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
conn.setState(ConnectionState.Failed);
|
|
87
|
+
}
|
|
88
|
+
return { remotePeerId, verified: valid };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Respond to a handshake as the responder.
|
|
92
|
+
* Waits for HandshakeInit, verifies, sends HandshakeAck.
|
|
93
|
+
*/
|
|
94
|
+
export async function respondToHandshake(conn, localPublicKey, localPrivateKey, sendFn, waitForMessage) {
|
|
95
|
+
const initPayload = await waitForMessage(MessageType.HandshakeInit, HANDSHAKE_TIMEOUT_MS);
|
|
96
|
+
const { remotePubKey, nonce, valid } = await verifyHandshakeInit(initPayload);
|
|
97
|
+
if (!valid) {
|
|
98
|
+
conn.setState(ConnectionState.Failed);
|
|
99
|
+
return { remotePeerId: toPeerId(bytesToHex(remotePubKey)), verified: false };
|
|
100
|
+
}
|
|
101
|
+
const ackPayload = await buildHandshakeAck(localPublicKey, localPrivateKey, nonce);
|
|
102
|
+
sendFn(MessageType.HandshakeAck, ackPayload);
|
|
103
|
+
const remotePeerId = toPeerId(bytesToHex(remotePubKey));
|
|
104
|
+
conn.setState(ConnectionState.Authenticated);
|
|
105
|
+
return { remotePeerId, verified: true };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=handshake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/p2p/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGtE,2BAA2B;AAC3B,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,yCAAyC;AACzC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAOpC,2DAA2D;AAC3D,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAqB,EACrB,UAAsB;IAEtB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,EAAE,YAAY,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACvF,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAEpE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAqB,EACrB,UAAsB,EACtB,WAAuB;IAEvB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAmB,EACnB,aAAyB;IAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,EAAE,YAAY,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzC,oDAAoD;IACpD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAoB,EACpB,cAA0B,EAC1B,eAA2B,EAC3B,MAAwD,EACxD,cAA6E;IAE7E,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IACrF,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACxF,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE5E,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAExD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAoB,EACpB,cAA0B,EAC1B,eAA2B,EAC3B,MAAwD,EACxD,cAA6E;IAE7E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC1F,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAE9E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACnF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAE7C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** Configuration for the reconnection strategy. */
|
|
2
|
+
export interface ReconnectConfig {
|
|
3
|
+
/** Base delay in milliseconds before the first reconnect attempt. */
|
|
4
|
+
baseDelayMs?: number;
|
|
5
|
+
/** Maximum delay in milliseconds between reconnect attempts. */
|
|
6
|
+
maxDelayMs?: number;
|
|
7
|
+
/** Maximum number of reconnect attempts before giving up. */
|
|
8
|
+
maxAttempts?: number;
|
|
9
|
+
/** Jitter factor (0-1) to randomize the delay. */
|
|
10
|
+
jitterFactor?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ReconnectCallbacks {
|
|
13
|
+
/** Called when a reconnect attempt should be made. */
|
|
14
|
+
onReconnect: (attempt: number) => Promise<boolean>;
|
|
15
|
+
/** Called when all attempts are exhausted. */
|
|
16
|
+
onGiveUp: (totalAttempts: number) => void;
|
|
17
|
+
/** Called when reconnection succeeds. */
|
|
18
|
+
onSuccess: (attempt: number) => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Manages reconnection with exponential backoff and jitter.
|
|
22
|
+
*
|
|
23
|
+
* Delay formula: min(baseDelay * 2^attempt + jitter, maxDelay)
|
|
24
|
+
*/
|
|
25
|
+
export declare class ReconnectManager {
|
|
26
|
+
private _baseDelay;
|
|
27
|
+
private _maxDelay;
|
|
28
|
+
private _maxAttempts;
|
|
29
|
+
private _jitterFactor;
|
|
30
|
+
private _attempt;
|
|
31
|
+
private _callbacks;
|
|
32
|
+
private _timeoutHandle;
|
|
33
|
+
private _active;
|
|
34
|
+
constructor(callbacks: ReconnectCallbacks, config?: ReconnectConfig);
|
|
35
|
+
get attempt(): number;
|
|
36
|
+
get isActive(): boolean;
|
|
37
|
+
/** Calculate delay for the current attempt with exponential backoff + jitter. */
|
|
38
|
+
calculateDelay(attempt: number): number;
|
|
39
|
+
/** Start the reconnection process. */
|
|
40
|
+
start(): void;
|
|
41
|
+
/** Stop the reconnection process. */
|
|
42
|
+
stop(): void;
|
|
43
|
+
/** Reset the attempt counter (e.g., after a successful connection). */
|
|
44
|
+
reset(): void;
|
|
45
|
+
/** Schedule the next reconnect attempt. */
|
|
46
|
+
private _scheduleAttempt;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=reconnect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconnect.d.ts","sourceRoot":"","sources":["../../src/p2p/reconnect.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,yCAAyC;IACzC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,OAAO,CAAS;gBAEZ,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,eAAe;IAQnE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,iFAAiF;IACjF,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAMvC,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAOb,qCAAqC;IACrC,IAAI,IAAI,IAAI;IAQZ,uEAAuE;IACvE,KAAK,IAAI,IAAI;IAKb,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;CA4BzB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const DEFAULT_BASE_DELAY_MS = 1_000;
|
|
2
|
+
const DEFAULT_MAX_DELAY_MS = 30_000;
|
|
3
|
+
const DEFAULT_MAX_ATTEMPTS = 5;
|
|
4
|
+
const DEFAULT_JITTER_FACTOR = 0.3;
|
|
5
|
+
/**
|
|
6
|
+
* Manages reconnection with exponential backoff and jitter.
|
|
7
|
+
*
|
|
8
|
+
* Delay formula: min(baseDelay * 2^attempt + jitter, maxDelay)
|
|
9
|
+
*/
|
|
10
|
+
export class ReconnectManager {
|
|
11
|
+
_baseDelay;
|
|
12
|
+
_maxDelay;
|
|
13
|
+
_maxAttempts;
|
|
14
|
+
_jitterFactor;
|
|
15
|
+
_attempt = 0;
|
|
16
|
+
_callbacks;
|
|
17
|
+
_timeoutHandle = null;
|
|
18
|
+
_active = false;
|
|
19
|
+
constructor(callbacks, config) {
|
|
20
|
+
this._callbacks = callbacks;
|
|
21
|
+
this._baseDelay = config?.baseDelayMs ?? DEFAULT_BASE_DELAY_MS;
|
|
22
|
+
this._maxDelay = config?.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;
|
|
23
|
+
this._maxAttempts = config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
|
|
24
|
+
this._jitterFactor = config?.jitterFactor ?? DEFAULT_JITTER_FACTOR;
|
|
25
|
+
}
|
|
26
|
+
get attempt() {
|
|
27
|
+
return this._attempt;
|
|
28
|
+
}
|
|
29
|
+
get isActive() {
|
|
30
|
+
return this._active;
|
|
31
|
+
}
|
|
32
|
+
/** Calculate delay for the current attempt with exponential backoff + jitter. */
|
|
33
|
+
calculateDelay(attempt) {
|
|
34
|
+
const exponentialDelay = this._baseDelay * Math.pow(2, attempt);
|
|
35
|
+
const jitter = exponentialDelay * this._jitterFactor * Math.random();
|
|
36
|
+
return Math.min(exponentialDelay + jitter, this._maxDelay);
|
|
37
|
+
}
|
|
38
|
+
/** Start the reconnection process. */
|
|
39
|
+
start() {
|
|
40
|
+
if (this._active)
|
|
41
|
+
return;
|
|
42
|
+
this._active = true;
|
|
43
|
+
this._attempt = 0;
|
|
44
|
+
this._scheduleAttempt();
|
|
45
|
+
}
|
|
46
|
+
/** Stop the reconnection process. */
|
|
47
|
+
stop() {
|
|
48
|
+
this._active = false;
|
|
49
|
+
if (this._timeoutHandle) {
|
|
50
|
+
clearTimeout(this._timeoutHandle);
|
|
51
|
+
this._timeoutHandle = null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Reset the attempt counter (e.g., after a successful connection). */
|
|
55
|
+
reset() {
|
|
56
|
+
this._attempt = 0;
|
|
57
|
+
this.stop();
|
|
58
|
+
}
|
|
59
|
+
/** Schedule the next reconnect attempt. */
|
|
60
|
+
_scheduleAttempt() {
|
|
61
|
+
if (!this._active)
|
|
62
|
+
return;
|
|
63
|
+
if (this._attempt >= this._maxAttempts) {
|
|
64
|
+
this._active = false;
|
|
65
|
+
this._callbacks.onGiveUp(this._attempt);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const delay = this.calculateDelay(this._attempt);
|
|
69
|
+
this._timeoutHandle = setTimeout(async () => {
|
|
70
|
+
if (!this._active)
|
|
71
|
+
return;
|
|
72
|
+
this._attempt++;
|
|
73
|
+
try {
|
|
74
|
+
const success = await this._callbacks.onReconnect(this._attempt);
|
|
75
|
+
if (success) {
|
|
76
|
+
this._active = false;
|
|
77
|
+
this._callbacks.onSuccess(this._attempt);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this._scheduleAttempt();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
this._scheduleAttempt();
|
|
85
|
+
}
|
|
86
|
+
}, delay);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=reconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconnect.js","sourceRoot":"","sources":["../../src/p2p/reconnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,7 @@ export declare class ChannelStore {
|
|
|
68
68
|
totalOutputTokens: number;
|
|
69
69
|
totalAuthorizedUsdc: bigint;
|
|
70
70
|
firstSessionAt: number | null;
|
|
71
|
+
lastSessionAt: number | null;
|
|
71
72
|
};
|
|
72
73
|
getTotalsByPeerAndBuyer(peerId: string, role: string, buyerEvmAddr: string): {
|
|
73
74
|
totalSessions: number;
|
|
@@ -76,6 +77,7 @@ export declare class ChannelStore {
|
|
|
76
77
|
totalOutputTokens: number;
|
|
77
78
|
totalAuthorizedUsdc: bigint;
|
|
78
79
|
firstSessionAt: number | null;
|
|
80
|
+
lastSessionAt: number | null;
|
|
79
81
|
};
|
|
80
82
|
getTimedOutChannels(timeoutSeconds: number): StoredChannel[];
|
|
81
83
|
insertReceipt(receipt: Omit<StoredReceipt, 'id'>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAoB;IAG/B,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAK1C;IAEV,OAAO,CAAC,QAAQ,CAAC,MAAM,CAmBrB;gBAEU,OAAO,EAAE,MAAM;IAc3B,OAAO,CAAC,kBAAkB;
|
|
1
|
+
{"version":3,"file":"channel-store.d.ts","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,8 @@ export class ChannelStore {
|
|
|
86
86
|
COALESCE(SUM(CAST(tokens_delivered AS INTEGER)), 0) as total_input_tokens,
|
|
87
87
|
COALESCE(SUM(CAST(previous_consumption AS INTEGER)), 0) as total_output_tokens,
|
|
88
88
|
COALESCE(SUM(CAST(auth_max AS INTEGER)), 0) as total_authorized,
|
|
89
|
-
MIN(reserved_at) as first_session_at
|
|
89
|
+
MIN(reserved_at) as first_session_at,
|
|
90
|
+
MAX(updated_at) as last_session_at
|
|
90
91
|
FROM payment_channels
|
|
91
92
|
WHERE peer_id = ? AND role = ? AND buyer_evm_addr = ?
|
|
92
93
|
`),
|
|
@@ -184,7 +185,8 @@ export class ChannelStore {
|
|
|
184
185
|
COALESCE(SUM(CAST(tokens_delivered AS INTEGER)), 0) as total_input_tokens,
|
|
185
186
|
COALESCE(SUM(CAST(previous_consumption AS INTEGER)), 0) as total_output_tokens,
|
|
186
187
|
COALESCE(SUM(CAST(auth_max AS INTEGER)), 0) as total_authorized,
|
|
187
|
-
MIN(reserved_at) as first_session_at
|
|
188
|
+
MIN(reserved_at) as first_session_at,
|
|
189
|
+
MAX(updated_at) as last_session_at
|
|
188
190
|
FROM payment_channels
|
|
189
191
|
WHERE peer_id = ? AND role = ?
|
|
190
192
|
`).get(peerId, role);
|
|
@@ -195,6 +197,7 @@ export class ChannelStore {
|
|
|
195
197
|
totalOutputTokens: row.total_output_tokens,
|
|
196
198
|
totalAuthorizedUsdc: BigInt(row.total_authorized),
|
|
197
199
|
firstSessionAt: row.first_session_at,
|
|
200
|
+
lastSessionAt: row.last_session_at,
|
|
198
201
|
};
|
|
199
202
|
}
|
|
200
203
|
getTotalsByPeerAndBuyer(peerId, role, buyerEvmAddr) {
|
|
@@ -206,6 +209,7 @@ export class ChannelStore {
|
|
|
206
209
|
totalOutputTokens: row.total_output_tokens,
|
|
207
210
|
totalAuthorizedUsdc: BigInt(row.total_authorized),
|
|
208
211
|
firstSessionAt: row.first_session_at,
|
|
212
|
+
lastSessionAt: row.last_session_at,
|
|
209
213
|
};
|
|
210
214
|
}
|
|
211
215
|
// ── Timeout queries ───────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"channel-store.js","sourceRoot":"","sources":["../../src/payments/channel-store.ts"],"names":[],"mappings":"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"}
|