@mossbear/eval-core 0.1.0-alpha.104 → 0.1.0-alpha.105
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-command.js","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,iFAAiF;AACjF,oFAAoF;AACpF,MAAM,4BAA4B,GAAG,MAAM,oBAAoB,kDAAkD,CAAA;AACjH,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,IAAI,4BAA4B,GAAG,EAAE,GAAG,CAAC,CAAA;AAC1E,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;AAEhE,yEAAyE;AACzE,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,qCAAqC,CAAA;AACjE,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,MAAM,mBAAmB,qHAAqH,CAC/I,CAAA;AACD,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,QAAQ,mBAAmB,oBAAoB,CAAC,CAAA;AACpF,MAAM,gBAAgB,GACpB,qEAAqE,CAAA;AACvE,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,OAAO,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAA;AACnE,gFAAgF;AAChF,mFAAmF;AACnF,iFAAiF;AACjF,8CAA8C;AAC9C,MAAM,YAAY,GAAsB;IACtC,OAAO;IACP,SAAS;IACT,WAAW;IACX,YAAY;IACZ,cAAc;IACd,eAAe;CAChB,CAAA;AACD,iFAAiF;AACjF,MAAM,YAAY,GAAsB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AACnE,MAAM,mBAAmB,GAAG,YAAY,CAAA;AACxC,MAAM,mBAAmB,GAAG,6CAA6C,CAAA;AACzE,+EAA+E;AAC/E,MAAM,SAAS,GAAG,6BAA6B,CAAA;AAC/C;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAClF,CAAC;AACD,MAAM,gBAAgB,GAAG;IACvB,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,GAAG,YAAY;IACf,GAAG,YAAY;CAChB,CAAA;AACD,gFAAgF;AAChF,iCAAiC;AACjC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAiB;IACpD;QACE,SAAS;QACT,4FAA4F;KAC7F;IACD,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAC/B,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAU,CAAC;IACnE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,mBAAmB,CAAU,CAAC;CACpE,CAAC,CAAA;AACF,6EAA6E;AAC7E,MAAM,mBAAmB,GAA2B;IAClD,IAAI,EAAE,wIAAwI;IAC9I,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,iEAAiE;IACtE,IAAI,EAAE,8CAA8C;IACpD,KAAK,EACH,4GAA4G;CAC/G,CAAA;AACD,MAAM,iBAAiB,GAAG,mBAAmB,gBAAgB,uDAAuD,CAAA;AACpH,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,MAAM,mBAAmB,yBAAyB,iBAAiB,eAAe,CACnF,CAAA;AAOD,MAAM,cAAc,GAAG,sCAAsC,CAAA;AAC7D,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,cAAc,iBAAiB,iGAAiG,CACjI,CAAA;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAA;IACjE,IACE,yKAAyK,CAAC,IAAI,CAC5K,IAAI,CACL;QAED,OAAO,IAAI,CAAA;IACb,OAAO,CACL,sEAAsE,CAAC,IAAI,CAAC,IAAI,CAAC;QACjF,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,CAAC,QAAQ,4BAA4B,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvE,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,OAAO,CACjB,iFAAiF,EACjF,CACE,CAAC,EACD,IAAwB,EACxB,MAA0B,EAC1B,MAA0B,EAC1B,OAA2B,EAC3B,KAAyB,EACzB,EAAE;QACF,IAAI,IAAI,KAAK,SAAS;YACpB,OAAO,IAAI,CAAC,OAAO,CACjB,+EAA+E,EAC/E,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC/C,IAAI,GAAG,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAC1B,GAAG,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,EAC/B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACf,CAAA;oBACD,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC/D,CAAC;gBACD,MAAM,QAAQ,GAA2B;oBACvC,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;oBACP,CAAC,EAAE,IAAI;iBACR,CAAA;gBACD,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAChF,CAAC,CACF,CAAA;QACH,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,SAAiB,EAAE,EAAE,CAC/D,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACpC,CAAA;QACH,OAAO,OAAO,IAAI,KAAK,IAAI,EAAE,CAAA;IAC/B,CAAC,CACF,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,0BAA0B,CAAC,OAAe;IACjD,MAAM,MAAM,GAAG,2BAA2B,CAAA;IAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC7C,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,GAAW,EAAW,EAAE;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,QAAQ,GAAG,2BAA2B,CACxC,mBAAmB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EACvD,MAAM,CACP,CAAA;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,kBAAkB;YACrD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAkB,EAAE,KAAa,EAAU,EAAE;QAC3E,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,MAAM,CAAA;QACpC,IAAI,KAAK,GAAqB,IAAI,CAAA;QAClC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,KAAK,IAAI,CAAC,CAAA;gBACV,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAA;YACjD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,IAAI,IAAI,KAAK,GAAG;oBAAE,KAAK,GAAG,IAAI,CAAA;gBAC9B,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC/C,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1C,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1C,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;gBAAE,KAAK,GAAG,GAAG,CAAA;iBAC1C,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;iBACpD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG;gBAAE,MAAM,IAAI,CAAC,CAAA;iBAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxC,IAAI,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG;oBAAE,OAAO,KAAK,CAAA;gBACjD,MAAM,IAAI,CAAC,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC,CAAA;IACD,IAAI,KAAK,GAAqB,IAAI,CAAA;IAClC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAE,CAAA;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACtC,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACpF,IAAI,EAAE,aAAa,GAAG,EAAE;gBAAE,OAAO,GAAG,GAAG,QAAQ,CAAA;YAC/C,MAAM,KAAK,GAAG,KAAK,CAAA;YACnB,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5E,GAAG,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACnF,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;aAChE,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,KAAK,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;QAC1E,GAAG,IAAI,IAAI,CAAA;IACb,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,4DAA4D;IAC5D,OAAO,iBAAiB,CAAC,IAAI,CAC3B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,GAAW,EAAE,EAAE,CACpD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAC9C,CACF,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAChD,sEAAsE;IACtE,0EAA0E;IAC1E,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAA;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YACnE,OAAO,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAA;QACtD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;IACtF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACzC,GAAG;QACH,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;KACtE,CAAC,CACH,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE;QACtE,wEAAwE;QACxE,uEAAuE;QACvE,+CAA+C;QAC/C,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAA;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;YACxD,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAAE,OAAO,QAAQ,CAAA;YACxD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAC9C,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAA;QACrE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAgC;IACtD,CAAC,IAAI,MAAM,CAAC,YAAY,iBAAiB,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;IACnE,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,iCAAiC;IACjC;QACE,8DAA8D;QAC9D,UAAU,QAAQ,IAAI;KACvB;IACD,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;IAErD,CAAC,gDAAgD,EAAE,KAAK,QAAQ,GAAG,CAAC;IACpE,CAAC,wCAAwC,EAAE,KAAK,QAAQ,GAAG,CAAC;IAC5D,CAAC,6DAA6D,EAAE,KAAK,QAAQ,EAAE,CAAC;IAChF,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;IACzD;QACE,IAAI,MAAM,CAAC,SAAS,4BAA4B,gBAAgB,EAAE,IAAI,CAAC;QACvE,KAAK,QAAQ,EAAE;KAChB;IACD,wEAAwE;IACxE,2DAA2D;IAC3D;QACE,IAAI,MAAM,CACR,mBAAmB,4BAA4B,QAAQ,iBAAiB,EAAE,EAC1E,IAAI,CACL;QACD,OAAO,QAAQ,EAAE;KAClB;IACD,wEAAwE;IACxE,2EAA2E;IAC3E;QACE,IAAI,MAAM,CAAC,KAAK,4BAA4B,kCAAkC,EAAE,IAAI,CAAC;QACrF,MAAM,QAAQ,GAAG;KAClB;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,wDAAwD;IACxD;QACE,IAAI,MAAM,CACR,iBAAiB,4BAA4B,gBAAgB,iBAAiB,EAAE,EAChF,IAAI,CACL;QACD,OAAO,QAAQ,EAAE;KAClB;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,yCAAyC;IACzC,CAAC,+BAA+B,EAAE,QAAQ,CAAC;IAC3C,2EAA2E;IAC3E,8EAA8E;IAC9E,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,kDAAkD;IAClD,CAAC,4BAA4B,EAAE,QAAQ,CAAC;IACxC,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IACrC,CAAC,8BAA8B,EAAE,QAAQ,CAAC;IAC1C,CAAC,gCAAgC,EAAE,QAAQ,CAAC;IAC5C,CAAC,gCAAgC,EAAE,QAAQ,CAAC;IAC5C,CAAC,uBAAuB,EAAE,QAAQ,CAAC;CACpC,CAAA;AAED;;;;;GAKG;AACH,MAAM,cAAc,GAAG,kDAAkD,CAAA;AAEzE;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,OAAe,EAAE,MAAkB;IACtE,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7E,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAC5B,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;QACxB,IAAI,QAAQ,GAAG,GAAG,CAAA;QAClB,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;QAC5B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAA;QAC9D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAC,CAAA;QAChE,OAAO,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAA;IACvC,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI;QAC5C,WAAW,GAAG,WAAW,CAAC,OAAO,CAC/B,IAAI,MAAM,CAAC,eAAe,iBAAiB,EAAE,EAAE,GAAG,CAAC,EACnD,KAAK,QAAQ,EAAE,CAChB,CAAA;IACH,uEAAuE;IACvE,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,KAAK,GAAG;QACZ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,aAAa,EAAE,GAAG,CAAC,CAAC;KAC5E,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI;QACpE,OAAO,WAAW,CAAA;IACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,yCAAyC,iBAAiB,8CAA8C,iBAAiB,GAAG,EAC5H,IAAI,CACL,CAAA;IACD,MAAM,KAAK,GAAmD,EAAE,CAAA;IAChE,IAAI,aAAa,GAAkB,IAAI,CAAA;IACvC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;QACrC,IAAI,aAAa,KAAK,IAAI;YAAE,OAAM;QAClC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;QAClD,MAAM,kBAAkB,GACtB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG;YACvB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9B,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjC;YACD,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACnF,IAAI,kBAAkB,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAA;YAChE,aAAa,GAAG,IAAI,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,aAAa,GAAG,IAAI,CAAA;YACpB,OAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC;aACvE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,IAAI,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC,CAAA;YAChE,aAAa,GAAG,IAAI,CAAA;YACpB,OAAM;QACR,CAAC;QACD,MAAM,WAAW,GAAG,CAClB,KAAa,EACb,MAAc,EACd,GAAW,EACX,SAAiB,EACjB,KAAa,EACb,EAAE;YACF,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACxE,OAAO,KAAK,CAAA;YACd,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YACpC,IAAI,cAAc,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC5C,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAA;YACjD,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAA;gBAC3C,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,QAAQ,EAAE,CAAC,EAAE,CAAA;YACjG,CAAC;YACD,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAA;YACtE,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrE,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;oBACpC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAC,EAAE;oBACtF,CAAC,CAAC,KAAK,CAAA;YACX,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAA;QACjD,CAAC,CAAA;QACD,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YACrD,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QACF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACxC,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,IAAI,KAAK,IAAI,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,IAAI,QAAQ,GAAG,CAAA;QACjF,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;QAClE,aAAa,GAAG,IAAI,CAAA;IACtB,CAAC,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACtD,IACH,aAAa,KAAK,IAAI;YACtB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EACjF,CAAC;YACD,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3C,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;QAC9E,CAAC;IACH,CAAC;IACD,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,MAAM,GAAG,WAAW,CAAA;IACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;QAChC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,iFAAiF;AACjF,SAAS,mBAAmB,CAAC,OAAe,EAAE,MAAmB;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACtF,MAAM,KAAK,GAAmD,EAAE,CAAA;IAChE,IAAI,MAAM,GAAkB,IAAI,CAAA;IAChC,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,qBAAqB,GAAG,KAAK,CAAA;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAStB,CAAA;IACH,MAAM,UAAU,GAA4D,EAAE,CAAA;IAC9E,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,KAAK,GAAG,CAAC,EAAU,EAAE;QAC9D,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,WAAW,CAAA;QAClC,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAC1D,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CACxE,CAAA;IACH,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;QACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IACE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACpC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxC,CAAC,IAAI,MAAM,CAAC,QAAQ,4BAA4B,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAElF,SAAQ;YACV,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC7D,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;QAC/B,CAAC;QACD,2EAA2E;QAC3E,iFAAiF;QACjF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjD,IAAI,QAAQ,CAAC,GAAG;oBAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACvC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;oBAAE,SAAQ;gBAC7C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAC5D,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;gBAC7B,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE;iBACtC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,CAAA;QACjB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IACvB,CAAC,CAAA;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAA;YACZ,MAAM,GAAG,IAAI,CAAA;YACb,aAAa,GAAG,KAAK,CAAA;YACrB,qBAAqB,GAAG,KAAK,CAAA;YAC7B,OAAO,GAAG,IAAI,CAAA;YACd,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,aAAa,EAAE,CAAC;YAClB,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,UAAU,GACd,yFAAyF,CAAC,IAAI,CAC5F,OAAO,CACR,CAAA;YACH,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,IAAI,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;oBACrD,IAAI,MAAM;wBAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACvE,CAAC;gBACD,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;gBAC3C,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC/E,SAAQ;YACV,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3C,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAAE,KAAK,IAAI,CAAC,CAAA;gBAC1B,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAQ;YACnD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAQ;YACtC,MAAM,YAAY,GAAG,OAAO;gBAC1B,CAAC,CAAC,mBAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAA;YACR,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;gBAC9E,SAAQ;YACV,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,GAAG,UAAU,CAAA;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,SAAQ;QACV,CAAC;QACD,yEAAyE;QACzE,6EAA6E;QAC7E,oEAAoE;QACpE,IACE,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EACxC,CAAC;YACD,MAAM,GAAG,UAAU,CAAA;YACnB,aAAa,GAAG,KAAK,CAAA;YACrB,qBAAqB,GAAG,KAAK,CAAA;YAC7B,OAAO,GAAG,IAAI,CAAA;YACd,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IACE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;gBACzB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAE7D,SAAQ;YACV,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;YAC7B,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,qBAAqB,GAAG,IAAI,CAAA;YAC5B,aAAa,GAAG,OAAO,KAAK,QAAQ,CAAA;YACpC,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,GAAG,KAAK,CAAA;YACf,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,EAAE,CAAC;YACjC,yEAAyE;YACzE,MAAM,YAAY,GAChB,0FAA0F,CAAC,IAAI,CAC7F,OAAO,CACR,CAAA;YACH,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;gBAC9E,SAAQ;YACV,CAAC;YACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM;gBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;YACtE,MAAM,YAAY,GAAG,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjD,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC,CAAA;gBAChE,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC9D,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAQ;gBACpD,MAAM,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBACtD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,UAAU,GACd,6DAA6D,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAC9E,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;wBAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;wBACzC,OAAO,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;4BAClC,MAAM,EACJ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gCAC3D,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAC9C,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;4BACvB,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;yBAC3B,CAAC,CAAA;wBACF,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBAC9B,CAAC;gBACH,CAAC;;oBACC,UAAU,CAAC,IAAI,CAAC;wBACd,KAAK,EAAE,UAAW,CAAC,CAAC,CAAE;wBACtB,QAAQ;wBACR,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;qBACpC,CAAC,CAAA;gBACJ,IAAI,QAAQ,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACpC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAA;YACb,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChD,IAAI,MAAM;gBAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACtE,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,IAAI,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QACD,qEAAqE;QACrE,qEAAqE;QACrE,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,IACE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAC5B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM;gBAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAC;aACxD,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,oEAAoE;QACpE,yEAAyE;QACzE,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;YACjC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9D,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;oBAClC,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;iBAC9E,CAAC,CAAA;gBACF,IAAI,QAAQ,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;YACxC,CAAC;YACD,SAAQ;QACV,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACjF,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAA;YACnC,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;YACvD,MAAM,QAAQ,GACZ,MAAM,KAAK,SAAS,IAAI,WAAW;gBACjC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,SAAS;gBACpC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAC3B,2EAA2E;YAC3E,6DAA6D;YAC7D,IAAI,WAAW,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAQ;YACnD,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9D,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAQ;YACpD,MAAM,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACtD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,EAAE,CAAC;gBACnC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;qBAChE,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACpC,CAAC;YACD,IACE,MAAM,KAAK,SAAS;gBACpB,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC7E,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAC5B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;oBAClC,IAAI,EACF,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE;iBACtF,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,IAAI,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAQ;QACnE,MAAM,WAAW,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAE,CAAA;YAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC9D,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAQ;YACpD,MAAM,OAAO,GAAG,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACrD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxC,MAAM,QAAQ,GACZ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAChD,oEAAoE;YACpE,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9E,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CACxB,CAAA;YACD,IACE,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAC9E,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;oBAClC,IAAI,EACF,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE;iBAC9D,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,IAAI,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GACR,MAAM,KAAK,MAAM;YACf,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,SAAQ;QACpD,IAAI,WAAW,GAAG,QAAQ,CAAA;QAC1B,IACE,cAAc,CAAC,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAChD,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,QAAQ,KAAK,SAAS;oBAAE,KAAK,IAAI,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YACD,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAC,CAAA;QAC/D,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM;gBAC5B,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE;aAClE,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;gBAClC,IAAI,EAAE,WAAW;aAClB,CAAC,CAAA;YACF,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;IACD,UAAU,EAAE,CAAA;IACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;QAChC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9E,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,mFAAmF;AACnF,SAAS,aAAa,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC;IAC/C,MAAM,MAAM,GAAe;QACzB,UAAU,EAAE,KAAK,GAAG,CAAC;QACrB,GAAG,EAAE,IAAI,GAAG,EAAE;QACd,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAA;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,MAAM,CAAA;IAC5B,6EAA6E;IAC7E,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAQ;QAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAA;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAC/B,0DAA0D,CAC3D;gBACC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CACxB,OAAe,EACf,KAAK,GAAG,CAAC,EACT,eAA4B;IAE5B,yEAAyE;IACzE,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC9B,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAC7C,sEAAsE;IACtE,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,CAAC,UAAU,KAAK,eAAe,EAAE,UAAU,IAAI,KAAK,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,GAAG,IAAI,EAAE;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,WAAW,IAAI,EAAE;QAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvF,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,KAAK,4BAA4B,UAAU,EAAE,GAAG,CAAC,CAAA;IACxF,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,GAAG,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CACzE,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAClC,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACrC,uEAAuE;QACvE,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpD,IAAI,UAAU;YAAE,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAA;QACpE,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAA;QAC/D,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,2DAA2D;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QAC9D,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/D,CAAC,CACF,CAAA;IACD,GAAG,GAAG,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,kBAAkB;QACrD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACzC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5D,IAAI,GAAG,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,GAAG,CAAC,MAAM,GAAG,iBAAiB,sBAAsB,CAAA;IAClH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"sanitize-command.js","sourceRoot":"","sources":["../src/sanitize-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,6 +214,172 @@ describe('command disclosure regressions', () => {
|
|
|
214
214
|
])
|
|
215
215
|
expect(sanitizeCommand(input)).not.toContain('fixture-continued');
|
|
216
216
|
});
|
|
217
|
+
it('redacts the value of a credential flag that follows another credential flag', () => {
|
|
218
|
+
// The first flag's rule takes the second flag as its value; the second
|
|
219
|
+
// flag's own value must not escape because of it.
|
|
220
|
+
for (const input of [
|
|
221
|
+
'x --password \n --token reader:fixture-visible',
|
|
222
|
+
'x --password --token reader:fixture-visible',
|
|
223
|
+
'x --password\t--token\treader:fixture-visible',
|
|
224
|
+
'x --password\n--token\nreader:fixture-visible',
|
|
225
|
+
'x --password \\\n --token reader:fixture-visible',
|
|
226
|
+
'x --password "--token" reader:fixture-visible',
|
|
227
|
+
"x --password '--api-key' reader:fixture-visible",
|
|
228
|
+
'x --password --token --client-secret reader:fixture-visible',
|
|
229
|
+
'x `--password\n --token reader:fixture-visible`',
|
|
230
|
+
'x $(tool --password --token reader:fixture-visible)',
|
|
231
|
+
"sh -c 'tool --password --token reader:fixture-visible'",
|
|
232
|
+
'bash -c "tool --password --token reader:fixture-visible"',
|
|
233
|
+
'env tool --password --token reader:fixture-visible',
|
|
234
|
+
'sudo tool --password --token reader:fixture-visible',
|
|
235
|
+
'x --password --token abc--fixture-visible',
|
|
236
|
+
'x --password --token "a b--fixture-visible" --verbose',
|
|
237
|
+
"bash -c $'x --password --token \\\\\\n reader:fixture-visible'",
|
|
238
|
+
])
|
|
239
|
+
expect(sanitizeCommand(input)).not.toContain('fixture-visible');
|
|
240
|
+
});
|
|
241
|
+
it('redacts a long credential chain without stalling the hook', () => {
|
|
242
|
+
// Each shape took minutes before the chain's key test stopped
|
|
243
|
+
// backtracking and a chain stopped at words another chain had left.
|
|
244
|
+
for (const input of [
|
|
245
|
+
`x --password --token ${'token'.repeat(4000)}`,
|
|
246
|
+
`x --password --${'token'.repeat(4000)}! y`,
|
|
247
|
+
`x ${Array.from({ length: 4000 }, () => '--token').join(' ')} fixture-visible`,
|
|
248
|
+
]) {
|
|
249
|
+
const output = sanitizeCommand(input);
|
|
250
|
+
expect(output).not.toContain('fixture-visible');
|
|
251
|
+
expect(output).not.toContain('tokentoken');
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
it('keeps redacting what a credential flag swallowed on its own', () => {
|
|
255
|
+
expect(sanitizeCommand('x --password\nfixture-secret')).toBe('x --password\n[redacted]');
|
|
256
|
+
expect(sanitizeCommand('x --password --token fixture-visible')).toBe('x --password [redacted] [redacted]');
|
|
257
|
+
expect(sanitizeCommand('x --password --token=fixture-visible')).toBe('x --password [redacted]');
|
|
258
|
+
// A swallowed word that is not a credential flag ends the chain there.
|
|
259
|
+
expect(sanitizeCommand('x --password --verbose fixture-kept')).toBe('x --password [redacted] fixture-kept');
|
|
260
|
+
expect(sanitizeCommand('x --password --token; echo fixture-kept')).toBe('x --password [redacted]; echo fixture-kept');
|
|
261
|
+
// Following the chain must not hide a flag a later rule reads: here the
|
|
262
|
+
// newline-crossing rule redacts --PASSWORD's value only while the flag
|
|
263
|
+
// itself is still in the text.
|
|
264
|
+
for (const input of [
|
|
265
|
+
'x $\'--credentials\' "--token" --PASSWORD \n fixture-visible',
|
|
266
|
+
'tool --auth-token\t\\\n\t--token\treader:fixture-visible',
|
|
267
|
+
'bash -c "x --password \'--token\' \\\\\n --api-key=fixture-visible"',
|
|
268
|
+
])
|
|
269
|
+
expect(sanitizeCommand(input)).not.toContain('fixture-visible');
|
|
270
|
+
});
|
|
271
|
+
it('redacts a credential flag value after a tool password flag swallowed the flag', () => {
|
|
272
|
+
// Each tool flag takes the next word as its value; when that word is a
|
|
273
|
+
// credential flag, the flag's own value must not escape.
|
|
274
|
+
for (const [input, output] of [
|
|
275
|
+
[
|
|
276
|
+
'redis-cli -a --token reader:fixture-visible',
|
|
277
|
+
'redis-cli -a [redacted] [redacted]',
|
|
278
|
+
],
|
|
279
|
+
[
|
|
280
|
+
'redis-cli --pass --token reader:fixture-visible',
|
|
281
|
+
'redis-cli --pass [redacted] [redacted]',
|
|
282
|
+
],
|
|
283
|
+
[
|
|
284
|
+
'sshpass -p --token reader:fixture-visible ssh host',
|
|
285
|
+
'sshpass -p [redacted] [redacted] ssh host',
|
|
286
|
+
],
|
|
287
|
+
[
|
|
288
|
+
'curl --user --token reader:fixture-visible https://example.test',
|
|
289
|
+
'curl --user [redacted] [redacted] https://example.test',
|
|
290
|
+
],
|
|
291
|
+
[
|
|
292
|
+
'curl -u --token reader:fixture-visible https://example.test',
|
|
293
|
+
'curl -u [redacted] [redacted] https://example.test',
|
|
294
|
+
],
|
|
295
|
+
])
|
|
296
|
+
expect(sanitizeCommand(input)).toBe(output);
|
|
297
|
+
for (const input of [
|
|
298
|
+
'redis-cli --cluster-from-pass --token reader:fixture-visible',
|
|
299
|
+
'valkey-cli -a --api-key fixture-visible',
|
|
300
|
+
'REDIS-CLI.exe -a --token fixture-visible',
|
|
301
|
+
'sshpass -4p --token fixture-visible ssh host',
|
|
302
|
+
'openssl enc -k --token fixture-visible',
|
|
303
|
+
'openssl enc -K --secret fixture-visible',
|
|
304
|
+
'curl -U --token reader:fixture-visible https://example.test',
|
|
305
|
+
'curl --proxy-user --token reader:fixture-visible https://example.test',
|
|
306
|
+
'curl --oauth2-bearer --token fixture-visible https://example.test',
|
|
307
|
+
'curl --cookie --token fixture-visible https://example.test',
|
|
308
|
+
'curl -su --token reader:fixture-visible https://example.test',
|
|
309
|
+
'http -a --token reader:fixture-visible example.test',
|
|
310
|
+
'httpie --auth --token reader:fixture-visible example.test',
|
|
311
|
+
// Variants: separators, quoting, chains and wrappers.
|
|
312
|
+
'redis-cli -a\t--token\treader:fixture-visible',
|
|
313
|
+
'redis-cli -a --token\nreader:fixture-visible',
|
|
314
|
+
'redis-cli -a \\\n --token \\\n reader:fixture-visible',
|
|
315
|
+
'redis-cli -a "--token" reader:fixture-visible',
|
|
316
|
+
"curl -u '--api-key' reader:fixture-visible https://example.test",
|
|
317
|
+
'curl -u --token --client-secret fixture-visible https://example.test',
|
|
318
|
+
"sh -c 'redis-cli -a --token reader:fixture-visible'",
|
|
319
|
+
'bash -c "curl -u --token reader:fixture-visible https://example.test"',
|
|
320
|
+
'echo $(sshpass -p --token fixture-visible ssh host)',
|
|
321
|
+
'echo `redis-cli -a --token fixture-visible`',
|
|
322
|
+
'sudo -u root redis-cli -a --token fixture-visible',
|
|
323
|
+
'env FOO=1 curl --user --token reader:fixture-visible https://example.test',
|
|
324
|
+
// A curl config field takes the flag too, on a later line as well.
|
|
325
|
+
'echo -- --pass --token fixture-visible | curl -K -',
|
|
326
|
+
'echo -- -u --token reader:fixture-visible | curl -K -',
|
|
327
|
+
'echo -- oauth2-bearer --token fixture-visible | curl -K -',
|
|
328
|
+
'echo -- oauth2-bearer --access-token\nfixture-visible | curl -K -',
|
|
329
|
+
])
|
|
330
|
+
expect(sanitizeCommand(input)).not.toContain('fixture-visible');
|
|
331
|
+
});
|
|
332
|
+
it('leaves a header name in a credential chain for the header rules to read', () => {
|
|
333
|
+
// A chain that redacted `Cookie:` would hide the cookie value from the
|
|
334
|
+
// header rule, which reads the name and the next word together.
|
|
335
|
+
for (const [input, output] of [
|
|
336
|
+
[
|
|
337
|
+
'redis-cli -a --token Cookie: session=fixture-visible',
|
|
338
|
+
'redis-cli -a [redacted] Cookie: [redacted]',
|
|
339
|
+
],
|
|
340
|
+
[
|
|
341
|
+
'curl -u --token Set-Cookie: session=fixture-visible',
|
|
342
|
+
'curl -u [redacted] Set-Cookie: [redacted]',
|
|
343
|
+
],
|
|
344
|
+
[
|
|
345
|
+
'x --password --token Cookie: session=fixture-visible',
|
|
346
|
+
'x --password [redacted] Cookie: [redacted]',
|
|
347
|
+
],
|
|
348
|
+
[
|
|
349
|
+
'x --password --token\nCookie: session=fixture-visible',
|
|
350
|
+
'x --password [redacted]\nCookie: [redacted]',
|
|
351
|
+
],
|
|
352
|
+
[
|
|
353
|
+
'redis-cli -a --token Authorization: Bearer fixture-visible',
|
|
354
|
+
'redis-cli -a [redacted] Authorization: [redacted]',
|
|
355
|
+
],
|
|
356
|
+
])
|
|
357
|
+
expect(sanitizeCommand(input)).toBe(output);
|
|
358
|
+
for (const input of [
|
|
359
|
+
'echo -- --pass --token Cookie: session=fixture-visible | curl -K -',
|
|
360
|
+
"bash -c 'redis-cli -a --token Cookie: session=fixture-visible'",
|
|
361
|
+
'redis-cli -a --token cookie:session=fixture-visible',
|
|
362
|
+
])
|
|
363
|
+
expect(sanitizeCommand(input)).not.toContain('fixture-visible');
|
|
364
|
+
});
|
|
365
|
+
it('keeps what main redacts and kept around a tool password flag', () => {
|
|
366
|
+
// The tool flag's own value is still redacted when no chain follows it.
|
|
367
|
+
expect(sanitizeCommand('redis-cli -a fixture-secret ping')).toBe('redis-cli -a [redacted] ping');
|
|
368
|
+
expect(sanitizeCommand('curl -u reader:fixture-secret https://example.test')).toBe('curl -u [redacted] https://example.test');
|
|
369
|
+
// A swallowed word that is not a credential flag ends the chain: a Redis
|
|
370
|
+
// command after the password stays readable.
|
|
371
|
+
expect(sanitizeCommand('redis-cli -a --verbose ping')).toBe('redis-cli -a [redacted] ping');
|
|
372
|
+
// So does a flag that carries its own value, and an operator.
|
|
373
|
+
expect(sanitizeCommand('redis-cli -a --token=fixture-visible ping')).toBe('redis-cli -a [redacted] ping');
|
|
374
|
+
expect(sanitizeCommand('redis-cli -a --token; echo fixture-kept')).toBe('redis-cli -a [redacted]; echo fixture-kept');
|
|
375
|
+
// `--pass` is not a credential key, so the word after it is not its value.
|
|
376
|
+
expect(sanitizeCommand('redis-cli -a --pass ping')).toBe('redis-cli -a [redacted] ping');
|
|
377
|
+
// Flags that never swallow the next word as a credential still leave it
|
|
378
|
+
// to the space-separated rule.
|
|
379
|
+
expect(sanitizeCommand('mysql --password --token fixture-visible')).toBe('mysql --password [redacted] [redacted]');
|
|
380
|
+
expect(sanitizeCommand('openssl enc -pass --token fixture-visible')).toBe('openssl enc -pass --token [redacted]');
|
|
381
|
+
expect(sanitizeCommand('curl -x --token fixture-visible https://example.test')).toBe('curl -x --token [redacted] https://example.test');
|
|
382
|
+
});
|
|
217
383
|
it('redacts token-only URL userinfo and URL query credentials', () => {
|
|
218
384
|
for (const input of [
|
|
219
385
|
'curl https://fixture-userinfo@example.test/',
|
|
@@ -864,4 +1030,233 @@ describe('credential syntax at the command upload boundary', () => {
|
|
|
864
1030
|
});
|
|
865
1031
|
});
|
|
866
1032
|
});
|
|
1033
|
+
describe('credential-tool names outside command position', () => {
|
|
1034
|
+
// A path argument whose basename spells a credential tool names a file, not an
|
|
1035
|
+
// invocation: the words after it keep their meaning.
|
|
1036
|
+
it.each([
|
|
1037
|
+
'cat ./bin/curl -u reader:visible',
|
|
1038
|
+
'ls ./bin/curl image:tag@sha256:abc123',
|
|
1039
|
+
'cat scripts/http image:tag@sha256:abc123',
|
|
1040
|
+
'chmod +x ./bin/openssl -k visible-file',
|
|
1041
|
+
'grep -r key /etc/openssl -K visible-file',
|
|
1042
|
+
'cat bin/mysql -pvisible',
|
|
1043
|
+
'cat tools/redis-cli -a visible-file',
|
|
1044
|
+
'cat bin/sshpass -p visible-file',
|
|
1045
|
+
'sudo cat ./bin/curl -u reader:visible',
|
|
1046
|
+
'sudo -u deploy env MODE=1 cat ./bin/curl -u reader:visible',
|
|
1047
|
+
'sudo -E cat ./bin/curl -u reader:visible',
|
|
1048
|
+
'sudo --preserve-env=HOME cat ./bin/curl -u reader:visible',
|
|
1049
|
+
'env -i cat ./bin/curl -u reader:visible',
|
|
1050
|
+
'xargs -0 cat ./bin/curl -u reader:visible',
|
|
1051
|
+
'time -p cat ./bin/curl -u reader:visible',
|
|
1052
|
+
'/usr/bin/cat ./bin/curl -u reader:visible',
|
|
1053
|
+
])('keeps the arguments of a program that never runs them: %s', (command) => {
|
|
1054
|
+
expect(sanitizeCommand(command)).toBe(command);
|
|
1055
|
+
});
|
|
1056
|
+
it('does not read curl configuration from a file argument named curl', () => {
|
|
1057
|
+
const command = 'cat bin/curl -K cfg; echo user = reader:visible';
|
|
1058
|
+
expect(sanitizeCommand(command)).toBe(command);
|
|
1059
|
+
});
|
|
1060
|
+
it.each(['echo', 'printf'])('does not treat a file argument named %s as a configuration producer', (producer) => {
|
|
1061
|
+
const command = `curl -K cfg https://example.test; ls bin/${producer} -u reader:visible`;
|
|
1062
|
+
expect(sanitizeCommand(command)).toBe(command);
|
|
1063
|
+
});
|
|
1064
|
+
const familyInvocations = [
|
|
1065
|
+
['curl', 'curl -u reader:fixture-password https://example.test'],
|
|
1066
|
+
...['http', 'https', 'httpie'].map((tool) => [tool, `${tool} -a reader:fixture-password example.test`]),
|
|
1067
|
+
['openssl', 'openssl enc -aes-256-cbc -pass pass:fixture-password -in public-file'],
|
|
1068
|
+
['sshpass', 'sshpass -p fixture-password ssh deploy@host'],
|
|
1069
|
+
...['redis-cli', 'valkey-cli'].map((tool) => [tool, `${tool} -a fixture-password get k`]),
|
|
1070
|
+
...[
|
|
1071
|
+
'mysql',
|
|
1072
|
+
'mariadb',
|
|
1073
|
+
'mysqldump',
|
|
1074
|
+
'mysqladmin',
|
|
1075
|
+
'mariadb-dump',
|
|
1076
|
+
'mariadb-admin',
|
|
1077
|
+
].map((tool) => [tool, `${tool} -pfixture-password db`]),
|
|
1078
|
+
];
|
|
1079
|
+
it.each(familyInvocations)('still redacts a real /usr/bin/%s invocation', (_, command) => {
|
|
1080
|
+
for (const prefix of [
|
|
1081
|
+
'/usr/bin/',
|
|
1082
|
+
'cat notes.txt && /usr/bin/',
|
|
1083
|
+
'sudo /usr/bin/',
|
|
1084
|
+
]) {
|
|
1085
|
+
const output = sanitizeCommand(`${prefix}${command}`);
|
|
1086
|
+
expect(output).not.toContain('fixture-password');
|
|
1087
|
+
expect(output).toContain('[redacted]');
|
|
1088
|
+
}
|
|
1089
|
+
});
|
|
1090
|
+
it.each([
|
|
1091
|
+
'watch -n 5 curl -u reader:fixture-password https://example.test',
|
|
1092
|
+
String.raw `find . -exec /usr/bin/curl -u reader:fixture-password https://example.test \;`,
|
|
1093
|
+
'ssh deploy@host /usr/bin/curl -u reader:fixture-password https://example.test',
|
|
1094
|
+
'xargs /usr/bin/curl -u reader:fixture-password https://example.test',
|
|
1095
|
+
'echo curl -u reader:fixture-password',
|
|
1096
|
+
// A wrapper option the table does not model may take the next word as its
|
|
1097
|
+
// value, so that word is not trusted as the program the wrapper runs.
|
|
1098
|
+
'xargs --process-slot-var cat curl -u reader:fixture-password https://example.test',
|
|
1099
|
+
'sudo -U cat curl -u reader:fixture-password https://example.test',
|
|
1100
|
+
'env -P ls curl -u reader:fixture-password https://example.test',
|
|
1101
|
+
'sudo -U env cat curl -u reader:fixture-password https://example.test',
|
|
1102
|
+
// A local script named like a listed program may run anything.
|
|
1103
|
+
'./tools/diff curl -u reader:fixture-password https://example.test',
|
|
1104
|
+
'/opt/bin/cat curl -u reader:fixture-password https://example.test',
|
|
1105
|
+
'cat x; sudo -u root ./scripts/cat curl -u reader:fixture-password https://example.test',
|
|
1106
|
+
// A redirection operand names a file, not the command that runs.
|
|
1107
|
+
'>file curl -u reader:fixture-password https://example.test',
|
|
1108
|
+
'< cat curl -u reader:fixture-password https://example.test',
|
|
1109
|
+
'>|ls /usr/bin/curl -u reader:fixture-password https://example.test',
|
|
1110
|
+
'>file echo user = reader:fixture-password | curl -K - https://example.test',
|
|
1111
|
+
// A backtick substitution runs its own command under any outer one.
|
|
1112
|
+
'cat `/usr/bin/curl -u reader:fixture-password https://example.test`',
|
|
1113
|
+
])('still redacts a tool dispatched by a program it does not model: %s', (command) => {
|
|
1114
|
+
expect(sanitizeCommand(command)).not.toContain('fixture-password');
|
|
1115
|
+
});
|
|
1116
|
+
});
|
|
1117
|
+
describe('backtick command substitutions', () => {
|
|
1118
|
+
// One command per credential-tool family, plus a URI and an assignment.
|
|
1119
|
+
const bodies = [
|
|
1120
|
+
'curl -u reader:fixture-visible https://example.test',
|
|
1121
|
+
'http -a reader:fixture-visible https://example.test',
|
|
1122
|
+
'openssl enc -aes-256-cbc -pass pass:fixture-visible -in notes.txt',
|
|
1123
|
+
'sshpass -p fixture-visible ssh deploy@host',
|
|
1124
|
+
'redis-cli -a fixture-visible ping',
|
|
1125
|
+
'valkey-cli --pass fixture-visible ping',
|
|
1126
|
+
'mysql -pvisible app',
|
|
1127
|
+
'curl https://reader:fixture-visible@example.test',
|
|
1128
|
+
'redis-cli -u redis://reader:fixture-visible@cache.test ping',
|
|
1129
|
+
'TOKEN=fixture-visible ./deploy',
|
|
1130
|
+
'tool --password fixture-visible',
|
|
1131
|
+
];
|
|
1132
|
+
const forms = [
|
|
1133
|
+
['after echo', (body) => `echo \`${body}\``],
|
|
1134
|
+
['after cat', (body) => `cat \`${body}\``],
|
|
1135
|
+
['as the command', (body) => `\`${body}\``],
|
|
1136
|
+
['as an assignment value', (body) => `out=\`${body}\``],
|
|
1137
|
+
['inside double quotes', (body) => `echo "\`${body}\`"`],
|
|
1138
|
+
['inside single quotes', (body) => `echo '\`${body}\`'`],
|
|
1139
|
+
['escaped', (body) => `echo \\\`${body}\\\``],
|
|
1140
|
+
['nested', (body) => `echo \`echo \\\`${body}\\\`\``],
|
|
1141
|
+
['after a separator inside', (body) => `echo \`cd /tmp; ${body}\``],
|
|
1142
|
+
['after a pipe inside', (body) => `echo \`true | ${body}\``],
|
|
1143
|
+
['inside $(…)', (body) => `echo $(echo \`${body}\`)`],
|
|
1144
|
+
['inside <(…)', (body) => `diff <(echo \`${body}\`) notes.txt`],
|
|
1145
|
+
['unterminated', (body) => `echo \`${body}`],
|
|
1146
|
+
];
|
|
1147
|
+
it.each(forms.flatMap(([form, wrap]) => bodies.map((body) => [form, wrap(body)])))('redacts a credential in a backtick substitution %s: %s', (_, command) => {
|
|
1148
|
+
const output = sanitizeCommand(command);
|
|
1149
|
+
expect(output).not.toContain('visible');
|
|
1150
|
+
expect(output).toContain('[redacted]');
|
|
1151
|
+
});
|
|
1152
|
+
it('keeps the rest of the substitution, as for $(…)', () => {
|
|
1153
|
+
expect(sanitizeCommand('echo `curl -u reader:fixture-visible https://example.test`')).toBe('echo `curl -u [redacted] https://example.test`');
|
|
1154
|
+
expect(sanitizeCommand('echo `mysql -pvisible app` done')).toBe('echo `mysql -p[redacted] app` done');
|
|
1155
|
+
expect(sanitizeCommand('echo \\`curl -u reader:fixture-visible https://example.test\\`')).toBe('echo \\`curl -u [redacted] https://example.test\\`');
|
|
1156
|
+
expect(sanitizeCommand('echo `echo \\`curl -u reader:fixture-visible https://example.test\\``')).toBe('echo `echo \\`curl -u [redacted] https://example.test\\``');
|
|
1157
|
+
// Escapes the body carried come back as they were written.
|
|
1158
|
+
expect(sanitizeCommand("echo `printf 'a\\nb'; echo \\$HOME; curl -u reader:fixture-visible https://example.test`")).toBe("echo `printf 'a\\nb'; echo \\$HOME; curl -u [redacted] https://example.test`");
|
|
1159
|
+
});
|
|
1160
|
+
it('redacts everything after an unterminated backtick', () => {
|
|
1161
|
+
expect(sanitizeCommand('echo `curl -u reader:fixture-visible https://example.test')).toBe('echo `[redacted]');
|
|
1162
|
+
expect(sanitizeCommand('echo `date` `printf fixture-visible')).toBe('echo `date` `[redacted]');
|
|
1163
|
+
});
|
|
1164
|
+
it('links curl config across the substitution boundary', () => {
|
|
1165
|
+
for (const command of [
|
|
1166
|
+
'echo `echo user = reader:fixture-visible | curl -K - https://example.test`',
|
|
1167
|
+
'`echo user = reader:fixture-visible` | curl -K - https://example.test',
|
|
1168
|
+
'echo user = reader:fixture-visible | `curl -K - https://example.test`',
|
|
1169
|
+
]) {
|
|
1170
|
+
const output = sanitizeCommand(command);
|
|
1171
|
+
expect(output).not.toContain('visible');
|
|
1172
|
+
}
|
|
1173
|
+
});
|
|
1174
|
+
// Redacting the body must not hide which outer assignment it reads.
|
|
1175
|
+
it.each([
|
|
1176
|
+
`export VALUE=fixture-visible; echo \`sh -c 'curl --variable %VALUE --expand-header "Authorization: {{VALUE}}" https://example.test'\``,
|
|
1177
|
+
`export VALUE=fixture-visible; echo \`curl --variable %VALUE --expand-header "Authorization: {{VALUE}}" https://example.test\``,
|
|
1178
|
+
])('redacts an outer assignment a substitution expands: %s', (command) => {
|
|
1179
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1180
|
+
});
|
|
1181
|
+
// A substitution inside a word must not split the word from its reference.
|
|
1182
|
+
it.each([
|
|
1183
|
+
'export VALUE=:fixture-visible; sh -c "curl --variable %VALUE --expand-user `whoami`{{VALUE}} https://example.test"',
|
|
1184
|
+
'export VALUE=:fixture-visible; curl --variable %VALUE --expand-user `whoami`{{VALUE}} https://example.test',
|
|
1185
|
+
])('redacts an assignment a word expands after a substitution: %s', (command) => {
|
|
1186
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1187
|
+
});
|
|
1188
|
+
// Rewriting part of a body must not strand a header's value.
|
|
1189
|
+
it.each([
|
|
1190
|
+
'echo \'`echo "`curl -H "Authorization: fixture-visible" https://example.test`"`\'',
|
|
1191
|
+
'echo `echo "`curl -H "Authorization: fixture-visible" https://example.test`"`',
|
|
1192
|
+
'TOKEN=`date`; echo `echo "`curl -H "Authorization: fixture-visible" https://example.test`"`',
|
|
1193
|
+
])('redacts a header split across substitution bodies: %s', (command) => {
|
|
1194
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1195
|
+
});
|
|
1196
|
+
// A substitution elsewhere must not hide which curl variable a header reads.
|
|
1197
|
+
it.each([
|
|
1198
|
+
'curl --variable value=fixture-visible --expand-header "Authorization: {{value}}" https://example.test; echo `date`',
|
|
1199
|
+
'curl --variable value=fixture-visible --expand-url "https://u:{{value}}@example.test" `date`',
|
|
1200
|
+
'curl --variable value=fixture-visible --expand-url "https://example.test/?token={{value}}" `date`',
|
|
1201
|
+
])('redacts an inline curl variable beside a substitution: %s', (command) => {
|
|
1202
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1203
|
+
});
|
|
1204
|
+
// A substitution elsewhere must not cut a quoted value short in a script.
|
|
1205
|
+
it.each([
|
|
1206
|
+
'sh -c "tool --password \\"a fixture-visible\\""; echo `date`',
|
|
1207
|
+
'sh -c "curl -H \\"Authorization: Bearer a fixture-visible\\" https://example.test"; echo `date`',
|
|
1208
|
+
])('redacts a spaced value in an escaped script beside a substitution: %s', (command) => {
|
|
1209
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1210
|
+
});
|
|
1211
|
+
// Inside double quotes a backtick body also escapes `"`.
|
|
1212
|
+
it.each([
|
|
1213
|
+
'sh -c "echo `tool --password \\"a fixture-visible\\"`"',
|
|
1214
|
+
'echo "`tool --password \\"a fixture-visible\\"`"',
|
|
1215
|
+
])('redacts a spaced value in a double-quoted substitution: %s', (command) => {
|
|
1216
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1217
|
+
});
|
|
1218
|
+
// Bash ends a body at the first unescaped backtick: single quotes inside it
|
|
1219
|
+
// hide none, and an escaped one is part of the body.
|
|
1220
|
+
it.each([
|
|
1221
|
+
'echo "`sh -c \'echo \\`tool --password \\"a fixture-visible\\"\\`\'`"',
|
|
1222
|
+
'echo `sh -c \'echo \\`tool --password "a fixture-visible"\\`\'`',
|
|
1223
|
+
'echo "`sh -c \'echo \\`curl -u reader:fixture-visible https://example.test\\`\'`"',
|
|
1224
|
+
])('redacts a body whose escaped backtick sits in single quotes: %s', (command) => {
|
|
1225
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1226
|
+
});
|
|
1227
|
+
// The word a header value continues into is still the value.
|
|
1228
|
+
it.each([
|
|
1229
|
+
'curl -H "Cookie: sid=fixture-visible"more-visible https://example.test; echo `date`',
|
|
1230
|
+
'curl -H "Cookie: sid=fixture-visible"more-visible `date`',
|
|
1231
|
+
'echo "Cookie: sid=fixture-visible"more-visible `date`',
|
|
1232
|
+
// Redacting the first header early must not strand the second.
|
|
1233
|
+
'x= "Cookie: sid=fixture-visible""Authorization: {{VALUE}}" PASSWORD="`id`" { "Cookie: sid=fixture-visible"',
|
|
1234
|
+
])('redacts a header value that runs past its quote beside a substitution: %s', (command) => {
|
|
1235
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1236
|
+
});
|
|
1237
|
+
// Quoting the parser cannot follow leaves a backtick on the tool's word.
|
|
1238
|
+
it.each([
|
|
1239
|
+
"echo '`curl -u reader:fixture-visible https://example.test",
|
|
1240
|
+
'echo ``curl -u reader:fixture-visible https://example.test',
|
|
1241
|
+
"echo `echo '`' `curl -u reader:fixture-visible https://example.test`",
|
|
1242
|
+
])('redacts a tool whose word carries a backtick: %s', (command) => {
|
|
1243
|
+
expect(sanitizeCommand(command)).not.toContain('visible');
|
|
1244
|
+
});
|
|
1245
|
+
it.each([
|
|
1246
|
+
'echo `date`',
|
|
1247
|
+
'git checkout `git rev-parse HEAD`',
|
|
1248
|
+
'cat `which curl`',
|
|
1249
|
+
'ls `pwd`/notes',
|
|
1250
|
+
'echo "`whoami`"',
|
|
1251
|
+
// A quoted word with a space inside a body is not an unterminated backtick.
|
|
1252
|
+
'x=`date "+%Y %m"`',
|
|
1253
|
+
'echo `echo "a b"`',
|
|
1254
|
+
"echo `echo 'a b'`",
|
|
1255
|
+
'echo "`date "+%Y %m"`"',
|
|
1256
|
+
String.raw `echo "a \` b"`,
|
|
1257
|
+
String.raw `echo \`date\``,
|
|
1258
|
+
])('leaves a substitution with no credential unchanged: %s', (command) => {
|
|
1259
|
+
expect(sanitizeCommand(command)).toBe(command);
|
|
1260
|
+
});
|
|
1261
|
+
});
|
|
867
1262
|
//# sourceMappingURL=sanitize-command.test.js.map
|