@kindgi/flow 0.0.0-bootstrap.0 → 0.1.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA0BzE,OAAO,UAAU,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAkBlE,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,MAAM,eAAe,GAAG,gDAAgD,CAAC;AAEzE,mFAAmF;AACnF,IAAI,cAAwC,CAAC;AAE7C,SAAS,QAAQ;IACf,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,eAAe,GAAuD;IAC1E,gBAAgB;IAChB,yBAAyB;IACzB,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,oBAAoB;IACpB,yBAAyB;IACzB,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACvB,mBAAmB;IACnB,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,qBAAqB;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAO,eAAe,EAAE,KAAK,CAAC,CAAC;IACvE,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,uBAAuB,CAAC,GAGhC;IACC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,CAAkD,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACxE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;SACnF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,yCAAyC;AAEzC,SAAS,gBAAgB,CAAC,IAAU;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,0DAA0D;gBACtF,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF,SAAS,yBAAyB,CAAC,IAAU;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,YAAY,IAAI,CAAC,EAAE,8DAA8D;gBAC1F,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAU;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,IAAU,EAAE,MAAc;IACzC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,YAAY,MAAM,8DAA8D;QACzF,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,MAAe;KACxB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,KAA0B,EAAQ,EAAE;QAChD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU;IACrC,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AAEjE,SAAS,wBAAwB,CAAC,IAAU;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,IAAU,EACV,IAAc,EACd,QAAuB,EACvB,YAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,KAAK,QAAQ,kBAAkB,YAAY,GAAG;QACvE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED,0DAA0D;AAE1D,SAAS,cAAc,CAAC,IAAU;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC/D,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,qCAAqC;QAC9D,MAAM,EAAE,IAAI,CAAC,EAAE;KAChB,CAAC;AACJ,CAAC;AAED,mGAAmG;AAEnG,SAAS,kBAAkB,CAAC,IAAU;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,+BAA+B,MAAM,EAAE;gBAChE,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,mCAAmC,UAAU,EAAE;oBAC7E,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,EAAW;oBACxB,MAAM,EAAE,UAAU;iBACnB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,SAAS;YACtC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO;oBACL,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,EAAE,+BAA+B,MAAM,EAAE;oBACvF,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,MAAM;iBACP,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,IAAI,CAAE,SAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACxD,OAAO,qBAAqB,IAAI,CAAC,EAAE,GAAG,CAAC;IACzC,CAAC;IACD,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACP,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,KAAK;YACR,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa,EAAE,KAAc;IAC3D,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC;IAC5B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,GAAY;IACtD,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAgB,EAAE,QAAyB;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,EAAE,8BAA8B,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,SAAS,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,iCAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,uCAAuC,CAAC;AACjD,CAAC;AAED,gGAAgG;AAEhG;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,oBAAoB,CAAC,IAAU;IACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,kEAAkE;IAClE,wEAAwE;IACxE,uCAAuC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,IAAU,EACV,MAAc,EACd,MAA8B;IAE9B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC;AAC1B,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,SAAS,aAAa,CACpB,IAAU,EACV,MAAc,EACd,QAAiB;IAEjB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,OAAO,QAAQ,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,QAAQ,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,QAAQ,GAAG,YAAY,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;QACvD,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,UAAU,EACV,mBAAmB,YAAY,KAAK,YAAY,UAAU,QAAQ,GAAG,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAU,EACV,MAAc,EACd,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;QAC5C,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,cAAc,0BAA0B,eAAe,GAAG,CAAC,MAAM,GAAG,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,IAAU,EACV,MAAc,EACd,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,SAAS,GAAG,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,SAAS,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,GAAG,cAAc,EAAE,CAAC;QAC/B,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,WAAW,EACX,cAAc,cAAc,qBAAqB,SAAS,GAAG,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAU,EACV,MAAc,EACd,KAAkB;IAElB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC;QACpD,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,+BAA+B,KAAK,CAAC,WAAW,GAAG,CACpD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,eAAe,EACf,uCAAuC,KAAK,CAAC,OAAO,GAAG,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,IACE,KAAK,CAAC,OAAO,KAAK,OAAO;YACzB,KAAK,CAAC,OAAO,KAAK,QAAQ;YAC1B,KAAK,CAAC,OAAO,KAAK,aAAa,EAC/B,CAAC;YACD,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,eAAe,EACf,0DAA0D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,uCAAuC,KAAK,CAAC,UAAU,GAAG,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtE,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAChB,IAAU,EACV,MAAc,EACd,KAAsC,EACtC,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,SAAS,MAAM,8BAA8B,KAAK,KAAK,MAAM,EAAE;QACxE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,MAAe;QACvB,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,uDAAuD;AAEvD,SAAS,yBAAyB,CAAC,IAAU;IAC3C,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU,EAAE,IAAc,EAAE,MAAc;IAC/D,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,MAAM,MAAM,SAAS,IAAI,CAAC,aAAa,GAAG;QACxE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,aAAa;KAC1B,CAAC;AACJ,CAAC;AAED,kGAAkG;AAElG,SAAS,oBAAoB,CAAC,IAAU;IACtC,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,IAAc;IAClD,MAAM,GAAG,GAAG,IAA0C,CAAC;IACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAClC,kEAAkE;YAClE,kEAAkE;YAClE,uBAAuB;YACvB,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAClE,CAAC;QACD,IACE,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACnC,IAAI,CAAC,gBAAgB,KAAK,QAAQ;YAClC,IAAI,CAAC,gBAAgB,KAAK,OAAO,EACjC,CAAC;YACD,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,qCAAqC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CACjB,IAAU,EACV,IAAc,EACd,QAA6B,EAC7B,OAA4C;IAE5C,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,eAAe,QAAQ,MAAM,OAAO,EAAE;QACpE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,QAAQ;QACR,OAAO;KACR,CAAC;AACJ,CAAC;AAED,6DAA6D;AAE7D,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,SAAS,uBAAuB,CAAC,IAAU;IACzC,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QAC1C,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,SAAS;QAC7C,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAU,EACV,UAAkB,EAClB,KAAa,EACb,aAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;QACjC,OAAO,cAAc,CACnB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,aAAa,EACb,cAAc,oBAAoB,eAAe,CAClD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,GAAG,aAAa,EAAE,CAAC;QAC1B,OAAO,cAAc,CACnB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,wBAAwB,EACxB,6BAA6B,aAAa,GAAG,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,IAAU,EACV,UAAkB,EAClB,KAAa,EACb,MAAsC,EACtC,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,cAAc,UAAU,kBAAkB,MAAM,SAAS,KAAK,GAAG;QAC1E,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU;QACV,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,2DAA2D;AAE3D,SAAS,qBAAqB,CAAC,IAAU;IACvC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU;IACrC,KAAK,MAAM,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAU,EAAE,MAAkB;IACrD,mEAAmE;IACnE,4CAA4C;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,WAAW,EACX,sDAAsD,CACvD,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,WAAW,EACX,uBAAuB,MAAM,CAAC,QAAQ,iBAAiB,EACvD,MAAM,CAAC,QAAQ,CAChB,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,gBAAgB,EAChB,WAAW,MAAM,CAAC,QAAQ,2CAA2C,EACrE,MAAM,CAAC,QAAQ,CAChB,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACtE,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,sBAAsB,EACtB,WAAW,MAAM,CAAC,QAAQ,wDAAwD,EAClF,MAAM,CAAC,QAAQ,CAChB,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,sBAAsB;gBACnC,CAAC,CAAC,MAAM,CAAE,KAAK,CAAC,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;gBAC1D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,gBAAgB,MAAM,CAAC,EAAE,aAAa,MAAM,CAAC,QAAQ,qCAAqC,OAAO,EAAE;gBAC5G,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,YAAY,EAAE,MAAM,CAAC,EAAE;gBACvB,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IACE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,CAAE,iBAAuC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EACtE,CAAC;QACD,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,aAAa,EACb,kBAAkB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,aAAa,EACb,2BAA2B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CACzD,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAqB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,SAAS,CACd,IAAI,EACJ,MAAM,CAAC,EAAE,EACT,aAAa,EACb,+BAA+B,MAAM,CAAC,QAAQ,CAAC,MAAM,iFAAiF,MAAM,CAAC,WAAW,GAAG,CAC5J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAChB,IAAU,EACV,YAAoB,EACpB,KAAsC,EACtC,MAAc,EACd,QAAiB;IAEjB,MAAM,KAAK,GACT,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,gBAAgB,YAAY,GAAG;QACjC,CAAC,CAAC,gBAAgB,YAAY,aAAa,QAAQ,GAAG,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,GAAG,KAAK,KAAK,MAAM,EAAE;QAC9B,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,YAAY;QACZ,KAAK;QACL,MAAM;QACN,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,KAAK,CAA+B,CAAC;AAErC,6DAA6D;AAE7D,MAAM,kBAAkB,GAAG,wDAAwD,CAAC;AAEpF,SAAS,sBAAsB,CAAC,IAAU;IACxC,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU;IACtC,KAAK,MAAM,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU,EAAE,QAAqB;IACzD,sEAAsE;IACtE,4BAA4B;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAkB,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,GAA8B,CAAC;IAC/C,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,iBAAiB,EACjB,8CAA8C,OAAO,CAAC,OAAO,GAAG,CACjE,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAuB,CAAC;IACjD,IACE,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,SAAS;QACrB,OAAO,OAAO,KAAK,QAAQ;QAC3B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACtB,CAAC;QACD,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,cAAc,EACd,mDAAmD,CACpD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;QAC9E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,cAAc,EACd,UAAU,GAAG,gDAAgD,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAgB,CAAC,CAAC;QACxD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,cAAc,EACd,UAAU,GAAG,6BAA6B,aAAa,EAAE,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,eAAe,EACf,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,sBAAsB;YACnC,CAAC,CAAC,MAAM,CAAE,KAAK,CAAC,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,kBAAkB,QAAQ,CAAC,EAAE,qCAAqC,OAAO,EAAE;YACpF,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,cAAc,EAAE,QAAQ,CAAC,EAAE;YAC3B,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAsB,CAAC;IAC3C,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAE,0BAAgD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9F,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,CAAC,EAAE,EACX,aAAa,EACb,kBAAkB,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,GAAG,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,IAAU,EACV,cAAsB,EACtB,KAAuC,EACvC,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,kBAAkB,cAAc,MAAM,MAAM,EAAE;QACvD,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,cAAc;QACd,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,KAAK,CAAkC,CAAC;AAExC,kGAAkG;AAElG,SAAS,yBAAyB,CAAC,IAAU;IAC3C,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,cAAc,GAClB,KAAK,CAAC,IAAI,KAAK,sBAAsB;YACnC,CAAC,CAAC,MAAM,CAAE,KAAK,CAAC,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,qCAAqC,cAAc,EAAE;YACnF,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uGAAuG;AAEvG;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAU;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAuB,CAAC,CAAC,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,SAAS;QACnE,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAuB,CAAC,CAAC;QACxF,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAgB,EAChB,OAA4B,EAC5B,SAA6B;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAgB,EAChB,OAA4B,EAC5B,SAA6B;IAE7B,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC5D,OAAO,GAAG,IAAI,8CAA8C,CAAC;IAC/D,CAAC;IACD,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,eAAe,MAAM,6BAA6B,CAAC;IACpF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,kCAAkC,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CACjB,IAAU,EACV,GAAsD,EACtD,MAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,MAAM,gBAAgB,CAAC;IACzF,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,GAAG,KAAK,SAAS,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE;QACnD,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;QACvC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,cAAc,GAClB,KAAK,CAAC,IAAI,KAAK,sBAAsB;QACnC,CAAC,CAAC,MAAM,CAAE,KAAK,CAAC,KAAe,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QAC1D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACpB,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,yCAAyC,cAAc,EAAE;QAClE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,qDAAqD;AAErD,SAAS,qBAAqB,CAC5B,IAAU;IAEV,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU,EAAE,IAAc;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IACzE,IAAI,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,+CAA+C;QAC7E,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU,EAAE,IAAI,CAAC,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAU,EACV,IAAc;IAEd,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,IAAU,EACV,IAAc,EACd,IAAc,EACd,QAAuB,EACvB,YAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,kCAAkC;QACxC,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,EAAE,KAAK,QAAQ,kBAAkB,YAAY,GAAG;QAC9F,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ;QACR,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,IAAc;IACrD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAElD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ;QAAE,IAAI,GAAG,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,cAAc,IAAI,CAAC,EAAE,4BAA4B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC7E,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,KAAK,EAAE,KAAiB;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAc;IAI5C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa;YAAE,SAAS;QACzE,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS;YAAE,SAAS;QACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,kDAAkD;AAElD,SAAS,gBAAgB,CAAC,IAAU;IAClC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,SAAS,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAElD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ;QAAE,IAAI,GAAG,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,SAAS,IAAI,CAAC,EAAE,uBAAuB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACnE,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,KAAiB;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU;IAIrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAS;QAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS;YAAE,SAAS;QACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,wDAAwD;AAExD,SAAS,SAAS,CAChB,QAA6B,EAC7B,SAAiD;IAEjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ;QAAE,IAAI,GAAG,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM;QACjC,SAAS,IAAI,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAiD,EACjD,SAA8B;IAE9B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,GAAG,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,SAAS,UAAU,CACjB,IAAY,EACZ,SAAiD,EACjD,SAA8B,EAC9B,MAA2B,EAC3B,IAAuB;IAEvB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC"}
@@ -0,0 +1,91 @@
1
+ import type { EdgeId, NodeId } from '@kindgi/types';
2
+ import { type EvalEnv } from './evaluator.js';
3
+ import type { Flow, FlowEdge } from './types.js';
4
+ /**
5
+ * State the scheduler needs from the kernel to decide what to dispatch next.
6
+ * Everything here is derived from journal entries — the kernel is the source
7
+ * of truth. The scheduler is pure and stateless.
8
+ */
9
+ export interface SchedulerState {
10
+ /** Nodes whose `step.completed` has been journaled. */
11
+ readonly completedNodes: ReadonlySet<NodeId>;
12
+ /** Nodes currently dispatched (in-flight) but not yet completed. */
13
+ readonly inFlightNodes: ReadonlySet<NodeId>;
14
+ /**
15
+ * Per-edge evaluation outcomes recorded so far. An edge appears here iff
16
+ * its `edge.evaluated` journal entry has been written. Missing edges have
17
+ * not yet been evaluated.
18
+ */
19
+ readonly edgeDecisions: ReadonlyMap<EdgeId, boolean>;
20
+ /** Evaluation environment (runInput, state, nodeOutputs) for predicate evaluation. */
21
+ readonly env: EvalEnv;
22
+ }
23
+ /**
24
+ * The scheduler's per-tick output.
25
+ *
26
+ * - `ready` → nodes to dispatch this tick (not yet started, all
27
+ * upstream edges resolved, at least one upstream taken).
28
+ * - `edgeEvals`→ edges the caller must evaluate + journal before the
29
+ * next tick. Contains one entry per edge whose `from` has
30
+ * completed (or is `$start`) but whose `edge.evaluated`
31
+ * hasn't been written.
32
+ * - `done` → true iff every node is completed or dead (can never
33
+ * fire), every edge whose source completed has a decision,
34
+ * and nothing is in flight. The kernel should write
35
+ * `run.completed` after this tick.
36
+ */
37
+ export interface SchedulerTick {
38
+ readonly ready: readonly NodeId[];
39
+ readonly edgeEvals: readonly PendingEdgeEval[];
40
+ readonly done: boolean;
41
+ }
42
+ export interface PendingEdgeEval {
43
+ readonly edgeId: EdgeId;
44
+ readonly edge: FlowEdge;
45
+ /**
46
+ * Precomputed decision if the caller wants to short-circuit and just
47
+ * write the journal entry. If `when` is absent, decision is always true.
48
+ */
49
+ readonly decision: boolean;
50
+ }
51
+ /**
52
+ * Compute the next set of actions the kernel should take. Idempotent: the
53
+ * same state produces the same output. Safe to call from a replay path.
54
+ *
55
+ * The scheduler classifies edges into three buckets:
56
+ * 1. Edges from $start or from a completed node → evaluate now (if not
57
+ * already), then contribute to downstream readiness.
58
+ * 2. Edges from a not-yet-completed node → skipped this tick.
59
+ * 3. Edges from a node that completed and edges already evaluated → their
60
+ * recorded decisions drive readiness only.
61
+ *
62
+ * An incoming edge is TAKEN (source completed, evaluated true), NOT TAKEN
63
+ * (source completed and evaluated false, or source dead) or PENDING
64
+ * (source not completed yet, or not evaluated yet).
65
+ *
66
+ * A node is ready iff:
67
+ * - it exists in `flow.nodes`
68
+ * - it is not in `completedNodes` or `inFlightNodes`
69
+ * - none of its incoming edges is pending
70
+ * - at least one incoming edge is taken
71
+ *
72
+ * So a fan-in node waits for every upstream edge to be resolved before
73
+ * dispatching — no partial firing — and a node whose every incoming edge
74
+ * is not taken is dead: it never fires, and its outgoing edges count as
75
+ * not taken. That is what lets a conditional branch rejoin: the join node
76
+ * doesn't wait on the skipped arm forever.
77
+ */
78
+ export declare function schedulerTick(flow: Flow, s: SchedulerState): SchedulerTick;
79
+ /**
80
+ * Resolve the effective scheduler priority for a ready node. Priority is
81
+ * declared on `FlowEdge.policy.priority` and applies ONLY when the
82
+ * destination has exactly one incoming edge — fan-in nodes (2+ incoming)
83
+ * inherit the default (`EDGE_POLICY_PRIORITY_DEFAULT`). Same fan-in rule
84
+ * as retry / timeoutMs / concurrencyKey.
85
+ *
86
+ * Exported for tests + observability. The kernel does not journal
87
+ * priority (it's a scheduling hint, not durable state); code that needs
88
+ * to inspect the effective priority of a node reads this directly.
89
+ */
90
+ export declare function getEffectivePriority(edgesByTo: ReadonlyMap<NodeId, readonly FlowEdge[]>, nodeId: NodeId): number;
91
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGjD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,sFAAsF;IACtF,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,GAAG,aAAa,CAU1E;AAwDD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC,EACnD,MAAM,EAAE,MAAM,GACb,MAAM,CAMR"}
@@ -0,0 +1,187 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ import { evaluateExpr } from './evaluator.js';
4
+ import { EDGE_POLICY_PRIORITY_DEFAULT, END_NODE, START_NODE } from './types.js';
5
+ /**
6
+ * Compute the next set of actions the kernel should take. Idempotent: the
7
+ * same state produces the same output. Safe to call from a replay path.
8
+ *
9
+ * The scheduler classifies edges into three buckets:
10
+ * 1. Edges from $start or from a completed node → evaluate now (if not
11
+ * already), then contribute to downstream readiness.
12
+ * 2. Edges from a not-yet-completed node → skipped this tick.
13
+ * 3. Edges from a node that completed and edges already evaluated → their
14
+ * recorded decisions drive readiness only.
15
+ *
16
+ * An incoming edge is TAKEN (source completed, evaluated true), NOT TAKEN
17
+ * (source completed and evaluated false, or source dead) or PENDING
18
+ * (source not completed yet, or not evaluated yet).
19
+ *
20
+ * A node is ready iff:
21
+ * - it exists in `flow.nodes`
22
+ * - it is not in `completedNodes` or `inFlightNodes`
23
+ * - none of its incoming edges is pending
24
+ * - at least one incoming edge is taken
25
+ *
26
+ * So a fan-in node waits for every upstream edge to be resolved before
27
+ * dispatching — no partial firing — and a node whose every incoming edge
28
+ * is not taken is dead: it never fires, and its outgoing edges count as
29
+ * not taken. That is what lets a conditional branch rejoin: the join node
30
+ * doesn't wait on the skipped arm forever.
31
+ */
32
+ export function schedulerTick(flow, s) {
33
+ const edgesByTo = groupEdgesByDestination(flow);
34
+ const edgeEvals = computePendingEdgeEvals(flow, s);
35
+ const effectiveDecisions = mergeDecisions(s.edgeDecisions, edgeEvals);
36
+ const dead = computeDeadNodes(flow, s, edgesByTo, effectiveDecisions);
37
+ const ready = computeReady(flow, s, edgesByTo, effectiveDecisions, dead);
38
+ const done = computeDone(flow, s, effectiveDecisions, dead);
39
+ return { ready, edgeEvals, done };
40
+ }
41
+ /**
42
+ * Serial: `evaluateExpr` is synchronous and CPU-only. Ordering of `out`
43
+ * follows `flow.edges` and is stable — callers that journal edge
44
+ * decisions rely on that.
45
+ */
46
+ function computePendingEdgeEvals(flow, s) {
47
+ const out = [];
48
+ for (const edge of flow.edges) {
49
+ if (s.edgeDecisions.has(edge.id))
50
+ continue;
51
+ if (!sourceCompleted(edge, s.completedNodes))
52
+ continue;
53
+ const decision = edge.when === undefined ? true : evaluateExpr(edge.when, s.env);
54
+ out.push({ edgeId: edge.id, edge, decision });
55
+ }
56
+ return out;
57
+ }
58
+ function mergeDecisions(base, additions) {
59
+ const merged = new Map(base);
60
+ for (const pe of additions)
61
+ merged.set(pe.edgeId, pe.decision);
62
+ return merged;
63
+ }
64
+ function computeReady(flow, s, edgesByTo, effectiveDecisions, dead) {
65
+ const ready = [];
66
+ for (const node of flow.nodes) {
67
+ if (isNodeReady(node.id, s, edgesByTo, effectiveDecisions, dead))
68
+ ready.push(node.id);
69
+ }
70
+ // Priority-ordered dispatch. Sort DESCENDING by
71
+ // `EdgePolicy.priority` on the node's sole incoming edge; ties broken
72
+ // by ASCENDING lexical node id. Deterministic + replay-safe: the same
73
+ // flow + same ready set always produces the same order, so callers
74
+ // that slice `ready.slice(0, maxParallelism)` pick the highest-
75
+ // priority nodes without needing any additional coordination. Fan-in
76
+ // nodes and nodes whose edge has no `priority` field use the default
77
+ // (0), so flows without priorities sort by node id alone (the loader
78
+ // forbids duplicate ids across a flow, so the order is total).
79
+ ready.sort((a, b) => {
80
+ const pa = getEffectivePriority(edgesByTo, a);
81
+ const pb = getEffectivePriority(edgesByTo, b);
82
+ if (pa !== pb)
83
+ return pb - pa; // higher priority first
84
+ return a.localeCompare(b);
85
+ });
86
+ return ready;
87
+ }
88
+ /**
89
+ * Resolve the effective scheduler priority for a ready node. Priority is
90
+ * declared on `FlowEdge.policy.priority` and applies ONLY when the
91
+ * destination has exactly one incoming edge — fan-in nodes (2+ incoming)
92
+ * inherit the default (`EDGE_POLICY_PRIORITY_DEFAULT`). Same fan-in rule
93
+ * as retry / timeoutMs / concurrencyKey.
94
+ *
95
+ * Exported for tests + observability. The kernel does not journal
96
+ * priority (it's a scheduling hint, not durable state); code that needs
97
+ * to inspect the effective priority of a node reads this directly.
98
+ */
99
+ export function getEffectivePriority(edgesByTo, nodeId) {
100
+ const incoming = edgesByTo.get(nodeId) ?? [];
101
+ if (incoming.length !== 1)
102
+ return EDGE_POLICY_PRIORITY_DEFAULT;
103
+ const edge = incoming[0];
104
+ const p = edge?.policy?.priority;
105
+ return typeof p === 'number' ? p : EDGE_POLICY_PRIORITY_DEFAULT;
106
+ }
107
+ function edgeState(edge, completed, effectiveDecisions, dead) {
108
+ if (edge.from !== START_NODE && dead.has(edge.from))
109
+ return 'not-taken';
110
+ if (!sourceCompleted(edge, completed))
111
+ return 'pending';
112
+ const decision = effectiveDecisions.get(edge.id);
113
+ if (decision === undefined)
114
+ return 'pending';
115
+ return decision ? 'taken' : 'not-taken';
116
+ }
117
+ function isNodeReady(nodeId, s, edgesByTo, effectiveDecisions, dead) {
118
+ if (s.completedNodes.has(nodeId))
119
+ return false;
120
+ if (s.inFlightNodes.has(nodeId))
121
+ return false;
122
+ const incoming = edgesByTo.get(nodeId) ?? [];
123
+ if (incoming.length === 0)
124
+ return false;
125
+ let anyTaken = false;
126
+ for (const edge of incoming) {
127
+ const state = edgeState(edge, s.completedNodes, effectiveDecisions, dead);
128
+ if (state === 'pending')
129
+ return false;
130
+ if (state === 'taken')
131
+ anyTaken = true;
132
+ }
133
+ return anyTaken;
134
+ }
135
+ function computeDone(flow, s, effectiveDecisions, dead) {
136
+ const allNodesResolved = flow.nodes.every((n) => s.completedNodes.has(n.id) || dead.has(n.id));
137
+ const allEdgesResolved = flow.edges.every((edge) => {
138
+ if (!sourceCompleted(edge, s.completedNodes))
139
+ return true;
140
+ return effectiveDecisions.has(edge.id);
141
+ });
142
+ return allNodesResolved && allEdgesResolved && s.inFlightNodes.size === 0;
143
+ }
144
+ /**
145
+ * Nodes that will never fire: no incoming edge at all, or every incoming
146
+ * edge not taken — including edges out of other dead nodes, so deadness
147
+ * propagates down a skipped branch. Iterates to a fixpoint (the loader
148
+ * guarantees the edges form a DAG, so it terminates in at most one pass
149
+ * per node). Unreached nodes — some incoming edge still pending — are
150
+ * NOT dead; they might still fire once upstream completes.
151
+ */
152
+ function computeDeadNodes(flow, s, edgesByTo, effectiveDecisions) {
153
+ const dead = new Set();
154
+ let changed = true;
155
+ while (changed) {
156
+ changed = false;
157
+ for (const node of flow.nodes) {
158
+ if (dead.has(node.id) || s.completedNodes.has(node.id) || s.inFlightNodes.has(node.id)) {
159
+ continue;
160
+ }
161
+ const incoming = edgesByTo.get(node.id) ?? [];
162
+ const allNotTaken = incoming.every((edge) => edgeState(edge, s.completedNodes, effectiveDecisions, dead) === 'not-taken');
163
+ if (allNotTaken) {
164
+ dead.add(node.id);
165
+ changed = true;
166
+ }
167
+ }
168
+ }
169
+ return dead;
170
+ }
171
+ function sourceCompleted(edge, completed) {
172
+ if (edge.from === START_NODE)
173
+ return true;
174
+ return completed.has(edge.from);
175
+ }
176
+ function groupEdgesByDestination(flow) {
177
+ const by = new Map();
178
+ for (const edge of flow.edges) {
179
+ if (edge.to === END_NODE)
180
+ continue;
181
+ const arr = by.get(edge.to) ?? [];
182
+ arr.push(edge);
183
+ by.set(edge.to, arr);
184
+ }
185
+ return by;
186
+ }
187
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}