{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACuD;AACE;AACQ;AAC8B;AACH;AACvB;AACH;AACE;AACH;AACF;AACH;AAC0B;AACR;AACO;AACH;AACF;AACH;;;AAE7E,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAqB,EAAE;IAC1D,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,wFAAqB,EAAE;IACpD,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,kEAAc,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACxE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,6EAAiB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,0EAAgB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACjF,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,8EAAkB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACrF,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,2EAAiB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wEAAgB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACjF,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,qEAAe,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAC/E,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,wGAA0B,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAC9F,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qGAAyB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAC5F,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,gGAAuB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IACzF,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,+FAAsB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAChG,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,4FAAqB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAC9F,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,0FAAqB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;IAC3F,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,uFAAoB,EAAE,WAAW,EAAE,CAAC,0EAAgB,CAAC,EAAE;CAC1F,CAAC;AAMK,MAAM,gBAAgB;;gFAAhB,gBAAgB;8GAAhB,gBAAgB;kHAHlB,CAAC,kEAAoB,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC,EACnE,0DAAY;oIAEX,gBAAgB,qFAFjB,0DAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChCqC;AAG7B;AAEC;;;;;;;;;;;;;;;;;;;;;;;;;;;ICiEvB,2EAAoC;IAAA,+DAAI;IAAA,4DAAW;;;IAyB/C,qEAA0E;IAExE,4EAAoC;IAClC,qEAAI;IACF,uDACF;IAAA,4DAAK;IACL,yEAAmD;IACjD,kFAA+D;IAEjE,4DAAK;IACL,qEAAI;IAGA,uEAA6E;IAG/E,4DAAiB;IAEnB,sEAAI;IAEA,wEAAyE;IAG3E,4DAAiB;IAGrB,qEAAe;IACjB,4DAAK;;;;;;IAzBW,0DAAqB;IAArB,2FAAqB;IAE/B,0DACF;IADE,0GACF;IAQoB,0DAAgC;IAAhC,+EAAgC;IACf,0DAAsB;IAAtB,qEAAsB;IAMvC,0DAA8B;IAA9B,+EAA8B;IACb,0DAAoB;IAApB,qEAAoB;;;IAgBjE,2EAAmC;IAAA,+DAAI;IAAA,4DAAW;;;IAUpD,oEAAmE;;;IACnE,oEAAyE;;;IAGvE,yEAAsD;IAAA,wEAAa;IAAA,4DAAK;;;IACxE,yEAA8D;IAC5D,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,2LACF;;;IAIA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,oGACF;;;IAGA,yEAAsD;IAAA,oEAAS;IAAA,4DAAK;;;IACpE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,oGACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,4FACF;;;IAWF,oEAAkE;;;IAClE,oEAAwE;;;IAItE,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,oGACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,0FACF;;;IAIA,yEAAsD;IAAA,qEAAU;IAAA,4DAAK;;;IACrE,yEAA8D;IAC5D,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,sLACF;;;IAKA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,oLACF;;ADlMH,MAAM,gBAAgB;IAiB3B,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,UAA0B,EAC1B,WAA4B,EAC5B,eAAoC,EACpC,QAAqB;QANrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,eAAU,GAAV,UAAU,CAAgB;QAC1B,gBAAW,GAAX,WAAW,CAAiB;QAC5B,oBAAe,GAAf,eAAe,CAAqB;QACpC,aAAQ,GAAR,QAAQ,CAAa;QArB/B,gBAAW,GAAc,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxD,eAAU,GAAc,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAKlD,sBAAiB,GAAG,IAAI,uEAAkB,EAAW,CAAC;QACtD,4BAAuB,GAAa,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAGpH,qBAAgB,GAAG,IAAI,uEAAkB,EAAsB,CAAC;QAChE,2BAAsB,GAAa,CAAC,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAWhG,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;aACzD,SAAS,CAAC,CAAC,CAAU,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,CAAC,CAAC;IAEN,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAE/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAgB;QAEhC,8CAAQ,CACN,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAC3F,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CACvB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAErB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YAExB,IAAI,MAAM,GAAY,EAAE,CAAC;YAEzB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACzC,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,IAAI,eAAe,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAE3E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAEjB,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;oBACrB,IAAI,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,KAAK,8DAA8D,CAAC,CAAC;oBAE3J,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CACnD,CAAC,CAAC,IAAI,EACN,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC5B,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC9C,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;QAGL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxD,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QACjD,CAAC,CAAC,CAAC;IAEL,CAAC;IACD,2BAA2B,CAAC,KAAa,EAAE,OAAgB,EAAE,GAAS,EAAE,GAAS;QAE/E,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,OAAO;YAChB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE,GAAG;YACd,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QAGX,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE;YAE3D,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3D,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEjB,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,KAAK,CAAC,kBAAkB;uBAClG,CAAC,CAAC,iBAAiB,KAAK,8DAA8D,CAAC,CAAC;gBAE7F,IAAI,CAAC,aAAa,EAAE;oBAClB,eAAe;oBAEf,IAAI,IAAI,GAAS,mCAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;oBAC1F,IAAI,EAAE,GAAS,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAE7E,IAAI,WAAW,GAAiB;wBAC9B,cAAc,EAAE,CAAC;wBACjB,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBACnD,gBAAgB,EAAE,sEAAsE;wBACxF,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,6BAA6B;wBAC7D,iBAAiB,EAAE,8DAA8D;wBACjF,kBAAkB,EAAE,GAAG,CAAC,KAAK,CAAC,kBAAkB;wBAChD,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,EAAE;qBACZ,CAAC;oBAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBACnD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;iBAEJ;qBAAM;oBACL,kBAAkB;oBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;wBACtB,SAAS;wBACT,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;4BACvD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC,EACC,KAAK,CAAC,EAAE;4BACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;wBACxE,CAAC,CAAC,CAAC;qBAEN;yBAAM;wBACL,SAAS;wBACT,aAAa,CAAC,SAAS,GAAG,mCAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC/D,aAAa,CAAC,OAAO,GAAG,mCAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;wBAE3D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;4BACrD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACf,GAAG,CAAC,cAAc,EAAE,CAAC;4BACrB,GAAG,CAAC,eAAe,EAAE,CAAC;4BACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvC,CAAC,EACC,KAAK,CAAC,EAAE;4BACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;wBACpE,CAAC,CAAC,CAAC;qBAEN;iBACF;aACF;SACF;IAIH,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAE5B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,mCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAExH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACrC,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;SAEN;IAEH,CAAC;IAED,mBAAmB,CAAC,CAAU;QAE5B,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC1C,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACrC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACxD,6BAA6B,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC9D,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC7C,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC,EAAE,CAAC;aAClB,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzC,uBAAuB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/E,6BAA6B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3F,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACzD,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1B,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxB,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1B,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;gFAxPU,gBAAgB;8GAAhB,gBAAgB;;;;;;;;QCtB7B,iFAAwD;QAAA,2EAAgB;QAAA,4DAAc;QAEtF,yEAAuC;QAG/B,uDAAiB;QAAA,4DAAK;QAE1B,0EAAgC;QAO1B,sEAA+E;QACjF,4DAAiB;QAEjB,kFAAgB;QACd,uEAAqE;QACvE,4DAAiB;QACjB,kFAAgB;QACd,uEAAuF;QACzF,4DAAiB;QACjB,kFAAgB;QACd,uEAAgG;QAClG,4DAAiB;QACjB,kFAAgB;QACd,uEAA+E;QACjF,4DAAiB;QASvB,qFAAwC;QAGG,oEAAQ;QAAA,4DAAkB;QAGjE,2EAAgC;QAO1B,wEAAqE;QACvE,4DAAiB;QACjB,kFAAgB;QAEe,yEAAa;QAAA,4DAAa;QACrD,kFAA4B;QAAA,kEAAM;QAAA,4DAAa;QAGnD,kFAAgB;QACd,2EAAkF;QACpF,4DAAiB;QAGjB,sFAA2C;QACzC,wEAAiG;QAGnG,4DAAiB;QACjB,sFAA2C;QACzC,wEAAkG;QAGpG,4DAAiB;QAGnB,2EAAoB;QACwD,yIAAS,qBAAiB,IAAC;QAAC,mEAAO;QAAA,4DAAS;QAEtH,yHAAmD;QACrD,4DAAM;QAKV,2FAA0C;QAED,kEAAM;QAAA,4DAAkB;QAG/D,2EAA+B;QAMQ,iEAAK;QAAA,4DAAK;QACvC,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,sEAAI;QAAA,+DAAG;QAAA,4DAAK;QACZ,sEAAI;QAAA,+DAAG;QAAA,4DAAK;QAIhB,6EAA6B;QAC3B,8GA2BK;QAEP,4DAAQ;QAMZ,2EAAoB;QACuD,yIAAS,mBAAe,IAAC;QAAC,mEAAO;QAAA,4DAAS;QACnH,yHAAkD;QACpD,4DAAM;QAIV,2FAA0C;QAED,mEAAO;QAAA,4DAAkB;QAEhE,iFAAiF;QAC/E,6GAAmE;QACnE,6GAAyE;QAEzE,6EAA+C;QAC7C,6GAAwE;QACxE,6GAEK;QACP,qEAAe;QAEf,6EAAgD;QAC9C,6GAAmE;QACnE,6GAEK;QACP,qEAAe;QACf,6EAAgD;QAC9C,6GAAoE;QACpE,6GAEK;QACP,qEAAe;QACf,6EAAwC;QACtC,6GAAmE;QACnE,6GAEK;QACP,qEAAe;QACjB,4DAAQ;QAIV,2FAA0C;QAED,kEAAM;QAAA,4DAAkB;QAE/D,iFAA+E;QAC7E,6GAAkE;QAClE,6GAAwE;QAGxE,8EAAgD;QAC9C,+GAA+D;QAC/D,+GAEK;QACP,qEAAe;QACf,8EAAsC;QACpC,+GAAmE;QACnE,+GAEK;QACP,qEAAe;QAEf,8EAA0C;QACxC,+GAAqE;QACrE,+GAEK;QACP,qEAAe;QAGf,8EAAwC;QACtC,+GAAmE;QACnE,+GAEK;QACP,qEAAe;QAEjB,4DAAQ;;;;QAtNN,0DAAiB;QAAjB,iFAAiB;QAEf,0DAAyB;QAAzB,sFAAyB;QAOT,0DAA6B;QAA7B,mGAA6B;QAI7B,0DAAwB;QAAxB,8FAAwB;QAGxB,0DAA2C;QAA3C,iHAA2C;QAG3C,0DAAiD;QAAjD,uHAAiD;QAGjD,0DAAgC;QAAhC,sGAAgC;QAWZ,0DAAiB;QAAjB,0EAAiB;QAKnD,0DAAyB;QAAzB,sFAAyB;QAWX,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QASb,0DAA2B;QAA3B,8EAA2B;QACV,0DAAiB;QAAjB,oEAAiB;QAIlC,0DAA2B;QAA3B,8EAA2B;QACV,0DAAiB;QAAjB,oEAAiB;QAMV,0DAA+B;QAA/B,4FAA+B;QAE9D,0DAAuB;QAAvB,uFAAuB;QAWhC,0DAAwB;QAAxB,qFAAwB;QAcJ,2DAAwC;QAAxC,4GAAwC;QAoCpB,0DAA8B;QAA9B,2FAA8B;QAC7D,0DAAsB;QAAtB,sFAAsB;QASW,0DAAgC;QAAhC,6FAAgC;QAC1D,0DAAwC;QAAxC,wGAAwC;QAC3B,0DAAiC;QAAjC,yGAAiC;QAmCrB,2DAA+B;QAA/B,4FAA+B;QACxD,0DAAuC;QAAvC,uGAAuC;QAC1B,0DAAgC;QAAhC,wGAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3LxB;AACY;;;;;;;;;;;;;;ICezD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,wVAAS,wBAAY,IAAC;IAAmB,4DAAK;;;IAGzG,yEAAsD;IAAA,6DAAE;IAAA,4DAAK;;;IAC7D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,2FACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,sFACF;;;IAIA,yEAAsD;IAAA,wEAAa;IAAA,4DAAK;;;IACxE,yEAA8D;IAC5D,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,2LACF;;;IAIA,yEAAsD;IAAA,8DAAG;IAAA,4DAAK;;;IAC9D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yGACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,4FACF;;;IAGA,yEAAsD;IAAA,iEAAM;IAAA,4DAAK;;;IACjE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yFACF;;AD3CC,MAAM,iBAAiB;IAY5B,YACU,UAA0B,EAC1B,MAAc,EACd,EAAe;QAFf,eAAU,GAAV,UAAU,CAAgB;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,OAAE,GAAF,EAAE,CAAa;QAbzB,eAAU,GAAG,IAAI,uEAAkB,EAAW,CAAC;QAC/C,qBAAgB,GAAa,CAAC,WAAW,EAAE,MAAM,EAAC,mBAAmB,EAAE,yBAAyB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAI3H,eAAU,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACpC,IAAI,EAAE,CAAC,EAAE,CAAC;SAEX,CAAC,CAAC;IAMH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,OAAO,CAAC,OAAgB;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAGD,eAAe;QAEb,IAAI,YAAY,GAAW,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAEtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;;kFAnCU,iBAAiB;+GAAjB,iBAAiB;kEAKjB,2DAAO;;;;;QClBpB,iFAAyD;QAAA,4EAAiB;QAAA,4DAAc;QACxF,yEAAuC;QAMH,2IAAS,qBAAiB,IAAC;QAAW,iEAAM;QAAA,4DAAW;QACnF,2EAC2D;QAA7B,0IAAU,qBAAiB,IAAC;QAD1D,4DAC2D;QAOjE,2EAAmD;QACjD,6GAA4D;QAC5D,6GAA2G;QAE3G,4EAAuC;QACrC,6GAA6D;QAC7D,8GAEK;QACP,qEAAe;QACf,6EAAkC;QAChC,6GAA+D;QAC/D,8GAEK;QACP,qEAAe;QAEf,6EAA+C;QAC7C,6GAAwE;QACxE,8GAEK;QACP,qEAAe;QAEf,6EAAqD;QACnD,6GAA8D;QAC9D,8GAEK;QACP,qEAAe;QACf,6EAAwC;QACtC,6GAAmE;QACnE,8GAEK;QACP,qEAAe;QACf,6EAAqC;QACnC,6GAAiE;QACjE,8GAEK;QACP,qEAAe;QACjB,4DAAQ;;QArDA,0DAAwB;QAAxB,qFAAwB;QAWP,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT9B;AACP;;;;;;;;;;;;;;ICFpB,yEAAgD;IACR,uXAAS,qCAA2B,IAAC;IACzE,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,uFACF;;;IAOkB,2EAAsC;IAAA,sEAAW;IAAA,4DAAW;;;IAAC,2EAAqC;IAAA,sEAAW;IAAA,4DAAW;;;;IAMxI,0EAA0E;IAClC,wWAAS,sCAA0B,IAAC;IACxE,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,uFACF;;;IAJJ,sEAAgC;IAC9B,2HAIM;IACR,4DAAM;;;IALe,0DAAc;IAAd,mFAAc;;;;IAVrC,sEAAyB;IAGiB,yXAAS,6BAAkB,IAAC;IAChE,uDAAc;IAAA,8HAA4D;IAAC,8HAA2D;IACxI,4DAAS;IAIX,oHAMM;IACR,4DAAM;;;IAZA,0DAAc;IAAd,sFAAc;IAAW,0DAAyB;IAAzB,wFAAyB;IAAoC,0DAAwB;IAAxB,uFAAwB;IAK5G,0DAAwB;IAAxB,uFAAwB;;;IAjBlC,sEAA0C;IAExC,8GAIM;IAEN,8GAgBM;IAGR,4DAAM;;;IAzBwB,0DAAkB;IAAlB,iFAAkB;IAMxC,0DAAiB;IAAjB,gFAAiB;;ADItB,MAAM,YAAY;IAmBrB,YAAoB,MAAc,EAAU,WAAwB,EAAE,KAAoB,EAC9E,YAA8B,EAAU,UAA0B;QAD1D,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;QACxD,iBAAY,GAAZ,YAAY,CAAkB;QAAU,eAAU,GAAV,UAAU,CAAgB;QAjB9E,qBAAgB,GAAG,EAAE,CAAC;QACtB,2BAAsB,GAAY,IAAI,CAAC;QAEvC,eAAU,GAAW,MAAM,CAAC;QAC5B,kBAAa,GAAW,SAAS,CAAC;QAElC,YAAO,GAAY;YACf,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,SAAS;YACxB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,EAAE;SAChB,CAAC;QAME,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAmB,EAAE,EAAE;YAC1D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE;gBAClD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aAC5B;iBAAM;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aAC5B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QAEJ,0CAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;YACzC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,GAAW;QAEvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAChE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;SACvC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI;QAEP,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxF,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3C;aAAM;YACH,OAAO,UAAU,CAAC;SACrB;IACL,CAAC;IAEM,UAAU;QAEb,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC/D,CAAC;IAEM,cAAc,CAAC,IAAc;QAChC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;IACjD,CAAC;;wEApFQ,YAAY;0GAAZ,YAAY;QClBzB,2FAAiF;QAG7E,oEAAyC;QAGzC,wGA2BM;QAEN,oEAAoC;QACpC,yEAAwB;QAAA,uDAA2B;QAAA,gEAAM;QAAA,uDAAyB;QAAA,4DAAM;QAE1F,uFAAqB;QAEnB,4EAA+B;QAEjC,4DAAsB;;QAzCD,0DAAqB;QAArB,kFAAqB;QAKpB,0DAAoB;QAApB,0FAAoB;QA8BhB,0DAA2B;QAA3B,mGAA2B;QAAM,0DAAyB;QAAzB,iGAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpC5B;AACA;AACF;AACT;AACU;AACM;AACE;AACU;AACX;AACC;AACX;AACH;AAC4B;AACvB;AACuB;AACgB;AACH;AACvB;AACH;AACE;AACH;AACvB;AACe;AACM;AACH;AAC4C;AAC1B;AACO;AACH;AACF;AACH;;AAEtE,SAAS,QAAQ,CAAC,SAA2B;IAClD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;AACzC,CAAC;AAwDM,MAAM,SAAS;;kEAAT,SAAS;uGAAT,SAAS,cAFN,wDAAY;4GApBb;QACP,0EAAgB;QAChB;YACI,OAAO,EAAE,2DAAe;YACxB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,CAAC,0EAAgB,CAAC;SAC3B;QACD;YACI,OAAO,EAAE,oEAAiB;YAC1B,QAAQ,EAAE,yEAAgB;YAC1B,KAAK,EAAE,IAAI;SACd;QACD,0EAAgB;QAChB,+DAAW;QACX;YACI,OAAO,EAAE,oEAAe;YACxB,QAAQ,EAAE,OAAO;SACpB;KACJ,YA9BQ;YACL,qEAAa;YACb,4DAAc;YACd,0FAAuB;YACvB,iEAAgB;YAChB,mEAAgB;YAChB,wDAAW;YACX,gEAAmB;YACnB,mEAAgB;YAChB,qDAAY;SACf;oIAuBQ,SAAS,mBApDd,wDAAY;QACZ,kEAAc;QACd,wEAAgB;QAChB,wGAA0B;QAC1B,sGAAyB;QACzB,+EAAkB;QAClB,4EAAiB;QACjB,8EAAiB;QACjB,2EAAgB;QAChB,yEAAgB;QAChB,sEAAe;QACf,gGAAuB;QACvB,yFAAgB;QAChB,wFAAqB;QACrB,+FAAsB;QACtB,4FAAqB;QACrB,0FAAqB;QACrB,uFAAoB,aAGpB,qEAAa;QACb,4DAAc;QACd,0FAAuB;QACvB,iEAAgB;QAChB,mEAAgB;QAChB,wDAAW;QACX,gEAAmB;QACnB,mEAAgB;QAChB,qDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChEgE;AAEnC;AACY;;;;;;;;;;;;;;;;ICEvD,oEAA4D;;;;IAC5D,yEAAoF;IAAvB,6VAAS,wBAAY,IAAC;IAAC,4DAAK;;;IAGvF,yEAAsD;IAAA,6DAAE;IAAA,4DAAK;;;IAC7D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,8FACF;;;IAGA,yEAAsD;IAAA,oEAAS;IAAA,4DAAK;;;IACpE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,0FACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,sFACF;;;IAIA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,gGACF;;;IAIA,yEAAsD;IAAA,iEAAM;IAAA,4DAAK;;;IACjE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,iGACF;;AD1BD,MAAM,uBAAuB;IAOlC,YAAoB,aAAgC,EAAU,MAAiB;QAA3D,kBAAa,GAAb,aAAa,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAW;QAL/E,eAAU,GAAG,IAAI,uEAAkB,EAAc,CAAC;QAClD,qBAAgB,GAAa,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAIF,CAAC;IAEpF,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,UAAsB;QAE5B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAEzE,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;;8FA3BU,uBAAuB;qHAAvB,uBAAuB;kEAKvB,2DAAO;;;;;QCnBpB,iFAAuD;QAAA,0EAAe;QAAA,4DAAc;QACpF,yEAAuC;QAG/B,mEAAQ;QAAA,4DAAK;QAEjB,2EAAmD;QACjD,iHAA4D;QAC5D,iHAAyF;QAEzF,2EAA0C;QACxC,mHAA6D;QAC7D,mHAEK;QACP,qEAAe;QACf,4EAAsC;QACpC,mHAAoE;QACpE,mHAEK;QACP,qEAAe;QACf,6EAAkC;QAChC,mHAA+D;QAC/D,mHAEK;QACP,qEAAe;QAEf,6EAA4C;QAC1C,mHAA+D;QAC/D,mHAEK;QACP,qEAAe;QAEf,6EAA6C;QAC3C,mHAAiE;QACjE,mHAEK;QACP,qEAAe;QAGjB,4DAAQ;;QAtCiB,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;AD0C1D,MAAM,gBAAgB;IAQ3B,YAA4C,IAAgB,EACnD,SAAyC,EACxC,EAAe,EACf,aAAgC,EAChC,QAAqB;QAJa,SAAI,GAAJ,IAAI,CAAY;QACnD,cAAS,GAAT,SAAS,CAAgC;QACxC,OAAE,GAAF,EAAE,CAAa;QACf,kBAAa,GAAb,aAAa,CAAmB;QAChC,aAAQ,GAAR,QAAQ,CAAa;QAV/B,mBAAc,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxC,iBAAiB,EAAE,EAAE;YACrB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAWD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;SACxC,CAAC,CAAC;IAEL,CAAC;IAED,WAAW;QAET,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QAElF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,EACC,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;gFAjDU,gBAAgB,kEAQP,qEAAe;8GARxB,gBAAgB;QElD7B,wEAAqB;QAAA,kEAAO;QAAA,4DAAK;QACjC,wFAA2C;QAMjC,sEAA4E;QAC9E,4DAAiB;QACjB,iFAAgB;QACd,sEAAmE;QACrE,4DAAiB;QACjB,kFAAgB;QACd,uEAAuE;QACzE,4DAAiB;QAMzB,yFAAgC;QACJ,yIAAS,iBAAa,IAAC;QAAiB,qEAAS;QAAA,4DAAS;QACpF,8EAA4C;QAAzB,yIAAS,kBAAc,IAAC;QAAC,qEAAS;QAAA,4DAAS;;QAnBtD,0DAA4B;QAA5B,yFAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCI;AAG+B;;;;;;;;;;;;;;;;;;;;;;ICAnE,+EAAqD;IAAA,+DAAI;IAAA,4DAAW;;;IA2F5D,iFAAoD;IAAA,uDAAO;IAAA,4DAAa;;;IAAhC,uEAAW;IAAC,0DAAO;IAAP,qEAAO;;;;IAgBvD,qEAAwF;IACtF,4EAAoC;IAElC,qEAAI;IAEA,uEAAuE;IACzE,4DAAiB;IACjB,6EAA4D;IAApC,wVAAS,qCAAyB,IAAC;IACzD,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAIhC,qEAAe;IACjB,4DAAK;;;IAZW,0DAAqB;IAArB,2FAAqB;;;;IAyCrC,qEAA2F;IACzF,4EAAoC;IAElC,qEAAI;IAEA,uEAAiF;IACnF,4DAAiB;IACjB,6EAAsE;IAA9C,yVAAS,+CAAmC,IAAC;IACnE,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAIhC,qEAAe;IACjB,4DAAK;;;IAZW,0DAAqB;IAArB,2FAAqB;;;;IA0CrC,qEAAuF;IACrF,4EAAoC;IAElC,qEAAI;IAEA,uEAAyE;IAC3E,4DAAiB;IACjB,6EAA2D;IAAnC,yVAAS,oCAAwB,IAAC;IACxD,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAIhC,qEAAe;IACjB,4DAAK;;;IAZW,0DAAqB;IAArB,2FAAqB;;;IAwCjD,+EAA4D;IAAA,+DAAI;IAAA,4DAAW;;;;IAqBnE,qEAAgF;IAC9E,4EAAoC;IAElC,qEAAI;IAEA,uEAAwE;IAC1E,4DAAiB;IAEnB,qEAAI;IAEA,uEAA4D;IAC9D,4DAAiB;IAEnB,qEAAI;IAEA,wEAAiG;IAGnG,4DAAiB;IAEnB,sEAAI;IAEA,wEAAkG;IAGpG,4DAAiB;IAEnB,sEAAI;IACsB,uWAAS,gCAAoB,IAAC;IACpD,4EAAU;IAAA,iEAAK;IAAA,4DAAW;IAGhC,qEAAe;IACjB,4DAAK;;;;;IAhCW,0DAAqB;IAArB,2FAAqB;IAcb,0DAA2B;IAA3B,+EAA2B;IACV,0DAAiB;IAAjB,qEAAiB;IAMlC,0DAA2B;IAA3B,+EAA2B;IACV,0DAAiB;IAAjB,qEAAiB;;;;IAhDtE,8EAAoE;IAE5D,yEAAc;IAAA,4DAAK;IACvB,4EAAgI;IAAtF,sSAAS,wBAAgB,IAAC;IAA4D,kEAAO;IAAA,4DAAS;IAChJ,kIAA2E;IAC7E,4DAAM;IAEN,yEAA2B;IAQc,uEAAW;IAAA,4DAAK;IAC7C,0EAA6B;IAAA,iEAAK;IAAA,4DAAK;IACvC,0EAA6B;IAAA,sEAAU;IAAA,4DAAK;IAC5C,0EAA6B;IAAA,sEAAU;IAAA,4DAAK;IAC5C,iEAAS;IACX,4DAAK;IAIP,6EAA+B;IAC7B,0HAiCK;IACP,4DAAQ;IAGZ,2EAAoC;IAOxB,wEAAwE;IAC1E,4DAAiB;IAEnB,sEAAI;IAEA,wEAA4D;IAC9D,4DAAiB;IAEnB,sEAAI;IAEA,wEAAiG;IAGnG,4DAAiB;IAEnB,sEAAI;IAEA,wEAAkG;IAGpG,4DAAiB;IAEnB,sEAAI;IACsB,uSAAS,kCAAkB,IAAC;IAClD,4EAAU;IAAA,wEAAY;IAAA,4DAAW;;;;;IA1FsB,0DAAqC;IAArC,qGAAqC;IAC7E,0DAA6B;IAA7B,gGAA6B;IAOlD,0DAA+B;IAA/B,+FAA+B;IAcb,2DAA8C;IAA9C,qHAA8C;IAqChE,0DAA6B;IAA7B,6FAA6B;IAiBP,2DAA2B;IAA3B,+EAA2B;IACV,0DAAiB;IAAjB,qEAAiB;IAMlC,0DAA2B;IAA3B,+EAA2B;IACV,0DAAiB;IAAjB,qEAAiB;;ADnT/D,MAAM,eAAe;IAe1B,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,SAAwB,EACxB,WAA4B,EAC5B,QAAqB;QALrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,cAAS,GAAT,SAAS,CAAe;QACxB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,aAAQ,GAAR,QAAQ,CAAa;QAlB/B,eAAU,GAAc,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtD,cAAS,GAAa,EAAE,CAAC;QAIzB,sBAAiB,GAAc,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACnE,oBAAe,GAAc,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAaxD,CAAC;IAEL,QAAQ;QAEN,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE;YAEb,IAAI,CAAC,MAAM,GAAG,IAAI,kDAAM,EAAE,CAAC;YAE3B,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,CAC3B,CAAC,CAAC,EAAE;gBACF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,CACF;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACtD,SAAS,CAAC,CAAC,CAAC,EAAE;gBAEb,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,CAC3B,CAAC,CAAC,EAAE;oBACF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEvD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBAClD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;wBACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;oBAC5D,CAAC,CAAC,CAAC;gBACL,CAAC,CACF;YAEH,CAAC,CAAC,CAAC;SACN;IAEH,CAAC;IAED,YAAY;QAEV,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAChC,uDAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACf,yDAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACxB,qDAAK,CAAC,MAAM,CAAC,EACb,mDAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAW,CAAC,EACrB,uDAAO,EAAE,CACV,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,MAAc;QAE/B,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACjD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACjD,2BAA2B,EAAE,CAAC,EAAE,CAAC;gBACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,4BAA4B,EAAE,CAAC,SAAS,CAAC;gBACzC,2BAA2B,EAAE,CAAC,SAAS,CAAC;gBACxC,qBAAqB,EAAE,CAAC,OAAO,CAAC;gBAChC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBAC3B,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACtB,gCAAgC,EAAE,CAAC,IAAI,CAAC;gBACxC,kBAAkB,EAAE,CAAC,KAAK,CAAC;gBAC3B,WAAW,EAAE,CAAC,IAAI,CAAC;gBACnB,sBAAsB,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC;aAG/D,CAAC,CAAC;SACJ;aAAM;YAEL,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3B,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC/B,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzB,mBAAmB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC;gBACjD,iBAAiB,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAC7C,aAAa,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChD,2BAA2B,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;gBACjE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpF,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjF,4BAA4B,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC;gBACnE,2BAA2B,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;gBACjE,qBAAqB,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACrD,sBAAsB,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBACvD,iBAAiB,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAC7C,gCAAgC,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC;gBAC3E,kBAAkB,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBAC/C,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;gBACjC,sBAAsB,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAErG,CAAC,CAAC;SAEJ;IACH,CAAC;IAED,mBAAmB,CAAC,IAAc;QAEhC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sBAAsB,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEf,MAAM,QAAQ,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;QACpF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IAEH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAc,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IACH,CAAC;IAED,6BAA6B,CAAC,IAAc;QAE1C,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5B,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gCAAgC,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAc,CAAC;QACvF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IAEH,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;YACjH,MAAM,QAAQ,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAc,CAAC;YACvF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,4BAA4B,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAElH,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IACH,CAAC;IAGD,kBAAkB,CAAC,OAAiB;QAElC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAED,qBAAqB,CAAC,CAAC;QAErB,MAAM,WAAW,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAc,CAAC;QACtF,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IAEH,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,EAAE;YACnG,MAAM,WAAW,GAAc,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAc,CAAC;YACtF,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEnG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;SACjC;IACH,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YAE3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;aACvD;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,aAAa,GAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAExF,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,gCAAgC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC;YACtG,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,2BAA2B,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,4BAA4B,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC;YAE9F,MAAM,IAAI,GAAa,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAgC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEjD,MAAM,cAAc,GAAa,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,sBAAmC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,sBAAsB,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE9D,MAAM,OAAO,GAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kBAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YACpC,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC;YACnE,CAAC,CAAC;SAEL;IAEH,CAAC;IAED,wBAAwB,CAAC,aAA6B;QAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEzC,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAChC,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;oBAClC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;oBAChB,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxB,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;iBAC3B,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QAErB,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,CAAC,CAAC;YACnB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,SAAS,EAAE,CAAC,YAAY,CAAC;YACzB,UAAU,EAAE,CAAC,YAAY,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAElC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAc,CAAC;YAC7E,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAChC,IAAI,CAAC,CAAC,OAAO,EAAE;oBAEb,MAAM,EAAE,GAAiB;wBACvB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc;wBACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;wBAC1B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW;wBAChC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;wBACpB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;wBAC5B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU;qBAC/B,CAAC;oBAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;iBAEJ;YACH,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAE5B,MAAM,gBAAgB,GAAmB,YAAY,CAAC,KAAuB,CAAC;YAC9E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAE7B,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;oBACjF,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,eAAe;QAEb,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAc,CAAC;QAE7E,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,cAAc,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3D,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;YACrD,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;YACzC,SAAS,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;YACjD,UAAU,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;SACpD,CAAC,CAAC;QAEH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,WAAW,CAAC,WAAW,EAAE,CAAC;QAE1B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAEvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,CAAkB;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAc,CAAC;QAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;SACxC;IACH,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;8EAlZU,eAAe;6GAAf,eAAe;;;;;;;;;;QChB5B,iFAAqD;QAAA,wEAAa;QAAA,4DAAc;QAEhF,yEAAuC;QAIS,uIAAS,mBAAe,IAAC;QAAqD,kEAAO;QAAA,4DAAS;QACxI,qHAAoE;QACtE,4DAAM;QAEN,yEAA2B;QAKnB,uEAAkE;QACpE,4DAAiB;QACjB,kFAAgB;QACd,wEAAgE;QAClE,4DAAiB;QAEjB,kFAAgB;QAEe,4EAAgB;QAAA,4DAAa;QACxD,kFAA4B;QAAA,iFAAqB;QAAA,4DAAa;QAGlE,kFAAgB;QAEe,sEAAU;QAAA,4DAAa;QAClD,kFAA4B;QAAA,yEAAa;QAAA,4DAAa;QAI1D,kFAAgB;QAEiB,oEAAQ;QAAA,4DAAa;QAClD,kFAAuC;QAAA,8EAAkB;QAAA,4DAAa;QACtE,kFAAuC;QAAA,8EAAkB;QAAA,4DAAa;QAI1E,kFAAgB;QACd,wEAAsG;QACxG,4DAAiB;QAEjB,kFAAgB;QAEY,mEAAO;QAAA,4DAAa;QAC5C,kFAAwB;QAAA,oEAAQ;QAAA,4DAAa;QAIjD,kFAAgB;QAEY,iEAAK;QAAA,4DAAa;QAC1C,kFAAwB;QAAA,uEAAW;QAAA,4DAAa;QAIpD,kFAAgB;QACd,wEAAwH;QAC1H,4DAAiB;QAEjB,kFAAgB;QACd,wEAAsH;QACxH,4DAAiB;QAEjB,kFAAgB;QACd,wEAA0G;QAC5G,4DAAiB;QAGjB,kFAAgB;QAEe,4EAAgB;QAAA,4DAAa;QACxD,kFAA4B;QAAA,iFAAqB;QAAA,4DAAa;QAIlE,kFAAgB;QAEe,sEAAU;QAAA,4DAAa;QAClD,kFAA4B;QAAA,0EAAc;QAAA,4DAAa;QAI3D,kFAAgB;QAEe,wEAAY;QAAA,4DAAa;QACpD,kFAA4B;QAAA,6EAAiB;QAAA,4DAAa;QAK9D,kFAAgB;QACH,0EAAc;QAAA,4DAAY;QACrC,kFAAqD;QACnD,4HAAwE;QAE1E,4DAAa;QAGf,+EAAkC;QAKK,qFAAyB;QAAA,4DAAK;QAK/D,6EAA2C;QACzC,4GAaK;QAGP,4DAAQ;QAKZ,2EAA2B;QAEvB,4EAAoD;QACtD,4DAAiB;QACjB,8EAAqD;QAA7B,wIAAS,sBAAkB,IAAC;QAClD,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QAKvC,+EAAkC;QAKK,uFAA0B;QAAA,4DAAK;QAKhE,8EAA8C;QAC5C,8GAaK;QAGP,4DAAQ;QAKZ,4EAA2B;QAEvB,6EAA8D;QAChE,4DAAiB;QACjB,+EAA+D;QAAvC,yIAAS,gCAA4B,IAAC;QAC5D,6EAAU;QAAA,yEAAY;QAAA,4DAAW;QAMvC,gFAAkC;QAKK,oFAAuB;QAAA,4DAAK;QAK7D,8EAA0C;QACxC,8GAaK;QAGP,4DAAQ;QAKZ,4EAA2B;QAEvB,6EAA0D;QAC5D,4DAAiB;QACjB,+EAAwD;QAAhC,yIAAS,yBAAqB,IAAC;QACrD,6EAAU;QAAA,yEAAY;QAAA,4DAAW;QAW/C,2HA6GW;QACb,4DAAM;;QApVoE,0DAA8B;QAA9B,2FAA8B;QACrE,0DAAsB;QAAtB,sFAAsB;QAI7C,0DAAwB;QAAxB,qFAAwB;QAYV,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAKf,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAkBf,2DAAW;QAAX,oEAAW;QACX,0DAAW;QAAX,oEAAW;QAMX,0DAAW;QAAX,oEAAW;QACX,0DAAW;QAAX,oEAAW;QAmBX,2DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAMf,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAMf,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAQD,0DAAY;QAAZ,kFAAY;QAgBhB,0DAAsD;QAAtD,0HAAsD;QA0CtD,2DAAyD;QAAzD,6HAAyD;QA2CzD,2DAAqD;QAArD,yHAAqD;QAqCpD,0DAA+B;QAA/B,mGAA+B;;;;;;;;;;;;;;;;;;;;;;;;;AC3OnB;AACY;;;;;;;;;;ICIzD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,oVAAS,sBAAY,IAAC;IAAmB,4DAAK;;;IAGzG,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,0FACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,4FACF;;;IAGA,yEAAsD;IAAA,iEAAM;IAAA,4DAAK;;;IACjE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yFACF;;ADZC,MAAM,gBAAgB;IAQ3B,YAAoB,SAAwB,EAAU,MAAc;QAAhD,cAAS,GAAT,SAAS,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QANpE,eAAU,GAAG,IAAI,uEAAkB,EAAU,CAAC;QAC9C,qBAAgB,GAAa,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAKK,CAAC;IAEzE,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;;gFAxBU,gBAAgB;8GAAhB,gBAAgB;kEAKhB,2DAAO;;;;;QClBpB,iFAAsD;QAAA,yEAAc;QAAA,4DAAc;QAClF,yEAAuC;QAEX,wIAAS,qBAAiB,IAAC;QAAkD,2EAAgB;QAAA,4DAAS;QAEhI,2EAAmD;QACjD,0GAA4D;QAC5D,0GAA2G;QAE3G,2EAAsC;QACpC,0GAAmE;QACnE,4GAEK;QACP,qEAAe;QACf,4EAAwC;QACtC,4GAA+D;QAC/D,4GAEK;QACP,qEAAe;QACf,6EAAqC;QACnC,4GAAiE;QACjE,4GAEK;QACP,qEAAe;QACjB,4DAAQ;;QAtBiB,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;;;;;;;;;;;;;;;ICMzD,+EAAiD;IAAA,+DAAI;IAAA,4DAAW;;ADK/D,MAAM,qBAAqB;IAKhC,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,eAAuC,EACvC,QAAqB;QAJrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,oBAAe,GAAf,eAAe,CAAwB;QACvC,aAAQ,GAAR,QAAQ,CAAa;QAP/B,WAAM,GAAc,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAQ1C,CAAC;IAEL,QAAQ;QACN,IAAI,iBAAiB,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAE7E,IAAI,CAAC,iBAAiB,EAAE;YAEtB,IAAI,CAAC,EAAE,GAAG,IAAI,uEAAe,EAAE,CAAC;YAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAE5C;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;iBAClD,SAAS,CAAC,CAAC,CAAC,EAAE;gBACb,IAAI,CAAC,EAAE,GAAG,CAAC;gBACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE7C,CAAC,CAAC,CAAC;SACN;IAEH,CAAC;IAGD,cAAc,CAAC,EAAmB;QAEhC,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC,EAAE,CAAC;aAClB,CAAC,CAAC;SACJ;aAAM;YAEL,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACzC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACf,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;gBACzB,aAAa,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC;gBACjC,WAAW,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC;aAC9B,CAAC,CAAC;SAEJ;IACH,CAAC;IAED,aAAa;QAGX,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAEvB,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAChD,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YACxD,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;YAEpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAE/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;oBAC9B,IAAI,CAAC,EAAE,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;iBACjD;gBAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,4CAA4C,CAAC,CAAC;YAC3E,CAAC,CAAC;SAEL;IAEH,CAAC;IAED,iBAAiB;QAEf,IAAI,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE7C,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE;YACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC7C,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,gDAAgD,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IACD,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;0FA1GU,qBAAqB;mHAArB,qBAAqB;QCZlC,4EAA0E;QAE1E,yEAAuC;QAIS,6IAAS,mBAAe,IAAC;QAAiD,kEAAO;QAAA,4DAAS;QACpI,2HAAgE;QAEhE,4EAA6I;QAAtG,6IAAS,uBAAmB,IAAC;QAAyE,sEAAW;QAAA,4DAAS;QAInK,yEAA2B;QAKnB,wEAA8E;QAChF,4DAAiB;QACjB,kFAAgB;QACd,wEAAmE;QACrE,4DAAiB;QACjB,kFAAgB;QACd,wEAA6E;QAC/E,4DAAiB;QACjB,kFAAgB;QACd,wEAA4E;QAC9E,4DAAiB;QACjB,kFAAgB;QACd,wEAAkF;QACpF,4DAAiB;;QAzB+C,0DAA0B;QAA1B,uFAA0B;QACjE,0DAAkB;QAAlB,kFAAkB;QAEsB,0DAAkD;QAAlD,mHAAkD;QAKjH,0DAAoB;QAApB,iFAAoB;;;;;;;;;;;;;;;;;;;;;;;;;ACXiB;AACY;;;;;;;;;;ICEzD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,0VAAS,sBAAY,IAAC;IAAmB,4DAAK;;;IAGzG,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,sFACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,2FACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,6FACF;;ADbC,MAAM,sBAAsB;IAOjC,YACU,eAAuC,EACvC,MAAc;QADd,oBAAe,GAAf,eAAe,CAAwB;QACvC,WAAM,GAAN,MAAM,CAAQ;QAPxB,eAAU,GAAG,IAAI,uEAAkB,EAAmB,CAAC;QACvD,qBAAgB,GAAa,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAO7D,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IACM,OAAO,CAAC,EAAmB;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5C,CAAC;;4FAxBU,sBAAsB;oHAAtB,sBAAsB;kEAKtB,2DAAO;;;;;QCjBpB,4EAA4E;QAC5E,yEAAuC;QAEX,8IAAS,qBAAiB,IAAC;QAAkD,kFAAuB;QAAA,4DAAS;QAEvI,2EAAmD;QACjD,gHAA4D;QAC5D,gHAA2G;QAE3G,2EAAkC;QAChC,gHAA+D;QAC/D,gHAEK;QACP,qEAAe;QACf,4EAAsC;QACpC,kHAAmE;QACnE,kHAEK;QACP,qEAAe;QACf,6EAAyC;QACvC,kHAAmE;QACnE,kHAEK;QACP,qEAAe;QAEjB,4DAAQ;;QAvBiB,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHV;;;;;;;;;;;;;;;;;ICG/C,+EAAqD;IAAA,+DAAI;IAAA,4DAAW;;;IAsBhE,qFAAsE;IACpE,uEAAuF;IACzF,4DAAiB;;;IACjB,iFAA6C;IAC3C,uEAA4E;IAC9E,4DAAiB;;ADtBpB,MAAM,oBAAoB;IAO/B,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,cAAkC,EAClC,QAAqB;QAJrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAoB;QAClC,aAAQ,GAAR,QAAQ,CAAa;QAT/B,eAAU,GAAc,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAUlD,CAAC;IAEL,QAAQ;QAEN,MAAM,aAAa,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;QAEvE,IAAI,CAAC,aAAa,EAAE;YAElB,IAAI,CAAC,MAAM,GAAG,IAAI,6DAAW,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAEtC;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBAC7C,SAAS,CAAC,CAAC,CAAC,EAAE;gBACb,IAAI,CAAC,MAAM,GAAG,CAAC;gBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzD,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,kBAAkB,CAAC,KAAkB;QAEnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,MAAM,EAAE,CAAC,EAAE,CAAC;aACb,CAAC,CAAC;SACJ;aAAM;YAEL,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;gBACpC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;gBACxB,WAAW,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;gBAChC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aACvB,CAAC,CAAC;SAEJ;IACH,CAAC;IAED,aAAa;QAEX,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;YAElD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAElD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;YACrE,CAAC,CAAC;SACL;IACH,CAAC;IAED,iBAAiB;QAEf,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE/C,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YACxC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACzC,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,WAAW;QAET,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC7D,SAAS,CAAC,CAAC,CAAC,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,EACC,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACT,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;wFAjHU,oBAAoB;kHAApB,oBAAoB;;;;;;QCZjC,4EAAmE;QAEnE,yEAAuC;QAIS,4IAAS,mBAAe,IAAC;QAAqD,kEAAO;QAAA,4DAAS;QACxI,0HAAoE;QAEpE,4EAAiJ;QAA1G,4IAAS,uBAAmB,IAAC;QAA6E,sEAAW;QAAA,4DAAS;QAErK,4EAA0J;QAAnH,4IAAS,iBAAa,IAAC;QAA4F,uEAAW;QAAA,4DAAS;QAIhL,0EAA2B;QAKnB,wEAAmF;QACrF,4DAAiB;QACjB,kFAAgB;QACd,4EAA8E;QAChF,4DAAiB;QAEjB,wFAAoD;QAAA,kEAAM;QAAA,4DAAmB;QAG7E,yIAEiB;QACjB,yIAEiB;QAEnB,4DAAM;;QA9B4D,0DAA8B;QAA9B,2FAA8B;QACrE,0DAAsB;QAAtB,sFAAsB;QAEkB,0DAAsD;QAAtD,uHAAsD;QAE5D,0DAAqE;QAArE,oIAAqE;QAK9H,0DAAwB;QAAxB,qFAAwB;QAagB,0DAA0B;QAA1B,0FAA0B;QAGnD,0DAA0B;QAA1B,0FAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BJ;AACY;;;;;;;;;;;;;;ICgBzD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,4VAAS,wBAAY,IAAC;IAAmB,4DAAK;;;IAIzG,yEAAsD;IAAA,6DAAE;IAAA,4DAAK;;;IAC7D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,+FACF;;;IAIA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,sFACF;;;IAGA,yEAAsD;IAAA,uEAAY;IAAA,4DAAK;;;IACvE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yFACF;;;IAGA,yEAAsD;IAAA,iEAAM;IAAA,4DAAK;;;IACjE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,wFACF;;ADhCC,MAAM,qBAAqB;IAQhC,YACU,cAAkC,EAClC,MAAc,EACd,EAAe;QAFf,mBAAc,GAAd,cAAc,CAAoB;QAClC,WAAM,GAAN,MAAM,CAAQ;QACd,OAAE,GAAF,EAAE,CAAa;QATzB,eAAU,GAAG,IAAI,uEAAkB,EAAe,CAAC;QACnD,qBAAgB,GAAa,CAAC,eAAe,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3E,eAAU,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAQlD,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,KAAoB,EAAE,IAAa,EAAE,EAAE;gBACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,CAAc,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;oBACvC,QAAQ,IAAI,CAAC,MAAM,EAAE;wBACnB,KAAK,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBACpF,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACzD,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;wBAC9E,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC/E,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAClE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;qBACnB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAc;QAC3C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAc;QAC3C,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,OAAO,CAAC,CAAc;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,eAAe;QACb,MAAM,YAAY,GAAW,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAExD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACrD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,CAAS,EAAE,CAAS,EAAE,KAAc;QAChD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;;0FA9DU,qBAAqB;mHAArB,qBAAqB;kEAOrB,2DAAO;;;;;QCpBpB,4EAAoE;QACpE,yEAAuC;QAEX,6IAAS,qBAAiB,IAAC;QAAkD,2EAAgB;QAAA,4DAAS;QAEhI,sEAAK;QAG6B,+IAAS,qBAAiB,IAAC;QAAW,iEAAM;QAAA,4DAAW;QACnF,2EAC2D;QAA7B,8IAAU,qBAAiB,IAAC;QAD1D,4DAC2D;QAOjE,4EAAmD;QACjD,iHAA4D;QAC5D,iHAA2G;QAG3G,4EAA2C;QACzC,kHAA6D;QAC7D,kHAEK;QACP,qEAAe;QAEf,6EAAkC;QAChC,kHAA+D;QAC/D,kHAEK;QACP,qEAAe;QACf,6EAAqC;QACnC,kHAAuE;QACvE,kHAEK;QACP,qEAAe;QACf,6EAAoC;QAClC,kHAAiE;QACjE,kHAEK;QACP,qEAAe;QAEjB,4DAAQ;;QA1CA,0DAAwB;QAAxB,qFAAwB;QAWP,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBK;;;;;;;;;;;;;;;;;ICGhE,+EAA+D;IAAA,+DAAI;IAAA,4DAAW;;ADQ3E,MAAM,yBAAyB;IAKpC,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,mBAA4C,EAC5C,QAAqB;QAJrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,wBAAmB,GAAnB,mBAAmB,CAAyB;QAC5C,aAAQ,GAAR,QAAQ,CAAa;IAE3B,CAAC;IAEL,QAAQ;QAEN,IAAI,kBAAkB,GAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAEhF,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,kBAAkB,CAAC;iBAC/C,SAAS,CAAC,CAAC,CAAmB,EAAE,EAAE;gBACjC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvE,CAAC,CAAC;SACL;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG;gBACtB,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,EAAE,QAAQ;gBAC5B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,EAAE;gBAChB,eAAe,EAAE,EAAE;gBACnB,WAAW,EAAE,EAAE;gBACf,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACtE;IAEH,CAAC;IAED,YAAY,CAAC,GAAqB;QAChC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC5C,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,+DAAmB,CAAC;YAC3C,kBAAkB,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,+DAAmB,CAAC;YACjE,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,+DAAmB,CAAC;YAC7C,YAAY,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,+DAAmB,CAAC;YACrD,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;YAC9B,eAAe,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;YACtC,kBAAkB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC5C,eAAe,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;YACtC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC3B,CAAC,CAAC;IACH,CAAC;IAED,aAAa;QAEX,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QAEnD,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;YACxE,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC9F,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC1E,IAAI,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC;YAClF,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;YAChF,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC;YACxF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC9F,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC;YACxF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC;YAE1E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACjE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;YAC9C,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;SAEN;IAEH,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;kGA9FU,yBAAyB;uHAAzB,yBAAyB;QCbtC,iFAA+D;QAAA,kFAAuB;QAAA,4DAAc;QAEpG,yEAAuC;QAEO,iJAAS,mBAAe,IAAC;QAA+D,kEAAO;QAAA,4DAAS;QAClJ,+HAA8E;QAChF,4DAAM;QACN,8EAAkC;QAK1B,uEAA2F;QAE3F,kFAAgB;QACd,wEAA6D;QAC/D,4DAAiB;QACjB,kFAAgB;QAEe,kEAAM;QAAA,4DAAa;QAC9C,kFAA+B;QAAA,sEAAU;QAAA,4DAAa;QACtD,kFAA8B;QAAA,qEAAS;QAAA,4DAAa;QACpD,kFAAkC;QAAA,yEAAa;QAAA,4DAAa;QAIhE,kFAAgB;QACd,wEAAmE;QACrE,4DAAiB;QACjB,kFAAgB;QACd,wEAA2E;QAC7E,4DAAiB;QACjB,kFAAgB;QACd,wEAAgF;QAClF,4DAAiB;QACjB,kFAAgB;QACd,wEAAyE;QAC3E,4DAAiB;QAGjB,kFAAgB;QACd,wEAAsF;QACxF,4DAAiB;QACjB,kFAAgB;QAEe,sFAA0B;QAAA,4DAAa;QAClE,kFAA4B;QAAA,2FAA+B;QAAA,4DAAa;QAG5E,kFAAgB;QAEe,8DAAE;QAAA,4DAAa;QAC1C,kFAA4B;QAAA,+DAAG;QAAA,4DAAa;;QAhDc,0DAAwC;QAAxC,qGAAwC;QAC/E,0DAAgC;QAAhC,gGAAgC;QAIrD,0DAAkC;QAAlC,+FAAkC;QAoCpB,2DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;QAKf,0DAAc;QAAd,uEAAc;QACd,0DAAe;QAAf,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;ACnDQ;AACY;;;;;;;;;;ICIzD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,gWAAS,wBAAY,IAAC;IAAmB,4DAAK;;;IAGzG,yEAAsD;IAAA,6DAAE;IAAA,4DAAK;;;IAC7D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,oGACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yFACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,oGACF;;;IAGA,yEAAsD;IAAA,mEAAQ;IAAA,4DAAK;;;IACnE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,6FACF;;;IAGA,yEAAsD;IAAA,iEAAM;IAAA,4DAAK;;;IACjE,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,0FACF;;ADzBC,MAAM,0BAA0B;IAQrC,YAAoB,mBAA4C,EAAU,MAAc;QAApE,wBAAmB,GAAnB,mBAAmB,CAAyB;QAAU,WAAM,GAAN,MAAM,CAAQ;QANxF,eAAU,GAAG,IAAI,uEAAkB,EAAoB,CAAC;QACxD,qBAAgB,GAAa,CAAC,oBAAoB,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAC,UAAU,CAAE,CAAC;IAKpB,CAAC;IAE7F,QAAQ;QAEN,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;;oGAxBU,0BAA0B;wHAA1B,0BAA0B;kEAK1B,2DAAO;;;;;QCjBpB,iFAAgE;QAAA,mFAAwB;QAAA,4DAAc;QACtG,yEAAuC;QAEX,kJAAS,qBAAiB,IAAC;QAAkD,qFAA0B;QAAA,4DAAS;QAE1I,2EAAmD;QACjD,oHAA4D;QAC5D,oHAA2G;QAE3G,2EAAgD;QAC9C,oHAA6D;QAC7D,sHAEK;QACP,qEAAe;QACf,4EAAqC;QACnC,sHAA+D;QAC/D,sHAEK;QACP,qEAAe;QACf,6EAAgD;QAC9C,sHAA+D;QAC/D,sHAEK;QACP,qEAAe;QACf,6EAAyC;QACvC,sHAAmE;QACnE,sHAEK;QACP,qEAAe;QACf,6EAAsC;QACpC,sHAAiE;QACjE,sHAEK;QACP,qEAAe;QACjB,4DAAQ;;QAlCiB,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLQ;AACd;AACa;AACX;AACa;AACjB;AACQ;AACN;AACqB;AACX;AACR;AACE;AACI;AACD;AACT;AACE;AACF;AACA;AACU;AACK;AACQ;AACrB;AACE;AACE;AACS;AACX;AACK;AACT;AACM;AACJ;AACF;AACM;AACA;AACN;;AA8EhD,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GA3EhB;YACP,iFAAqB;YACrB,mEAAc;YACd,gFAAoB;YACpB,qEAAe;YACf,kFAAqB;YACrB,iEAAa;YACb,yEAAiB;YACjB,mEAAc;YACd,6EAAmB;YACnB,sEAAe;YACf,wEAAgB;YAChB,4EAAkB;YAClB,2EAAiB;YACjB,kEAAa;YACb,oEAAc;YACd,kEAAa;YACb,kEAAa;YACb,wEAAmB;YACnB,4EAAkB;YAClB,iFAAoB;YACpB,yFAAwB;YACxB,oEAAc;YACd,oEAAe;YACf,sEAAe;YACf,wEAAgB;YAChB,sEAAe;YACf,iFAAoB;YACpB,2EAAiB;YACjB,kEAAa;YACb,wEAAgB;YAChB,oEAAc;YACd,kEAAa;YACb,wEAAgB;YAChB,wEAAgB;YAChB,kEAAa;SACd,EAEC,iFAAqB;QACrB,mEAAc;QACd,gFAAoB;QACpB,qEAAe;QACf,kFAAqB;QACrB,iEAAa;QACb,yEAAiB;QACjB,mEAAc;QACd,6EAAmB;QACnB,sEAAe;QACf,wEAAgB;QAChB,4EAAkB;QAClB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,kEAAa;QACb,wEAAmB;QACnB,4EAAkB;QAClB,iFAAoB;QACpB,yFAAwB;QACxB,oEAAc;QACd,oEAAe;QACf,sEAAe;QACf,wEAAgB;QAChB,sEAAe;QACf,iFAAoB;QACpB,2EAAiB;QACjB,kEAAa;QACb,wEAAgB;QAChB,oEAAc;QACd,kEAAa;QACb,wEAAgB;QAChB,wEAAgB;QAChB,kEAAa;mIAGJ,cAAc,cA1EvB,iFAAqB;QACrB,mEAAc;QACd,gFAAoB;QACpB,qEAAe;QACf,kFAAqB;QACrB,iEAAa;QACb,yEAAiB;QACjB,mEAAc;QACd,6EAAmB;QACnB,sEAAe;QACf,wEAAgB;QAChB,4EAAkB;QAClB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,kEAAa;QACb,wEAAmB;QACnB,4EAAkB;QAClB,iFAAoB;QACpB,yFAAwB;QACxB,oEAAc;QACd,oEAAe;QACf,sEAAe;QACf,wEAAgB;QAChB,sEAAe;QACf,iFAAoB;QACpB,2EAAiB;QACjB,kEAAa;QACb,wEAAgB;QAChB,oEAAc;QACd,kEAAa;QACb,wEAAgB;QAChB,wEAAgB;QAChB,kEAAa,aAGb,iFAAqB;QACrB,mEAAc;QACd,gFAAoB;QACpB,qEAAe;QACf,kFAAqB;QACrB,iEAAa;QACb,yEAAiB;QACjB,mEAAc;QACd,6EAAmB;QACnB,sEAAe;QACf,wEAAgB;QAChB,4EAAkB;QAClB,2EAAiB;QACjB,kEAAa;QACb,oEAAc;QACd,kEAAa;QACb,kEAAa;QACb,wEAAmB;QACnB,4EAAkB;QAClB,iFAAoB;QACpB,yFAAwB;QACxB,oEAAc;QACd,oEAAe;QACf,sEAAe;QACf,wEAAgB;QAChB,sEAAe;QACf,iFAAoB;QACpB,2EAAiB;QACjB,kEAAa;QACb,wEAAgB;QAChB,oEAAc;QACd,kEAAa;QACb,wEAAgB;QAChB,wEAAgB;QAChB,kEAAa;;;;;;;;;;;;;;;;AC9GV,MAAM,UAAU;CAOtB;;;;;;;;;;;;;;;;ACPM,MAAM,MAAM;IACjB;QACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;CA0CF;;;;;;;;;;;;;;;;AC/CM,MAAM,eAAe;CAM3B;;;;;;;;;;;;;;;;ACNM,MAAM,WAAW;CAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHgG;;;;;;;;;;;;;;;;;;;ICI3F,2EAAqC;IAAA,+DAAI;IAAA,4DAAW;;;;IAwC9C,qEAA6E;IAC3E,4EAAoC;IAClC,yEAAgB;IAEZ,uEAA0D;IAC5D,4DAAiB;IAEnB,yEAAgB;IAEZ,uEAAwE;IAC1E,4DAAiB;IAEnB,yEAAgB;IAGc,oEAAQ;IAAA,4DAAa;IAC7C,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IAI9C,0EAAgB;IACU,wVAAS,6BAAmB,IAAC;IACnD,4EAAU;IAAA,iEAAK;IAAA,4DAAW;IAGhC,qEAAe;IACjB,4DAAK;;;IAzBW,0DAAqB;IAArB,0FAAqB;IAcf,2DAAW;IAAX,oEAAW;IACX,0DAAW;IAAX,oEAAW;;;;IA0DvC,sEAAkC;IAChC,uDAAgB;IAAA,6EAAwD;IAAhC,2VAAS,iCAAqB,IAAC;IACrE,2EAAU;IAAA,iEAAM;IAAA,4DAAW;;;IAD7B,0DAAgB;IAAhB,sFAAgB;;;IAMlB,oEAAmC;IAAA,4FAAiC;IAAA,4DAAI;;;IAOpE,iFAAuE;IACrE,uDACF;IAAA,4DAAa;;;IAFmC,mFAAsB;IACpE,0DACF;IADE,uFACF;;ADzHH,MAAM,iBAAiB;IAU5B,YACU,EAAe,EACf,MAAc,EACd,KAAqB,EACrB,WAA4B,EAC5B,UAA0B,EAC1B,QAAqB;QALrB,OAAE,GAAF,EAAE,CAAa;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,eAAU,GAAV,UAAU,CAAgB;QAC1B,aAAQ,GAAR,QAAQ,CAAa;QAb/B,iBAAY,GAAc,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClD,iBAAY,GAAc,IAAI,CAAC,eAAe,EAAE,CAAC;QAEjD,eAAU,GAAc,EAAE,CAAC;QAC3B,aAAQ,GAAgB,IAAI,uDAAW,EAAE,CAAC;QAC1C,qBAAgB,GAAc,EAAE,CAAC;IAS7B,CAAC;IAEL,QAAQ;QAEN,IAAI,UAAU,GAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAEhE,IAAI,CAAC,UAAU,EAAE;YAEf,IAAI,CAAC,QAAQ,GAAG;gBACd,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,EAAE;aACX,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAEtD;aAAM;YAEL,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;iBAC/B,SAAS,CAAC,CAAC,CAAW,EAAE,EAAE;gBACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;oBACzD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SAEN;IACH,CAAC;IAGD,YAAY,CAAC,GAAa;QAExB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;SACJ;aAAM;YAEL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEhC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,UAAU,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;gBAChB,YAAY,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC;gBAChC,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;gBACpC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;aACxC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,cAAc,CAAC,MAAe;QAE5B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpB,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5B,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACf,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC,CAAC,CAAC;YACd,IAAI,EAAE,CAAC,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;YAEtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACjD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACtC,CAAC,EACC,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;YACrE,CAAC,CAAC;SAGL;IACH,CAAC;IAED,gBAAgB,CAAC,CAAkB;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAc,CAAC;QAEpE,IAAI,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;SACnC;IACH,CAAC;IAGD,cAAc;QAEZ,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAc,CAAC;QAEpE,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;YAClD,SAAS,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YAC9C,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;QAEH,WAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,WAAW,CAAC,WAAW,EAAE,CAAC;QAE1B,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC7C,CAAC;IAGD,cAAc;QAEZ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,yBAAyB,CAAC,KAAmC;QAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAElG,IAAI,CAAC,kBAAkB,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACxF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAExB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,kBAAkB,CAAC,OAAgB;QAEjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACxF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,OAAe;QAExC,IAAI,KAAK,GAAG,OAAO,CAAC;QAEpB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;SACpC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;;kFAlMU,iBAAiB;+GAAjB,iBAAiB;QChB9B,iFAAuD;QAAA,0EAAe;QAAA,4DAAc;QAEpF,yEAAuC;QAIS,yIAAS,mBAAe,IAAC;QAAuD,kEAAO;QAAA,4DAAS;QAC1I,uHAAoD;QACtD,4DAAM;QACN,yEAA2B;QAIrB,uEAA2E;QAE3E,kFAAgB;QACd,wEAA0D;QAC5D,4DAAiB;QAEjB,kFAAgB;QAEY,oEAAQ;QAAA,4DAAa;QAC7C,kFAAwB;QAAA,+DAAG;QAAA,4DAAa;QAI5C,kFAAgB;QACd,wEAA+E;QACjF,4DAAiB;QAGnB,0EAAoB;QACd,kEAAM;QAAA,4DAAK;QAGjB,6EAA4B;QAGmB,gEAAI;QAAA,4DAAK;QAClD,0EAAyC;QAAA,uEAAW;QAAA,4DAAK;QACzD,0EAAyC;QAAA,gEAAI;QAAA,4DAAK;QAClD,iEAAS;QACX,4DAAK;QAIP,6EAA8B;QAC5B,+GA0BK;QACP,4DAAQ;QAIZ,2EAAiC;QAOrB,wEAA0D;QAC5D,4DAAiB;QAEnB,sEAAI;QAEA,wEAAwE;QAC1E,4DAAiB;QAEnB,sEAAI;QAI0B,oEAAQ;QAAA,4DAAa;QAC7C,kFAAwB;QAAA,+DAAG;QAAA,4DAAa;QAK9C,sEAAI;QACsB,0IAAS,oBAAgB,IAAC;QAChD,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QAWjD,gFAAmC;QAE3B,sEAAU;QAAA,4DAAK;QAErB,uEAAK;QACH,gHAIM;QACR,4DAAM;QACN,uEAAK;QACH,2GAAwE;QAExE,kFAAgB;QACM,kEAAM;QAAA,4DAAW;QACrC,6EAC0F;QAAjC,qJAAe,oBAAgB,IAAC;QADzF,4DAC0F;QAC1F,4FAA+F;QAArD,4KAAkB,qCAAiC,IAAC;QAC5F,8HAEa;QACf,4DAAmB;;;QApI+C,0DAAgC;QAAhC,6FAAgC;QACzF,0DAAwB;QAAxB,wFAAwB;QAG7B,0DAA0B;QAA1B,uFAA0B;QAWZ,0DAAW;QAAX,oEAAW;QACX,0DAAW;QAAX,oEAAW;QAyBP,2DAA2C;QAA3C,+GAA2C;QA+B7D,0DAA0B;QAA1B,uFAA0B;QAmBN,2DAAW;QAAX,oEAAW;QACX,0DAAW;QAAX,oEAAW;QAuBlB,2DAAa;QAAb,mFAAa;QAO5B,0DAA6B;QAA7B,6FAA6B;QAKxB,0DAAwB;QAAxB,qFAAwB;QAEF,0DAAmB;QAAnB,yFAAmB;;;;;;;;;;;;;;;;;;;;;;;;;ACtIP;AACY;;;;;;;;;;ICIzD,oEAA4D;;;;IAC5D,yEAAsG;IAAzC,qVAAS,sBAAY,IAAC;IAAmB,4DAAK;;;IAGzG,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,qFACF;;;IAGA,yEAAsD;IAAA,+DAAI;IAAA,4DAAK;;;IAC/D,yEAA8D;IAC5D,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,yHACF;;ADPC,MAAM,kBAAkB;IAQ7B,YAAoB,WAA4B,EAAU,MAAc;QAApD,gBAAW,GAAX,WAAW,CAAiB;QAAU,WAAM,GAAN,MAAM,CAAQ;QANxE,eAAU,GAAG,IAAI,uEAAkB,EAAY,CAAC;QAChD,qBAAgB,GAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAKsB,CAAC;IAE7E,QAAQ;QAEN,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;;oFAxBU,kBAAkB;gHAAlB,kBAAkB;kEAKlB,2DAAO;;;;;QCjBpB,iFAAwD;QAAA,2EAAgB;QAAA,4DAAc;QACtF,yEAAuC;QAEX,0IAAS,qBAAiB,IAAC;QAAkD,6EAAkB;QAAA,4DAAS;QAElI,2EAAmD;QACjD,4GAA4D;QAC5D,4GAA2G;QAE3G,2EAAkC;QAChC,4GAA+D;QAC/D,8GAEK;QACP,qEAAe;QACf,4EAA0C;QACxC,8GAA+D;QAC/D,8GAEK;QACP,qEAAe;QACjB,4DAAQ;;QAhBiB,0DAAyB;QAAzB,sFAAyB;QAC5B,0DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;;;;;;;;;;;;;;;;;;;ACCxD,MAAM,gBAAgB;IAI3B;QACE,sCAAsC;QACtC,wDAAwD;QACxD,GAAG;IACL,CAAC;IAED,aAAa;QAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEpD,KAAK,CAAC,kBAAkB,CAAC;iBACtB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;iBACnC,IAAI,CAAC,UAAU,CAAC;gBACf,gBAAgB,CAAC,SAAS,GAAG;oBAC3B,eAAe,EAAE,CAAC,CAAC,aAAa;oBAChC,cAAc,EAAE,CAAC,CAAC,YAAY;oBAC9B,iBAAiB,EAAE,CAAC,CAAC,eAAe;oBACpC,2BAA2B,EAAE,CAAC,CAAC,yBAAyB;oBACxD,YAAY,EAAE,CAAC,CAAC,UAAU;oBAC1B,uBAAuB,EAAE,CAAC,CAAC,qBAAqB;oBAChD,SAAS,EAAE,CAAC,CAAC,OAAO;oBACpB,SAAS,EAAE,CAAC,CAAC,OAAO;iBACrB,CAAC;gBAEF,OAAO,EAAE,CAAC;YAEZ,CAAC,EAAE;gBACD,MAAM,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QAEP,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO,gBAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;;gFAzCU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;;;;ACEb,MAAM,cAAc;IAEzB,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;IACpF,CAAC;;4EANU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;ACEb,MAAM,iBAAiB;IAE5B,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,UAAsB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjI,CAAC;;kFAVU,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;ACL0C;;;;AAQvD,MAAM,cAAc;IAEzB,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG,CAAC,IAAY;QAEd,IAAI,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC1B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,EAAE;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;IACnH,CAAC;IAED,IAAI,CAAC,OAAgB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC;;4EAzBU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;ACF6B;AACvB;;;;AAGnB,MAAM,gBAAgB;IAE3B,YAAqB,WAAwB,EAAU,MAAc;QAAhD,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAK,CAAC;IAC3E,WAAW;QAET,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,IAAI,CAC1C,mDAAG,CAAE,CAAC,CAAC,EAAE;YACP,IAAK,CAAC,EAAG;gBACP,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,cAAc,CAAC,CAAE,CAAC;aAC1C;QACH,CAAC,CAAE,EACH,0DAAU,CAAE,CAAE,GAAG,EAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,cAAc,CAAC,CAAE,CAAC;YACzC,OAAO,wCAAE,CAAE,KAAK,CAAE,CAAC;QACrB,CAAC,CAAE,CAAC,CAAC;IACT,CAAC;;gFAjBU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;ACRwC;AAG7B;AACH;;;AAErB;AAKT,MAAM,WAAW;IAMtB,YAAY,YAA8B;QAExC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YAE7B,IAAI,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;YAEzC,IAAI,QAAQ,GAAG;gBACb,SAAS,EAAE,SAAS,CAAC,aAAa;gBAClC,SAAS,EAAE,SAAS,CAAC,YAAY;gBACjC,YAAY,EAAE,SAAS,CAAC,eAAe;gBACvC,mBAAmB,EAAE,SAAS,CAAC,qBAAqB;gBACpD,wBAAwB,EAAE,SAAS,CAAC,yBAAyB;gBAC7D,aAAa,EAAE,gBAAgB;gBAC/B,KAAK,EAAE,SAAS,CAAC,UAAU;gBAC3B,oBAAoB,EAAE,IAAI;aAC3B,CAAC;YAEF,WAAW,CAAC,YAAY,GAAG,IAAI,oDAAW,CAAC,QAAQ,CAAC,CAAC;SAEtD;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;SACvC;IAEH,CAAC;IAGD,OAAO;QACL,OAAO,0CAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,aAAa;QACX,OAAO,0CAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,mDAAG,CAAgB,CAAC,IAAI,EAAE,EAAE;YAC/E,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK;QACV,OAAO,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IACnD,CAAC;IAEM,UAAU;QACf,OAAO,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAE3D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjB,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,OAAO,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;IACpD,CAAC;;sEA/DU,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;;;;;ACT0C;AAGO;;;;AAK9D,MAAM,mBAAmB;IAE9B,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG,CAAC,kBAA0B,EAAE,6BAAqC;QAEjE,IAAI,MAAM,GAAG,IAAI,4DAAU,CAAC,EAAE,OAAO,EAAE,IAAI,8EAAsB,EAAE,EAAE,CAAC;aACrE,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,MAAM,CAAC,+BAA+B,EAAE,6BAA6B,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,CAAC,YAA0B;QAE7B,IAAI,YAAY,CAAC,cAAc,EAAE;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,gBAAgB,GAAG,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;SAC1I;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,EAAE,YAAY,CAAC,CAAC;SAC5G;IACH,CAAC;IAED,MAAM,CAAC,YAA0B;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,gBAAgB,GAAG,YAAY,CAAC,cAAc,CAAC;IACjH,CAAC;;sFAvBU,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACEb,MAAM,aAAa;IAExB,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;IAC9F,CAAC;IAED,UAAU,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IACnH,CAAC;IAED,UAAU,CAAC,YAA0B;QACnC,IAAI,YAAY,CAAC,cAAc,EAAE;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;SAC1K;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,QAAQ,GAAG,UAAU,EAAE,YAAY,CAAC,CAAC;SAC5I;IAEH,CAAC;IAED,YAAY,CAAC,YAA0B;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAClJ,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7G,CAAC;;0EA/BU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;;;;ACLb,MAAM,sBAAsB;IACxB,SAAS,CAAC,GAAW;QACxB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACM,WAAW,CAAC,KAAa;QAC5B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACM,SAAS,CAAC,GAAW;QACxB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACM,WAAW,CAAC,KAAa;QAC5B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CAEJ;;;;;;;;;;;;;;;;;;;;;;ACTM,MAAM,sBAAsB;IAEjC,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,iBAAyB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,CAAC;IACzH,CAAC;IAED,IAAI,CAAC,EAAmB;QACtB,IAAI,EAAE,CAAC,iBAAiB,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,mBAAmB,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAC/H;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAkB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,kBAAkB,EAAE,EAAE,CAAC,CAAC;SACxG;IACH,CAAC;IAED,MAAM,CAAC,iBAAyB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,mBAAmB,GAAG,iBAAiB,CAAC,CAAC;IAC3G,CAAC;;4FAtBU,sBAAsB;uHAAtB,sBAAsB,WAAtB,sBAAsB,mBAFrB,MAAM;;;;;;;;;;;;;;;;;;;ACH0C;;;;AAMvD,MAAM,kBAAkB;IAE7B,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG,CAAC,IAAY;QACd,MAAM,MAAM,GAAG,IAAI,4DAAU,EAAE;aAC5B,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,cAAc,EAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,aAAqB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,GAAG,aAAa,CAAC,CAAC;IAC7G,CAAC;IAED,SAAS,CAAC,aAAqB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;IAC5H,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,IAAI,KAAK,CAAC,aAAa,EAAE;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,GAAG,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;SACzH;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;SACnG;IACH,CAAC;IAED,MAAM,CAAC,aAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,eAAe,GAAG,aAAa,CAAC,CAAC;IACnG,CAAC;;oFA5BU,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACEb,MAAM,uBAAuB;IAElC,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,oBAAoB,GAAG,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,IAAI,CAAC,GAAqB;QAExB,IAAI,GAAG,CAAC,kBAAkB,EAAE;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,oBAAoB,GAAG,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;SACpI;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAmB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC;SAC3G;IAEH,CAAC;;8FApBU,uBAAuB;wHAAvB,uBAAuB,WAAvB,uBAAuB,mBAFtB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACGb,MAAM,eAAe;IAE1B,YAAoB,IAAgB,EAAU,YAA8B;QAAxD,SAAI,GAAJ,IAAI,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAkB;IAAI,CAAC;IAEjF,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,EAAE;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,aAAa,CAAC,EAAE;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,YAAY,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;IAC3G,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,SAAiB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3I,CAAC;IAED,eAAe,CAAC,UAAkB,EAAE,SAAiB;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAY,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;IACnI,CAAC;IAGD,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChG;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SACtH;IACH,CAAC;;8EA/BU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;;ACG0B;AACQ;;;;AAI/C,MAAM,gBAAgB;IAE3B,YAAoB,IAAiB,EAAU,MAAc;QAAzC,SAAI,GAAJ,IAAI,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IAC7D,CAAC;IAED,uBAAuB,CAAE,CAAoB;QAC3C,IAAK,CAAC,CAAC,MAAM,KAAK,GAAG,EAAG;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAE,QAAQ,CAAC,EAAE;gBAE9C,IAAK,QAAQ,EAAG;oBACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;iBACxB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACnB;YAEH,CAAC,CAAE,CAAC;SACL;QAED,OAAO,gDAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,CAAE,OAAyB,EAAE,IAAiB;QAErD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,wDAAQ,CAAC,CAAC,IAAU,EAAE,EAAE;YAEvD,IAAK,IAAI,EAAG;gBACV,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO;qBAC1B,GAAG,CAAE,eAAe,EAAE,UAAU,CAAE;qBAClC,GAAG,CAAE,QAAQ,EAAE,UAAU,CAAE;qBAC3B,GAAG,CAAE,mBAAmB,EAAE,+BAA+B,CAAE;qBAC3D,GAAG,CAAE,eAAe,EAAE,UAAU,IAAI,CAAC,YAAY,EAAE,CAAE,CAAC;gBAEzD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAE,EAAE,OAAO,EAAE,CAAE,CAAC;aACxC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC,CAAE,CAAC,CAAC;IACP,CAAC;;gFArCU,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB;;;;;;;;;;;;;;;;;;;;ACRtB,MAAM,cAAc;IAEzB,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;4EALU,cAAc;4GAAd,cAAc;QCP3B,yEAA0B;QACxB,4EAAqE;QAEvE,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACMC,MAAM,gBAAgB;IAE3B,YAAmB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAE7C,UAAK,GAAW,iBAAiB,CAAC;IAFe,CAAC;IAGlD,QAAQ;IACR,CAAC;IAEM,UAAU;QAEf,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;;gFAXU,gBAAgB;8GAAhB,gBAAgB;QCT7B,iFAAiF;QAE5D,wIAAS,gBAAY,IAAC;QACvC,8EAA2D;QAAA,+DAAI;QAAA,4DAAW;QAG5E,yEAA6C;QAAA,uDAAS;QAAA,4DAAM;;QAAf,0DAAS;QAAT,0EAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IEHtD,sEAA2B;IAEvB,uHACF;IAAA,4DAAM;IACN,sEAAK;IACH,gEAAM;IACN,4EAA0E;IAAlB,mSAAS,cAAO,IAAC;IAAC,mEAAQ;IAAA,4DAAS;;;;IAG/F,sEAA0B;IAEtB,uDACF;IAAA,4DAAM;IACN,sEAAK;IACH,gEAAM;IACN,4EAA2E;IAAnB,mSAAS,eAAQ,IAAC;IAAC,oEAAS;IAAA,4DAAS;;;IAJ7F,0DACF;IADE,6GACF;;ADNG,MAAM,qBAAqB;IAIhC,YAAoB,QAAkB,EAAU,WAAwB;QAApD,aAAQ,GAAR,QAAQ,CAAU;QAAU,gBAAW,GAAX,WAAW,CAAa;QACtE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAGD,QAAQ;IACR,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YACzD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1F,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACzC;aAAM;YACL,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;;0FAlCU,qBAAqB;mHAArB,qBAAqB;QCTlC,4EAAqE;QAErE,yEAAqB;QACnB,iHAQM;QACN,iHASM;QACR,4DAAM;;QAnBE,0DAAmB;QAAnB,mFAAmB;QASnB,0DAAkB;QAAlB,kFAAkB;;;;;;;;;;;;;;;;;ACZ1B,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;;ACfvB;AAGF;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app-user/app-user.component.ts","./src/app/app-user/app-user.component.html","./src/app/app-users/app-users.component.ts","./src/app/app-users/app-users.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/beheer-settings/beheer-settings.component.ts","./src/app/beheer-settings/beheer-settings.component.html","./src/app/beheer-settings/app-setting-dialog.html","./src/app/client/client.component.ts","./src/app/client/client.component.html","./src/app/clients/clients.component.ts","./src/app/clients/clients.component.html","./src/app/device-code-rp/device-code-rp.component.ts","./src/app/device-code-rp/device-code-rp.component.html","./src/app/device-code-rps/device-code-rps.component.ts","./src/app/device-code-rps/device-code-rps.component.html","./src/app/device-token/device-token.component.ts","./src/app/device-token/device-token.component.html","./src/app/device-tokens/device-tokens.component.ts","./src/app/device-tokens/device-tokens.component.html","./src/app/identity-provider/identity-provider.component.ts","./src/app/identity-provider/identity-provider.component.html","./src/app/identity-providers/identity-providers.component.ts","./src/app/identity-providers/identity-providers.component.html","./src/app/material.module.ts","./src/app/models/app-setting.ts","./src/app/models/client.ts","./src/app/models/device-code-idp-rp.ts","./src/app/models/device-token.ts","./src/app/resource/resource.component.ts","./src/app/resource/resource.component.html","./src/app/resources/resources.component.ts","./src/app/resources/resources.component.html","./src/app/services/app-config.service.ts","./src/app/services/app-info.service.ts","./src/app/services/app-setting.service.ts","./src/app/services/app-user.service.ts","./src/app/services/auth-guard.service.ts","./src/app/services/auth.service.ts","./src/app/services/claim-mapping.service.ts","./src/app/services/client.service.ts","./src/app/services/custom-http-param-encoder.ts","./src/app/services/device-code-idp-rp.service.ts","./src/app/services/device-token.service.ts","./src/app/services/identity-provider.service.ts","./src/app/services/resource.service.ts","./src/app/services/token.interceptor.ts","./src/app/start/start.component.ts","./src/app/start/start.component.html","./src/app/toolbar/toolbar.component.ts","./src/app/toolbar/toolbar.component.html","./src/app/unauthorized/unauthorized.component.ts","./src/app/unauthorized/unauthorized.component.html","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { StartComponent } from './start/start.component';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { IdentityProvidersComponent } from './identity-providers/identity-providers.component';\r\nimport { IdentityProviderComponent } from './identity-provider/identity-provider.component';\r\nimport { ResourcesComponent } from './resources/resources.component';\r\nimport { ResourceComponent } from './resource/resource.component';\r\nimport { AppUsersComponent } from './app-users/app-users.component';\r\nimport { AppUserComponent } from './app-user/app-user.component';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport { ClientComponent } from './client/client.component';\r\nimport { BeheerSettingsComponent } from './beheer-settings/beheer-settings.component';\r\nimport { UnauthorizedComponent } from './unauthorized/unauthorized.component';\r\nimport { DeviceCodeRpsComponent } from './device-code-rps/device-code-rps.component';\r\nimport { DeviceCodeRpComponent } from './device-code-rp/device-code-rp.component';\r\nimport { DeviceTokensComponent } from './device-tokens/device-tokens.component';\r\nimport { DeviceTokenComponent } from './device-token/device-token.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'unauthorized', component: UnauthorizedComponent },\r\n { path: 'logout', component: UnauthorizedComponent },\r\n { path: '', component: StartComponent, canActivate: [AuthGuardService] },\r\n { path: 'appusers', component: AppUsersComponent, canActivate: [AuthGuardService] },\r\n { path: 'appuser', component: AppUserComponent, canActivate: [AuthGuardService] },\r\n { path: 'resources', component: ResourcesComponent, canActivate: [AuthGuardService] },\r\n { path: 'resource', component: ResourceComponent, canActivate: [AuthGuardService] },\r\n { path: 'clients', component: ClientsComponent, canActivate: [AuthGuardService] },\r\n { path: 'client', component: ClientComponent, canActivate: [AuthGuardService] },\r\n { path: 'beheeridps', component: IdentityProvidersComponent, canActivate: [AuthGuardService] },\r\n { path: 'beheeridp', component: IdentityProviderComponent, canActivate: [AuthGuardService] },\r\n { path: 'settings', component: BeheerSettingsComponent, canActivate: [AuthGuardService] },\r\n { path: 'devicecodeidprps', component: DeviceCodeRpsComponent, canActivate: [AuthGuardService] },\r\n { path: 'devicecodeidprp', component: DeviceCodeRpComponent, canActivate: [AuthGuardService] },\r\n { path: 'devicetokens', component: DeviceTokensComponent, canActivate: [AuthGuardService] },\r\n { path: 'devicetoken', component: DeviceTokenComponent, canActivate: [AuthGuardService] }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { AppUserService } from '../services/app-user.service';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppUser } from '../models/app-user';\r\nimport { ResourceService } from '../services/resource.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Scope } from '../models/scope';\r\nimport { ClaimMappingService } from '../services/claim-mapping.service';\r\nimport { forkJoin } from 'rxjs';\r\nimport { ClaimMapping } from '../models/claim-mapping';\r\nimport * as moment from 'moment';\r\nimport { PersistedGrantInfo } from '../models/persisted-grant-info';\r\n\r\n@Component({\r\n selector: 'app-app-user',\r\n templateUrl: './app-user.component.html',\r\n styleUrls: ['./app-user.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppUserComponent implements OnInit {\r\n\r\n appUser: AppUser;\r\n appUserForm: FormGroup = this.getAppUserFormGroup(null);\r\n claimsForm: FormGroup = this.getClaimsFormGroup();\r\n\r\n existingClaims: ClaimMapping[];\r\n\r\n\r\n dataSourceLogboek = new MatTableDataSource();\r\n displayedColumnsLogboek: string[] = ['lastLoginDateTime', 'lastLoginIpAddress', 'lastLoginUserAgent', 'isDisabled'];\r\n @ViewChild('sortLogboek', { static: true }) sortLogboek: MatSort;\r\n\r\n dataSourceGrants = new MatTableDataSource();\r\n displayedColumnsGrants: string[] = ['persistedGrantType', 'clientId', 'creationTime', 'expiration'];\r\n @ViewChild('sortGrants', { static: true }) sortGrants: MatSort;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private appUserSvc: AppUserService,\r\n private resourceSvc: ResourceService,\r\n private claimMappingSvc: ClaimMappingService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.claimsForm = this.getClaimsFormGroup();\r\n\r\n this.appUserSvc.fetch(+this.route.snapshot.params.appUserId)\r\n .subscribe((i: AppUser) => {\r\n this.appUser = i;\r\n this.appUserForm = this.getAppUserFormGroup(this.appUser);\r\n\r\n this.loadClaimMappings(this.appUser);\r\n this.auditHistory(this.appUser);\r\n this.loadGrants(this.appUser);\r\n\r\n })\r\n\r\n }\r\n\r\n loadGrants(appUser: AppUser) {\r\n this.appUserSvc.grants(appUser.appUserId).subscribe(g => {\r\n this.dataSourceGrants.data = g;\r\n this.dataSourceGrants.sort = this.sortGrants;\r\n\r\n });\r\n }\r\n\r\n loadClaimMappings(appUser: AppUser) {\r\n\r\n forkJoin(\r\n this.claimMappingSvc.get(appUser.identityProviderId, appUser.identityProviderSubClaimValue),\r\n this.resourceSvc.get()\r\n ).subscribe(([c, r]) => {\r\n\r\n this.existingClaims = c;\r\n\r\n let scopes: Scope[] = [];\r\n\r\n r.forEach(item => {\r\n scopes = scopes.concat(item.scopes.map(s => {\r\n return s;\r\n }));\r\n });\r\n\r\n this.claimsForm = this.getClaimsFormGroup();\r\n let claimsFormArray: FormArray = this.claimsForm.get('items') as FormArray;\r\n\r\n scopes.forEach(s => {\r\n\r\n if (s.scopeType === 1) {\r\n var matchingClaim = c.find(a => a.outboundClaimValue === s.name && a.outboundClaimType === 'http://schemas.microsoft.com/ws/2008/06/identity/claims/role');\r\n\r\n claimsFormArray.push(this.createClaimMappingFormGroup(\r\n s.name,\r\n matchingClaim ? true : false,\r\n matchingClaim ? matchingClaim.validFrom : null,\r\n matchingClaim ? matchingClaim.validTo : null));\r\n }\r\n });\r\n\r\n\r\n });\r\n }\r\n\r\n auditHistory(appUser: AppUser) {\r\n this.appUserSvc.audit(appUser.appUserId).subscribe(data => {\r\n this.dataSourceLogboek.data = data;\r\n this.dataSourceLogboek.sort = this.sortLogboek;\r\n });\r\n\r\n }\r\n createClaimMappingFormGroup(scope: string, enabled: boolean, van: Date, tot: Date): FormGroup {\r\n\r\n return this.fb.group({\r\n enabled: enabled,\r\n outboundClaimValue: scope,\r\n validFrom: van,\r\n validTo: tot\r\n });\r\n }\r\n\r\n opslaanClaims() {\r\n\r\n\r\n for (var i in this.claimsForm.controls['items']['controls']) {\r\n\r\n var row = this.claimsForm.controls['items']['controls'][i];\r\n\r\n if (row.touched) {\r\n console.log('Touched: ');\r\n console.log(row);\r\n\r\n var matchingClaim = this.existingClaims.find(a => a.outboundClaimValue === row.value.outboundClaimValue\r\n && a.outboundClaimType === 'http://schemas.microsoft.com/ws/2008/06/identity/claims/role');\r\n\r\n if (!matchingClaim) {\r\n // Nieuwe claim\r\n\r\n var from: Date = moment(row.value.validFrom ? row.value.validFrom : '2000-01-01').toDate()\r\n var to: Date = row.value.validTo ? moment(row.value.validTo).toDate() : null;\r\n\r\n var nieuweClaim: ClaimMapping = {\r\n claimMappingId: 0,\r\n identityProviderId: this.appUser.identityProviderId,\r\n inboundClaimType: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier',\r\n inboundClaimValue: this.appUser.identityProviderSubClaimValue,\r\n outboundClaimType: 'http://schemas.microsoft.com/ws/2008/06/identity/claims/role',\r\n outboundClaimValue: row.value.outboundClaimValue,\r\n validFrom: from,\r\n validTo: to\r\n };\r\n\r\n this.claimMappingSvc.save(nieuweClaim).subscribe(r => {\r\n this.loadClaimMappings(this.appUser);\r\n });\r\n\r\n } else {\r\n // Bestaande claim\r\n\r\n if (!row.value.enabled) {\r\n // Delete\r\n this.claimMappingSvc.delete(matchingClaim).subscribe(r => {\r\n console.log(r);\r\n this.loadClaimMappings(this.appUser);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het verwijderen van de mapping');\r\n });\r\n\r\n } else {\r\n // Update\r\n matchingClaim.validFrom = moment(row.value.validFrom).toDate();\r\n matchingClaim.validTo = moment(row.value.validTo).toDate();\r\n\r\n this.claimMappingSvc.save(matchingClaim).subscribe(r => {\r\n console.log(r);\r\n row.markAsPristine();\r\n row.markAsUntouched();\r\n this.loadClaimMappings(this.appUser);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de mapping');\r\n });\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n }\r\n\r\n getClaimsFormGroup(): FormGroup {\r\n return this.fb.group({ items: this.fb.array([]) });\r\n }\r\n\r\n opslaanAlgemeen() {\r\n console.log('Opslaan algemeen');\r\n console.log(this.appUserForm);\r\n\r\n if (this.appUserForm.touched) {\r\n\r\n this.appUser.isDisabled = this.appUserForm.value.isDisabled;\r\n this.appUser.emailAddress = this.appUserForm.value.emailAddress;\r\n this.appUser.phoneNumber = this.appUserForm.value.phoneNumber;\r\n this.appUser.remarks = this.appUserForm.value.remarks;\r\n this.appUser.validFrom = moment(this.appUserForm.value.validFrom).toDate();\r\n this.appUser.validUntil = this.appUserForm.value.validUntil ? moment(this.appUserForm.value.validUntil).toDate() : null;\r\n\r\n this.appUserSvc.save(this.appUser).subscribe(a => {\r\n console.log(a);\r\n this.appUserForm.markAsPristine();\r\n this.appUserForm.markAsUntouched();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de gebruiker');\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n getAppUserFormGroup(a: AppUser): FormGroup {\r\n\r\n if (!a) {\r\n return this.fb.group({\r\n appUserId: [{ value: '', disabled: true }],\r\n name: [{ value: '', disabled: true }],\r\n identityProviderCaption: [{ value: '', disabled: true }],\r\n identityProviderSubClaimValue: [{ value: '', disabled: true }],\r\n emailAddress: [{ value: '', disabled: true }],\r\n isDisabled: [''],\r\n remarks: [''],\r\n validFrom: [''],\r\n validUntil: [''],\r\n phoneNumber: ['']\r\n });\r\n }\r\n\r\n return this.fb.group({\r\n appUserId: [{ value: a.appUserId, disabled: true }],\r\n name: [{ value: a.name, disabled: true }],\r\n identityProviderCaption: [{ value: a.identityProviderCaption, disabled: true }],\r\n identityProviderSubClaimValue: [{ value: a.identityProviderSubClaimValue, disabled: true }],\r\n emailAddress: [{ value: a.emailAddress, disabled: true }],\r\n isDisabled: [a.isDisabled],\r\n remarks: [a.remarks],\r\n validFrom: [a.validFrom],\r\n validUntil: [a.validUntil],\r\n phoneNumber: [a.phoneNumber]\r\n });\r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n\r\n}\r\n","Beheer gebruiker\r\n\r\n
\r\n\r\n \r\n

{{ appUser.name}}

\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n \r\n \r\n Algemeen\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Uitgeschakeld\r\n Actief\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n\r\n edit\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n Rollen\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
ScopeActiefVanTot
\r\n {{ c.value.outboundClaimValue }}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n edit\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Logboek\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Laatste login\r\n {{ x.lastLoginDateTime | amDateFormat:'YYYY-MM-DD HH:mm:ss' }}\r\n IP Adres\r\n {{ x.lastLoginIpAddress }}\r\n UserAgent\r\n {{ x.lastLoginUserAgent }}\r\n Disabled\r\n {{ (x.isDisabled) }}\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n Grants\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n
Type\r\n {{ x.persistedGrantType }}\r\n ClientId\r\n {{ x.clientId }}\r\n Aangemaakt\r\n {{ x.creationTime | amDateFormat:'YYYY-MM-DD HH:mm:ss' }}\r\n Verloopt\r\n {{ x.expiration | amDateFormat:'YYYY-MM-DD HH:mm:ss' }}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AppUser } from '../models/app-user';\r\nimport { AppUserService } from '../services/app-user.service';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl, FormGroup, FormBuilder } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-app-users',\r\n templateUrl: './app-users.component.html',\r\n styleUrls: ['./app-users.component.scss']\r\n})\r\nexport class AppUsersComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['appUserId', 'name','lastLoginDateTime', 'identityProviderCaption', 'isDisabled', 'isValid'];\r\n \r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n filterForm: FormGroup = this.fb.group({\r\n Naam: ['']\r\n \r\n });\r\n\r\n constructor(\r\n private appUserSvc: AppUserService,\r\n private router: Router,\r\n private fb: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.filterGewijzigd();\r\n }\r\n\r\n public Details(appUser: AppUser) {\r\n this.router.navigate(['appuser', { appUserId: appUser.appUserId }]);\r\n }\r\n\r\n\r\n filterGewijzigd() {\r\n \r\n let gezochteNaam: string = this.filterForm.value.Naam;\r\n\r\n this.appUserSvc.get(gezochteNaam).subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n \r\n}\r\n","Beheer Gebruikers\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n search\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Id\r\n {{ x.appUserId }}\r\n Naam\r\n {{ x.name }}\r\n Laatste login\r\n {{ x.lastLoginDateTime | amDateFormat:'YYYY-MM-DD HH:mm:ss' }}\r\n Idp\r\n {{ x.identityProviderCaption }}\r\n Disabled\r\n {{ x.isDisabled }}\r\n Geldig\r\n {{ (x.isValid) }}\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AppInfoService } from './services/app-info.service';\r\nimport { AppConfigService } from './services/app-config.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { MediaChange, MediaObserver } from '@angular/flex-layout';\r\nimport { Subscription } from 'rxjs';\r\nimport { User } from 'oidc-client';\r\nimport { AppInfo } from './models/app-info';\r\nimport * as moment from 'moment';\r\nimport 'moment/locale/nl';\r\nimport { MenuItem } from './models/menu-item';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n watcher: Subscription;\r\n activeMediaQuery = \"\";\r\n appComponentMenuIsOpen: boolean = true;\r\n currentUser: User;\r\n drawerMode: string = \"side\";\r\n versionnumber: string = \"1.1.0.0\";\r\n\r\n appInfo: AppInfo = {\r\n username: null,\r\n versionNumber: '1.1.0.0',\r\n isAdmin: false,\r\n isGebruiker: false,\r\n isRegioBeheerder: false,\r\n menuItems: []\r\n };\r\n\r\n\r\n constructor(private router: Router, private authService: AuthService, media: MediaObserver,\r\n private appConfigSvc: AppConfigService, private appInfoSvc: AppInfoService) {\r\n\r\n this.watcher = media.media$.subscribe((change: MediaChange) => {\r\n this.activeMediaQuery = change ? change.mqAlias : '';\r\n if (change.mqAlias == 'xs' || change.mqAlias == 'sm') {\r\n this.appComponentMenuIsOpen = false;\r\n this.drawerMode = \"over\";\r\n } else {\r\n this.appComponentMenuIsOpen = true;\r\n this.drawerMode = \"side\";\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n moment.locale('nl');\r\n\r\n this.authService.getUser().subscribe(u => {\r\n this.currentUser = u;\r\n this.appInfoSvc.get().subscribe(a => {\r\n this.appInfo = a;\r\n this.versionnumber = a.versionNumber;\r\n });\r\n });\r\n }\r\n\r\n login() {\r\n this.authService.login();\r\n }\r\n\r\n public DrawerMode(): string {\r\n return this.drawerMode;\r\n }\r\n\r\n public navigate(pad: string) {\r\n\r\n if (this.activeMediaQuery == 'xs' || this.activeMediaQuery == 'sm') {\r\n this.appComponentMenuIsOpen = false;\r\n }\r\n\r\n this.router.navigateByUrl(pad);\r\n }\r\n\r\n public naam(): string {\r\n\r\n if (!!this.currentUser && !!this.currentUser.profile && !!this.currentUser.profile['name']) {\r\n return this.currentUser.profile['name'];\r\n } else {\r\n return 'Onbekend';\r\n }\r\n }\r\n\r\n public menuIsOpen(): boolean {\r\n\r\n return this.appComponentMenuIsOpen;\r\n }\r\n\r\n public toggleMenu() {\r\n this.appComponentMenuIsOpen = !this.appComponentMenuIsOpen;\r\n }\r\n\r\n public toggleChildren(item: MenuItem) {\r\n item.childrenVisible = !item.childrenVisible;\r\n }\r\n}\r\n","\r\n \r\n\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
Versie {{ versionnumber }}
Ingelogd als {{ naam() }}
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { StartComponent } from './start/start.component';\r\nimport { ToolbarComponent } from './toolbar/toolbar.component';\r\nimport { AppConfigService } from './services/app-config.service';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { TokenInterceptor } from './services/token.interceptor';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { AuthService } from './services/auth.service';\r\nimport { MaterialModule } from './material.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, FormControl, ReactiveFormsModule } from '@angular/forms';\r\nimport { IdentityProvidersComponent } from './identity-providers/identity-providers.component';\r\nimport { IdentityProviderComponent } from './identity-provider/identity-provider.component';\r\nimport { ResourcesComponent } from './resources/resources.component';\r\nimport { ResourceComponent } from './resource/resource.component';\r\nimport { AppUsersComponent } from './app-users/app-users.component';\r\nimport { AppUserComponent } from './app-user/app-user.component';\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { ClientsComponent } from './clients/clients.component';\r\nimport { ClientComponent } from './client/client.component';\r\nimport { BeheerSettingsComponent, AppSettingDialog } from './beheer-settings/beheer-settings.component';\r\nimport { UnauthorizedComponent } from './unauthorized/unauthorized.component';\r\nimport { DeviceCodeRpsComponent } from './device-code-rps/device-code-rps.component';\r\nimport { DeviceCodeRpComponent } from './device-code-rp/device-code-rp.component';\r\nimport { DeviceTokensComponent } from './device-tokens/device-tokens.component';\r\nimport { DeviceTokenComponent } from './device-token/device-token.component';\r\n\r\nexport function init_app(appConfig: AppConfigService) {\r\n return () => appConfig.loadAppConfig();\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n StartComponent,\r\n ToolbarComponent,\r\n IdentityProvidersComponent,\r\n IdentityProviderComponent,\r\n ResourcesComponent,\r\n ResourceComponent,\r\n AppUsersComponent,\r\n AppUserComponent,\r\n ClientsComponent,\r\n ClientComponent,\r\n BeheerSettingsComponent,\r\n AppSettingDialog,\r\n UnauthorizedComponent,\r\n DeviceCodeRpsComponent,\r\n DeviceCodeRpComponent,\r\n DeviceTokensComponent,\r\n DeviceTokenComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n MaterialModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n FlexLayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n MomentModule\r\n ],\r\n providers: [\r\n AppConfigService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: init_app,\r\n multi: true,\r\n deps: [AppConfigService]\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n AuthGuardService,\r\n AuthService,\r\n {\r\n provide: MAT_DATE_LOCALE,\r\n useValue: 'nl-NL'\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { AppSettingService } from '../services/app-setting.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AppSetting } from '../models/app-setting';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-beheer-settings',\r\n templateUrl: './beheer-settings.component.html',\r\n styleUrls: ['./beheer-settings.component.scss']\r\n})\r\nexport class BeheerSettingsComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['appSettingId', 'category', 'name', 'appSettingValue'];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private appSettingSvc: AppSettingService, private dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.ladenSettings();\r\n }\r\n\r\n ladenSettings() {\r\n this.appSettingSvc.load().subscribe(a => {\r\n this.dataSource.data = a;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n Details(appSetting: AppSetting) {\r\n\r\n let dialogRef = this.dialog.open(AppSettingDialog, { data: appSetting });\r\n\r\n dialogRef.afterClosed().subscribe(r => {\r\n this.ladenSettings();\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-setting-dialog',\r\n templateUrl: 'app-setting-dialog.html',\r\n})\r\nexport class AppSettingDialog {\r\n\r\n appSettingForm: FormGroup = this.fb.group({\r\n voertuigSoortCode: [],\r\n naam: []\r\n });\r\n\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: AppSetting,\r\n public dialogRef: MatDialogRef,\r\n private fb: FormBuilder,\r\n private appSettingSvc: AppSettingService,\r\n private snackBar: MatSnackBar\r\n\r\n ) {\r\n\r\n this.appSettingForm = this.fb.group({\r\n category: [data.category],\r\n name: [data.name],\r\n appSettingValue: [data.appSettingValue]\r\n });\r\n\r\n }\r\n\r\n SluitDialog() {\r\n\r\n this.data.appSettingValue = this.appSettingForm.controls['appSettingValue'].value;\r\n\r\n this.appSettingSvc.save(this.data).subscribe(r => {\r\n this.dialogRef.close();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan');\r\n });\r\n }\r\n\r\n CancelDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n}\r\n","Beheer Settings\r\n
\r\n\r\n \r\n

Settings

\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n
Id\r\n {{ x.appSettingId }}\r\n Categorie\r\n {{ x.category }}\r\n Naam\r\n {{ x.name }}\r\n Type\r\n {{ x.appSettingType }}\r\n Waarde\r\n {{ x.appSettingValue }}\r\n
\r\n
\r\n
\r\n","

Setting

\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ResourceService } from '../services/resource.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, FormArray, AbstractControl } from '@angular/forms';\r\nimport { Client } from '../models/client';\r\nimport { ClientService } from '../services/client.service';\r\nimport { Observable } from 'rxjs';\r\nimport { map, pluck, concatMap, flatMap, toArray } from 'rxjs/operators';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ClientSecret } from '../models/client-secret';\r\n\r\n@Component({\r\n selector: 'app-client',\r\n templateUrl: './client.component.html',\r\n styleUrls: ['./client.component.scss']\r\n})\r\nexport class ClientComponent implements OnInit {\r\n\r\n client: Client;\r\n clientForm: FormGroup = this.getClientFormGroup(null);\r\n allScopes: string[] = [];\r\n\r\n clientSecrets: ClientSecret[];\r\n\r\n clientSecretsForm: FormGroup = this.getClientSecretFormGroup(null);\r\n nieuwSecretForm: FormGroup = this.getnieuwSecretFormGroup();\r\n\r\n @ViewChild('nieuweUri', { static: true }) nieuweUriInput;\r\n @ViewChild('nieuwePostLogoutUri', { static: true }) nieuwePostLogoutUriInput;\r\n @ViewChild('nieuweOrigin', { static: true }) nieuweOriginInput;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private clientSvc: ClientService,\r\n private resourceSvc: ResourceService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n const clientId: string = this.route.snapshot.params.clientId;\r\n \r\n if (!clientId) {\r\n\r\n this.client = new Client();\r\n\r\n this.getAllScopes().subscribe(\r\n r => {\r\n this.allScopes = r;\r\n this.clientForm = this.getClientFormGroup(this.client);\r\n }\r\n )\r\n } else {\r\n this.clientSvc.fetch(this.route.snapshot.params.clientId)\r\n .subscribe(c => {\r\n \r\n this.getAllScopes().subscribe(\r\n r => {\r\n this.allScopes = r;\r\n this.client = c\r\n this.clientForm = this.getClientFormGroup(this.client);\r\n\r\n this.clientSvc.getSecrets(c.clientId).subscribe(s => {\r\n this.clientSecrets = s;\r\n this.clientSecretsForm = this.getClientSecretFormGroup(s);\r\n });\r\n }\r\n )\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n getAllScopes(): Observable {\r\n\r\n return this.resourceSvc.get().pipe(\r\n flatMap(x => x),\r\n concatMap(y => y.scopes),\r\n pluck('name'),\r\n map(z => z as string),\r\n toArray()\r\n );\r\n }\r\n\r\n getClientFormGroup(client: Client): FormGroup {\r\n\r\n if (!client || client == null || !client.clientId) {\r\n return this.fb.group({\r\n clientId: [''],\r\n clientName: [''],\r\n enabled: [''],\r\n accessTokenLifetime: [''],\r\n allowedGrantTypes: [''],\r\n allowedScopes: [''],\r\n allowedRedirectUris: this.getRedirectUriArray([]),\r\n allowAccessTokensViaBrowser: [''],\r\n allowedCorsOrigins: this.getCorsOriginArray([]),\r\n absoluteRefreshTokenLifetime: ['2592000'],\r\n slidingRefreshTokenLifetime: ['1296000'],\r\n identityTokenLifetime: ['86000'],\r\n refreshTokenExpiration: [0],\r\n refreshTokenUsage: [1],\r\n updateAccessTokenClaimsOnRefresh: [true],\r\n allowOfflineAccess: [false],\r\n requirePkce: [true],\r\n postLogoutRedirectUris: this.getPostLogoutRedirectUriArray([]),\r\n\r\n \r\n });\r\n } else {\r\n\r\n return this.fb.group({\r\n clientId: [client.clientId],\r\n clientName: [client.clientName],\r\n enabled: [client.enabled],\r\n accessTokenLifetime: [client.accessTokenLifetime],\r\n allowedGrantTypes: [client.allowedGrantTypes],\r\n allowedScopes: [client.allowedScopes.split('|')],\r\n allowAccessTokensViaBrowser: [client.allowAccessTokensViaBrowser],\r\n allowedRedirectUris: this.getRedirectUriArray(client.allowedRedirectUris.split('|')),\r\n allowedCorsOrigins: this.getCorsOriginArray(client.allowedCorsOrigins.split('|')),\r\n absoluteRefreshTokenLifetime: [client.absoluteRefreshTokenLifetime],\r\n slidingRefreshTokenLifetime: [client.slidingRefreshTokenLifetime],\r\n identityTokenLifetime: [client.identityTokenLifetime],\r\n refreshTokenExpiration: [client.refreshTokenExpiration],\r\n refreshTokenUsage: [client.refreshTokenUsage],\r\n updateAccessTokenClaimsOnRefresh: [client.updateAccessTokenClaimsOnRefresh],\r\n allowOfflineAccess: [client.allowOfflineAccess],\r\n requirePkce: [client.requirePkce],\r\n postLogoutRedirectUris: this.getPostLogoutRedirectUriArray(client.postLogoutRedirectUris.split('|')),\r\n\r\n });\r\n\r\n }\r\n }\r\n\r\n getRedirectUriArray(uris: string[]): FormArray {\r\n\r\n const a = this.fb.array([]);\r\n\r\n uris.forEach(u => {\r\n a.push(this.fb.group({ allowedRedirectUri: u }));\r\n });\r\n return a;\r\n }\r\n\r\n RedirectUriVerwijderen(e) {\r\n console.log(e);\r\n\r\n const uriArray: FormArray = this.clientForm.get('allowedRedirectUris') as FormArray;\r\n const idx = uriArray.controls.indexOf(e);\r\n\r\n if (idx !== -1) {\r\n uriArray.removeAt(idx);\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n\r\n }\r\n\r\n nieuweUriChanged() {\r\n if (this.nieuweUriInput.nativeElement.value && this.nieuweUriInput.nativeElement.value !== '') {\r\n const uriArray = this.clientForm.controls['allowedRedirectUris'] as FormArray;\r\n uriArray.push(this.fb.group({ allowedRedirectUri: this.nieuweUriInput.nativeElement.value }));\r\n\r\n this.nieuweUriInput.nativeElement.value = '';\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n }\r\n\r\n getPostLogoutRedirectUriArray(uris: string[]): FormArray {\r\n\r\n const a = this.fb.array([]);\r\n\r\n if (uris && !(uris.length === 1 && uris[0] === '')) {\r\n uris.forEach(u => {\r\n a.push(this.fb.group({ allowedPostLogoutRedirectUri: u }));\r\n });\r\n }\r\n\r\n return a;\r\n }\r\n\r\n PostLogoutRedirectUriVerwijderen(e) {\r\n\r\n const uriArray: FormArray = this.clientForm.get('postLogoutRedirectUris') as FormArray;\r\n const idx = uriArray.controls.indexOf(e);\r\n\r\n if (idx !== -1) {\r\n uriArray.removeAt(idx);\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n\r\n }\r\n\r\n nieuwePostLogoutUriChanged() {\r\n if (this.nieuwePostLogoutUriInput.nativeElement.value && this.nieuwePostLogoutUriInput.nativeElement.value !== '') {\r\n const uriArray: FormArray = this.clientForm.get('postLogoutRedirectUris') as FormArray;\r\n uriArray.push(this.fb.group({ allowedPostLogoutRedirectUri: this.nieuwePostLogoutUriInput.nativeElement.value }));\r\n\r\n this.nieuwePostLogoutUriInput.nativeElement.value = '';\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n }\r\n\r\n\r\n getCorsOriginArray(origins: string[]): FormArray {\r\n\r\n const a = this.fb.array([]);\r\n\r\n origins.forEach(u => {\r\n a.push(this.fb.group({ allowedCorsOrigin: u }));\r\n });\r\n return a;\r\n }\r\n\r\n CorsOriginVerwijderen(e) {\r\n\r\n const originArray: FormArray = this.clientForm.get('allowedCorsOrigins') as FormArray;\r\n const idx = originArray.controls.indexOf(e);\r\n\r\n if (idx !== -1) {\r\n originArray.removeAt(idx);\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n\r\n }\r\n\r\n nieuweOriginChanged() {\r\n if (this.nieuweOriginInput.nativeElement.value && this.nieuweOriginInput.nativeElement.value !== '') {\r\n const originArray: FormArray = this.clientForm.get('allowedCorsOrigins') as FormArray;\r\n originArray.push(this.fb.group({ allowedCorsOrigin: this.nieuweOriginInput.nativeElement.value }));\r\n\r\n this.nieuweOriginInput.nativeElement.value = '';\r\n this.clientForm.markAsDirty();\r\n this.clientForm.markAsTouched();\r\n }\r\n }\r\n\r\n RecordOpslaan() {\r\n console.log(this.clientForm);\r\n console.log(this.clientForm.value.postLogoutRedirectUris);\r\n\r\n if (this.clientForm.touched) {\r\n\r\n if (!this.client.clientId) {\r\n this.client.clientId = this.clientForm.value.clientId;\r\n }\r\n\r\n this.client.clientName = this.clientForm.value.clientName;\r\n this.client.enabled = this.clientForm.value.enabled;\r\n this.client.allowAccessTokensViaBrowser = this.clientForm.value.allowAccessTokensViaBrowser;\r\n this.client.allowedGrantTypes = this.clientForm.value.allowedGrantTypes;\r\n this.client.accessTokenLifetime = this.clientForm.value.accessTokenLifetime;\r\n this.client.allowedScopes = (this.clientForm.value.allowedScopes as string[]).join('|');\r\n\r\n this.client.requirePkce = this.clientForm.value.requirePkce;\r\n this.client.allowOfflineAccess = this.clientForm.value.allowOfflineAccess;\r\n this.client.updateAccessTokenClaimsOnRefresh = this.clientForm.value.updateAccessTokenClaimsOnRefresh;\r\n this.client.refreshTokenUsage = this.clientForm.value.refreshTokenUsage;\r\n this.client.refreshTokenExpiration = this.clientForm.value.refreshTokenExpiration;\r\n this.client.identityTokenLifetime = this.clientForm.value.identityTokenLifetime;\r\n this.client.slidingRefreshTokenLifetime = this.clientForm.value.slidingRefreshTokenLifetime;\r\n this.client.absoluteRefreshTokenLifetime = this.clientForm.value.absoluteRefreshTokenLifetime;\r\n\r\n const uris: string[] = [];\r\n (this.clientForm.value.allowedRedirectUris as object[]).forEach(a => uris.push(a['allowedRedirectUri']));\r\n this.client.allowedRedirectUris = uris.join('|');\r\n\r\n const postLogoutUris: string[] = [];\r\n (this.clientForm.value.postLogoutRedirectUris as object[]).forEach(a => {\r\n postLogoutUris.push(a['allowedPostLogoutRedirectUri']);\r\n });\r\n this.client.postLogoutRedirectUris = postLogoutUris.join('|');\r\n\r\n const origins: string[] = [];\r\n (this.clientForm.value.allowedCorsOrigins as object[]).forEach(a => origins.push(a['allowedCorsOrigin']));\r\n this.client.allowedCorsOrigins = origins.join('|');\r\n\r\n this.clientSvc.save(this.client).subscribe(c => {\r\n console.log(c);\r\n this.clientForm.markAsPristine();\r\n this.clientForm.markAsUntouched();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de client');\r\n })\r\n\r\n }\r\n\r\n }\r\n\r\n getClientSecretFormGroup(clientSecrets: ClientSecret[]): FormGroup {\r\n\r\n const secretControls = this.fb.array([]);\r\n\r\n if (clientSecrets) {\r\n clientSecrets.forEach(c => {\r\n secretControls.push(this.fb.group({\r\n clientSecretId: [c.clientSecretId],\r\n description: [c.description],\r\n value: [c.value],\r\n validFrom: [c.validFrom],\r\n validUntil: [c.validUntil]\r\n }));\r\n });\r\n }\r\n\r\n return this.fb.group({\r\n secrets: secretControls\r\n });\r\n }\r\n\r\n getnieuwSecretFormGroup(): FormGroup {\r\n\r\n return this.fb.group({\r\n clientSecretId: [0],\r\n description: [''],\r\n value: [''],\r\n validFrom: ['2000-01-01'],\r\n validUntil: ['2100-01-01']\r\n });\r\n }\r\n\r\n SecretsOpslaan() {\r\n console.log(this.clientSecretsForm);\r\n\r\n if (this.clientSecretsForm.touched) {\r\n\r\n const secretsArray = this.clientSecretsForm.controls['secrets'] as FormArray;\r\n secretsArray.controls.forEach(c => {\r\n if (c.touched) {\r\n\r\n const cs: ClientSecret = {\r\n clientSecretId: c.value.clientSecretId,\r\n clientId: c.value.clientId,\r\n description: c.value.description,\r\n value: c.value.value,\r\n validFrom: c.value.validFrom,\r\n validUntil: c.value.validUntil\r\n };\r\n\r\n this.clientSvc.saveSecret(cs).subscribe(s => {\r\n console.log(s);\r\n });\r\n \r\n }\r\n });\r\n\r\n // check verwijderde secrets\r\n\r\n const bestaandeSecrets: ClientSecret[] = secretsArray.value as ClientSecret[];\r\n this.clientSecrets.forEach(s => {\r\n \r\n if (bestaandeSecrets.findIndex(x => x.clientSecretId === s.clientSecretId) === -1) {\r\n this.clientSvc.deleteSecret(s).subscribe(d => {\r\n console.log(d);\r\n });\r\n }\r\n });\r\n\r\n this.clientSecretsForm.markAsPristine();\r\n this.clientSecretsForm.markAsUntouched();\r\n }\r\n }\r\n\r\n SecretToevoegen() {\r\n \r\n const secretsArray = this.clientSecretsForm.controls['secrets'] as FormArray;\r\n\r\n const nieuwSecret = this.fb.group({\r\n clientId: this.client.clientId,\r\n clientSecretId: [this.nieuwSecretForm.value.clientSecretId],\r\n description: [this.nieuwSecretForm.value.description],\r\n value: [this.nieuwSecretForm.value.value],\r\n validFrom: [this.nieuwSecretForm.value.validFrom],\r\n validUntil: [this.nieuwSecretForm.value.validUntil]\r\n });\r\n\r\n nieuwSecret.markAsTouched();\r\n nieuwSecret.markAsDirty();\r\n\r\n secretsArray.controls.push(nieuwSecret);\r\n\r\n this.clientSecretsForm.markAsDirty();\r\n this.clientSecretsForm.markAsTouched();\r\n\r\n this.nieuwSecretForm = this.getnieuwSecretFormGroup();\r\n }\r\n\r\n SecretVerwijderen(c: AbstractControl) {\r\n\r\n const secretsArray = this.clientSecretsForm.controls['secrets'] as FormArray;\r\n const idx = secretsArray.controls.findIndex(x => x === c);\r\n\r\n if (idx !== -1) {\r\n secretsArray.removeAt(idx);\r\n this.clientSecretsForm.markAsDirty();\r\n this.clientSecretsForm.markAsTouched();\r\n }\r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n}\r\n","Beheer Client\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n edit\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Client is actief\r\n Client is NIET actief\r\n \r\n \r\n \r\n \r\n Toegestaan\r\n NIET toestaan\r\n \r\n \r\n\r\n \r\n \r\n implicit\r\n client_credentials\r\n authorization_code\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n Sliding\r\n Absolute\r\n \r\n \r\n\r\n \r\n \r\n ReUse\r\n OneTimeOnly\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n Claims bijwerken\r\n Claims niet bijwerken\r\n \r\n \r\n\r\n \r\n \r\n Toegestaan\r\n Niet toegstaan\r\n \r\n \r\n\r\n \r\n \r\n PKCE vereist\r\n PKCE niet vereist\r\n \r\n \r\n\r\n\r\n \r\n Allowed Scopes\r\n \r\n {{ s }}\r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n
Toegestane redirect uri's
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n
Post logout redirect Uri's
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n
Toegestane CORS origins
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Client secrets

\r\n \r\n edit\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
DescriptionValueGeldig vanGeldig tot
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ClientService } from '../services/client.service';\r\nimport { Client } from '../models/client';\r\n\r\n\r\n@Component({\r\n selector: 'app-clients',\r\n templateUrl: './clients.component.html',\r\n styleUrls: ['./clients.component.scss']\r\n})\r\nexport class ClientsComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['clientId', 'clientName', 'enabled'];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\r\n constructor(private clientSvc: ClientService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.clientSvc.get().subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n\r\n }\r\n\r\n public Details(client: Client) {\r\n this.router.navigate(['client', { clientId: client.clientId }]);\r\n }\r\n\r\n public RecordToevoegen() {\r\n this.router.navigate(['client']);\r\n }\r\n\r\n}\r\n","Beheer Clients\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ClientId\r\n {{ x.clientId }}\r\n Naam\r\n {{ x.clientName }}\r\n Actief\r\n {{ x.enabled }}\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DeviceCodeIdpRp } from '../models/device-code-idp-rp';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DeviceCodeIdpRpService } from '../services/device-code-idp-rp.service';\r\n\r\n@Component({\r\n selector: 'app-device-code-rp',\r\n templateUrl: './device-code-rp.component.html',\r\n styleUrls: ['./device-code-rp.component.scss']\r\n})\r\nexport class DeviceCodeRpComponent implements OnInit {\r\n\r\n rp: DeviceCodeIdpRp;\r\n rpForm: FormGroup = this.getRpFormGroup(null);\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private deviceCodeRpSvc: DeviceCodeIdpRpService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n let deviceCodeIdpRpId: string = this.route.snapshot.params.deviceCodeIdpRpId;\r\n\r\n if (!deviceCodeIdpRpId) {\r\n\r\n this.rp = new DeviceCodeIdpRp();\r\n\r\n this.rpForm = this.getRpFormGroup(this.rp);\r\n\r\n } else {\r\n this.deviceCodeRpSvc.fetch(Number(deviceCodeIdpRpId))\r\n .subscribe(c => {\r\n this.rp = c\r\n this.rpForm = this.getRpFormGroup(this.rp);\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n getRpFormGroup(rp: DeviceCodeIdpRp): FormGroup {\r\n\r\n if (!rp) {\r\n return this.fb.group({\r\n deviceCodeIdpRpId: [''],\r\n naam: [''],\r\n client_Id: [''],\r\n client_Secret: [''],\r\n redirectUri: ['']\r\n });\r\n } else {\r\n\r\n return this.fb.group({\r\n deviceCodeIdpRpId: [rp.deviceCodeIdpRpId],\r\n naam: [rp.naam],\r\n client_Id: [rp.client_Id],\r\n client_Secret: [rp.client_Secret],\r\n redirectUri: [rp.redirectUri]\r\n });\r\n\r\n }\r\n }\r\n\r\n RecordOpslaan() {\r\n \r\n\r\n if (this.rpForm.touched) {\r\n\r\n this.rp.naam = this.rpForm.value.naam;\r\n this.rp.client_Id = this.rpForm.value.client_Id;\r\n this.rp.client_Secret = this.rpForm.value.client_Secret;\r\n this.rp.redirectUri = this.rpForm.value.redirectUri;\r\n\r\n this.deviceCodeRpSvc.save(this.rp).subscribe(c => {\r\n\r\n if (!this.rp.deviceCodeIdpRpId) {\r\n this.rp.deviceCodeIdpRpId = c.deviceCodeIdpRpId;\r\n }\r\n\r\n this.rpForm.markAsPristine();\r\n this.rpForm.markAsUntouched();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de relying party.');\r\n })\r\n\r\n }\r\n\r\n }\r\n\r\n RecordVerwijderen() {\r\n\r\n var akkoord = confirm('Record verwijderen?');\r\n\r\n if (akkoord && this.rp.deviceCodeIdpRpId) {\r\n this.deviceCodeRpSvc.delete(this.rp.deviceCodeIdpRpId).subscribe(r => {\r\n this.router.navigate(['devicecodeidprps']);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het verwijderen van de relying party.');\r\n });\r\n }\r\n }\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n edit\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DeviceCodeIdpRpService } from '../services/device-code-idp-rp.service';\r\nimport { DeviceCodeIdpRp } from '../models/device-code-idp-rp';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-device-code-rps',\r\n templateUrl: './device-code-rps.component.html',\r\n styleUrls: ['./device-code-rps.component.scss']\r\n})\r\nexport class DeviceCodeRpsComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['naam', 'clientId', 'redirectUri'];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private deviceCodeRpSvc: DeviceCodeIdpRpService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.deviceCodeRpSvc.get().subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n public Details(rp: DeviceCodeIdpRp) {\r\n this.router.navigate(['devicecodeidprp', { deviceCodeIdpRpId: rp.deviceCodeIdpRpId }]);\r\n }\r\n\r\n public RecordToevoegen() {\r\n this.router.navigate(['devicecodeidprp']);\r\n }\r\n}\r\n","\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Naam\r\n {{ x.naam }}\r\n clientId\r\n {{ x.client_Id }}\r\n Redirect\r\n {{ x.redirectUri }}\r\n
\r\n\r\n
\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DeviceToken } from '../models/device-token';\r\nimport { DeviceTokenService } from '../services/device-token.service';\r\n\r\n@Component({\r\n selector: 'app-device-token',\r\n templateUrl: './device-token.component.html',\r\n styleUrls: ['./device-token.component.scss']\r\n})\r\nexport class DeviceTokenComponent implements OnInit {\r\n\r\n device: DeviceToken;\r\n deviceForm: FormGroup = this.getDeviceFormGroup(null);\r\n\r\n @ViewChild('naamInput', { static: true }) naamInput: ElementRef;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private deviceTokenSvc: DeviceTokenService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n const deviceTokenId: string = this.route.snapshot.params.deviceTokenId;\r\n\r\n if (!deviceTokenId) {\r\n\r\n this.device = new DeviceToken();\r\n this.device.geldig = true;\r\n\r\n this.deviceForm = this.getDeviceFormGroup(this.device);\r\n this.naamInput.nativeElement.focus();\r\n\r\n } else {\r\n this.deviceTokenSvc.fetch(Number(deviceTokenId))\r\n .subscribe(c => {\r\n this.device = c\r\n this.deviceForm = this.getDeviceFormGroup(this.device);\r\n\r\n });\r\n }\r\n }\r\n\r\n getDeviceFormGroup(token: DeviceToken): FormGroup {\r\n\r\n if (!token) {\r\n return this.fb.group({\r\n deviceTokenId: [''],\r\n naam: [''],\r\n passkey: [''],\r\n tokenStatus: [''],\r\n geldig: ['']\r\n });\r\n } else {\r\n\r\n return this.fb.group({\r\n deviceTokenId: [token.deviceTokenId],\r\n naam: [token.naam],\r\n passkey: [token.passkey],\r\n tokenStatus: [token.tokenStatus],\r\n geldig: [token.geldig]\r\n });\r\n\r\n }\r\n }\r\n\r\n RecordOpslaan() {\r\n\r\n if (this.deviceForm.touched) {\r\n\r\n this.device.naam = this.deviceForm.value.naam;\r\n this.device.geldig = this.deviceForm.value.geldig;\r\n\r\n this.deviceTokenSvc.save(this.device).subscribe(c => {\r\n\r\n this.device = c;\r\n this.deviceForm = this.getDeviceFormGroup(this.device);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van het device.');\r\n })\r\n }\r\n }\r\n\r\n RecordVerwijderen() {\r\n\r\n const akkoord = confirm('Record verwijderen?');\r\n\r\n if (akkoord && this.device.deviceTokenId) {\r\n this.deviceTokenSvc.delete(this.device.deviceTokenId).subscribe(r => {\r\n this.router.navigate(['devicetokens']);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het verwijderen van het device.');\r\n });\r\n }\r\n }\r\n\r\n Loskoppelen() {\r\n\r\n this.deviceTokenSvc.ontkoppel(Number(this.device.deviceTokenId))\r\n .subscribe(c => {\r\n this.device = c\r\n this.deviceForm = this.getDeviceFormGroup(this.device);\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het ontkoppelen van het device.');\r\n });\r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n edit\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Geldig\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { DeviceToken } from '../models/device-token';\r\nimport { DeviceTokenService } from '../services/device-token.service';\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'app-device-tokens',\r\n templateUrl: './device-tokens.component.html',\r\n styleUrls: ['./device-tokens.component.scss']\r\n})\r\nexport class DeviceTokensComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['deviceTokenId','naam', 'passkey', 'geldig'];\r\n filterForm: FormGroup = this.fb.group({ Naam: [''] });\r\n\r\n\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private deviceTokenSvc: DeviceTokenService,\r\n private router: Router,\r\n private fb: FormBuilder\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterGewijzigd();\r\n this.deviceTokenSvc.get(null).subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortData = (datas: DeviceToken[], sort: MatSort) => {\r\n return datas.sort((a : DeviceToken, b: DeviceToken) => {\r\n const isAsc = sort.direction === 'asc';\r\n switch (sort.active) {\r\n case 'deviceTokenId': return this.compareN(a.deviceTokenId, b.deviceTokenId, isAsc);\r\n case 'naam': return this.compareS(a.naam, b.naam, isAsc);\r\n case 'tokenStatus': return this.compareS(a.tokenStatus, b.tokenStatus, isAsc);\r\n case 'geldig': return this.compareS(String(a.geldig), String(b.geldig), isAsc);\r\n case 'passkey': return this.compareS(a.passkey, b.passkey, isAsc);\r\n default: return 0;\r\n }\r\n });\r\n };\r\n });\r\n }\r\n\r\n compareN(a: number, b: number, isAsc: boolean) {\r\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n compareS(a: string, b: string, isAsc: boolean) {\r\n return (a.toLowerCase() < b.toLowerCase() ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n public Details(t: DeviceToken) {\r\n this.router.navigate(['devicetoken', { deviceTokenId: t.deviceTokenId }]);\r\n }\r\n\r\n public RecordToevoegen() {\r\n this.router.navigate(['devicetoken']);\r\n }\r\n\r\n filterGewijzigd() {\r\n const gezochteNaam: string = this.filterForm.value.Naam;\r\n\r\n this.deviceTokenSvc.get(gezochteNaam).subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n compareString(a: string, b: string, isAsc: boolean) {\r\n return a.localeCompare(b, 'NL-nl') * (isAsc ? 1 : -1);\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n search\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
Id\r\n {{ x.deviceTokenId }}\r\n Naam\r\n {{ x.naam }}\r\n Toegangscode\r\n {{ x.passkey }}\r\n Geldig\r\n {{ x.geldig }}\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { IdentityProvider } from '../models/identity-provider';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router, Params } from '@angular/router';\r\nimport { IdentityProviderService } from '../services/identity-provider.service';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-identity-provider',\r\n templateUrl: './identity-provider.component.html',\r\n styleUrls: ['./identity-provider.component.scss']\r\n})\r\nexport class IdentityProviderComponent implements OnInit {\r\n\r\n identityProvider: IdentityProvider;\r\n identityProviderForm: FormGroup;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private identityProviderSvc: IdentityProviderService,\r\n private snackBar: MatSnackBar\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n let identityProviderId: number = +this.route.snapshot.params.identityProviderId;\r\n\r\n if (identityProviderId) {\r\n this.identityProviderSvc.fetch(identityProviderId)\r\n .subscribe((i: IdentityProvider) => {\r\n this.identityProvider = i;\r\n this.identityProviderForm = this.getFormGroup(this.identityProvider);\r\n })\r\n } else {\r\n this.identityProvider = {\r\n identityProviderId: 0,\r\n authenticationType: 'Google',\r\n caption: '',\r\n signInId: '',\r\n signInSecret: '',\r\n metadataAddress: '',\r\n redirectUri: '',\r\n postLogoutRedirect: '',\r\n disableNewUsers: true,\r\n isActive: true\r\n }\r\n this.identityProviderForm = this.getFormGroup(this.identityProvider);\r\n }\r\n \r\n }\r\n \r\n getFormGroup(idp: IdentityProvider): FormGroup {\r\n return this.fb.group({\r\n identityProviderId: [idp.identityProviderId],\r\n caption: [idp.caption, Validators.required],\r\n authenticationType: [idp.authenticationType, Validators.required],\r\n signInId: [idp.signInId, Validators.required],\r\n signInSecret: [idp.signInSecret, Validators.required],\r\n redirectUri: [idp.redirectUri],\r\n metadataAddress: [idp.metadataAddress],\r\n postLogoutRedirect: [idp.postLogoutRedirect],\r\n disableNewUsers: [idp.disableNewUsers],\r\n isActive: [idp.isActive]\r\n });\r\n }\r\n\r\n RecordOpslaan() {\r\n\r\n this.identityProviderForm.updateValueAndValidity();\r\n\r\n if (this.identityProviderForm.touched && this.identityProviderForm.valid) {\r\n this.identityProvider.caption = this.identityProviderForm.value.caption;\r\n this.identityProvider.authenticationType = this.identityProviderForm.value.authenticationType;\r\n this.identityProvider.signInId = this.identityProviderForm.value.signInId;\r\n this.identityProvider.signInSecret = this.identityProviderForm.value.signInSecret;\r\n this.identityProvider.redirectUri = this.identityProviderForm.value.redirectUri;\r\n this.identityProvider.metadataAddress = this.identityProviderForm.value.metadataAddress;\r\n this.identityProvider.postLogoutRedirect = this.identityProviderForm.value.postLogoutRedirect;\r\n this.identityProvider.disableNewUsers = this.identityProviderForm.value.disableNewUsers;\r\n this.identityProvider.isActive = this.identityProviderForm.value.isActive;\r\n\r\n this.identityProviderSvc.save(this.identityProvider).subscribe(a => {\r\n console.log(a);\r\n this.identityProviderForm.markAsPristine();\r\n this.identityProviderForm.markAsUntouched();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de provider');\r\n });\r\n\r\n }\r\n \r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n\r\n}\r\n","Beheer Identityprovider\r\n\r\n
\r\n
\r\n \r\n edit\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Google\r\n Federation\r\n Microsoft\r\n OpenIdConnect\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Nieuwe users zijn disabled\r\n Nieuwe users zijn direct actief\r\n \r\n \r\n \r\n \r\n Ja\r\n Nee\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IdentityProvider } from '../models/identity-provider';\r\nimport { IdentityProviderService } from '../services/identity-provider.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-identity-providers',\r\n templateUrl: './identity-providers.component.html',\r\n styleUrls: ['./identity-providers.component.scss']\r\n})\r\nexport class IdentityProvidersComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['identityProviderId', 'caption', 'authenticationType', 'redirectUri','isActive' ];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\r\n constructor(private identityProviderSvc: IdentityProviderService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n this.identityProviderSvc.get().subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n public Details(identityProvider: IdentityProvider) {\r\n this.router.navigate(['beheeridp', { identityProviderId: identityProvider.identityProviderId }]);\r\n }\r\n\r\n public RecordToevoegen() {\r\n this.router.navigate(['beheeridp', { identityProviderId: 0 }]);\r\n }\r\n}\r\n","Beheer Identityproviders\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Id\r\n {{ x.identityProviderId }}\r\n Naam\r\n {{ x.caption }}\r\n Type\r\n {{ x.authenticationType }}\r\n Redirect\r\n {{ x.redirectUri }}\r\n Actief\r\n {{ x.isActive }}\r\n
\r\n\r\n
\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n@NgModule( {\r\n imports: [\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule\r\n ]\r\n} )\r\nexport class MaterialModule { }\r\n","export class AppSetting {\r\n \"appSettingId\": number;\r\n \"appSettingKey\": string;\r\n \"appSettingType\": string;\r\n \"appSettingValue\": string;\r\n \"category\": string;\r\n \"name\": string;\r\n}\r\n","export class Client {\r\n constructor() {\r\n this.allowedScopes = '';\r\n this.allowedRedirectUris = '';\r\n this.allowedCorsOrigins = '';\r\n }\r\n\r\n clientId: string;\r\n absoluteRefreshTokenLifetime: number;\r\n accessTokenLifetime: number;\r\n accessTokenType: number;\r\n allowedCorsOrigins: string;\r\n allowedGrantTypes: string;\r\n allowedScopes: string;\r\n allowRememberConsent: boolean;\r\n alwaysSendClientClaims: boolean;\r\n authorizationCodeLifetime: number;\r\n clientName: string;\r\n clientUri: string;\r\n enabled: boolean;\r\n enableLocalLogin: boolean;\r\n identityTokenLifetime: number;\r\n includeJwtId: boolean;\r\n logoUri: string;\r\n postLogoutRedirectUris: string;\r\n prefixClientClaims: boolean;\r\n refreshTokenExpiration: number;\r\n refreshTokenUsage: number;\r\n requireConsent: boolean;\r\n slidingRefreshTokenLifetime: number;\r\n updateAccessTokenClaimsOnRefresh: boolean;\r\n allowedRedirectUris: string;\r\n alwaysIncludeUserClaimsInIdToken: boolean;\r\n allowOfflineAccess: boolean;\r\n identityProviderRestrictions: string;\r\n userSsoLifetime: number;\r\n userCodeType: string;\r\n deviceCodeLifeTime: number;\r\n protocolType: string;\r\n requireClientSecret: boolean;\r\n description: string;\r\n requirePkce: boolean;\r\n allowPlainTextPkce: boolean;\r\n allowAccessTokensViaBrowser: boolean;\r\n frontChannelLogoutUri: string;\r\n frontChannelLogoutSessionRequired: boolean;\r\n backChannelLogoutUri: string;\r\n}\r\n","export class DeviceCodeIdpRp {\r\n deviceCodeIdpRpId: number;\r\n naam: string;\r\n client_Id: string;\r\n client_Secret: string;\r\n redirectUri: string;\r\n}\r\n","export class DeviceToken {\r\n deviceTokenId: number;\r\n naam: string;\r\n passkey: string;\r\n tokenStatus: string;\r\n geldig: boolean;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ResourceService } from '../services/resource.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormBuilder, FormGroup, FormArray, AbstractControl, FormControl } from '@angular/forms';\r\nimport { Resource } from '../models/resource';\r\nimport { Scope } from '../models/scope';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { AppUser } from '../models/app-user';\r\nimport { AppUserService } from '../services/app-user.service';\r\n\r\n@Component({\r\n selector: 'app-resource',\r\n templateUrl: './resource.component.html',\r\n styleUrls: ['./resource.component.scss']\r\n})\r\nexport class ResourceComponent implements OnInit {\r\n\r\n resource: Resource;\r\n resourceForm: FormGroup = this.getFormGroup(null);\r\n newScopeForm: FormGroup = this.getNewScopeForm();\r\n\r\n beheerders: AppUser[] = [];\r\n zoekTerm: FormControl = new FormControl();\r\n zoekTermTreffers: AppUser[] = [];\r\n \r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private resourceSvc: ResourceService,\r\n private appUserSvc: AppUserService,\r\n private snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n let resourceId: number = +this.route.snapshot.params.resourceId;\r\n\r\n if (!resourceId) {\r\n\r\n this.resource = {\r\n resourceId: 0,\r\n name: '',\r\n resourceType: 1,\r\n resourceSecret: '',\r\n scopes: []\r\n };\r\n this.resourceForm = this.getFormGroup(this.resource);\r\n\r\n } else {\r\n \r\n this.resourceSvc.fetch(resourceId)\r\n .subscribe((r: Resource) => {\r\n this.resource = r;\r\n this.resourceForm = this.getFormGroup(this.resource);\r\n this.resourceSvc.getBeheerders(r.resourceId).subscribe(b => {\r\n this.beheerders = b;\r\n });\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n getFormGroup(res: Resource): FormGroup {\r\n\r\n if (!res) {\r\n return this.fb.group({\r\n resourceId: [''],\r\n name: [''],\r\n resourceType: [''],\r\n resourceSecret: [''],\r\n scopes: this.fb.array([])\r\n });\r\n } else {\r\n\r\n this.getScopesArray(res.scopes);\r\n\r\n return this.fb.group({\r\n resourceId: [res.resourceId],\r\n name: [res.name],\r\n resourceType: [res.resourceType],\r\n resourceSecret: [res.resourceSecret],\r\n scopes: this.getScopesArray(res.scopes)\r\n });\r\n }\r\n }\r\n\r\n getScopesArray(scopes: Scope[]): FormArray {\r\n\r\n var a = this.fb.array([]);\r\n\r\n scopes.forEach(u => {\r\n a.push(this.fb.group({\r\n scopeId: [u.scopeId],\r\n description: [u.description],\r\n scopeType: [u.scopeType],\r\n name: [u.name]\r\n }));\r\n });\r\n return a;\r\n }\r\n\r\n getNewScopeForm(): FormGroup {\r\n return this.fb.group({\r\n scopeId: [0],\r\n description: [''],\r\n scopeType: [1],\r\n name: ['']\r\n });\r\n }\r\n\r\n RecordOpslaan() {\r\n console.log(this.resourceForm);\r\n\r\n if (this.resourceForm.touched) {\r\n\r\n this.resource.name = this.resourceForm.value.name;\r\n this.resource.resourceId = this.resourceForm.value.resourceId;\r\n this.resource.resourceType = this.resourceForm.value.resourceType;\r\n this.resource.resourceSecret = this.resourceForm.value.resourceSecret;\r\n this.resource.scopes = this.resourceForm.value.scopes;\r\n\r\n this.resourceSvc.save(this.resource).subscribe(x => {\r\n console.log(x);\r\n this.resourceForm.markAsPristine();\r\n this.resourceForm.markAsUntouched();\r\n },\r\n error => {\r\n this.showErrorToast(error, 'Fout bij het opslaan van de resource');\r\n })\r\n\r\n\r\n }\r\n }\r\n \r\n ScopeVerwijderen(c: AbstractControl) {\r\n let scopesArray = this.resourceForm.controls['scopes'] as FormArray;\r\n\r\n var idx = scopesArray.controls.findIndex(x => x === c);\r\n\r\n if (idx !== -1) {\r\n scopesArray.removeAt(idx);\r\n this.resourceForm.markAsDirty();\r\n this.resourceForm.markAsTouched();\r\n }\r\n }\r\n\r\n\r\n ScopeToevoegen() {\r\n\r\n let scopesArray = this.resourceForm.controls['scopes'] as FormArray;\r\n\r\n var nieuweScope = this.fb.group({\r\n scopeId: [0],\r\n resourceId: [this.resource.resourceId],\r\n description: [this.newScopeForm.value.description],\r\n scopeType: [this.newScopeForm.value.scopeType],\r\n name: [this.newScopeForm.value.name]\r\n });\r\n\r\n nieuweScope.markAsTouched();\r\n nieuweScope.markAsDirty();\r\n\r\n scopesArray.push(nieuweScope);\r\n\r\n this.resourceForm.markAsDirty();\r\n this.resourceForm.markAsTouched();\r\n\r\n this.newScopeForm = this.getNewScopeForm();\r\n }\r\n\r\n\r\n appUsersZoeken() {\r\n\r\n this.appUserSvc.get(this.zoekTerm.value).subscribe(a => this.zoekTermTreffers = a);\r\n }\r\n\r\n toevoegenGekozenBeheerder(event: MatAutocompleteSelectedEvent) {\r\n\r\n console.log(event);\r\n \r\n var bestaandeBeheerder = this.beheerders.find(b => { return b.appUserId === event.option.value });\r\n\r\n if (!bestaandeBeheerder) {\r\n this.resourceSvc.addBeheerder(this.resource.resourceId, event.option.value).subscribe(b => {\r\n this.beheerders = b;\r\n this.zoekTerm.reset();\r\n\r\n });\r\n }\r\n }\r\n\r\n verwijderBeheerder(appUser: AppUser) {\r\n \r\n this.resourceSvc.removeBeheerder(this.resource.resourceId, appUser.appUserId).subscribe(b => {\r\n this.beheerders = b;\r\n });\r\n }\r\n\r\n showErrorToast(error: any, melding: string) {\r\n\r\n let tekst = melding;\r\n\r\n if (!tekst && error.message) {\r\n tekst += '(' + error.message + ')';\r\n }\r\n\r\n this.snackBar.open(tekst, null, { duration: 3000 });\r\n }\r\n}\r\n","Beheer Resource\r\n\r\n
\r\n\r\n \r\n
\r\n \r\n edit\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n Identity\r\n Api\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n

Scopes

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
NameDescriptionType
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Identity\r\n Api\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Identity\r\n Api\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n

Beheerders

\r\n
\r\n
\r\n
\r\n {{ b.name }} \r\n
\r\n
\r\n
\r\n

Er zijn geen beheerders gekoppeld

\r\n\r\n \r\n search\r\n \r\n \r\n \r\n {{ au.name }}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { Resource } from '../models/resource';\r\nimport { ResourceService } from '../services/resource.service';\r\n\r\n@Component({\r\n selector: 'app-resources',\r\n templateUrl: './resources.component.html',\r\n styleUrls: ['./resources.component.scss']\r\n})\r\nexport class ResourcesComponent implements OnInit {\r\n\r\n dataSource = new MatTableDataSource();\r\n displayedColumns: string[] = ['name', 'resourceType'];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\r\n constructor(private resourceSvc: ResourceService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n\r\n this.resourceSvc.get().subscribe(data => {\r\n this.dataSource.data = data;\r\n this.dataSource.sort = this.sort;\r\n });\r\n }\r\n\r\n public Details(resource: Resource) {\r\n this.router.navigate(['resource', { resourceId: resource.resourceId }]);\r\n }\r\n\r\n public RecordToevoegen() {\r\n this.router.navigate(['resource', { resourceId: 0 }]);\r\n }\r\n}\r\n","Beheer Resources\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Naam\r\n {{ x.name }}\r\n Type\r\n {{ x.resourceType === 0 ? 'Identity' : 'Api' }}\r\n
\r\n\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppConfig } from '../models/app-config';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppConfigService {\r\n\r\n private static appConfig: AppConfig\r\n\r\n constructor() {\r\n //if ( !AppConfigService.appConfig ) {\r\n // this.loadAppConfig().then( function () { return; } )\r\n //}\r\n }\r\n\r\n loadAppConfig() {\r\n\r\n const promise = new Promise((resolve, reject) => {\r\n\r\n fetch('/app-config.json')\r\n .then((response) => response.json())\r\n .then(function (c) {\r\n AppConfigService.appConfig = {\r\n \"oidcAuthority\": c.oidcAuthority,\r\n \"oidcClientId\": c.oidcClientId,\r\n \"oidcRedirectUri\": c.oidcRedirectUri,\r\n \"oidcPostLogoutRedirectUri\": c.oidcPostLogoutRedirectUri,\r\n \"oidcScopes\": c.oidcScopes,\r\n \"oidcSilentRedirectUri\": c.oidcSilentRedirectUri,\r\n \"apiRoot\": c.apiRoot,\r\n \"version\": c.version\r\n };\r\n\r\n resolve();\r\n\r\n }, function () {\r\n reject();\r\n });\r\n\r\n });\r\n\r\n return promise;\r\n }\r\n\r\n getConfig() {\r\n return AppConfigService.appConfig;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { AppInfo } from '../models/app-info';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppInfoService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppInfo');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { AppSetting } from '../models/app-setting';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppSettingService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n load() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppSetting');\r\n }\r\n\r\n save(appSetting: AppSetting) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/AppSetting/' + appSetting.appSettingId, appSetting);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { AppUser } from '../models/app-user';\r\nimport { PersistedGrantInfo } from '../models/persisted-grant-info';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppUserService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get(naam: string) {\r\n\r\n let params = new HttpParams()\r\n .append('naam', naam ? naam : '');\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppUser', { params: params });\r\n }\r\n\r\n fetch(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppUser/' + id);\r\n }\r\n\r\n audit(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppUser/' + id + '/audit');\r\n }\r\n\r\n grants(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/AppUser/' + id + '/grants');\r\n }\r\n \r\n save(appUser: AppUser) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/AppUser/' + appUser.appUserId, appUser);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n\r\n constructor( private authService: AuthService, private router: Router ) { }\r\n canActivate() {\r\n \r\n return this.authService.isLoggedInObs().pipe(\r\n map( e => {\r\n if ( e ) {\r\n return true;\r\n } else {\r\n this.router.navigate( ['unauthorized'] );\r\n }\r\n } ),\r\n catchError( ( err ) => {\r\n this.router.navigate( ['unauthorized'] );\r\n return of( false );\r\n } ));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserManager, UserManagerSettings, User } from 'oidc-client';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { AppConfig } from '../models/app-config';\r\nimport { Observable, from } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport { User };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n private static _userManager: UserManager;\r\n private user: User;\r\n\r\n\r\n constructor(appConfigSvc: AppConfigService) {\r\n\r\n if (!AuthService._userManager) {\r\n\r\n var appConfig = appConfigSvc.getConfig();\r\n\r\n var settings = {\r\n authority: appConfig.oidcAuthority,\r\n client_id: appConfig.oidcClientId,\r\n redirect_uri: appConfig.oidcRedirectUri,\r\n silent_redirect_uri: appConfig.oidcSilentRedirectUri,\r\n post_logout_redirect_uri: appConfig.oidcPostLogoutRedirectUri,\r\n response_type: 'id_token token',\r\n scope: appConfig.oidcScopes,\r\n automaticSilentRenew: true\r\n };\r\n\r\n AuthService._userManager = new UserManager(settings);\r\n\r\n } else {\r\n console.log('usermanager al geladen');\r\n }\r\n\r\n }\r\n\r\n\r\n getUser(): Observable {\r\n return from(AuthService._userManager.getUser());\r\n }\r\n\r\n isLoggedInObs(): Observable {\r\n return from(AuthService._userManager.getUser()).pipe(map((user) => {\r\n if (user) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }));\r\n }\r\n\r\n public login(): Promise {\r\n return AuthService._userManager.signinRedirect();\r\n }\r\n\r\n public renewToken(): Promise {\r\n return AuthService._userManager.signinSilent().catch((err) => {\r\n\r\n console.log('Failed silent renewal of token');\r\n console.log(err);\r\n\r\n AuthService._userManager.signinRedirect();\r\n return null;\r\n });\r\n }\r\n\r\n public logout(): Promise {\r\n return AuthService._userManager.signoutRedirect();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { ClaimMapping } from '../models/claim-mapping';\r\nimport { CustomHttpParamEncoder } from './custom-http-param-encoder';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClaimMappingService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get(identityProviderId: number, identityProviderSubClaimValue: string) {\r\n\r\n let params = new HttpParams({ encoder: new CustomHttpParamEncoder() })\r\n .append('identityProviderId', identityProviderId ? identityProviderId.toString() : '')\r\n .append('identityProviderSubClaimValue', identityProviderSubClaimValue ? identityProviderSubClaimValue : '');\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/ClaimMapping', { params: params });\r\n }\r\n\r\n save(claimMapping: ClaimMapping) {\r\n\r\n if (claimMapping.claimMappingId) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/ClaimMapping/' + claimMapping.claimMappingId, claimMapping);\r\n } else {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/ClaimMapping', claimMapping);\r\n }\r\n }\r\n\r\n delete(claimMapping: ClaimMapping) {\r\n return this.http.delete(this.appConfigSvc.getConfig().apiRoot + '/ClaimMapping/' + claimMapping.claimMappingId)\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Client } from '../models/client';\r\nimport { ClientSecret } from '../models/client-secret';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClientService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Client');\r\n }\r\n\r\n fetch(clientId: string) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Client/' + clientId);\r\n }\r\n\r\n getSecrets(clientId: string) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Client/' + clientId + '/Secrets');\r\n }\r\n\r\n saveSecret(clientSecret: ClientSecret) {\r\n if (clientSecret.clientSecretId) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/Client/' + clientSecret.clientId + '/Secrets/' + clientSecret.clientSecretId, clientSecret);\r\n } else {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/Client/' + clientSecret.clientId + '/Secrets', clientSecret);\r\n }\r\n \r\n }\r\n\r\n deleteSecret(clientSecret: ClientSecret) {\r\n return this.http.delete(this.appConfigSvc.getConfig().apiRoot + '/Client/' + clientSecret.clientId + '/Secrets/' + clientSecret.clientSecretId);\r\n }\r\n\r\n save(client: Client) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/Client/' + client.clientId, client);\r\n }\r\n}\r\n","import { HttpParameterCodec } from '@angular/common/http';\r\n\r\nexport class CustomHttpParamEncoder implements HttpParameterCodec {\r\n public encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n public encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n public decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n public decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { DeviceCodeIdpRp } from '../models/device-code-idp-rp';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeviceCodeIdpRpService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/DeviceCodeIdpRp');\r\n }\r\n\r\n fetch(deviceCodeIdpRpId: number) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/DeviceCodeIdpRp/' + deviceCodeIdpRpId);\r\n }\r\n\r\n save(rp: DeviceCodeIdpRp) {\r\n if (rp.deviceCodeIdpRpId) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/DeviceCodeIdpRp/' + rp.deviceCodeIdpRpId, rp);\r\n } else {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/DeviceCodeIdpRp', rp);\r\n }\r\n }\r\n\r\n delete(deviceCodeIdpRpId: number) {\r\n return this.http.delete(this.appConfigSvc.getConfig().apiRoot + '/DeviceCodeIdpRp/' + deviceCodeIdpRpId);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { DeviceToken } from '../models/device-token';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeviceTokenService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get(naam: string) {\r\n const params = new HttpParams()\r\n .append('naam', naam ? naam : '');\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken', { params: params });\r\n }\r\n\r\n fetch(deviceTokenId: number) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken/' + deviceTokenId);\r\n }\r\n\r\n ontkoppel(deviceTokenId: number) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken/' + deviceTokenId + '/ontkoppel');\r\n }\r\n\r\n save(token: DeviceToken) {\r\n if (token.deviceTokenId) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken/' + token.deviceTokenId, token);\r\n } else {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken', token);\r\n }\r\n }\r\n\r\n delete(deviceTokenId: number) {\r\n return this.http.delete(this.appConfigSvc.getConfig().apiRoot + '/DeviceToken/' + deviceTokenId);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { IdentityProvider } from '../models/identity-provider';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdentityProviderService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/IdentityProvider');\r\n }\r\n\r\n fetch(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/IdentityProvider/' + id);\r\n }\r\n\r\n save(idp: IdentityProvider) {\r\n\r\n if (idp.identityProviderId) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/IdentityProvider/' + idp.identityProviderId, idp);\r\n } else {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/IdentityProvider', idp);\r\n }\r\n \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Resource } from '../models/resource';\r\nimport { AppUser } from '../models/app-user';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResourceService {\r\n\r\n constructor(private http: HttpClient, private appConfigSvc: AppConfigService) { }\r\n\r\n get() {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Resource');\r\n }\r\n\r\n fetch(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Resource/' + id);\r\n }\r\n\r\n getBeheerders(id) {\r\n return this.http.get(this.appConfigSvc.getConfig().apiRoot + '/Resource/' + id + '/AppUsers');\r\n }\r\n\r\n addBeheerder(resourceId: number, appUserId: number) {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/Resource/' + resourceId + '/AppUsers/' + appUserId, appUserId);\r\n }\r\n\r\n removeBeheerder(resourceId: number, appUserId: number) {\r\n return this.http.delete(this.appConfigSvc.getConfig().apiRoot + '/Resource/' + resourceId + '/AppUsers/' + appUserId);\r\n }\r\n\r\n\r\n save(resource: Resource) {\r\n if (!resource.resourceId) {\r\n return this.http.post(this.appConfigSvc.getConfig().apiRoot + '/Resource', resource);\r\n } else {\r\n return this.http.put(this.appConfigSvc.getConfig().apiRoot + '/Resource/' + resource.resourceId, resource);\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { AuthService, User } from './auth.service';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { mergeMap, catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n\r\n constructor( public auth: AuthService, private router: Router ) {\r\n }\r\n\r\n handleAccessDeniedError( e: HttpErrorResponse ) : Observable {\r\n if ( e.status === 401 ) {\r\n this.auth.isLoggedInObs().subscribe( loggedIn => {\r\n\r\n if ( loggedIn ) {\r\n this.auth.renewToken();\r\n } else {\r\n this.auth.login();\r\n }\r\n \r\n } );\r\n }\r\n\r\n return throwError(e);\r\n }\r\n\r\n intercept( request: HttpRequest, next: HttpHandler ): Observable> {\r\n\r\n return this.auth.getUser().pipe( mergeMap((user: User) => {\r\n\r\n if ( user ) {\r\n let headers = request.headers\r\n .set( 'Cache-Control', 'no-cache' )\r\n .set( 'Pragma', 'no-cache' )\r\n .set( 'If-Modified-Since', 'Mon, 26 Jul 1997 05:00:00 GMT' )\r\n .set( 'Authorization', `Bearer ${user.access_token}` );\r\n\r\n request = request.clone( { headers } );\r\n }\r\n\r\n return next.handle(request).pipe(catchError(e => this.handleAccessDeniedError(e)));\r\n } ));\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-start',\r\n templateUrl: './start.component.html',\r\n styleUrls: ['./start.component.scss']\r\n})\r\nexport class StartComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppComponent } from '../app.component';\r\n\r\n@Component({\r\n selector: 'app-toolbar',\r\n inputs: ['titel'],\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss']\r\n})\r\nexport class ToolbarComponent implements OnInit {\r\n\r\n constructor(public appreference: AppComponent) { }\r\n\r\n titel: string = 'Identity Beheer';\r\n ngOnInit() {\r\n }\r\n\r\n public toggleMenu() {\r\n\r\n this.appreference.toggleMenu();\r\n }\r\n\r\n}\r\n","\r\n\r\n \r\n\r\n
{{titel}}
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { AuthService, User } from '../services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html',\r\n styleUrls: ['./unauthorized.component.scss']\r\n})\r\nexport class UnauthorizedComponent implements OnInit {\r\n\r\n currentUser: User;\r\n\r\n constructor(private location: Location, private authService: AuthService) {\r\n this.authService.getUser().subscribe(u => { this.currentUser = u; });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public isIngelogd(): boolean {\r\n if (!!this.currentUser && !!this.currentUser.access_token) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public naam(): string {\r\n if (!!this.currentUser && !!this.currentUser.profile && !!this.currentUser.profile['name']) {\r\n return this.currentUser.profile['name'];\r\n } else {\r\n return 'Onbekend';\r\n }\r\n }\r\n\r\n login() {\r\n this.authService.login();\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n Voor het gebruik van deze applicatie dient u in te loggen.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n U bent ingelogd als {{ naam() }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","var map = {\n\t\"./af\": 8685,\n\t\"./af.js\": 8685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 2614,\n\t\"./ar-kw.js\": 2614,\n\t\"./ar-ly\": 8630,\n\t\"./ar-ly.js\": 8630,\n\t\"./ar-ma\": 8674,\n\t\"./ar-ma.js\": 8674,\n\t\"./ar-sa\": 9032,\n\t\"./ar-sa.js\": 9032,\n\t\"./ar-tn\": 4730,\n\t\"./ar-tn.js\": 4730,\n\t\"./ar.js\": 254,\n\t\"./az\": 3052,\n\t\"./az.js\": 3052,\n\t\"./be\": 150,\n\t\"./be.js\": 150,\n\t\"./bg\": 3069,\n\t\"./bg.js\": 3069,\n\t\"./bm\": 3466,\n\t\"./bm.js\": 3466,\n\t\"./bn\": 8516,\n\t\"./bn-bd\": 557,\n\t\"./bn-bd.js\": 557,\n\t\"./bn.js\": 8516,\n\t\"./bo\": 6273,\n\t\"./bo.js\": 6273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 9815,\n\t\"./bs.js\": 9815,\n\t\"./ca\": 3331,\n\t\"./ca.js\": 3331,\n\t\"./cs\": 1320,\n\t\"./cs.js\": 1320,\n\t\"./cv\": 2219,\n\t\"./cv.js\": 2219,\n\t\"./cy\": 8266,\n\t\"./cy.js\": 8266,\n\t\"./da\": 6427,\n\t\"./da.js\": 6427,\n\t\"./de\": 7435,\n\t\"./de-at\": 2871,\n\t\"./de-at.js\": 2871,\n\t\"./de-ch\": 2994,\n\t\"./de-ch.js\": 2994,\n\t\"./de.js\": 7435,\n\t\"./dv\": 2357,\n\t\"./dv.js\": 2357,\n\t\"./el\": 5649,\n\t\"./el.js\": 5649,\n\t\"./en-au\": 9961,\n\t\"./en-au.js\": 9961,\n\t\"./en-ca\": 9878,\n\t\"./en-ca.js\": 9878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 864,\n\t\"./en-ie.js\": 864,\n\t\"./en-il\": 1579,\n\t\"./en-il.js\": 1579,\n\t\"./en-in\": 940,\n\t\"./en-in.js\": 940,\n\t\"./en-nz\": 6181,\n\t\"./en-nz.js\": 6181,\n\t\"./en-sg\": 4301,\n\t\"./en-sg.js\": 4301,\n\t\"./eo\": 5291,\n\t\"./eo.js\": 5291,\n\t\"./es\": 4529,\n\t\"./es-do\": 3764,\n\t\"./es-do.js\": 3764,\n\t\"./es-mx\": 2584,\n\t\"./es-mx.js\": 2584,\n\t\"./es-us\": 3425,\n\t\"./es-us.js\": 3425,\n\t\"./es.js\": 4529,\n\t\"./et\": 5203,\n\t\"./et.js\": 5203,\n\t\"./eu\": 678,\n\t\"./eu.js\": 678,\n\t\"./fa\": 3483,\n\t\"./fa.js\": 3483,\n\t\"./fi\": 6262,\n\t\"./fi.js\": 6262,\n\t\"./fil\": 2521,\n\t\"./fil.js\": 2521,\n\t\"./fo\": 4555,\n\t\"./fo.js\": 4555,\n\t\"./fr\": 3131,\n\t\"./fr-ca\": 8239,\n\t\"./fr-ca.js\": 8239,\n\t\"./fr-ch\": 1702,\n\t\"./fr-ch.js\": 1702,\n\t\"./fr.js\": 3131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 3821,\n\t\"./ga.js\": 3821,\n\t\"./gd\": 1753,\n\t\"./gd.js\": 1753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 2762,\n\t\"./gom-deva.js\": 2762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 2809,\n\t\"./gu.js\": 2809,\n\t\"./he\": 5402,\n\t\"./he.js\": 5402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 410,\n\t\"./hr.js\": 410,\n\t\"./hu\": 8288,\n\t\"./hu.js\": 8288,\n\t\"./hy-am\": 7928,\n\t\"./hy-am.js\": 7928,\n\t\"./id\": 1334,\n\t\"./id.js\": 1334,\n\t\"./is\": 6959,\n\t\"./is.js\": 6959,\n\t\"./it\": 4864,\n\t\"./it-ch\": 1124,\n\t\"./it-ch.js\": 1124,\n\t\"./it.js\": 4864,\n\t\"./ja\": 6141,\n\t\"./ja.js\": 6141,\n\t\"./jv\": 9187,\n\t\"./jv.js\": 9187,\n\t\"./ka\": 2136,\n\t\"./ka.js\": 2136,\n\t\"./kk\": 4332,\n\t\"./kk.js\": 4332,\n\t\"./km\": 8607,\n\t\"./km.js\": 8607,\n\t\"./kn\": 4305,\n\t\"./kn.js\": 4305,\n\t\"./ko\": 234,\n\t\"./ko.js\": 234,\n\t\"./ku\": 6003,\n\t\"./ku.js\": 6003,\n\t\"./ky\": 5061,\n\t\"./ky.js\": 5061,\n\t\"./lb\": 2786,\n\t\"./lb.js\": 2786,\n\t\"./lo\": 6183,\n\t\"./lo.js\": 6183,\n\t\"./lt\": 29,\n\t\"./lt.js\": 29,\n\t\"./lv\": 4169,\n\t\"./lv.js\": 4169,\n\t\"./me\": 8577,\n\t\"./me.js\": 8577,\n\t\"./mi\": 8177,\n\t\"./mi.js\": 8177,\n\t\"./mk\": 337,\n\t\"./mk.js\": 337,\n\t\"./ml\": 5260,\n\t\"./ml.js\": 5260,\n\t\"./mn\": 2325,\n\t\"./mn.js\": 2325,\n\t\"./mr\": 4695,\n\t\"./mr.js\": 4695,\n\t\"./ms\": 5334,\n\t\"./ms-my\": 7151,\n\t\"./ms-my.js\": 7151,\n\t\"./ms.js\": 5334,\n\t\"./mt\": 3570,\n\t\"./mt.js\": 3570,\n\t\"./my\": 7963,\n\t\"./my.js\": 7963,\n\t\"./nb\": 8028,\n\t\"./nb.js\": 8028,\n\t\"./ne\": 6638,\n\t\"./ne.js\": 6638,\n\t\"./nl\": 302,\n\t\"./nl-be\": 6782,\n\t\"./nl-be.js\": 6782,\n\t\"./nl.js\": 302,\n\t\"./nn\": 3501,\n\t\"./nn.js\": 3501,\n\t\"./oc-lnc\": 563,\n\t\"./oc-lnc.js\": 563,\n\t\"./pa-in\": 869,\n\t\"./pa-in.js\": 869,\n\t\"./pl\": 5302,\n\t\"./pl.js\": 5302,\n\t\"./pt\": 9687,\n\t\"./pt-br\": 4884,\n\t\"./pt-br.js\": 4884,\n\t\"./pt.js\": 9687,\n\t\"./ro\": 9107,\n\t\"./ro.js\": 9107,\n\t\"./ru\": 3627,\n\t\"./ru.js\": 3627,\n\t\"./sd\": 355,\n\t\"./sd.js\": 355,\n\t\"./se\": 3427,\n\t\"./se.js\": 3427,\n\t\"./si\": 1848,\n\t\"./si.js\": 1848,\n\t\"./sk\": 4590,\n\t\"./sk.js\": 4590,\n\t\"./sl\": 184,\n\t\"./sl.js\": 184,\n\t\"./sq\": 6361,\n\t\"./sq.js\": 6361,\n\t\"./sr\": 8965,\n\t\"./sr-cyrl\": 1287,\n\t\"./sr-cyrl.js\": 1287,\n\t\"./sr.js\": 8965,\n\t\"./ss\": 5456,\n\t\"./ss.js\": 5456,\n\t\"./sv\": 451,\n\t\"./sv.js\": 451,\n\t\"./sw\": 7558,\n\t\"./sw.js\": 7558,\n\t\"./ta\": 1356,\n\t\"./ta.js\": 1356,\n\t\"./te\": 3693,\n\t\"./te.js\": 3693,\n\t\"./tet\": 1243,\n\t\"./tet.js\": 1243,\n\t\"./tg\": 2500,\n\t\"./tg.js\": 2500,\n\t\"./th\": 5768,\n\t\"./th.js\": 5768,\n\t\"./tk\": 7761,\n\t\"./tk.js\": 7761,\n\t\"./tl-ph\": 5780,\n\t\"./tl-ph.js\": 5780,\n\t\"./tlh\": 9590,\n\t\"./tlh.js\": 9590,\n\t\"./tr\": 3807,\n\t\"./tr.js\": 3807,\n\t\"./tzl\": 3857,\n\t\"./tzl.js\": 3857,\n\t\"./tzm\": 654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 654,\n\t\"./ug-cn\": 845,\n\t\"./ug-cn.js\": 845,\n\t\"./uk\": 9232,\n\t\"./uk.js\": 9232,\n\t\"./ur\": 7052,\n\t\"./ur.js\": 7052,\n\t\"./uz\": 7967,\n\t\"./uz-latn\": 2233,\n\t\"./uz-latn.js\": 2233,\n\t\"./uz.js\": 7967,\n\t\"./vi\": 8615,\n\t\"./vi.js\": 8615,\n\t\"./x-pseudo\": 2320,\n\t\"./x-pseudo.js\": 2320,\n\t\"./yo\": 1313,\n\t\"./yo.js\": 1313,\n\t\"./zh-cn\": 4490,\n\t\"./zh-cn.js\": 4490,\n\t\"./zh-hk\": 5910,\n\t\"./zh-hk.js\": 5910,\n\t\"./zh-mo\": 8262,\n\t\"./zh-mo.js\": 8262,\n\t\"./zh-tw\": 4223,\n\t\"./zh-tw.js\": 4223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;"],"names":[],"sourceRoot":"webpack:///"}