@motebit/crypto 1.0.0 → 1.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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,IAAI,EACJ,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB;IAC5B,MAAM,CAAC,GAAG,UAGT,CAAC;IACF,IAAI,CAAC,CAAC,6BAA6B,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,mBAAmB,CAAC;IACjD,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC;AACzC,CAAC;AAqCD,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAAqC,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAU,EACV,UAAsB,EACtB,SAAsB;IAEtB,0EAA0E;IAC1E,4CAA4C;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,uBAAuB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAGpD,CAAC;IAEF,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,2EAA2E;QAC3E,OAAO,CAAC,KAAK,CACX,0DAA0D,GAAG,UAC3D,KAAK,CAAC,OAAO,CAAE,IAAgC,CAAC,mBAAmB,CAAC;YAClE,CAAC,CAAG,IAAgC,CAAC,mBAAiC,CAAC,MAAM;YAC7E,CAAC,CAAC,CACN,UAAU,SAAS,CAAC,MAAM,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,0EAA0E;IAC1E,qCAAqC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAwB,EACxB,SAAqB;IAErB,IAAI,OAAO,CAAC,KAAK,KAAK,uBAAuB,EAAE,CAAC;QAC9C,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,2DAA2D;YAC3D,OAAO,CAAC,KAAK,CACX,8EAA8E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAClK,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,2EAA2E;QAC3E,OAAO,CAAC,KAAK,CACX,4DAA4D,GAAG,UAAU,KAAK,UAAU,SAAS,CAAC,MAAM,EAAE,CAC3G,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAyBD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAwB,EACxB,SAAqB;IAErB,IAAI,OAAO,CAAC,KAAK,KAAK,uBAAuB,EAAE,CAAC;QAC9C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;QACrD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,MAAM,eAAe,CAAC,WAAW,CAAC;YACpD,iBAAiB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3D,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,QAAoB,CAAC;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC;YACrC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,MAAM,EAAE,YAAY;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/E,OAAO;QACL,KAAK;QACL,gBAAgB,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC;QACrC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC1C,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;KAC1C,CAAC;AACJ,CAAC;AA2CD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAAqC,CAAC;AAEnF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAc;IAClD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAG7C,OAAU,EACV,UAAsB,EACtB,SAAsB;IAEtB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,6BAA6B,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAGpD,CAAC;IAEF,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,2EAA2E;QAC3E,OAAO,CAAC,KAAK,CACX,+DAA+D,GAAG,SAC/D,IAAgC,CAAC,SACpC,UAAU,SAAS,CAAC,MAAM,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAsC,EACtC,SAAqB;IAErB,IAAI,OAAO,CAAC,KAAK,KAAK,6BAA6B,EAAE,CAAC;QACpD,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,2DAA2D;YAC3D,OAAO,CAAC,KAAK,CACX,mFAAmF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,EAAE,CAC7K,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,2EAA2E;QAC3E,OAAO,CAAC,KAAK,CACX,iEAAiE,GAAG,UAAU,KAAK,UAAU,SAAS,CAAC,MAAM,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA6CD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAmC,EACnC,UAAsB,EACtB,SAAqB;IAErB,MAAM,OAAO,GAAiD;QAC5D,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,EAAE;QAC5C,UAAU,EAAE,KAAK,CAAC,gBAAgB;QAClC,SAAS,EAAE,KAAK,CAAC,eAAe;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,GAAG,KAAK,CAAC,mBAAmB,cAAc,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,IAAI,EAAE;QACnJ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;QAClC,eAAe,EAAE,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,yEAAyE;QACzE,2CAA2C;KAC5C,CAAC;IACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAkBD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAwB,EACxB,SAAoB;IAEpB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAExC,2EAA2E;IAC3E,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;IAC5F,CAAC;IAED,IAAI,QAAiB,CAAC;IACtB,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,sBAAsB;QACtB,QAAQ,GAAG,KAAK,CAAC;QACjB,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAwB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnF,IAAI,KAAK,EAAE,CAAC;QACV,oBAAoB;QACpB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAwB,EACxB,SAAoB;IAEpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA0B;IAE1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACjF,CAAC;IACH,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,WAAW,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,YAAY,uBAAuB,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBACxI,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAkBD,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAAqC,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAwD,EACxD,mBAA+B;IAE/B,MAAM,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,sBAAsB,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACpF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA2B,EAC3B,OAAiD;IAEjD,IAAI,UAAU,CAAC,KAAK,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,UAAU,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAwB;IAExB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC7B,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,wBAAwB,EAAE,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;gBACjD,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,kBAAkB,CAAC,kBAAkB,IAAI,CAAC,WAAW,uBAAuB,UAAU,CAAC,YAAY,GAAG;iBAC9G,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACjE,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,kBAAkB,CAAC,gCAAgC;iBAC3D,CAAC;YACJ,CAAC;YACD,0EAA0E;YAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,cAAc,CAAC,0BAA0B,IAAI,CAAC,KAAK,aAAa,UAAU,CAAC,KAAK,GAAG;iBAC3F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AASD,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAAqC,CAAC;AAE5E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAAqC,CAAC;AAE9E,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAAqC,CAAC;AAE3E,4FAA4F;AAC5F,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAAqC,CAAC;AAE5E,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAAqC,CAAC;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAkD,EAClD,cAA0B;IAE1B,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,sBAAsB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/E,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAqB,EACrB,aAAyB;IAEzB,IAAI,IAAI,CAAC,KAAK,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAA0D,EAC1D,qBAAiC;IAEjC,MAAM,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,wBAAwB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACxF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA6B,EAC7B,oBAAgC,EAChC,QAAkC;IAElC,IAAI,UAAU,CAAC,KAAK,KAAK,wBAAwB;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oEAAoE;IACpE,+DAA+D;IAC/D,oEAAoE;IACpE,IAAI,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAoD,EACpD,eAA2B;IAE3B,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,qBAAqB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC/E,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,cAA0B;IAE1B,IAAI,OAAO,CAAC,KAAK,KAAK,qBAAqB;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAsD,EACtD,mBAA+B;IAE/B,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,sBAAsB,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACpF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAyB,EACzB,kBAA8B;IAE9B,IAAI,QAAQ,CAAC,KAAK,KAAK,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkD,EAClD,kBAA8B;IAE9B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACjF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,iBAA6B;IAE7B,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAOD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,4BAAqC,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAyE,EACzE,UAAsB,EACtB,SAAsB;IAEtB,MAAM,OAAO,GAAsD,SAAS;QAC1E,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE;QACnD,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,2BAA2B,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA6B,EAC7B,SAAqB;IAErB,IAAI,OAAO,CAAC,KAAK,KAAK,2BAA2B;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAOD,yFAAyF;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAAqC,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkD,EAClD,eAA2B;IAE3B,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9E,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAqB,EACrB,cAA0B;IAE1B,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAOD,wDAAwD;AACxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAAqC,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAyD,EACzD,gBAA4B;IAE5B,MAAM,IAAI,GAAG,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAA4B,EAC5B,eAA2B;IAE3B,IAAI,UAAU,CAAC,KAAK,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAC;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,MAAM,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,oCAAoC;AAEpC,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAAqC,CAAC;AA0B1E;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,eAAuB,EACvB,eAAuB,EACvB,SAAiB,EACjB,MAAe,EACf,QAAkB;IAElB,MAAM,GAAG,GAA4B;QACnC,cAAc,EAAE,eAAe;QAC/B,cAAc,EAAE,eAAe;QAC/B,SAAS;QACT,KAAK,EAAE,oBAAoB;KAC5B,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAAyB,EACzB,aAAyB,EACzB,YAAwB,EACxB,YAAwB,EACxB,MAAe;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,oBAAoB,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAE/E,OAAO;QACL,cAAc,EAAE,eAAe;QAC/B,cAAc,EAAE,eAAe;QAC/B,SAAS;QACT,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,oBAAoB;QAC3B,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC;QACrC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,kBAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,YAAwB,EACxB,MAAe;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,MAAM,IAAI,mBAAmB,CAAC;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAClC,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,EACf,IAAI,CACL,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAE/E,OAAO;QACL,cAAc,EAAE,eAAe;QAC/B,cAAc,EAAE,eAAe;QAC/B,SAAS;QACT,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,oBAAoB;QAC3B,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC;QACrC,QAAQ,EAAE,IAAI;QACd,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA2B,EAC3B,oBAA6B;IAE7B,IAAI,MAAM,CAAC,KAAK,KAAK,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,OAAO,GAAG,oBAAoB,CAClC,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,oBAAoB;gBAAE,OAAO,KAAK,CAAC;YACtE,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC1D,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACpD,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAaD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA4B,EAC5B,oBAA6B;IAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,EAAE;YACtB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE;SACvD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,cAAc,CAAC;IAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAEzB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7C,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,kBAAkB,EAAE,UAAU;gBAC9B,kBAAkB,EAAE,UAAU;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,UAAU,CAAC,6DAA6D;iBAClF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,kBAAkB,EAAE,UAAU;gBAC9B,kBAAkB,EAAE,UAAU;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,wBAAwB,EAAE;aAClE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClD,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,kBAAkB,EAAE,UAAU;oBAC9B,kBAAkB,EAAE,UAAU;oBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE;wBACL,KAAK,EAAE,CAAC,GAAG,CAAC;wBACZ,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,cAAc,WAAW,IAAI,CAAC,cAAc,GAAG;qBACrH;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,kBAAkB,EAAE,UAAU;oBAC9B,kBAAkB,EAAE,UAAU;oBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE;wBACL,KAAK,EAAE,CAAC,GAAG,CAAC;wBACZ,OAAO,EAAE,kCAAkC,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,iBAAiB,MAAM,CAAC,SAAS,EAAE;qBACjH;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,kBAAkB,EAAE,UAAU;QAC9B,kBAAkB,EAAE,UAAU;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED,uCAAuC;AAEvC,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAAqC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,kBAA8B,EAC9B,kBAA8B,EAC9B,SAAkB;IAOlB,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,yBAAyB;KACjC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,yBAAyB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC9F,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,yBAAyB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAE9F,OAAO;QACL,OAAO;QACP,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC;QAC3C,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC;QAC3C,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAIC,EACD,oBAA4B,EAC5B,oBAA4B;IAE5B,MAAM,OAAO,GAAG,aAAa,CAAC;QAC5B,MAAM,EAAE,kBAAkB;QAC1B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,KAAK,EAAE,yBAAyB;KACjC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,aAAa,GAAG,MAAM,aAAa,CACvC,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,aAAa,CACvC,yBAAyB,EACzB,OAAO,EACP,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,OAAO,aAAa,IAAI,aAAa,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,gCAAgC;AAEhC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,4BAAqC,CAAC;AAgBjF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA6F,EAC7F,mBAA+B;IAE/B,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,aAAa,CAAC;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,2BAA2B;KACnC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,2BAA2B,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAE5F,OAAO;QACL,GAAG,OAAO;QACV,YAAY,EAAE,WAAW;QACzB,KAAK,EAAE,2BAA2B;QAClC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAqC,EACrC,kBAA8B,EAC9B,eAA2B;IAE3B,+BAA+B;IAC/B,IAAI,OAAO,CAAC,KAAK,KAAK,2BAA2B,EAAE,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACnE,CAAC;IAED,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,YAAY,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;IAC1D,CAAC;IAED,wEAAwE;IACxE,MAAM,UAAU,GAAG,aAAa,CAAC;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;IACtE,CAAC;IAED,kDAAkD;IAClD,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,uCAAuC,CAAC,KAAK,EAAE,CAAC,UAAU,GAAG;iBACrE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,CAAC,UAAU,qBAAqB;iBACvE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,mCAAmC;AACnC,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,8EAA8E;AAC9E,qEAAqE;AACrE,6DAA6D;AAE7D,mEAAmE;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAAqC,CAAC;AAiB/E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAG1C,IAAO,EACP,UAAsB;IAEtB,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,yBAAyB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9E,OAAO,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,EAGjD,CAAC;AACJ,CAAC;AAeD,qFAAqF;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAgC,EAChC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,0EAA0E;IAC1E,IACE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QACnC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QAClC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QACnC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QAClC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAClC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,0BAA0B;IAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,8BAA8B,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IACD,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,IAAI,CAAC,KAAK,KAAK,yBAAyB,EAAE,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACvD,CAAC;IACD,2CAA2C;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,QAAoB,CAAC;IACzB,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAC1E,CAAC"}
@@ -1,246 +0,0 @@
1
- /**
2
- * Credential anchor — leaf hashing and self-verification.
3
- *
4
- * Permissive floor (Apache-2.0): these functions are part of the open protocol.
5
- * Any implementation can compute credential leaves and verify anchor proofs
6
- * using this module.
7
- *
8
- * motebit/credential-anchor@1.0 §3 (leaf hash) and §5.2 (verification).
9
- */
10
- import { canonicalJson, sha256, hexToBytes, verifyBySuite } from "./signing.js";
11
- /** The one suite CredentialAnchorBatch records sign under today. */
12
- export const CREDENTIAL_ANCHOR_SUITE = "motebit-jcs-ed25519-hex-v1";
13
- // === Helpers (inlined — zero monorepo deps) ===
14
- function toHex(bytes) {
15
- return Array.from(bytes)
16
- .map((b) => b.toString(16).padStart(2, "0"))
17
- .join("");
18
- }
19
- function fromHex(hex) {
20
- const bytes = new Uint8Array(hex.length / 2);
21
- for (let i = 0; i < hex.length; i += 2) {
22
- bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
23
- }
24
- return bytes;
25
- }
26
- function concat(a, b) {
27
- const out = new Uint8Array(a.length + b.length);
28
- out.set(a);
29
- out.set(b, a.length);
30
- return out;
31
- }
32
- // === Leaf Hash ===
33
- /**
34
- * Compute a credential leaf hash for Merkle anchoring.
35
- *
36
- * The input is the full W3C VC 2.0 credential including its `proof` field.
37
- * The proof is included because it binds the credential to its issuer's
38
- * signature — without it, anyone could claim arbitrary credential content.
39
- *
40
- * @param credential - Full verifiable credential object (with proof)
41
- * @returns Hex-encoded SHA-256 hash
42
- */
43
- export async function computeCredentialLeaf(credential) {
44
- const canonical = canonicalJson(credential);
45
- const hash = await sha256(new TextEncoder().encode(canonical));
46
- return toHex(hash);
47
- }
48
- // === Merkle Proof Verification ===
49
- /**
50
- * Verify a Merkle inclusion proof against an expected root.
51
- *
52
- * Binary tree with odd-leaf promotion (no duplication).
53
- * Same algorithm as @motebit/encryption/merkle.ts — inlined here
54
- * so the crypto package remains zero-monorepo-deps.
55
- */
56
- async function verifyMerkleInclusion(leaf, index, siblings, layerSizes, expectedRoot) {
57
- let current = fromHex(leaf);
58
- let idx = index;
59
- let sibIdx = 0;
60
- for (const layerSize of layerSizes) {
61
- const siblingPos = idx % 2 === 0 ? idx + 1 : idx - 1;
62
- const hasSibling = siblingPos >= 0 && siblingPos < layerSize;
63
- if (hasSibling) {
64
- if (sibIdx >= siblings.length)
65
- return false;
66
- const siblingBytes = fromHex(siblings[sibIdx]);
67
- const combined = idx % 2 === 0 ? concat(current, siblingBytes) : concat(siblingBytes, current);
68
- current = await sha256(combined);
69
- sibIdx++;
70
- }
71
- // Odd promotion: current passes through unchanged
72
- idx = Math.floor(idx / 2);
73
- }
74
- return toHex(current) === expectedRoot;
75
- }
76
- /**
77
- * Verify a credential anchor proof — the 4-step self-verification algorithm.
78
- *
79
- * Steps 1–3 are fully offline. Step 4 (onchain lookup) requires a callback
80
- * and is skipped if not provided or if the proof has no onchain anchor.
81
- *
82
- * @param credential - The full W3C VC 2.0 credential (with proof)
83
- * @param anchorProof - The CredentialAnchorProof from the relay
84
- * @param chainVerifier - Optional callback for step 4 (onchain verification)
85
- * @returns Verification result with per-step breakdown
86
- *
87
- * @example
88
- * ```ts
89
- * import { verifyCredentialAnchor } from "@motebit/crypto";
90
- *
91
- * const result = await verifyCredentialAnchor(credential, proof);
92
- * if (result.valid) {
93
- * // Steps 1-3 passed: credential was anchored by this relay
94
- * }
95
- * ```
96
- */
97
- export async function verifyCredentialAnchor(credential, anchorProof, chainVerifier) {
98
- const errors = [];
99
- // Step 1: Hash verification — credential maps to the claimed leaf
100
- const computedHash = await computeCredentialLeaf(credential);
101
- const hashValid = computedHash === anchorProof.credential_hash;
102
- if (!hashValid) {
103
- errors.push(`Hash mismatch: computed ${computedHash.slice(0, 16)}…, proof claims ${anchorProof.credential_hash.slice(0, 16)}…`);
104
- }
105
- // Step 2: Merkle inclusion — leaf reconstructs to root
106
- const merkleValid = await verifyMerkleInclusion(anchorProof.credential_hash, anchorProof.leaf_index, anchorProof.siblings, anchorProof.layer_sizes, anchorProof.merkle_root);
107
- if (!merkleValid) {
108
- errors.push("Merkle proof does not reconstruct to the claimed root");
109
- }
110
- // Step 3: Relay attestation — relay signed the batch payload
111
- // Reconstruct the exact payload signed by cutCredentialBatch. The
112
- // `suite` discriminator is part of the signed payload so verifiers
113
- // dispatch the primitive via `verifyBySuite` rather than assuming
114
- // Ed25519.
115
- const suite = anchorProof.suite;
116
- let relaySignatureValid = false;
117
- if (suite !== CREDENTIAL_ANCHOR_SUITE) {
118
- errors.push(`Relay batch signature: missing or unsupported suite "${String(suite)}"`);
119
- }
120
- else {
121
- const batchPayload = canonicalJson({
122
- batch_id: anchorProof.batch_id,
123
- merkle_root: anchorProof.merkle_root,
124
- leaf_count: anchorProof.leaf_count,
125
- first_issued_at: anchorProof.first_issued_at,
126
- last_issued_at: anchorProof.last_issued_at,
127
- relay_id: anchorProof.relay_id,
128
- suite,
129
- });
130
- const payloadBytes = new TextEncoder().encode(batchPayload);
131
- const signatureBytes = hexToBytes(anchorProof.batch_signature);
132
- const publicKeyBytes = hexToBytes(anchorProof.relay_public_key);
133
- try {
134
- relaySignatureValid = await verifyBySuite(suite, payloadBytes, signatureBytes, publicKeyBytes);
135
- }
136
- catch {
137
- relaySignatureValid = false;
138
- }
139
- if (!relaySignatureValid) {
140
- errors.push("Relay batch signature verification failed");
141
- }
142
- }
143
- // Step 4: Onchain anchor (optional — requires network access)
144
- let chainVerified = null;
145
- if (anchorProof.anchor && chainVerifier) {
146
- try {
147
- chainVerified = await chainVerifier({
148
- ...anchorProof.anchor,
149
- expected_root: anchorProof.merkle_root,
150
- });
151
- if (!chainVerified) {
152
- errors.push("Onchain anchor verification failed");
153
- }
154
- }
155
- catch (err) {
156
- chainVerified = false;
157
- errors.push(`Onchain verification error: ${err instanceof Error ? err.message : String(err)}`);
158
- }
159
- }
160
- const valid = hashValid && merkleValid && relaySignatureValid && (chainVerified === null || chainVerified);
161
- return {
162
- valid,
163
- steps: {
164
- hash_valid: hashValid,
165
- merkle_valid: merkleValid,
166
- relay_signature_valid: relaySignatureValid,
167
- chain_verified: chainVerified,
168
- },
169
- errors,
170
- };
171
- }
172
- /** The one suite revocation anchor events sign under today (utf8-concat). */
173
- export const REVOCATION_ANCHOR_SUITE = "motebit-concat-ed25519-hex-v1";
174
- /**
175
- * Verify a revocation anchor — confirm a key was revoked.
176
- *
177
- * The revocation memo format is: "motebit:revocation:v1:{public_key_hex}:{timestamp}"
178
- * The relay signs the payload "revocation:{type}:{motebit_id}:{timestamp}" with its
179
- * identity key. This function verifies:
180
- *
181
- * 1. The relay's Ed25519 signature over the revocation event
182
- * 2. Optionally, the onchain memo transaction via a callback
183
- *
184
- * Both steps are offline-verifiable given the relay's public key. The onchain
185
- * step requires network access but ensures the relay cannot deny the revocation.
186
- *
187
- * @param proof - The revocation anchor proof fields
188
- * @param revocationPayload - The exact signed payload string (e.g., "revocation:key_rotated:mid-xxx:1712345678")
189
- * @param chainVerifier - Optional callback: given tx_hash + expected memo, verify onchain
190
- */
191
- export async function verifyRevocationAnchor(proof, revocationPayload, chainVerifier) {
192
- const errors = [];
193
- // Step 1: Memo format validation — the expected memo matches the proof fields
194
- const expectedMemo = `motebit:revocation:v1:${proof.revoked_public_key}:${proof.timestamp}`;
195
- const memoValid = proof.revoked_public_key.length === 64 && proof.timestamp > 0;
196
- if (!memoValid) {
197
- errors.push(`Invalid revocation proof: public key length ${proof.revoked_public_key.length} (expected 64), timestamp ${proof.timestamp}`);
198
- }
199
- // Step 2: Relay signature verification — suite dispatches the primitive
200
- let relaySignatureValid = false;
201
- if (proof.suite !== REVOCATION_ANCHOR_SUITE) {
202
- errors.push(`Relay revocation signature: missing or unsupported suite "${String(proof.suite)}"`);
203
- }
204
- else {
205
- const payloadBytes = new TextEncoder().encode(revocationPayload);
206
- const signatureBytes = hexToBytes(proof.signature);
207
- const publicKeyBytes = hexToBytes(proof.relay_public_key);
208
- try {
209
- relaySignatureValid = await verifyBySuite(proof.suite, payloadBytes, signatureBytes, publicKeyBytes);
210
- }
211
- catch {
212
- relaySignatureValid = false;
213
- }
214
- if (!relaySignatureValid) {
215
- errors.push("Relay revocation signature verification failed");
216
- }
217
- }
218
- // Step 3: Onchain anchor (optional)
219
- let chainVerified = null;
220
- if (proof.anchor && chainVerifier) {
221
- try {
222
- chainVerified = await chainVerifier({
223
- ...proof.anchor,
224
- expected_memo: expectedMemo,
225
- });
226
- if (!chainVerified) {
227
- errors.push("Onchain revocation anchor verification failed");
228
- }
229
- }
230
- catch (err) {
231
- chainVerified = false;
232
- errors.push(`Onchain revocation verification error: ${err instanceof Error ? err.message : String(err)}`);
233
- }
234
- }
235
- const valid = memoValid && relaySignatureValid && (chainVerified === null || chainVerified);
236
- return {
237
- valid,
238
- steps: {
239
- memo_valid: memoValid,
240
- relay_signature_valid: relaySignatureValid,
241
- chain_verified: chainVerified,
242
- },
243
- errors,
244
- };
245
- }
246
- //# sourceMappingURL=credential-anchor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-anchor.js","sourceRoot":"","sources":["../src/credential-anchor.ts"],"names":[],"mappings":"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"}
@@ -1,209 +0,0 @@
1
- /**
2
- * Verifiable Credentials (W3C VC Data Model 2.0) with eddsa-jcs-2022 cryptosuite.
3
- *
4
- * Signing and verification of W3C Verifiable Credentials and Presentations
5
- * using the protocol's canonical Ed25519 + JCS pipeline.
6
- *
7
- * Moved from BSL @motebit/encryption to the permissive floor in @motebit/crypto (Apache-2.0).
8
- */
9
- import { canonicalJson, ed25519Sign, ed25519Verify, base58btcEncode, base58btcDecode, publicKeyToDidKey, didKeyToPublicKey, sha256, } from "./signing.js";
10
- // === Internal helpers ===
11
- function buildVerificationMethod(publicKey) {
12
- const did = publicKeyToDidKey(publicKey);
13
- const fragment = did.slice("did:key:".length);
14
- return `${did}#${fragment}`;
15
- }
16
- // === eddsa-jcs-2022 Signing ===
17
- /**
18
- * Sign a document using eddsa-jcs-2022 (Data Integrity EdDSA Cryptosuites).
19
- *
20
- * 1. Separate proof options from document
21
- * 2. proofHash = SHA-256(canonicalJson(proofOptions))
22
- * 3. docHash = SHA-256(canonicalJson(documentWithoutProof))
23
- * 4. signature = Ed25519.sign(proofHash || docHash, privateKey)
24
- * 5. proofValue = "z" + base58btcEncode(signature)
25
- */
26
- async function signDataIntegrity(document, privateKey, publicKey, proofPurpose) {
27
- const verificationMethod = buildVerificationMethod(publicKey);
28
- const created = new Date().toISOString();
29
- const proofOptions = {
30
- type: "DataIntegrityProof",
31
- cryptosuite: "eddsa-jcs-2022",
32
- created,
33
- verificationMethod,
34
- proofPurpose,
35
- };
36
- const encoder = new TextEncoder();
37
- const proofHash = await sha256(encoder.encode(canonicalJson(proofOptions)));
38
- const { proof: _proof, ...docWithoutProof } = document;
39
- const docHash = await sha256(encoder.encode(canonicalJson(docWithoutProof)));
40
- const combined = new Uint8Array(proofHash.length + docHash.length);
41
- combined.set(proofHash);
42
- combined.set(docHash, proofHash.length);
43
- const signature = await ed25519Sign(combined, privateKey);
44
- const proofValue = "z" + base58btcEncode(signature);
45
- return { ...proofOptions, proofValue };
46
- }
47
- /**
48
- * Verify a Data Integrity proof using eddsa-jcs-2022.
49
- */
50
- async function verifyDataIntegritySigning(document, proof) {
51
- if (proof.type !== "DataIntegrityProof" || proof.cryptosuite !== "eddsa-jcs-2022") {
52
- return false;
53
- }
54
- const did = proof.verificationMethod.split("#")[0];
55
- let publicKey;
56
- try {
57
- publicKey = didKeyToPublicKey(did);
58
- }
59
- catch {
60
- return false;
61
- }
62
- const { proofValue, ...proofOptions } = proof;
63
- const encoder = new TextEncoder();
64
- const proofHash = await sha256(encoder.encode(canonicalJson(proofOptions)));
65
- const { proof: _proof, ...docWithoutProof } = document;
66
- const docHash = await sha256(encoder.encode(canonicalJson(docWithoutProof)));
67
- const combined = new Uint8Array(proofHash.length + docHash.length);
68
- combined.set(proofHash);
69
- combined.set(docHash, proofHash.length);
70
- if (!proofValue.startsWith("z"))
71
- return false;
72
- let signature;
73
- try {
74
- signature = base58btcDecode(proofValue.slice(1));
75
- }
76
- catch {
77
- return false;
78
- }
79
- return ed25519Verify(signature, combined, publicKey);
80
- }
81
- // === Verifiable Credential Sign/Verify ===
82
- export async function signVerifiableCredential(unsignedVC, privateKey, publicKey) {
83
- const proof = await signDataIntegrity(unsignedVC, privateKey, publicKey, "assertionMethod");
84
- return { ...unsignedVC, proof };
85
- }
86
- export async function verifyVerifiableCredential(vc) {
87
- if (vc.validUntil) {
88
- const expiresAt = new Date(vc.validUntil).getTime();
89
- if (Date.now() > expiresAt)
90
- return false;
91
- }
92
- return verifyDataIntegritySigning(vc, vc.proof);
93
- }
94
- // === Verifiable Presentation Sign/Verify ===
95
- export async function signVerifiablePresentation(unsignedVP, privateKey, publicKey) {
96
- const proof = await signDataIntegrity(unsignedVP, privateKey, publicKey, "authentication");
97
- return { ...unsignedVP, proof };
98
- }
99
- export async function verifyVerifiablePresentation(vp) {
100
- const errors = [];
101
- const vpValid = await verifyDataIntegritySigning(vp, vp.proof);
102
- if (!vpValid) {
103
- errors.push("Presentation proof is invalid");
104
- }
105
- for (let i = 0; i < vp.verifiableCredential.length; i++) {
106
- const vc = vp.verifiableCredential[i];
107
- const vcValid = await verifyVerifiableCredential(vc);
108
- if (!vcValid) {
109
- errors.push(`Credential ${i} proof is invalid`);
110
- }
111
- }
112
- return { valid: errors.length === 0, errors };
113
- }
114
- // === Convenience Issuance Functions ===
115
- const VC_TYPE_GRADIENT = "AgentGradientCredential";
116
- const VC_TYPE_REPUTATION = "AgentReputationCredential";
117
- const VC_TYPE_TRUST = "AgentTrustCredential";
118
- const ONE_HOUR_MS = 60 * 60 * 1000;
119
- export async function issueGradientCredential(snapshot, privateKey, publicKey, subjectDid, validForMs = ONE_HOUR_MS, statusEndpoint) {
120
- const issuerDid = publicKeyToDidKey(publicKey);
121
- const subject = {
122
- id: subjectDid ?? issuerDid,
123
- gradient: snapshot.gradient,
124
- knowledge_density: snapshot.knowledge_density,
125
- knowledge_quality: snapshot.knowledge_quality,
126
- graph_connectivity: snapshot.graph_connectivity,
127
- temporal_stability: snapshot.temporal_stability,
128
- retrieval_quality: snapshot.retrieval_quality,
129
- interaction_efficiency: snapshot.interaction_efficiency,
130
- tool_efficiency: snapshot.tool_efficiency,
131
- curiosity_pressure: snapshot.curiosity_pressure,
132
- measured_at: snapshot.timestamp,
133
- };
134
- const now = new Date();
135
- const unsignedVC = {
136
- "@context": ["https://www.w3.org/ns/credentials/v2"],
137
- type: ["VerifiableCredential", VC_TYPE_GRADIENT],
138
- issuer: issuerDid,
139
- credentialSubject: subject,
140
- validFrom: now.toISOString(),
141
- validUntil: new Date(now.getTime() + validForMs).toISOString(),
142
- ...(statusEndpoint
143
- ? { credentialStatus: { id: statusEndpoint, type: "RevocationList2024" } }
144
- : {}),
145
- };
146
- return signVerifiableCredential(unsignedVC, privateKey, publicKey);
147
- }
148
- export async function issueReputationCredential(snapshot, privateKey, publicKey, subjectDid, validForMs = ONE_HOUR_MS, statusEndpoint) {
149
- const issuerDid = publicKeyToDidKey(publicKey);
150
- const subject = {
151
- id: subjectDid,
152
- success_rate: snapshot.success_rate,
153
- avg_latency_ms: snapshot.avg_latency_ms,
154
- task_count: snapshot.task_count,
155
- trust_score: snapshot.trust_score,
156
- availability: snapshot.availability,
157
- sample_size: snapshot.task_count,
158
- measured_at: snapshot.measured_at,
159
- };
160
- const now = new Date();
161
- const unsignedVC = {
162
- "@context": ["https://www.w3.org/ns/credentials/v2"],
163
- type: ["VerifiableCredential", VC_TYPE_REPUTATION],
164
- issuer: issuerDid,
165
- credentialSubject: subject,
166
- validFrom: now.toISOString(),
167
- validUntil: new Date(now.getTime() + validForMs).toISOString(),
168
- ...(statusEndpoint
169
- ? { credentialStatus: { id: statusEndpoint, type: "RevocationList2024" } }
170
- : {}),
171
- };
172
- return signVerifiableCredential(unsignedVC, privateKey, publicKey);
173
- }
174
- export async function issueTrustCredential(trustRecord, privateKey, publicKey, subjectDid, validForMs = ONE_HOUR_MS, statusEndpoint) {
175
- const issuerDid = publicKeyToDidKey(publicKey);
176
- const subject = {
177
- id: subjectDid,
178
- trust_level: trustRecord.trust_level,
179
- interaction_count: trustRecord.interaction_count,
180
- successful_tasks: trustRecord.successful_tasks ?? 0,
181
- failed_tasks: trustRecord.failed_tasks ?? 0,
182
- first_seen_at: trustRecord.first_seen_at,
183
- last_seen_at: trustRecord.last_seen_at,
184
- };
185
- const now = new Date();
186
- const unsignedVC = {
187
- "@context": ["https://www.w3.org/ns/credentials/v2"],
188
- type: ["VerifiableCredential", VC_TYPE_TRUST],
189
- issuer: issuerDid,
190
- credentialSubject: subject,
191
- validFrom: now.toISOString(),
192
- validUntil: new Date(now.getTime() + validForMs).toISOString(),
193
- ...(statusEndpoint
194
- ? { credentialStatus: { id: statusEndpoint, type: "RevocationList2024" } }
195
- : {}),
196
- };
197
- return signVerifiableCredential(unsignedVC, privateKey, publicKey);
198
- }
199
- export async function createPresentation(credentials, privateKey, publicKey) {
200
- const holderDid = publicKeyToDidKey(publicKey);
201
- const unsignedVP = {
202
- "@context": ["https://www.w3.org/ns/credentials/v2"],
203
- type: ["VerifiablePresentation"],
204
- holder: holderDid,
205
- verifiableCredential: credentials,
206
- };
207
- return signVerifiablePresentation(unsignedVP, privateKey, publicKey);
208
- }
209
- //# sourceMappingURL=credentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}