lpgp 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +52 -0
- package/README.md +218 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -0
- package/dist/db.d.ts +80 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +284 -0
- package/dist/db.js.map +1 -0
- package/dist/decrypt.d.ts +2 -0
- package/dist/decrypt.d.ts.map +1 -0
- package/dist/decrypt.js +25 -0
- package/dist/decrypt.js.map +1 -0
- package/dist/encrypt.d.ts +2 -0
- package/dist/encrypt.d.ts.map +1 -0
- package/dist/encrypt.js +18 -0
- package/dist/encrypt.js.map +1 -0
- package/dist/key-manager.d.ts +119 -0
- package/dist/key-manager.d.ts.map +1 -0
- package/dist/key-manager.js +1235 -0
- package/dist/key-manager.js.map +1 -0
- package/dist/key-utils.d.ts +47 -0
- package/dist/key-utils.d.ts.map +1 -0
- package/dist/key-utils.js +199 -0
- package/dist/key-utils.js.map +1 -0
- package/dist/keychain.d.ts +22 -0
- package/dist/keychain.d.ts.map +1 -0
- package/dist/keychain.js +73 -0
- package/dist/keychain.js.map +1 -0
- package/dist/pgp-tool.d.ts +3 -0
- package/dist/pgp-tool.d.ts.map +1 -0
- package/dist/pgp-tool.js +1061 -0
- package/dist/pgp-tool.js.map +1 -0
- package/dist/prompts.d.ts +11 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +109 -0
- package/dist/prompts.js.map +1 -0
- package/dist/schema.sql +86 -0
- package/dist/system-keys.d.ts +32 -0
- package/dist/system-keys.d.ts.map +1 -0
- package/dist/system-keys.js +123 -0
- package/dist/system-keys.js.map +1 -0
- package/dist/ui.d.ts +94 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +175 -0
- package/dist/ui.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pgp-tool.js","sourceRoot":"","sources":["../src/pgp-tool.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,MAAM,EACN,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,GAEX,MAAM,SAAS,CAAA;AAEhB,sEAAsE;AACtE,MAAM,aAAa,GAAG;IACpB,yBAAyB,EAAE,IAAI,GAAG,EAAE;IACpC,oBAAoB,EAAE,IAAI,GAAG,EAAE;IAC/B,2BAA2B,EAAE,IAAI,GAAG,EAAE;IACtC,YAAY,EAAE,IAAI,GAAG,EAAE;CACxB,CAAA;AAED,sCAAsC;AACtC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAA;AACnB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;AAErC,8DAA8D;AAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;AAQjD,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,iBAAqC;IAClF,IAAI,UAA+B,CAAA;IAEnC,IAAI,iBAAiB,EAAE,CAAC;QACtB,6BAA6B;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAA;QAC5F,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CACpF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAA;QAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC7E,CAAC;QACD,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;QAEtG,sBAAsB;QACtB,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC3G,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvD,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,OAAO,SAAmB,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,gBAAwB;IACpD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAA;IAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IAED,iDAAiD;IACjD,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,cAAc,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3C,gCAAgC;YAChC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAE,CAAA;QACtD,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC9E,IAAI,gBAAgB,EAAE,CAAC;gBACrB,iCAAiC;gBACjC,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,CAAC;wBACvB,UAAU,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;wBAC3G,UAAU,EAAE,gBAAgB;wBAC5B,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAA;oBACF,qCAAqC;oBACrC,UAAU,GAAG,gBAAgB,CAAA;oBAC7B,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;oBAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAA;gBACpE,CAAC;gBAAC,MAAM,CAAC;oBACP,0EAA0E;oBAC1E,WAAW,CAAC,6DAA6D,CAAC,CAAA;gBAC5E,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,gBAAgB,CAAC;oBACjD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,aAAa,CAAC,oCAAoC,CAAC;wBAC5D,IAAI,EAAE,GAAG;qBACV;iBACF,CAAC,CAAA;gBACF,UAAU,GAAG,eAAe,CAAA;gBAE5B,2DAA2D;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,CAAC;wBACvB,UAAU,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;wBAC3G,UAAU;wBACV,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAA;oBACF,iDAAiD;oBACjD,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;oBAElD,0DAA0D;oBAC1D,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;oBAC3E,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,gBAAgB,CAAC;4BAChD;gCACE,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,gBAAgB;gCACtB,OAAO,EAAE,aAAa,CAAC,qCAAqC,CAAC;gCAC7D,OAAO,EAAE,KAAK;6BACf;yBACF,CAAC,CAAA;wBAEF,IAAI,cAAc,EAAE,CAAC;4BACnB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;4BAC3E,IAAI,KAAK,EAAE,CAAC;gCACV,WAAW,CAAC,qCAAqC,CAAC,CAAA;4BACpD,CAAC;iCAAM,CAAC;gCACN,WAAW,CAAC,kEAAkE,CAAC,CAAA;4BACjF,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QAC1C,UAAU,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC3G,UAAU;QACV,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;QACxC,cAAc,EAAE,gBAAgB;KACjC,CAAC,CAAA;IAEF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QAChD,OAAO;QACP,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAEzG,OAAO,SAAmB,CAAA;AAC5B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAmB;QAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACrD,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE;QACjD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACnD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE;KACtD,CAAA;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,oCAAoC;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA,CAAC,+DAA+D;QACzF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAC3C,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAAkB;IACxD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAA;IAEtF,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACtD,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IAChB,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAOD,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAG,iFAAiF,CAAA;IAClG,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACvC,OAAO,OAAO,IAAI,EAAE,CAAA;AACtB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAAuB;IACzD,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,CAAC;QACH,gBAAgB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,CAAC,4BAA4B,CAAC,CAAA;QACzC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,mCAAmC,CAAC,CAAA;QAChD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;YACvE,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAA;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;YAElF,uBAAuB;YACvB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;YACrE,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAA;gBACvD,SAAQ;YACV,CAAC;YAED,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,aAAa;gBACnB,SAAS;aACV,CAAC,CAAA;YACF,WAAW,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAA;YAChD,UAAU,EAAE,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAA;QACjG,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,wBAAwB;IACrC,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAChD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAA;IAE3D,yBAAyB;IACzB,SAAS,YAAY;QACnB,MAAM,OAAO,GAA2C,EAAE,CAAA;QAE1D,gCAAgC;QAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,0BAA0B,UAAU,CAAC,MAAM,KAAK,CAAC;gBACtE,KAAK,EAAE,iBAAiB;aACzB,CAAC,CAAA;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAC7D,IAAI,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,eAAe,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;gBAC1E,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,+BAA+B,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,aAAa,CAAC,EAAE;gBACrG,KAAK,EAAE,UAAU;aAClB,CAAC,CAAA;QACJ,CAAC;QAED,+BAA+B;QAC/B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,yBAAyB,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;YAC3F,KAAK,EAAE,WAAW;SACnB,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,0BAA0B;YAC/C,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;QAEF,iBAAiB;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS;YAChG,KAAK,EAAE,MAAM;SACd,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,OAAO,OAAO,EAAE,CAAC;QACf,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC;YAC3C;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC;gBACzC,OAAO,EAAE,YAAY,EAAE;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;YAC3C,0BAA0B;YAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAA;YACpD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,cAAc,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,cAAc,CAAC,UAAU;iBACrC,CAAC,CAAA;gBACF,WAAW,CAAC,+BAA+B,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,8BAA8B;YAC9B,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBAClD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,sDAAsD,CAAC;oBAC9E,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1B,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;wBACzE,OAAO;4BACL,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;4BACnG,KAAK,EAAE,CAAC,CAAC,EAAE;4BACX,OAAO,EAAE,KAAK;4BACd,QAAQ,EAAE,YAAY;yBACvB,CAAA;oBACH,CAAC,CAAC;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,UAAU,GAAG,CAAC,CAAA;YAClB,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAA;gBACxD,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,IAAI,UAAU,GAAG;wBACxD,SAAS,EAAE,OAAO,CAAC,UAAU;qBAC9B,CAAC,CAAA;oBACF,UAAU,EAAE,CAAA;gBACd,CAAC;YACH,CAAC;YACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,WAAW,CAAC,SAAS,UAAU,WAAW,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;YACpD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,WAAW,CAAC,SAAS,KAAK,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;gBAC7E,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAA;YAC/C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAA;oBACrD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;oBAElF,uBAAuB;oBACvB,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;oBACrE,IAAI,WAAW,EAAE,CAAC;wBAChB,WAAW,CAAC,uCAAuC,CAAC,CAAA;oBACtD,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,aAAa;4BACnB,SAAS;yBACV,CAAC,CAAA;wBACF,WAAW,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAA;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,SAAS,CAAC,4BAA4B,CAAC,CAAA;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,iCAAiC;IACjC,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,uBAAuB,GAAG,KAAK,CAAA;IAEnC,IAAI,CAAC;QACH,gBAAgB,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;QAC1C,uBAAuB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA;IACnF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,+CAA+C;IACjD,CAAC;IAED,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,gEAAgE;IAChE,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAAC;YAC9C;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,2CAA2C;gBACpD,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAA;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAA;YAC5H,IAAI,WAAW,EAAE,CAAC;gBAChB,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC,CAAA;QACtE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAA;QAElF,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACtD,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChB,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEhC,kEAAkE;gBAClE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;oBAClB,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;oBACtD,EAAE,CAAC,KAAK,EAAE,CAAA;oBACV,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,SAAS,CAAC,2BAA2B,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,WAAW,CAAC,kBAAkB,CAAC,CAAA;QAC/B,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,SAAS,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,qCAAqC;AAErC,SAAS,qBAAqB,CAAC,aAAqB;IAClD,MAAM,YAAY,GAA2B;QAC3C,MAAM,EAAE,wCAAwC;QAChD,KAAK,EAAE,oCAAoC;QAC3C,MAAM,EAAE,oCAAoC;QAC5C,MAAM,EAAE,6CAA6C;QACrD,OAAO,EAAE,6CAA6C;QACtD,SAAS,EAAE,oCAAoC;QAC/C,SAAS,EAAE,qCAAqC;KACjD,CAAA;IACD,OAAO,YAAY,CAAC,aAAa,CAAC,IAAI,qCAAqC,CAAA;AAC7E,CAAC;AAED,SAAS,oBAAoB;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,WAAW,EAAE,CAAA;IAEb,yCAAyC;IACzC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAA;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,WAAW,CAAC,qDAAqD,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAA;QACpC,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,WAAW,CAAC,2CAA2C,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC;QACxC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa,CAAC,4BAA4B,CAAC;YACpD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBAChE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;gBAChE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;gBACnD,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACxB,UAAU,EAAE;aACb;SACF;KACF,CAAC,CAAA;IAEF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,oBAAoB,EAAE,CAAA;QACtB,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAA;QACxC,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBAC3C;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,aAAa,CAAC,8CAA8C,CAAC;oBACtE,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,iBAAiB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;wBACnG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,sBAAsB,EAAE,KAAK,EAAE,UAAU,EAAE;wBACpE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,WAAW,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;wBACrF,IAAI,QAAQ,CAAC,SAAS,EAAE;wBACxB,cAAc,EAAE;qBACjB;iBACF;aACF,CAAC,CAAA;YAEF,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBACtD,OAAO,IAAI,EAAE,CAAA;YACf,CAAC;YAED,IAAI,mBAAmB,GAAa,EAAE,CAAA;YACtC,IAAI,cAAc,GAAa,EAAE,CAAA;YACjC,IAAI,YAAY,GAAG,KAAK,CAAA;YAExB,6BAA6B;YAC7B,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,MAAM,wBAAwB,EAAE,CAAA;gBACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,EAAE,CAAA;oBACb,SAAS,CAAC,mCAAmC,CAAC,CAAA;oBAC9C,OAAO,CAAC,GAAG,EAAE,CAAA;oBACb,OAAO,IAAI,EAAE,CAAA;gBACf,CAAC;gBACD,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBACxD,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAE9C,eAAe;gBACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAA;gBACzE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC3C,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;iBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACjC,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBAEhD,yEAAyE;gBACzE,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;oBAC3B,0BAA0B;oBAC1B,MAAM,gBAAgB,GAAU,EAAE,CAAA;oBAElC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,gBAAgB,CAAC,IAAI,CAAC;4BACpB,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,mBAAmB,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,aAAa,CAAC,EAAE;4BACzF,KAAK,EAAE,gBAAgB;yBACxB,CAAC,CAAA;oBACJ,CAAC;oBAED,gBAAgB,CAAC,IAAI,CACnB,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,EAC3D,IAAI,QAAQ,CAAC,SAAS,EAAE,EACxB,cAAc,EAAE,CACjB,CAAA;oBAED,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,gBAAgB,CAAC;wBACjD;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,aAAa,CAAC,8CAA8C,CAAC;4BACtE,OAAO,EAAE,gBAAgB;yBAC1B;qBACF,CAAC,CAAA;oBAEF,IAAI,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;wBAClE,OAAO,IAAI,EAAE,CAAA;oBACf,CAAC;oBAED,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;wBACzC,wBAAwB;wBACxB,MAAM,cAAc,GAAU,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACjD,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;4BAClE,KAAK,EAAE,CAAC,CAAC,EAAE;yBACZ,CAAC,CAAC,CAAA;wBACH,cAAc,CAAC,IAAI,CACjB,IAAI,QAAQ,CAAC,SAAS,EAAE,EACxB,UAAU,EAAE,EACZ,cAAc,EAAE,EAChB,IAAI,QAAQ,CAAC,SAAS,EAAE,CACzB,CAAA;wBAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CAAC;4BAC/C;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,eAAe;gCACrB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC;gCAC3C,OAAO,EAAE,cAAc;6BACxB;yBACF,CAAC,CAAA;wBAEF,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;4BAC9D,OAAO,IAAI,EAAE,CAAA;wBACf,CAAC;wBAED,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;4BAC7B,wCAAwC;4BACxC,SAAS,aAAa,CAAA;wBACxB,CAAC;wBAED,oBAAoB;wBACpB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAA;wBACpE,IAAI,eAAe,EAAE,CAAC;4BACpB,mBAAmB,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;4BAClD,MAAM,aAAa,CAAA;wBACrB,CAAC;oBACH,CAAC;yBAAM,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;wBACrC,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAA;wBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;4BACf,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,SAAS,CAAC,+CAA+C,CAAC,CAAA;4BAC1D,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,OAAO,IAAI,EAAE,CAAA;wBACf,CAAC;wBACD,mBAAmB,GAAG,CAAC,SAAS,CAAC,CAAA;wBACjC,YAAY,GAAG,IAAI,CAAA;wBACnB,MAAM,aAAa,CAAA;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAA;YAEjD,IAAI,OAA2B,CAAA;YAE/B,4EAA4E;YAC5E,eAAe,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC7B,uBAAuB;gBACvB,MAAM,YAAY,GAAU,EAAE,CAAA;gBAE9B,oCAAoC;gBACpC,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,uBAAuB;oBAC/C,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAA;gBAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,YAAY,CAAC,IAAI,CACf,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC1D,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAC3G,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE;wBACrF,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAA;gBACJ,CAAC;gBAED,uBAAuB;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;gBAE7D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;oBAC7C;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,aAAa,CAAC,2CAA2C,CAAC;wBACnE,OAAO,EAAE,YAAY;qBACtB;iBACF,CAAC,CAAA;gBAEF,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAC1D,OAAO,IAAI,EAAE,CAAA;gBACf,CAAC;gBAED,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;wBACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;4BACtC,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,SAAS,CAAC,qBAAqB,CAAC,CAAA;4BAChC,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,OAAO,IAAI,EAAE,CAAA;wBACf,CAAC;wBACD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,WAAW,CAAC,+BAA+B,CAAC,CAAA;wBAC5C,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,MAAM,eAAe,CAAA;oBACvB,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,SAAS,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAA;wBACxD,OAAO,IAAI,EAAE,CAAA;oBACf,CAAC;gBACH,CAAC;qBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,yBAAyB;oBACzB,MAAM,aAAa,GAAU,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAC1F,KAAK,EAAE,CAAC,CAAC,OAAO;qBACjB,CAAC,CAAC,CAAA;oBACH,aAAa,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;oBAE5E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,gBAAgB,CAAC;wBAChD;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC;4BAC7C,OAAO,EAAE,aAAa;yBACvB;qBACF,CAAC,CAAA;oBAEF,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC9B,0BAA0B;wBAC1B,SAAS,eAAe,CAAA;oBAC1B,CAAC;oBACD,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;wBACnC,OAAO,IAAI,EAAE,CAAA;oBACf,CAAC;oBAED,qEAAqE;oBACrE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;oBACzC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;oBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;oBACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAA;oBAE/F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAA;oBAE/F,IAAI,CAAC;wBACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;4BAC7C;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,aAAa,CAAC,uBAAuB,UAAU,GAAG,CAAC;gCAC5D,OAAO,EAAE,MAAM;gCACf,eAAe,EAAE,KAAK;6BACvB;yBACF,CAAC,CAAA;wBAEF,OAAO,GAAG,WAAW,CAAA;wBACrB,MAAM,eAAe,CAAA;oBACvB,CAAC;4BAAS,CAAC;wBACT,yCAAyC;wBACzC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;wBACrC,CAAC;6BAAM,CAAC;4BACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;wBAC3B,CAAC;wBACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;wBACrC,CAAC;6BAAM,CAAC;4BACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,MAAM,wBAAwB,CAAC,qBAAqB,CAAC,CAAA;oBAC/D,MAAM,eAAe,CAAA;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,SAAS,CAAC,gCAAgC,CAAC,CAAA;gBAC3C,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAO,IAAI,EAAE,CAAA;YACf,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,WAAW,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAEjH,8DAA8D;YAC9D,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,WAAW,EAAE,CAAA;YAEb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAA;YACvD,YAAY,EAAE,CAAA;YACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACtB,YAAY,EAAE,CAAA;YAEd,sDAAsD;YACtD,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBACjC,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,WAAW,CAAC,uCAAuC,CAAC,CAAA;gBACpD,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,WAAW,CAAC,uBAAuB,CAAC,CAAA;gBACpC,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;YAED,6EAA6E;YAC7E,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAC3C,IAAI,YAAY,IAAI,YAAY,KAAK,SAAS,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnF,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;oBAC7C;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,aAAa,CAAC,qDAAqD,CAAC;wBAC7E,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAA;gBAEF,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,0BAA0B;wBAC1B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAA;wBAExD,0BAA0B;wBAC1B,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;wBAC3E,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;4BACrC;gCACE,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC;gCACvC,OAAO,EAAE,WAAW;gCACpB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB;6BAC/E;yBACF,CAAC,CAAA;wBACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAqB,CAAA;wBAEjD,iDAAiD;wBACjD,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC;4BACjC,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE;yBACzE,CAAC,CAAA;wBAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,WAAW,CAAC,8BAA8B,CAAC,CAAA;4BAC3C,OAAO,CAAC,GAAG,EAAE,CAAA;wBACf,CAAC;6BAAM,CAAC;4BACN,mBAAmB;4BACnB,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;gCACnB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;gCACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gCAChC,UAAU,EAAE,YAAY;gCACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,QAAQ,EAAE,OAAO,CAAC,OAAO;gCACzB,OAAO,EAAE,KAAK;gCACd,gBAAgB,EAAE,IAAI;gCACtB,KAAK,EAAE,IAAI;gCACX,UAAU,EAAE,OAAO,CAAC,SAAS;gCAC7B,OAAO,EAAE,KAAK;6BACf,CAAC,CAAA;4BAEF,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,WAAW,CAAC,YAAY,WAAW,uBAAuB,CAAC,CAAA;4BAC3D,OAAO,CAAC,GAAG,EAAE,CAAA;wBACf,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,SAAS,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACxF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wDAAwD;YACxD,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAA;YAC7C,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,SAAS,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAA;YAEjD,IAAI,SAA6B,CAAA;YAEjC,4EAA4E;YAC5E,gBAAgB,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC9B,uBAAuB;gBACvB,MAAM,YAAY,GAAU,EAAE,CAAA;gBAE9B,oCAAoC;gBACpC,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,uBAAuB;oBAC/C,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAA;gBAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,YAAY,CAAC,IAAI,CACf,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAC1D,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAC3G,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,gBAAgB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE;wBACrF,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAA;gBACJ,CAAC;gBAED,uBAAuB;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;gBAE7D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;oBAC7C;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,aAAa,CAAC,oDAAoD,CAAC;wBAC5E,OAAO,EAAE,YAAY;qBACtB;iBACF,CAAC,CAAA;gBAEF,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAC1D,OAAO,IAAI,EAAE,CAAA;gBACf,CAAC;gBAED,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;wBACnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;4BAC1C,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,SAAS,CAAC,qBAAqB,CAAC,CAAA;4BAChC,OAAO,CAAC,GAAG,EAAE,CAAA;4BACb,OAAO,IAAI,EAAE,CAAA;wBACf,CAAC;wBACD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,WAAW,CAAC,yCAAyC,CAAC,CAAA;wBACtD,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,MAAM,gBAAgB,CAAA;oBACxB,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,GAAG,EAAE,CAAA;wBACb,SAAS,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAA;wBACxD,OAAO,IAAI,EAAE,CAAA;oBACf,CAAC;gBACH,CAAC;qBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACpC,yBAAyB;oBACzB,MAAM,aAAa,GAAU,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAC1F,KAAK,EAAE,CAAC,CAAC,OAAO;qBACjB,CAAC,CAAC,CAAA;oBACH,aAAa,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;oBAE5E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,gBAAgB,CAAC;wBAChD;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,gBAAgB;4BACtB,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC;4BAC7C,OAAO,EAAE,aAAa;yBACvB;qBACF,CAAC,CAAA;oBAEF,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC9B,0BAA0B;wBAC1B,SAAS,gBAAgB,CAAA;oBAC3B,CAAC;oBACD,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;wBACnC,OAAO,IAAI,EAAE,CAAA;oBACf,CAAC;oBAED,qEAAqE;oBACrE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;oBACzC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;oBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;oBACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAA;oBAE/F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAA;oBAE/F,IAAI,CAAC;wBACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC;4BAC7C;gCACE,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,aAAa;gCACnB,OAAO,EAAE,aAAa,CAAC,uBAAuB,UAAU,GAAG,CAAC;gCAC5D,OAAO,EAAE,MAAM;gCACf,eAAe,EAAE,KAAK;6BACvB;yBACF,CAAC,CAAA;wBAEF,SAAS,GAAG,WAAW,CAAA;wBACvB,MAAM,gBAAgB,CAAA;oBACxB,CAAC;4BAAS,CAAC;wBACT,yCAAyC;wBACzC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;wBACrC,CAAC;6BAAM,CAAC;4BACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;wBAC3B,CAAC;wBACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,CAAA;wBACrC,CAAC;6BAAM,CAAC;4BACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAA;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,MAAM,wBAAwB,CACxC,8BAA8B,CAC/B,CAAA;oBACD,MAAM,gBAAgB,CAAA;gBACxB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,SAAS,CAAC,0CAA0C,CAAC,CAAA;gBACrD,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,OAAO,IAAI,EAAE,CAAA;YACf,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,WAAW,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;YAEjD,8DAA8D;YAC9D,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,WAAW,EAAE,CAAA;YAEb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAA;YACvD,YAAY,EAAE,CAAA;YACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACtB,YAAY,EAAE,CAAA;YAEd,sDAAsD;YACtD,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBACjC,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,WAAW,CAAC,uCAAuC,CAAC,CAAA;gBACpD,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,EAAE,CAAA;gBACb,WAAW,CAAC,uBAAuB,CAAC,CAAA;gBACpC,OAAO,CAAC,GAAG,EAAE,CAAA;YACf,CAAC;YAED,iDAAiD;YACjD,MAAM,gBAAgB,CAAC;gBACrB;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC;iBACpD;aACF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wDAAwD;YACxD,IAAI,KAAK,YAAY,WAAW;gBAAE,MAAM,KAAK,CAAA;YAC7C,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,SAAS,CAAC,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,gBAAgB,CAAC;QAC5C;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,aAAa,CAAC,iCAAiC,CAAC;YACzD,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE;gBACtE,UAAU,EAAE;aACb;SACF;KACF,CAAC,CAAA;IAEF,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;SAAM,CAAC;QACN,oBAAoB,EAAE,CAAA;QACtB,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,oBAAoB,EAAE,CAAA;IACtB,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA;AAEF,2DAA2D;AAC3D,kBAAkB,EAAE,CAAA;AAEpB,KAAK,UAAU,MAAM;IACnB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,KAAc,CAAA;YAExB,+CAA+C;YAC/C,IACE,KAAK,YAAY,WAAW;gBAC5B,mBAAmB,EAAE;gBACrB,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACxC,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,6DAA6D;YAC7D,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBACnD,oBAAoB,EAAE,CAAA;gBACtB,OAAO,CAAC,KAAK,EAAE,CAAA;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,sBAAsB;YACtB,oBAAoB,EAAE,CAAA;YACtB,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const BACK_VALUE = "__back__";
|
|
2
|
+
export declare const MAIN_MENU_VALUE = "__main__";
|
|
3
|
+
export declare const ESCAPE_VALUE = "__escape__";
|
|
4
|
+
export declare class EscapeError extends Error {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
7
|
+
export declare function enableGlobalEscape(): void;
|
|
8
|
+
export declare function disableGlobalEscape(): void;
|
|
9
|
+
export declare function checkAndResetEscape(): boolean;
|
|
10
|
+
export declare function escapeablePrompt<T = any>(questions: any): Promise<T>;
|
|
11
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,aAAa,CAAA;AACpC,eAAO,MAAM,eAAe,aAAa,CAAA;AACzC,eAAO,MAAM,YAAY,eAAe,CAAA;AASxC,qBAAa,WAAY,SAAQ,KAAK;;CAKrC;AAmCD,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAGD,wBAAgB,mBAAmB,IAAI,IAAI,CAO1C;AAGD,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AAID,wBAAsB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAE5C,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,CAAC,CAAC,CAoCZ"}
|
package/dist/prompts.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
// Navigation sentinel values for menu navigation
|
|
4
|
+
export const BACK_VALUE = '__back__';
|
|
5
|
+
export const MAIN_MENU_VALUE = '__main__';
|
|
6
|
+
export const ESCAPE_VALUE = '__escape__';
|
|
7
|
+
// Global escape handler state
|
|
8
|
+
let globalEscapeEnabled = false;
|
|
9
|
+
let escapeTriggered = false;
|
|
10
|
+
let escapeReject = null;
|
|
11
|
+
let currentPromptUi = null;
|
|
12
|
+
// Custom error class for escape key press
|
|
13
|
+
export class EscapeError extends Error {
|
|
14
|
+
constructor() {
|
|
15
|
+
super('Escape pressed');
|
|
16
|
+
this.name = 'EscapeError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Handler for escape key detection
|
|
20
|
+
function onEscapeData(data) {
|
|
21
|
+
// Ctrl+C is byte 3 - handle graceful exit
|
|
22
|
+
if (data.length === 1 && data[0] === 3) {
|
|
23
|
+
console.log(chalk.gray('\n Goodbye!\n'));
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
// Escape key is byte 27 (0x1b) by itself
|
|
27
|
+
// Arrow keys and other sequences start with 27 but have more bytes
|
|
28
|
+
if (data.length === 1 && data[0] === 27) {
|
|
29
|
+
escapeTriggered = true;
|
|
30
|
+
// First reject the escape promise to interrupt the prompt
|
|
31
|
+
if (escapeReject) {
|
|
32
|
+
const reject = escapeReject;
|
|
33
|
+
escapeReject = null;
|
|
34
|
+
reject(new EscapeError());
|
|
35
|
+
}
|
|
36
|
+
// Then close the prompt UI to stop it from rendering
|
|
37
|
+
if (currentPromptUi?.close) {
|
|
38
|
+
try {
|
|
39
|
+
currentPromptUi.close();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Swallow errors from inquirer internals
|
|
43
|
+
}
|
|
44
|
+
currentPromptUi = null;
|
|
45
|
+
}
|
|
46
|
+
// Clear the screen
|
|
47
|
+
console.clear();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Enable global escape key handling for the interactive menu
|
|
51
|
+
export function enableGlobalEscape() {
|
|
52
|
+
if (globalEscapeEnabled)
|
|
53
|
+
return;
|
|
54
|
+
globalEscapeEnabled = true;
|
|
55
|
+
process.stdin.on('data', onEscapeData);
|
|
56
|
+
}
|
|
57
|
+
// Disable global escape key handling and clean up state
|
|
58
|
+
export function disableGlobalEscape() {
|
|
59
|
+
if (!globalEscapeEnabled)
|
|
60
|
+
return;
|
|
61
|
+
process.stdin.off('data', onEscapeData);
|
|
62
|
+
globalEscapeEnabled = false;
|
|
63
|
+
escapeTriggered = false;
|
|
64
|
+
escapeReject = null;
|
|
65
|
+
currentPromptUi = null;
|
|
66
|
+
}
|
|
67
|
+
// Check if escape was triggered and reset the flag
|
|
68
|
+
export function checkAndResetEscape() {
|
|
69
|
+
const wasTriggered = escapeTriggered;
|
|
70
|
+
escapeTriggered = false;
|
|
71
|
+
return wasTriggered;
|
|
72
|
+
}
|
|
73
|
+
// Wrapper for inquirer.prompt that supports escape key
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
+
export async function escapeablePrompt(
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
+
questions) {
|
|
78
|
+
// Detect non-interactive mode
|
|
79
|
+
if (!process.stdin.isTTY) {
|
|
80
|
+
throw new Error('Cannot prompt in non-interactive mode.');
|
|
81
|
+
}
|
|
82
|
+
// Create a promise that rejects when escape is pressed
|
|
83
|
+
const escapePromise = new Promise((_, reject) => {
|
|
84
|
+
escapeReject = reject;
|
|
85
|
+
});
|
|
86
|
+
try {
|
|
87
|
+
const p = inquirer.prompt(questions);
|
|
88
|
+
// Register the prompt UI so we can close it on escape
|
|
89
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
90
|
+
const promptWithUi = p;
|
|
91
|
+
if (promptWithUi.ui &&
|
|
92
|
+
typeof promptWithUi.ui === 'object' &&
|
|
93
|
+
promptWithUi.ui !== null &&
|
|
94
|
+
typeof promptWithUi.ui.close === 'function') {
|
|
95
|
+
currentPromptUi = promptWithUi.ui;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
currentPromptUi = null;
|
|
99
|
+
}
|
|
100
|
+
// Race the prompt against the escape promise
|
|
101
|
+
const result = (await Promise.race([p, escapePromise]));
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
escapeReject = null;
|
|
106
|
+
currentPromptUi = null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAA;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAA;AACzC,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAA;AAExC,8BAA8B;AAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAA;AAC/B,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,IAAI,YAAY,GAAoC,IAAI,CAAA;AACxD,IAAI,eAAe,GAAkC,IAAI,CAAA;AAEzD,0CAA0C;AAC1C,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,mCAAmC;AACnC,SAAS,YAAY,CAAC,IAAY;IAChC,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,yCAAyC;IACzC,mEAAmE;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACxC,eAAe,GAAG,IAAI,CAAA;QACtB,0DAA0D;QAC1D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,YAAY,CAAA;YAC3B,YAAY,GAAG,IAAI,CAAA;YACnB,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;QAC3B,CAAC;QACD,qDAAqD;QACrD,IAAI,eAAe,EAAE,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,eAAe,CAAC,KAAK,EAAE,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YACD,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,mBAAmB;QACnB,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB;IAChC,IAAI,mBAAmB;QAAE,OAAM;IAC/B,mBAAmB,GAAG,IAAI,CAAA;IAC1B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AACxC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,mBAAmB;QAAE,OAAM;IAChC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvC,mBAAmB,GAAG,KAAK,CAAA;IAC3B,eAAe,GAAG,KAAK,CAAA;IACvB,YAAY,GAAG,IAAI,CAAA;IACnB,eAAe,GAAG,IAAI,CAAA;AACxB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB;IACjC,MAAM,YAAY,GAAG,eAAe,CAAA;IACpC,eAAe,GAAG,KAAK,CAAA;IACvB,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,uDAAuD;AACvD,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,gBAAgB;AACpC,8DAA8D;AAC9D,SAAc;IAEd,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,wCAAwC,CACzC,CAAA;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACrD,YAAY,GAAG,MAAM,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpC,sDAAsD;QACtD,8DAA8D;QAC9D,MAAM,YAAY,GAAG,CAAQ,CAAA;QAC7B,IACE,YAAY,CAAC,EAAE;YACf,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ;YACnC,YAAY,CAAC,EAAE,KAAK,IAAI;YACxB,OAAO,YAAY,CAAC,EAAE,CAAC,KAAK,KAAK,UAAU,EAC3C,CAAC;YACD,eAAe,GAAG,YAAY,CAAC,EAA2B,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAM,CAAA;QAC5D,OAAO,MAAM,CAAA;IACf,CAAC;YAAS,CAAC;QACT,YAAY,GAAG,IAAI,CAAA;QACnB,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;AACH,CAAC"}
|
package/dist/schema.sql
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
-- SQLite Schema for PGP Key Manager
|
|
2
|
+
-- This schema defines the database structure for managing PGP keypairs, contacts, and settings
|
|
3
|
+
|
|
4
|
+
-- Table: keypair
|
|
5
|
+
-- Stores your own keypairs (you have both public and private keys)
|
|
6
|
+
CREATE TABLE IF NOT EXISTS keypair (
|
|
7
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
8
|
+
name TEXT NOT NULL, -- e.g., "Work", "Personal"
|
|
9
|
+
email TEXT NOT NULL UNIQUE, -- Your email address
|
|
10
|
+
fingerprint TEXT NOT NULL UNIQUE, -- Unique identifier for the keypair
|
|
11
|
+
public_key TEXT NOT NULL, -- Armored public key
|
|
12
|
+
private_key TEXT NOT NULL, -- Armored private key
|
|
13
|
+
passphrase_protected INTEGER NOT NULL, -- Boolean: 1 if passphrase-protected, 0 otherwise
|
|
14
|
+
|
|
15
|
+
-- Key metadata
|
|
16
|
+
algorithm TEXT NOT NULL, -- e.g., "RSA", "EdDSA", "ECDSA"
|
|
17
|
+
key_size TEXT NOT NULL, -- e.g., "4096", "ed25519"
|
|
18
|
+
|
|
19
|
+
-- Key capabilities
|
|
20
|
+
can_sign INTEGER NOT NULL DEFAULT 1,
|
|
21
|
+
can_encrypt INTEGER NOT NULL DEFAULT 1,
|
|
22
|
+
can_certify INTEGER NOT NULL DEFAULT 0,
|
|
23
|
+
can_authenticate INTEGER NOT NULL DEFAULT 0,
|
|
24
|
+
|
|
25
|
+
-- Lifecycle tracking
|
|
26
|
+
expires_at TEXT, -- ISO 8601 date or NULL for no expiration
|
|
27
|
+
revoked INTEGER NOT NULL DEFAULT 0, -- Boolean: 1 if revoked, 0 otherwise
|
|
28
|
+
revocation_reason TEXT, -- Optional reason for revocation
|
|
29
|
+
|
|
30
|
+
-- Timestamps
|
|
31
|
+
created_at TEXT NOT NULL, -- ISO 8601 timestamp
|
|
32
|
+
updated_at TEXT NOT NULL, -- ISO 8601 timestamp
|
|
33
|
+
last_used_at TEXT, -- ISO 8601 timestamp, NULL if never used
|
|
34
|
+
|
|
35
|
+
-- Default keypair selection
|
|
36
|
+
is_default INTEGER NOT NULL DEFAULT 0 -- Boolean: 1 if default, 0 otherwise
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
-- Table: contact
|
|
40
|
+
-- Stores other people's public keys (for encrypting messages to them)
|
|
41
|
+
CREATE TABLE IF NOT EXISTS contact (
|
|
42
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
43
|
+
name TEXT NOT NULL, -- Contact's name
|
|
44
|
+
email TEXT NOT NULL, -- Contact's email
|
|
45
|
+
fingerprint TEXT NOT NULL UNIQUE, -- Unique identifier for the key
|
|
46
|
+
public_key TEXT NOT NULL, -- Armored public key
|
|
47
|
+
|
|
48
|
+
-- Key metadata
|
|
49
|
+
algorithm TEXT NOT NULL, -- e.g., "RSA", "EdDSA", "ECDSA"
|
|
50
|
+
key_size TEXT NOT NULL, -- e.g., "4096", "ed25519"
|
|
51
|
+
|
|
52
|
+
-- Trust and verification
|
|
53
|
+
trusted INTEGER NOT NULL DEFAULT 0, -- Boolean: 1 if verified, 0 otherwise
|
|
54
|
+
last_verified_at TEXT, -- ISO 8601 timestamp, NULL if never verified
|
|
55
|
+
notes TEXT, -- Optional notes about this contact
|
|
56
|
+
|
|
57
|
+
-- Lifecycle tracking
|
|
58
|
+
expires_at TEXT, -- ISO 8601 date or NULL for no expiration
|
|
59
|
+
revoked INTEGER NOT NULL DEFAULT 0, -- Boolean: 1 if revoked, 0 otherwise
|
|
60
|
+
|
|
61
|
+
-- Timestamps
|
|
62
|
+
created_at TEXT NOT NULL, -- ISO 8601 timestamp
|
|
63
|
+
updated_at TEXT NOT NULL -- ISO 8601 timestamp
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
-- Table: settings
|
|
67
|
+
-- Stores application settings (single row with typed fields)
|
|
68
|
+
CREATE TABLE IF NOT EXISTS settings (
|
|
69
|
+
id INTEGER PRIMARY KEY CHECK (id = 1), -- Ensure only one row exists
|
|
70
|
+
default_keypair_id INTEGER, -- References keypair.id
|
|
71
|
+
auto_sign_messages INTEGER NOT NULL DEFAULT 0,
|
|
72
|
+
prefer_inline_pgp INTEGER NOT NULL DEFAULT 1,
|
|
73
|
+
keyserver_url TEXT NOT NULL DEFAULT 'https://keys.openpgp.org',
|
|
74
|
+
|
|
75
|
+
FOREIGN KEY (default_keypair_id) REFERENCES keypair(id) ON DELETE SET NULL
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
-- Indexes for fast lookups
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_keypair_email ON keypair(email);
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_keypair_fingerprint ON keypair(fingerprint);
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_contact_email ON contact(email);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_contact_fingerprint ON contact(fingerprint);
|
|
83
|
+
|
|
84
|
+
-- Initialize settings table with default values
|
|
85
|
+
INSERT OR IGNORE INTO settings (id, auto_sign_messages, prefer_inline_pgp, keyserver_url)
|
|
86
|
+
VALUES (1, 0, 1, 'https://keys.openpgp.org');
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface SystemKey {
|
|
2
|
+
fingerprint: string;
|
|
3
|
+
uid: string;
|
|
4
|
+
email: string;
|
|
5
|
+
name: string;
|
|
6
|
+
keyId: string;
|
|
7
|
+
type: 'public' | 'secret';
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Check if GPG is installed on the system
|
|
11
|
+
*/
|
|
12
|
+
export declare function isGpgInstalled(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* List all GPG keys from the system keyring
|
|
15
|
+
*/
|
|
16
|
+
export declare function listGpgKeys(): {
|
|
17
|
+
publicKeys: SystemKey[];
|
|
18
|
+
secretKeys: SystemKey[];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Export a GPG key by fingerprint or key ID
|
|
22
|
+
*/
|
|
23
|
+
export declare function exportGpgPublicKey(keyId: string): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Export a GPG secret key by fingerprint or key ID
|
|
26
|
+
*/
|
|
27
|
+
export declare function exportGpgSecretKey(keyId: string): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a GPG home directory exists
|
|
30
|
+
*/
|
|
31
|
+
export declare function getGpgHomeDir(): string | null;
|
|
32
|
+
//# sourceMappingURL=system-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-keys.d.ts","sourceRoot":"","sources":["../src/system-keys.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAOxC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAiBlF;AA2DD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAS7C"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { execSync } from 'child_process';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as os from 'os';
|
|
5
|
+
/**
|
|
6
|
+
* Check if GPG is installed on the system
|
|
7
|
+
*/
|
|
8
|
+
export function isGpgInstalled() {
|
|
9
|
+
try {
|
|
10
|
+
execSync('gpg --version', { stdio: 'ignore' });
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* List all GPG keys from the system keyring
|
|
19
|
+
*/
|
|
20
|
+
export function listGpgKeys() {
|
|
21
|
+
const publicKeys = [];
|
|
22
|
+
const secretKeys = [];
|
|
23
|
+
try {
|
|
24
|
+
// List public keys
|
|
25
|
+
const publicOutput = execSync('gpg --list-keys --with-colons', { encoding: 'utf-8' });
|
|
26
|
+
publicKeys.push(...parseGpgOutput(publicOutput, 'public'));
|
|
27
|
+
// List secret keys
|
|
28
|
+
const secretOutput = execSync('gpg --list-secret-keys --with-colons', { encoding: 'utf-8' });
|
|
29
|
+
secretKeys.push(...parseGpgOutput(secretOutput, 'secret'));
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
// GPG might not be installed or have no keys
|
|
33
|
+
}
|
|
34
|
+
return { publicKeys, secretKeys };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse GPG --list-keys output
|
|
38
|
+
*/
|
|
39
|
+
function parseGpgOutput(output, type) {
|
|
40
|
+
const keys = [];
|
|
41
|
+
const lines = output.split('\n');
|
|
42
|
+
let currentKey = null;
|
|
43
|
+
for (const line of lines) {
|
|
44
|
+
const fields = line.split(':');
|
|
45
|
+
const recordType = fields[0];
|
|
46
|
+
if (recordType === 'pub' || recordType === 'sec') {
|
|
47
|
+
// New key
|
|
48
|
+
if (currentKey && currentKey.fingerprint) {
|
|
49
|
+
keys.push(currentKey);
|
|
50
|
+
}
|
|
51
|
+
currentKey = {
|
|
52
|
+
type,
|
|
53
|
+
keyId: fields[4] || '',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
else if (recordType === 'fpr' && currentKey) {
|
|
57
|
+
// Fingerprint
|
|
58
|
+
currentKey.fingerprint = fields[9] || '';
|
|
59
|
+
}
|
|
60
|
+
else if (recordType === 'uid' && currentKey) {
|
|
61
|
+
// User ID (name and email)
|
|
62
|
+
const uid = fields[9] || '';
|
|
63
|
+
currentKey.uid = uid;
|
|
64
|
+
// Parse email from uid (format: "Name <email@example.com>")
|
|
65
|
+
const emailMatch = uid.match(/<([^>]+)>/);
|
|
66
|
+
if (emailMatch && emailMatch[1]) {
|
|
67
|
+
currentKey.email = emailMatch[1];
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
currentKey.email = '';
|
|
71
|
+
}
|
|
72
|
+
// Parse name from uid
|
|
73
|
+
const nameMatch = uid.match(/^([^<]+)/);
|
|
74
|
+
if (nameMatch && nameMatch[1]) {
|
|
75
|
+
currentKey.name = nameMatch[1].trim();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
currentKey.name = uid;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Add the last key
|
|
83
|
+
if (currentKey && currentKey.fingerprint) {
|
|
84
|
+
keys.push(currentKey);
|
|
85
|
+
}
|
|
86
|
+
return keys;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Export a GPG key by fingerprint or key ID
|
|
90
|
+
*/
|
|
91
|
+
export function exportGpgPublicKey(keyId) {
|
|
92
|
+
try {
|
|
93
|
+
const output = execSync(`gpg --armor --export ${keyId}`, { encoding: 'utf-8' });
|
|
94
|
+
return output.trim();
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Export a GPG secret key by fingerprint or key ID
|
|
102
|
+
*/
|
|
103
|
+
export function exportGpgSecretKey(keyId) {
|
|
104
|
+
try {
|
|
105
|
+
const output = execSync(`gpg --armor --export-secret-keys ${keyId}`, { encoding: 'utf-8' });
|
|
106
|
+
return output.trim();
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Check if a GPG home directory exists
|
|
114
|
+
*/
|
|
115
|
+
export function getGpgHomeDir() {
|
|
116
|
+
const homeDir = os.homedir();
|
|
117
|
+
const gpgDir = path.join(homeDir, '.gnupg');
|
|
118
|
+
if (fs.existsSync(gpgDir)) {
|
|
119
|
+
return gpgDir;
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=system-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-keys.js","sourceRoot":"","sources":["../src/system-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export declare const colors: {
|
|
2
|
+
primary: import("chalk").ChalkInstance;
|
|
3
|
+
primaryBold: import("chalk").ChalkInstance;
|
|
4
|
+
success: import("chalk").ChalkInstance;
|
|
5
|
+
successBold: import("chalk").ChalkInstance;
|
|
6
|
+
warning: import("chalk").ChalkInstance;
|
|
7
|
+
warningBold: import("chalk").ChalkInstance;
|
|
8
|
+
error: import("chalk").ChalkInstance;
|
|
9
|
+
errorBold: import("chalk").ChalkInstance;
|
|
10
|
+
muted: import("chalk").ChalkInstance;
|
|
11
|
+
mutedDim: import("chalk").ChalkInstance;
|
|
12
|
+
accent: import("chalk").ChalkInstance;
|
|
13
|
+
accentBold: import("chalk").ChalkInstance;
|
|
14
|
+
info: import("chalk").ChalkInstance;
|
|
15
|
+
infoBold: import("chalk").ChalkInstance;
|
|
16
|
+
};
|
|
17
|
+
export declare const icons: {
|
|
18
|
+
encrypt: string;
|
|
19
|
+
decrypt: string;
|
|
20
|
+
add: string;
|
|
21
|
+
generate: string;
|
|
22
|
+
import: string;
|
|
23
|
+
export: string;
|
|
24
|
+
back: string;
|
|
25
|
+
home: string;
|
|
26
|
+
exit: string;
|
|
27
|
+
key: string;
|
|
28
|
+
contact: string;
|
|
29
|
+
clipboard: string;
|
|
30
|
+
editor: string;
|
|
31
|
+
inline: string;
|
|
32
|
+
gpg: string;
|
|
33
|
+
success: string;
|
|
34
|
+
error: string;
|
|
35
|
+
warning: string;
|
|
36
|
+
info: string;
|
|
37
|
+
loading: string;
|
|
38
|
+
locked: string;
|
|
39
|
+
unlocked: string;
|
|
40
|
+
default: string;
|
|
41
|
+
selected: string;
|
|
42
|
+
unselected: string;
|
|
43
|
+
edit: string;
|
|
44
|
+
notes: string;
|
|
45
|
+
trust: string;
|
|
46
|
+
copy: string;
|
|
47
|
+
view: string;
|
|
48
|
+
multiple: string;
|
|
49
|
+
loop: string;
|
|
50
|
+
};
|
|
51
|
+
export declare function printBanner(): void;
|
|
52
|
+
export declare function printSectionHeader(title: string): void;
|
|
53
|
+
export declare function printDivider(): void;
|
|
54
|
+
export declare function showSuccess(message: string): void;
|
|
55
|
+
export declare function showError(message: string): void;
|
|
56
|
+
export declare function showWarning(message: string): void;
|
|
57
|
+
export declare function showInfo(message: string): void;
|
|
58
|
+
export declare function showLoading(message: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Format a menu choice with icon and optional description
|
|
61
|
+
*/
|
|
62
|
+
export declare function menuChoice(icon: string, label: string, description?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Standard navigation choices for menus
|
|
65
|
+
*/
|
|
66
|
+
export declare function backChoice(label?: string): {
|
|
67
|
+
name: string;
|
|
68
|
+
value: string;
|
|
69
|
+
};
|
|
70
|
+
export declare function mainMenuChoice(): {
|
|
71
|
+
name: string;
|
|
72
|
+
value: string;
|
|
73
|
+
};
|
|
74
|
+
export declare function exitChoice(): {
|
|
75
|
+
name: string;
|
|
76
|
+
value: string;
|
|
77
|
+
};
|
|
78
|
+
export declare function cancelChoice(): {
|
|
79
|
+
name: string;
|
|
80
|
+
value: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Display content in a bordered box
|
|
84
|
+
*/
|
|
85
|
+
export declare function showContentBox(title: string, content: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* Display a key-value pair
|
|
88
|
+
*/
|
|
89
|
+
export declare function showKeyValue(key: string, value: string | number | boolean | null): void;
|
|
90
|
+
/**
|
|
91
|
+
* Format a prompt message consistently
|
|
92
|
+
*/
|
|
93
|
+
export declare function promptMessage(message: string): string;
|
|
94
|
+
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CA0BlB,CAAA;AAMD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CjB,CAAA;AASD,wBAAgB,WAAW,IAAI,IAAI,CAQlC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOtD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAMD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAMD;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAElF;AAED,wBAAgB,cAAc,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKhE;AAED,wBAAgB,UAAU,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAE5D;AAED,wBAAgB,YAAY,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAE9D;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAGvF;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD"}
|