{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routing.module.ts","./src/app/auth/auth-callback/auth-callback.component.html","./src/app/auth/auth-callback/auth-callback.component.ts","./src/app/auth/auth-routing.module.ts","./src/app/auth/auth-silent-callback/auth-silent-callback.component.html","./src/app/auth/auth-silent-callback/auth-silent-callback.component.ts","./src/app/auth/auth.config.ts","./src/app/auth/auth.module.ts","./src/app/auth/auth.service.ts","./src/app/auth/index.ts","./src/app/core/common/enums.ts","./src/app/core/core.module.ts","./src/app/core/guards/additional-data.guard.ts","./src/app/core/guards/auth.guard.ts","./src/app/core/interceptors/http-auth-interceptor.ts","./src/app/core/model/foundation.model.ts","./src/app/core/model/user.model.ts","./src/app/core/resolvers/user-foundation.resolver.ts","./src/app/core/services/account-service.ts","./src/app/core/services/api-client.service.ts","./src/app/core/services/candid-popup.service.ts","./src/app/core/services/foundation.service.ts","./src/app/core/services/general-service.ts","./src/app/core/services/user-info.service.ts","./src/app/core/services/user.service.ts","./src/app/features/account/login/login-routing.module.ts","./src/app/features/account/login/login.component.ts","./src/app/features/account/login/login.module.ts","./src/app/features/account/register/additional-data-form/additional-data-form.component.ts","./src/app/features/account/register/additional-data-form/additional-data-form.component.html","./src/app/features/account/register/form-section.class.ts","./src/app/features/account/register/register-container/register-container.component.ts","./src/app/features/account/register/register-container/register-container.component.html","./src/app/features/account/register/register-routing.module.ts","./src/app/features/account/register/register.module.ts","./src/app/features/account/register/register/password-strength.validator.ts","./src/app/features/account/register/register/password-validator-feedback/password-validator-feedback.component.html","./src/app/features/account/register/register/password-validator-feedback/password-validator-feedback.component.ts","./src/app/features/account/register/register/register.component.ts","./src/app/features/account/register/register/register.component.html","./src/app/features/account/register/rejected/rejected.component.ts","./src/app/features/account/register/rejected/rejected.component.html","./src/app/features/account/register/thank-you/thank-you.component.ts","./src/app/features/account/register/thank-you/thank-you.component.html","./src/app/features/features-routing.module.ts","./src/app/features/features.module.ts","./src/app/main/footer/footer.component.ts","./src/app/main/footer/footer.component.html","./src/app/main/home/home.component.ts","./src/app/main/home/home.component.html","./src/app/main/main.module.ts","./src/app/main/navbar/navbar.component.ts","./src/app/main/navbar/navbar.component.html","./src/app/main/page-info/page-info-template.component.ts","./src/app/main/page-info/page-info.module.ts","./src/app/main/page-info/pages/page-forbidden.component.ts","./src/app/main/page-info/page-info-template.component.html","./src/app/main/page-info/pages/page-not-found.component.ts","./src/app/main/top/top.component.ts","./src/app/main/top/top.component.html","./src/app/material.module.ts","./src/app/shared/dialogs/dialog-action/dialog-action.component.ts","./src/app/shared/dialogs/dialog-action/dialog-action.component.html","./src/app/shared/dialogs/dialog-info/dialog-info.component.ts","./src/app/shared/dialogs/dialog-info/dialog-info.component.html","./src/app/shared/dialogs/dialog-logging-process/dialog-logging-process.component.ts","./src/app/shared/dialogs/dialog-logging-process/dialog-logging-process.component.html","./src/app/shared/dialogs/dialogs.module.ts","./src/app/shared/directives/directives.module.ts","./src/app/shared/directives/forbidden-role.directive.ts","./src/app/shared/directives/invalid-control-scroll.directive.ts","./src/app/shared/directives/password-switch-type.directive.ts","./src/app/shared/directives/required-role.directive.ts","./src/app/shared/directives/viewport.directive.ts","./src/app/shared/form/form.directive.ts","./src/app/shared/info-tooltip/info-tooltip.component.html","./src/app/shared/info-tooltip/info-tooltip.component.ts","./src/app/shared/info-tooltip/info-tooltip.module.ts","./src/app/shared/info-tooltip/info.pipe.ts","./src/app/shared/loader/loader.module.ts","./src/app/shared/loader/loading.directive.ts","./src/app/shared/loader/spinner.component.ts","./src/app/shared/loader/spinner.component.html","./src/app/shared/operators/index.ts","./src/app/shared/operators/indicate.ts","./src/app/shared/operators/liveSearch.ts","./src/app/shared/pipes/custom-currency.pipe.ts","./src/app/shared/pipes/form-control.pipe.ts","./src/app/shared/pipes/form-group.pipe.ts","./src/app/shared/pipes/yes-no.pipe.ts","./src/app/shared/previous-values/previous-values.component.html","./src/app/shared/previous-values/previous-values.component.ts","./src/app/shared/shared.module.ts","./src/app/shared/validation-feedback/validation-feedback.component.html","./src/app/shared/validation-feedback/validation-feedback.component.ts","./src/app/shared/validation-feedback/validators/custom.validators.ts","./src/environments/environment.ts","./src/main.ts","ignored|C:\\TeamCity\\buildAgent3\\work\\b80917506e013c8a\\CFI.Web\\node_modules\\crypto-js|crypto"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,0C;;;;;;;;;;;;;;;;;;;;;;;;ACTqF;AAGoC;;;;;;;;;AAWlH,MAAM,YAAY;IAGrB,YACY,UAAqB,EACrB,YAAyB,EACzB,aAAoB,EACpB,OAAe;QAHf,eAAU,GAAV,UAAU,CAAW;QACrB,iBAAY,GAAZ,YAAY,CAAa;QACzB,kBAAa,GAAb,aAAa,CAAO;QACpB,YAAO,GAAP,OAAO,CAAQ;IACvB,CAAC;IAEL,QAAQ;QACJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,yBAAyB;IAC7B,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACnD,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kIAA6B,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;aAC/F;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;aAC9B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,KAAK,YAAY,0DAAa,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7F,MAAM,KAAK,GAAG,GAAG,SAAS,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC;gBACvE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,KAAkB,EAAE,MAAsB;QAC3D,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5C;QAED,IAAI,KAAK,IAAI,MAAM,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,KAA8C,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;SAChG;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEO,cAAc;QAClB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,WAAW,CAAC,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;gBACrE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;aACrC;QACL,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;;wEAxDQ,YAAY;0GAAZ,YAAY;QCjBzB,qEAAmB;QACnB,wEAAyB;QAEzB,sEAAK;QACD,2EAA+B;QACnC,4DAAM;QAEN,wEAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNqD;AACpB;AACqB;AACxC;AACW;AAEH;AACS;AACR;AACA;AACG;;;;AAEnD,MAAM,UAAU,GAAqB;IACjC,iBAAiB,EAAE,GAAG;CACzB,CAAC;AAuBK,MAAM,SAAS;;kEAAT,SAAS;sGAAT,SAAS,cAFN,wDAAY;2GAlBb,CAAC;YACR,OAAO,EAAE,wFAA8B;YACvC,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;SACrC,CAAC,YAIO;YACL,oEAAa;YACb,0FAAuB;YACvB,yDAAkB,EAAE;YACpB,4DAAc;YACd,0FAAuB;YACvB,yDAAU;YACV,yDAAU;YACV,iEAAgB;YAChB,4DAAqB,CAAC,UAAU,CAAC;SACpC;mIAGQ,SAAS,mBAfd,wDAAY,aAGZ,oEAAa;QACb,0FAAuB,6DAEvB,4DAAc;QACd,0FAAuB;QACvB,yDAAU;QACV,yDAAU;QACV,iEAAgB;;;;;;;;;;;;;;;;;;;;;AChC+B;AAEI;AAC8B;AACD;;;AAExF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,oEAAa;QACxB,SAAS,EAAE,MAAM;KACpB;IACD;QACI,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,kGAAsB;KACpC;IACD;QACI,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,iGAAqB;KACnC;IACD;QACI,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,MAAM;KACpB;CACJ,CAAC;AAcK,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;iHAXhB;YACL,iEAAoB,CAAC,MAAM,EAAE;gBACzB,yBAAyB,EAAE,SAAS;gBACpC,eAAe,EAAE,SAAS;gBAC1B,mBAAmB,EAAE,QAAQ;aAChC,CAAC;SACL,EAEG,yDAAY;mIAGP,gBAAgB,oFAHrB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrCpB,2EAAwB;IACpB,6EAA+B;IAC3B,sEAAK;IACD,qEAAI;IACA,kEACJ;IAAA,4DAAK;IACT,4DAAM;IACN,sEAAK;IACD,oEAAG;IAAA,6FAAkC;IAAA,uEAAuB;IAAA,sEAAW;IAAA,4DAAI;IAAA,6DAAC;IAAA,4DAAI;IACpF,4DAAM;IACV,4DAAU;IACd,4DAAW;;ACDJ,MAAM,qBAAqB;IAG9B,YAAoB,YAAyB,EAAU,OAAe;QAAlD,iBAAY,GAAZ,YAAY,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;QAFtE,UAAK,GAAG,KAAK,CAAC;IAE4D,CAAC;IAE3E,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;SACV;QAED,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;IAC/C,CAAC;;0FAZQ,qBAAqB;mHAArB,qBAAqB;QDVlC,4HAWW;;QAXA,2EAAW;;;;;;;;;;;;;;;;;;;;;AECiC;AAEyB;AACoB;;;AAEpG,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,yFAAqB;KACnC;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,6GAA2B;KACzC;CACJ,CAAC;AAMK,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHAHjB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,iBAAiB,oFAFhB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;ICnB1B,2EAAwB;IACpB,6EAAsC;IAClC,sEAAK;IACD,qEAAI;IACA,kEACJ;IAAA,4DAAK;IACT,4DAAM;IACN,sEAAK;IACD,oEAAG;IAAA,6FAAkC;IAAA,uEAAuB;IAAA,sEAAW;IAAA,4DAAI;IAAA,6DAAC;IAAA,4DAAI;IACpF,4DAAM;IACV,4DAAU;IACd,4DAAW;;ACDJ,MAAM,2BAA2B;IAGpC,YAAoB,YAAyB,EAAU,OAAe;QAAlD,iBAAY,GAAZ,YAAY,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;QAFtE,UAAK,GAAG,KAAK,CAAC;IAE4D,CAAC;IAE3E,QAAQ;QACJ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;SACV;QAED,IAAI,CAAC,YAAY,CAAC,4BAA4B,EAAE,CAAC;IACrD,CAAC;;sGAZQ,2BAA2B;yHAA3B,2BAA2B;QDVxC,kIAWW;;QAXA,2EAAW;;;;;;;;;;;;;;;;;AEGf,MAAM,YAAY;IACrB,MAAM,CAAC,iBAAiB;QACpB,OAAO;YACH,SAAS,EAAE,SAAS,CAAC,gBAAgB;YACrC,SAAS,EAAE,SAAS,CAAC,QAAQ;YAC7B,aAAa,EAAE,SAAS,CAAC,YAAY;YACrC,YAAY,EAAE,GAAG,SAAS,CAAC,SAAS,gBAAgB;YACpD,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,GAAG,SAAS,CAAC,SAAS,uBAAuB;YAClE,wBAAwB,EAAE,SAAS,CAAC,SAAS;SAChD,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;;;;;;;;;;;AClB8C;AAEQ;AAEyB;AACoB;AAC1C;AACb;;AAatC,MAAM,UAAU;IACZ,MAAM,CAAC,OAAO;QACjB,OAAO;YACH,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,CAAC,sDAAW,CAAC;SAC3B,CAAC;IACN,CAAC;;oEANQ,UAAU;uGAAV,UAAU;2GANV;YACL,yDAAY;YACZ,mEAAiB;YACjB,iEAAa;SAChB;mIAEQ,UAAU,mBATf,yFAAqB;QACrB,6GAA2B,aAG3B,yDAAY;QACZ,mEAAiB;QACjB,iEAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfyB;AAEU;AAGL;AACqB;AACtB;AAEL;;;;;AAQtC,MAAM,WAAW;IASpB,YACY,OAAe,EACf,gBAAiC,EACjC,eAA+B;QAF/B,YAAO,GAAP,OAAO,CAAQ;QACf,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,oBAAe,GAAf,eAAe,CAAgB;QARnC,iBAAY,GAAG,IAAI,uDAAW,CAAC,wEAA8B,EAAE,CAAC,CAAC;QAEjE,oBAAe,GAAG,IAAI,iDAAe,CAAU,KAAK,CAAC,CAAC;QACtD,sBAAiB,GAAG,IAAI,+CAAa,EAAW,CAAC;QAOrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAE1D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAM,IAAI,EAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACzB,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aAC3C;iBAAM;gBACH,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAO,UAAU,EAAE,EAAE,CAAC;oBACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAkB,CAAC,CAAC;gBAC1D,CAAC,EAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACV,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACN;QACL,CAAC,EAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;;YAC1C,IAAI,WAAI,CAAC,kBAAkB,0CAAE,IAAI,MAAK,IAAI,EAAE;gBACxC,IAAI,CAAC,kBAAkB,mBACnB,IAAI,IACD,IAAI,CAAC,kBAAkB,CAC7B,CAAC;aACL;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEK,KAAK;;;YACP,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;gBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxE,UAAI,CAAC,YAAY,0CAAE,UAAU,CAAC,SAAS,CAAC,CAAC;aAC5C;;KACJ;IAED,aAAa;QACT,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAO,UAAU,EAAE,EAAE,CAAC;YACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAkB,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC,EAAC,CAAC;IACP,CAAC;IAEK,sBAAsB,CAAC,IAAU,EAAE,cAAuB,KAAK;;YACjE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;YAE7D,IAAI,CAAC,kBAAkB,GAAG;gBACtB,IAAI;gBACJ,IAAI;aACP,CAAC;YAEF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,2EAAmB,EAAE;gBACxD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrD;iBAAM;gBACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;iBAC/C;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,0EAAkB,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACzC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,2EAAmB,EAAE;oBAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBAChD;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtC;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;KAAA;IAED,sBAAsB;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,0CAAI,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,CACjD,0DAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4BAA4B;QACxB,0CAAI,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,UAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO,IAAI,CAAC;aACf;YACD,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAkB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB,CAAC,KAAa;QACjC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,IAAU;;QACd,OAAO,uBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,KAAK,0CAAE,QAAQ,CAAC,IAAI,CAAC,KAAI,KAAK,CAAC;IACzE,CAAC;IAED,aAAa,CAAC,KAAa;;QACvB,OAAO,uBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI,KAAK,CAAC;IAC9G,CAAC;IAEO,cAAc,CAAC,IAAU;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAChC,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC,IAAI,CAAC,sDAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;;QACJ,OAAO,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,OAAO,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,KAAK;;QACL,OAAO,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,OAAO,CAAC,KAAK,CAAC;IACxD,CAAC;IAED,IAAI,UAAU;;QACV,OAAO,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,OAAO,CAAC,WAAW,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS;;QACT,OAAO,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,OAAO,CAAC,UAAU,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM;;QACN,OAAO,iBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,EAAE,KAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,GAAG;;QACH,MAAM,KAAK,GAAG,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,QAAkB,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC,OAAiB,CAAC;IACtC,CAAC;IAED,IAAI,eAAe;;QACf,OAAO,CAAC,CAAC,WAAI,CAAC,kBAAkB,0CAAE,IAAI,EAAC;IAC3C,CAAC;IAED,IAAI,YAAY;;QACZ,OAAO,sBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,UAAU,mCAAI,KAAK,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,8DAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,iEAAa,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACZ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,OAAO,YAAY,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,YAAY;;QACZ,MAAM,KAAK,GAAG,gBAAI,CAAC,kBAAkB,0CAAE,IAAI,0CAAE,QAAkB,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC;;sEAlMQ,WAAW;6GAAX,WAAW,WAAX,WAAW;;;;;;;;;;;;;;;;;;;ACnBM;AACC;;;;;;;;;;;;;;;;;;;ACD/B,IAAY,IAGX;AAHD,WAAY,IAAI;IACZ,2CAAmC;IACnC,kDAA0C;AAC9C,CAAC,EAHW,IAAI,KAAJ,IAAI,QAGf;AAED,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,+CAA0B;IAC1B,sCAAiB;IACjB,kDAA6B;IAC7B,kCAAa;AACjB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,0DAAU;IACV,yDAAU;IACV,mEAAe;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,0CAAU;IACV,2CAAW;AACf,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;;;;;;;;;;;;;;;;;;;;;ACrB8C;AAC4B;AAEjC;AAEiC;;;AAgBpE,MAAM,UAAU;;oEAAV,UAAU;uGAAV,UAAU;4GARR;QACP;YACI,OAAO,EAAE,mEAAiB;YAC1B,QAAQ,EAAE,oFAAmB;YAC7B,KAAK,EAAE,IAAI;SACd;KACJ,YAXQ;YACL,yDAAY;YACZ,kEAAgB;YAChB,4DAAoB,EAAE;SACzB;mIASQ,UAAU,cAZf,yDAAY;QACZ,kEAAgB;;;;;;;;;;;;;;;;;;;;ACDc;;;;AAS/B,MAAM,mBAAmB;IAC5B,YAAoB,OAAe,EAAU,YAAyB;QAAlD,YAAO,GAAP,OAAO,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAa;IAAI,CAAC;IAE3E,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACjE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAsB,CAAC,CAAC;IACzE,CAAC;IAED,6DAA6D;IACrD,eAAe,CAAC,GAAW,EAAE,IAAqB;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY;YAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEtE,OAAO,wCAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;;sFAbQ,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB,mBAFhB,MAAM;;;;;;;;;;;;;;;;;;;;;;ACH2B;;;;AAS1C,MAAM,SAAS;IAClB,YAAoB,OAAe,EAAU,YAAyB;QAAlD,YAAO,GAAP,OAAO,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAa;IAAI,CAAC;IAE3E,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACjE,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAsB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,KAAY,EAAE,QAAsB;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,IAAsB,CAAC,CAAC;IAC/E,CAAC;IAEO,eAAe,CAAC,GAAW,EAAE,IAAqB;QACtD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CACrC,qDAAK,EAAE,EACP,mDAAG,CAAC,eAAe,CAAC,EAAE;YAClB,IAAI,CAAC,eAAe,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1F;QACL,CAAC,CAAC,EACF,mDAAG,CAAC,eAAe,CAAC,EAAE;YAClB,IAAI,eAAe,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACxC,OAAO,KAAK,CAAC;iBAChB;aACJ;YAED,OAAO,eAAe,CAAC;QAC3B,CAAC,CAAC,CACL,CAAC;IACN,CAAC;;kEAhCQ,SAAS;0GAAT,SAAS,WAAT,SAAS,mBAFN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpByF;AAKpD;AACf;AACN;;;;;AAG/B,MAAM,mBAAmB;IAG5B,YAAoB,YAAyB,EAAU,OAAe,EAAU,cAA6B;QAAzF,iBAAY,GAAZ,YAAY,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAe;QAF7G,gBAAW,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE+B,CAAC;IAElH,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3B;QAED,OAAO,0CAAI,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO;gBAClB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAC;YAEV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC,CAAC,IAAI,CACJ,0DAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,GAAG,YAAY,mEAAiB,EAAE;gBAClC,QAAQ,GAAG,CAAC,MAAM,EAAE;oBAChB,KAAK,GAAG;wBACJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpC,KAAK,GAAG;wBACJ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpC;wBACI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBACvC;aACJ;YACD,OAAO,gDAAU,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,iCAAiC;IACzB,cAAc,CAAC,CAAoB;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,uCAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,CAAoB;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,uCAAK,CAAC;IACjB,CAAC;IAEO,cAAc,CAAC,KAAwB;;QAC3C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAK,CAAC,KAAK,0CAAE,MAAM,KAAI,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,uCAAK,CAAC;IACjB,CAAC;IAED,iBAAiB;IACT,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,aAAa,CAAC,GAAW,EAAE,OAAe;QAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,cAAc,GAAG,IAAI,sCAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,sCAAQ,CAAC,OAAO,CAAC,CAAC;QAE1C,OAAO,cAAc,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ;eAChD,cAAc,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAEO,UAAU,CAAC,GAAqB,EAAE,KAAuB;QAC7D,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,KAAK,EAAE;YACP,OAAO,mCAAQ,OAAO,KAAE,aAAa,EAAE,KAAK,GAAE,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,mCAAQ,OAAO,KAAE,WAAW,EAAE,SAAS,CAAC,MAAM,GAAE,CAAC;SAC3D;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAEO,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;;sFAnFQ,mBAAmB;oHAAnB,mBAAmB,WAAnB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;ACgEhC,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,+CAA2B;IAC3B,qCAAiB;AACrB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAID,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,uCAAmB;IACnB,mCAAe;IACf,iCAAa;IACb,2CAAuB;AAC3B,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAID,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,uCAAmB;IACnB,yCAAqB;IACrB,yCAAqB;IACrB,uCAAmB;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAID,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAChC,mDAAuB;IACvB,qDAAyB;IACzB,+CAAmB;IACnB,2CAAe;AACnB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAID,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,uCAAe;IACf,uCAAe;IACf,qCAAa;AACjB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAID,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,wCAAe;IACf,wCAAe;AACnB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AAED,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,0BAAa;IACb,8BAAiB;IACjB,wCAA2B;IAC3B,8BAAiB;IACjB,4BAAe;IACf,oCAAuB;AAC3B,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AAEM,MAAM,uBAAuB,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;AC3G/C,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,iCAAmB;IACnB,mCAAqB;IACrB,mCAAqB;AACzB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;;;;;;;;;;;;;;;;;;;;ACzBmE;AAG/B;;;AAW9B,MAAM,sBAAsB;IAC/B,YAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;IAAI,CAAC;IAE9D,OAAO;QACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,mDAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,QAAQ,EAAE,CAAC,CAAC,cAAc,KAAK,qFAAuB;YACtD,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;SACzC,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;;4FATQ,sBAAsB;uHAAtB,sBAAsB,WAAtB,sBAAsB,mBAFnB,MAAM;;;;;;;;;;;;;;;;;;;;ACAf,MAAM,cAAc;IACvB,YAAoB,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;IAAI,CAAC;IAE5D,UAAU,CAAC,cAA8B;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,sBAAsB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM;QACF,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAU,GAAG,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;IACrF,CAAC;;4EATQ,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;;;ACZS;AAKF;;;AAsBtB,MAAM,gBAAgB;IACzB,YAA6B,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAI,CAAC;IAEnD,GAAG,CACC,WAAmB,EACnB,eAAiC;QAEjC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CACH,WAAmB,EACnB,eAAiC;QAEjC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CACA,WAAmB,EACnB,iBAAqC;QAErC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAI,GAAG,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,QAAQ,CACJ,WAAmB,EACnB,iBAAqC;QAErC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,GAAG,CACC,WAAmB,EACnB,iBAAqC;QAErC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,GAAG,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CACD,WAAmB,EACnB,iBAAqC;QAErC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAI,GAAG,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CACF,WAAmB,EACnB,gBAAmC;QAEnC,MAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,aAAa,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAI,GAAG,CAAC,CAAC;IACrC,CAAC;IAEO,QAAQ,CACZ,WAAmB,EACnB,aAAyB,EACzB,WAAgC;QAEhC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAElC,IAAI,aAAa,EAAE;YACf,2DAA2D;YAC3D,2BAA2B;YAC3B,WAAW,GAAG,yCAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SACzD;QAED,IAAI,GAAG,GAAG,kCAAG,CAAC,WAAW,CAAC,CAAC;QAE3B,IAAI,WAAW,EAAE;YACb,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEO,eAAe,CAAC,MAAW;;QAC/B,IAAI,MAAM,EAAE;YACR,mBAAmB;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;gBACvB,IAAI,aAAM,CAAC,IAAI,CAAC,0CAAE,WAAW,MAAK,IAAI,EAAE;oBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC7C;aACJ;YACD,mBAAmB;SACtB;IACL,CAAC;;gFA5FQ,gBAAgB;iHAAhB,gBAAgB,WAAhB,gBAAgB,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;ACnBf,MAAM,kBAAkB;IAC3B,YACY,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IACjC,CAAC;IAEL,WAAW;;QACP,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAE5D,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YAC7B,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAI,CAAC,YAAY,CAAC,IAAI,mCAAI,EAAE;YAClC,KAAK,EAAE,UAAI,CAAC,YAAY,CAAC,KAAK,mCAAI,EAAE;YACpC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;SAChC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,iCAAiC,CAAC,CAAC;IAC5E,CAAC;;oFAjBQ,kBAAkB;mHAAlB,kBAAkB,WAAlB,kBAAkB,mBAFf,MAAM;;;;;;;;;;;;;;;;;;;ACQe;;;AAO9B,MAAM,iBAAiB;IAC1B,YACY,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;IAC3C,CAAC;IAEL,aAAa,CAAC,YAAoB;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,4BAA4B,EAAE,EAAE,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED,uBAAuB,CAAC,YAAoB;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,uCAAuC,EAAE,EAAE,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB,CAAC,UAA4B;QAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,eAAe,CAAC,cAAwC;QACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,cAAc,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB,CAAC,YAAoB,EAAE,UAA4B;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,4BAA4B,EAAE;YACjF,aAAa,EAAE,EAAE,YAAY,EAAE;YAC/B,IAAI,EAAE,UAAU;SACnB,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,4BAA4B,EAAE,EAAE,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC/H,CAAC;IAED,iBAAiB,CAAC,cAAsB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAA0B,GAAG,SAAS,CAAC,MAAM,qBAAqB,EAC/F,EAAE,WAAW,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC;aACnC,IAAI,CACD,mDAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAClD,CAAC;IACV,CAAC;IAED,2BAA2B,CAAC,YAAoB,EAAE,cAAsB;QACpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAA0B,GAAG,SAAS,CAAC,MAAM,yBAAyB,EACnG,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,CAAC;aACjD,IAAI,CACD,mDAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAClD,CAAC;IACV,CAAC;IAEO,SAAS,CAAC,iBAA0C;QACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,cAAc;YACtB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;SACzC,CAAC,CAAC,CAAC;QAER,uCAAY,iBAAiB,KAAE,KAAK,IAAG;IAC3C,CAAC;;kFAhEQ,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;ACOf,MAAM,cAAc;IACvB,YAAoB,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;IAAI,CAAC;IAE5D,mBAAmB,CAAC,IAAyB;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,yBAAyB;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,sBAAsB,CAAC,CAAC;IACjF,CAAC;IAED,4BAA4B;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,uBAAuB,CAAC,CAAC;IAClF,CAAC;;4EAbQ,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFX,MAAM;;;;;;;;;;;;;;;;;;;;ACdf,MAAM,eAAe;IACxB,YAAoB,iBAAmC;QAAnC,sBAAiB,GAAjB,iBAAiB,CAAkB;IAAI,CAAC;IAE5D,GAAG;QACC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAW,GAAG,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC;IACjF,CAAC;;8EALQ,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;ACJoF;;;;AASnG,MAAM,WAAW;IACpB,YACY,iBAAmC,EACnC,YAAyB;QADzB,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,iBAAY,GAAZ,YAAY,CAAa;IACjC,CAAC;IAEL,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,gBAAgB,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,EAAE;QACE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,cAAkC;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,QAAQ,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,CAAC,IAAgB;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAgB;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,gBAAgB,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,qBAA6B;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACvB,MAAM,EAAE,2EAAmB;YAC3B,qBAAqB,EAAE,qBAAqB;SAC/C,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,2EAAmB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,gBAAgB,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,wBAAwB,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;;sEA5CQ,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFR,MAAM;;;;;;;;;;;;;;;;;;;ACRiC;AAEJ;;;AAEnD,MAAM,MAAM,GAAW,CAAC;QACpB,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,4DAAc;KAC5B,CAAC,CAAC;AAMI,MAAM,kBAAkB;;oFAAlB,kBAAkB;+GAAlB,kBAAkB;mHAHlB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,kBAAkB,oFAFjB,yDAAY;;;;;;;;;;;;;;;;;;;;ACNnB,MAAM,cAAc;IACvB,YAAoB,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAI,CAAC;IAElD,QAAQ;QACJ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;;4EALQ,cAAc;4GAAd,cAAc;QAFZ,qEAAU;;;;;;;;;;;;;;;;;;;;ACFmC;AACT;;AAU5C,MAAM,WAAW;;sEAAX,WAAW;wGAAX,WAAW;4GAPX;YACL,qEAAkB;SACrB;mIAKQ,WAAW,mBAHhB,4DAAc,aAHd,qEAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN0C;AAKnB;AAClB;AAEsB;;;;;;;;;;;;;;;;;ICRjD,sEAAsC;IAClC,wEAAkB;IAAA,8EAAmB;IAAA,4DAAK;IAC1C,uEAAgB;IACZ,yMAEJ;IAAA,4DAAI;IACJ,0EAE8B;IADxB,iUAAsB;IAExB,oFAAyC;IACrC,4EAAW;IAAA,0EAAe;IAAA,4DAAY;IACtC,sEAGgB;IAChB,6EAAW;IACP,yFAAyF;IAC7F,4DAAY;IAChB,4DAAiB;IACjB,qFAA8C;IAC1C,6EAAW;IAAA,qEAAS;IAAA,4DAAY;IAChC,uEAEsB;IAC1B,4DAAiB;IACjB,0EAAqB;IACjB,8EACwB;IAAA,kEAAM;IAAA,4DAAS;IACvC,8EAEiC;IAAzB,mUAAwB;IAAC,4EAAgB;IAAA,4DAAS;IAC9D,4DAAM;IACV,4DAAO;IACX,4DAAM;;;IA3BI,0DAAkB;IAAlB,kFAAkB;;ADQzB,MAAM,2BAA4B,SAAQ,6DAAY;IAKzD,YACY,GAAgB,EAChB,YAAyB,EACzB,YAAyB,EACzB,OAAe;QAEvB,KAAK,EAAE,CAAC;QALA,QAAG,GAAH,GAAG,CAAa;QAChB,iBAAY,GAAZ,YAAY,CAAa;QACzB,iBAAY,GAAZ,YAAY,CAAa;QACzB,YAAO,GAAP,OAAO,CAAQ;QAN3B,eAAU,GAAG,IAAI,0CAAO,EAAW,CAAC;QAShC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACvB,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,CAAC,CAAC;YACpD,QAAQ,EAAE,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,MAAM,IAAI,mCACH,IAAI,CAAC,IAAI,CAAC,KAAK,KAClB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAC7D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EACzE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAC7E,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;iBACzB,IAAI,CACD,+DAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAC5B,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACV;IACL,CAAC;;sGAlCQ,2BAA2B;yHAA3B,2BAA2B;QCfxC,yFAAwB;QACpB,wHAiCM;;QACV,4DAAyB;;QAlCf,0DAA8B;QAA9B,uJAA8B;;;;;;;;;;;;;;;;;;;ACExC,kEAAkE;AAC3D,MAAe,YAAY;IAC9B,YAAY;QACR,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACvD,CAAC;;wEAHiB,YAAY;0GAAZ,YAAY;;;;;;;;;;;;;;;;;;;ACG3B,MAAM,0BAA0B;;oGAA1B,0BAA0B;wHAA1B,0BAA0B;;QCPvC,yEAA+C;QAC3C,yEAAgC;QAC5B,6DAAyB;QAC7B,4DAAM;QACN,yEAAkC;QAC9B,oEAAgD;QACpD,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;;;ACNiD;AACsB;AAEuB;AAClC;AACE;;;AAEpE,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,CAAC,uFAAmB,CAAC;QAClC,SAAS,EAAE,6GAA2B;KACzC;IACD;QACI,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,6EAAiB;KAC/B;IACD;QACI,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,2EAAiB;KAC/B;CACJ,CAAC;AAMK,MAAM,qBAAqB;;0FAArB,qBAAqB;kHAArB,qBAAqB;sHAHrB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,qBAAqB,oFAFpB,yDAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BqB;AAEM;AACC;AACG;AAE2C;AACL;AAC7B;AAGoB;AACpB;AACA;AACE;;AAmB7D,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAhBd;YACL,0DAAY;YACZ,2EAAqB;YACrB,gEAAmB;YACnB,gEAAc;YACd,mEAAY;SACf;mIAUQ,cAAc,mBARnB,2EAAiB;QACjB,6GAA2B;QAC3B,6EAAiB;QACjB,wGAA0B;QAC1B,2EAAiB;QACjB,2IAAkC,aAZlC,0DAAY;QACZ,2EAAqB;QACrB,gEAAmB;QACnB,gEAAc;QACd,mEAAY;;;;;;;;;;;;;;;;;ACtB2D;AAE/E,MAAM,4BAA4B,GAAG,CAAC,OAAwB,EAA2B,EAAE;IACvF,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QACpE,OAAO,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;KACpD;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,OAAwB,EAA2B,EAAE;IACvF,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACtC,IAAI,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QACpE,OAAO,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;KACpD;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,OAAwB,EAA2B,EAAE;IACpF,MAAM,gBAAgB,GAAG,SAAS,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QACjE,OAAO,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;KACjD;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,OAAwB,EAA2B,EAAE;IACrF,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;IACjE,IAAI,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;QAClE,OAAO,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;KAClD;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,iBAAiB;;AACnB,0BAAQ,GAAG,8DAAkB,CAAC;IACjC,4BAA4B;IAC5B,4BAA4B;IAC5B,yBAAyB;IACzB,0BAA0B;IAC1B,gEAAoB,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEI,2BAAS,GAAG,CAAC,WAAmB,EAAE,mBAA2B,EAAE,EAAE,CAAC,CAAC,OAAwB,EAA2B,EAAE;IAC3H,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEvD,IAAI,KAAK,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1C,OAAO,IAAI,CAAC;KACf;IAED,IAAI,cAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACnE,OAAO,IAAI,CAAC;KACf;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE;QACrC,aAAa,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;KACvC;SAAM;QACH,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;KACf;AACL,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;IClEN,wEAA2D;IACvD,uDACJ;IAAA,qEAAe;;;IADX,0DACJ;IADI,4FACJ;;ACSO,MAAM,kCAAkC;IAI3C,YAAoB,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAAI,CAAC;IAEvD,kBAAkB;;QACd,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;YACrC,OAAO,oBAAoB,CAAC;SAC/B;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACvD,OAAO,gDAAgD,CAAC;SAC3D;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACvD,OAAO,+CAA+C,CAAC;SAC1D;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACpD,OAAO,kCAAkC,CAAC;SAC7C;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACrD,OAAO,6CAA6C,CAAC;SACxD;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC7C,OAAO,mCAAmC,CAAC,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,WAAW,CAAe,EAAC,cAAc,cAAc,CAAC;SAC9H;aAAM,IAAI,UAAI,CAAC,QAAQ,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACtD,OAAO,kDAAkD,CAAC;SAC7D;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC;;oHA5BQ,kCAAkC;gIAAlC,kCAAkC;QDX/C,gJAEe;;QAFA,0FAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEC0B;AAInB;AAC+C;AACjE;AAEsB;AACa;;;;;;;;;;;;;;;;;ICT9D,uEAAsC;IAClC,yEAAkB;IAAA,gFAAoB;IAAA,6DAAK;IAC3C,2EAE8B;IADxB,2TAAuB;IAEzB,0EAAyB;IACrB,kFAAgB;IACZ,6EAAW;IAAA,sEAAU;IAAA,6DAAY;IACjC,uEAGgB;IAChB,6EAAW;IACP,0FAA2E;IAC/E,6DAAY;IAChB,6DAAiB;IACjB,mFAAgB;IACZ,8EAAW;IAAA,sEAAS;IAAA,6DAAY;IAChC,wEAGgB;IAChB,8EAAW;IACP,0FAA0E;IAC9E,6DAAY;IAChB,6DAAiB;IACrB,6DAAM;IACN,sFAAyC;IACrC,8EAAW;IAAA,kEAAK;IAAA,6DAAY;IAC5B,wEAEgB;IAChB,8EAAW;IACP,2FAAuE;IAC3E,6DAAY;IAChB,6DAAiB;IACjB,sFAAyC;IACrC,8EAAW;IAAA,4EAAe;IAAA,6DAAY;IACtC,yEAGgB;IAChB,8EAAW;IACP,2FAAyF;IAC7F,6DAAY;IAChB,6DAAiB;IACjB,sFAAyC;IACrC,8EAAW;IAAA,sEAAS;IAAA,6DAAY;IAChC,yEAEsB;IAC1B,6DAAiB;IACjB,sFAAyC;IACrC,8EAAW;IAAA,qEAAQ;IAAA,6DAAY;IAC/B,yEAGgB;IAChB,8EAAW;IACP,mGAA0F;IAC9F,6DAAY;IAChB,6DAAiB;IACjB,sFAAyC;IACrC,8EAAW;IAAA,6EAAgB;IAAA,6DAAY;IACvC,yEAGgB;IAChB,8EAAW;IACP,mGAAiG;IACrG,6DAAY;IAChB,6DAAiB;IACjB,4EAAqB;IACjB,+EACwB;IAAA,qEAAQ;IAAA,6DAAS;IACzC,+EAEiC;IAAzB,4TAAwB;IAAC,6EAAgB;IAAA,6DAAS;IAC9D,6DAAM;IACV,6DAAO;IACX,6DAAM;;;IA9EI,2DAA0B;IAA1B,2FAA0B;;ADcjC,MAAM,iBAAkB,SAAQ,6DAAY;IAK/C,YACY,GAAgB,EAChB,YAAyB,EACzB,OAAe,EACf,eAA+B;QAEvC,KAAK,EAAE,CAAC;QALA,QAAG,GAAH,GAAG,CAAa;QAChB,iBAAY,GAAZ,YAAY,CAAa;QACzB,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAgB;QAN3C,eAAU,GAAG,IAAI,0CAAO,EAAW,CAAC;QAShC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,EAAE,gHAAsB,CAAC,CAAC;YAC1D,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,CAAC,CAAC;YACpD,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oFAA0B,CAAC,CAAC;YAC5C,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,gEAAmB,CAAC,CAAC;SAC/C,EAAE;YACC,UAAU,EAAE,CAAC,qFAA2B,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;SAC3E,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBACrB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK;gBACpC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS;gBAC5C,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ;gBAC1C,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ;gBAC1C,uBAAuB,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,uBAAuB;gBACxE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ;aAC/B,CAAC,CAAC,IAAI,CACjB,+DAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAC5B,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;SACN;IACL,CAAC;;kFAxCQ,iBAAiB;gHAAjB,iBAAiB;QCjB9B,0FAAwB;QACpB,+GAgFM;;QACV,6DAAyB;;QAjFf,2DAA8B;QAA9B,yJAA8B;;;;;;;;;;;;;;;;;;;;ACCa;;;AAO9C,MAAM,iBAAkB,SAAQ,6DAAY;;wRAAtC,iBAAiB,SAAjB,iBAAiB;+GAAjB,iBAAiB;QCT9B,yEAAiC;QAC7B,yEAAmB;QACf,qEAAI;QAAA,yEAAc;QAAA,4DAAK;QACvB,qEAAI;QAAA,yGAA8C;QAAA,gEAAM;QAAA,uGACpD;QAAA,uEAAoC;QAAA,qEAAU;QAAA,4DAAI;QAAA,6DAAC;QAAA,4DAAK;QAC5D,6EAGwB;QAFhB,0IAAS,kBAAc,IAAC;QAER,0EAAc;QAAA,4DAAS;QACnD,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;ACR+C;;;;AAM9C,MAAM,iBAAkB,SAAQ,6DAAY;;wRAAtC,iBAAiB,SAAjB,iBAAiB;+GAAjB,iBAAiB;QCR9B,yFAAwB;QACpB,wEAAkB;QAAA,qEAAU;QAAA,4DAAK;QACjC,wEAAiB;QAAA,wLACA;QAAA,4DAAK;QACtB,yEAAqB;QACjB,4EAEiC;QAAzB,yIAAS,kBAAc,IAAC;QAAC,yEAAc;QAAA,4DAAS;QAC5D,4DAAM;QACV,4DAAyB;;;;;;;;;;;;;;;;;;;;;;ACR8B;AACT;AACU;AAC8B;;;AAEtF,MAAM,MAAM,GAAW;IACnB;QACI,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC,sMAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC5F,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE,YAAY;SACtB;KACJ;IACD;QACI,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,GAAG,EAAE,CAAC,gkBAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE,QAAQ;SAClB;KACJ;IACD;QACI,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,GAAG,EAAE,CAAC,2TAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACjF,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE;gBACH,8DAAU;gBACV,iEAAa;aAChB;YACD,KAAK,EAAE,SAAS;SACnB;KACJ;IACD;QACI,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,GAAG,EAAE,CAAC,grBAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAChG,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,OAAO,EAAE,EAAE,UAAU,EAAE,gGAAsB,EAAE;QAC/C,IAAI,EAAE;YACF,KAAK,EAAE,cAAc;SACxB;KACJ;IACD;QACI,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,GAAG,EAAE,CAAC,0iBAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC7F,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE,aAAa;SACvB;KACJ;IACD;QACI,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE,GAAG,EAAE,CAAC,waAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QACpF,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE;gBACH,8DAAU;aACb;YACD,KAAK,EAAE,eAAe;SACzB;KACJ;IACD;QACI,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,GAAG,EAAE,CAAC,0SAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9E,OAAO,EAAE,CAAC,kEAAS,CAAC;QACpB,IAAI,EAAE;YACF,KAAK,EAAE;gBACH,8DAAU;aACb;YACD,KAAK,EAAE,QAAQ;SAClB;KACJ;CACJ,CAAC;AAMK,MAAM,qBAAqB;;0FAArB,qBAAqB;kHAArB,qBAAqB;sHAHrB,CAAC,kEAAqB,CAAC,MAAM,CAAC,CAAC,EAC9B,yDAAY;mIAEb,qBAAqB,oFAFpB,yDAAY;;;;;;;;;;;;;;;;;;;;AC5EiC;AACS;AACF;;AAS3D,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GANd;YACL,2EAAqB;YACrB,oEAAW;YACX,6EAAc;SACjB;mIAEQ,cAAc,cALnB,2EAAqB;QACrB,oEAAW;QACX,6EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;ACTkC;AAEV;AAGqB;;;;;;;;ICL/D,0EACyB;IACrB,0EAA4B;IACxB,kFAAsB;IAAA,wEAAoC;IAAA,qEAAU;IAAA,4DAAI;IAAA,6DAC5E;IAAA,4DAAM;IACV,4DAAM;;;IANV,wEAAsE;IAClE,0HAKM;IACV,qEAAe;;;IANL,0DAA4B;IAA5B,+FAA4B;;ADY/B,MAAM,eAAe;IAKxB,YACY,YAAyB,EACzB,OAAe,EACf,mBAAuC;QAFvC,iBAAY,GAAZ,YAAY,CAAa;QACzB,YAAO,GAAP,OAAO,CAAQ;QACf,wBAAmB,GAAnB,mBAAmB,CAAoB;QAPnD,SAAI,GAAG,wDAAI,CAAC;QAEZ,gBAAW,GAAwB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QAO7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACxC,sDAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,0DAAa,CAAC,EAC/C,mDAAG,CAAC,UAAU,CAAC,EAAE;YACb,MAAM,EAAE,GAAG,EAAE,GAAI,UAA4B,CAAC;YAC9C,OAAO,GAAG,KAAK,GAAG,CAAC;QACvB,CAAC,CAAC,EACF,oEAAoB,EAAE,CACzB,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;;8EAtBQ,eAAe;6GAAf,eAAe;QCb5B,6HAOe;;;QACf,yEAAoB;QAChB,yEAAiC;QAC7B,yEAAkB;QACd,yEAA2B;QACvB,uEACmB;QACf,oEACoB;QACxB,4DAAI;QACR,4DAAM;QACN,0EAAmB;QAAA,oHAAmD;QAAA,wEAE/C;QAAA,2EAAe;QAAA,4DAAI;QAC1C,4DAAO;QACX,4DAAM;QACV,4DAAM;QACV,4DAAM;;QAxBS,uOAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACInB;AACN;AACO;;;;;;;;;;ICL9C,sEAAmC;IAC/B,yEAA2B;IACvB,yEAAiC;IAC7B,yEAAoB;IAChB,oEAA8E;IAClF,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,yEAA0B;IACtB,yEAAiC;IAC7B,yEAAoB;IAChB,wEAA0B;IAAA,8GAA8C;IAAA,4DAAK;IAC7E,wEAA6B;IAAA,yLACW;IAAA,4DAAI;IAChD,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,0EAA4B;IACxB,2EAAuD;IACnD,2EAAmB;IACf,sEAA4C;IAC5C,yEAAc;IACV,2EAAmB;IACf,sEAEM;IACN,8EAEkC;IAC9B,wEACJ;IAAA,4DAAS;IACb,4DAAM;IACV,qEAAe;IAEnB,4DAAM;IACN,2EAAgC;IAC5B,sEAA0C;IAC9C,4DAAM;IACN,2EAAgC;IAC5B,sEAA8C;IAC9C,oEAA+C;IAC/C,8EAEmC;IAAA,mFAAuB;IAAA,4DAAS;IACvE,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,0EAA4B;IACxB,2EAA8C;IAC1C,0EAAoB;IAChB,sEAAI;IAAA,sEAAU;IAAA,4DAAK;IACvB,4DAAM;IACN,2EAAmB;IACf,2EAAuB;IACnB,sEAAuC;IAC3C,4DAAM;IACN,yEAA6C;IAAA,gEAAI;IAAA,4DAAI;IACrD,sEAAI;IAAA,2FAA+B;IAAA,4DAAK;IACxC,yEACmB;IACf,8EACwB;IAAA,oEAAQ;IAAA,4DAAS;IAC7C,4DAAI;IACR,4DAAM;IACN,sEAAyB;IACzB,2EAAmB;IACf,2EAAyB;IACrB,sEAAyC;IAC7C,4DAAM;IACN,yEAA6C;IAAA,sEAAU;IAAA,4DAAI;IAC3D,sEAAI;IAAA,oFAAwB;IAAA,4DAAK;IACjC,yEAAoC;IAChC,8EACwB;IAAA,sEAAU;IAAA,4DAAS;IAC/C,4DAAI;IACR,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA7E2C,0DAAqC;IAArC,+JAAqC;IAkBjE,2DAAgC;IAAhC,0JAAgC;IAIxB,0DAAqC;IAArC,+JAAqC;IAe7C,0DAAkC;IAAlC,4JAAkC;IACpC,0DAAuC;IAAvC,iKAAuC;;;IA3C9D,sEAAsE;IAClE,gHAiFM;;IACV,4DAAM;;;IAlFI,0DAAoB;IAApB,+IAAoB;;ADYvB,MAAM,aAAa;IAItB,YACY,mBAAuC,EACvC,eAA+B,EAC/B,aAA2B;QAF3B,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,kBAAa,GAAb,aAAa,CAAc;QALvC,eAAU,GAAG,IAAI,yCAAO,EAAW,CAAC;IAMhC,CAAC;IAEL,QAAQ;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAEO,iBAAiB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAC3D,mDAAG,CAAC,IAAI,CAAC,EAAE;YACP,MAAM,YAAY,GAA8B,EAAS,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE;gBACrC,MAAM,GAAG,GAAG,WAA8C,CAAC;gBAC3D,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC,CAAC;YAEJ,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC,EACF,+DAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EACzB,2DAAW,EAAE,CAChB,CAAC;IACN,CAAC;;0EAhCQ,aAAa;2GAAb,aAAa;QCb1B,yGAmFM;;;;QAnFA,8OAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArB;AAEA;AACgB;AACT;AACa;AACS;AACZ;AAEJ;AACN;AACM;AACE;AACX;;AA0B5C,MAAM,UAAU;;oEAAV,UAAU;wGAAV,UAAU;4GAvBV;YACL,0DAAY;YACZ,sFAAgB;YAChB,gEAAc;YACd,yEAAc;YACd,uEAAc;YACd,0DAAY;YACZ,6EAAa;YACb,0EAAY;SACf;oIAcQ,UAAU,mBAZf,qEAAe;QACf,+DAAa;QACb,qEAAe;QACf,4DAAY,aAbZ,0DAAY;QACZ,sFAAgB;QAChB,gEAAc;QACd,yEAAc;QACd,uEAAc;QACd,0DAAY;QACZ,6EAAa;QACb,0EAAY,aASZ,qEAAe;QACf,qEAAe;QACf,+DAAa;QACb,4DAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCoC;AAEV;AAEqB;;;;;;;;;ICMnD,0EAEwC;IACpC,uEACA;IAAA,2EAAkC;IAC9B,wEACJ;IAAA,4DAAO;IACX,4DAAM;;;;IALD,mFAAkC;;;;IAUnC,wEAA+C;IAC3C,6EAK4D;IACxD,uDACJ;IAAA,4DAAS;IACb,qEAAe;;;IANH,0DAAwB;IAAxB,qFAAwB;IAI5B,0DACJ;IADI,2FACJ;;;IAYJ,mEAA2D;;;IAF/D,0EAC8B;IAC1B,kKAA2D;IAC/D,4DAAM;;;;IADa,0DAA2B;IAA3B,kFAA2B;;;IAKtC,0EAIkH;IAC9G,uDACJ;IAAA,4DAAM;;;IAJD,qFAAwB;IAGzB,0DACJ;IADI,2FACJ;;;IAPJ,wEAA4C;IACxC,wKAMM;IACV,qEAAe;;;IAPY,0DAAc;IAAd,wFAAc;;;IAUrC,0EAIkH;IAC9G,uDACJ;IAAA,4DAAM;;;IAJD,qFAAwB;IAGzB,0DACJ;IADI,kGACJ;;;IAlBR,wEAA4D;IACxD,2KAQe;IAEf,0EAA8B;IAC1B,yJAMM;IACV,4DAAM;IACV,qEAAe;;;IAnBI,0DAA2B;IAA3B,+FAA2B;IAWf,0DAAe;IAAf,yFAAe;;;IAU9C,0EAEyC;IACrC,mEACA;IAAA,2EAAkC;IAC9B,wEACJ;IAAA,4DAAO;IACX,4DAAM;;;;IALD,mFAAmC;;;IAUpC,wEAAiD;IAC7C,6EAEiC;IAC7B,uDACJ;IAAA,4DAAS;IACb,qEAAe;;;IAHH,0DAAwB;IAAxB,qFAAwB;IAC5B,0DACJ;IADI,2FACJ;;;IAKJ,wEAA+C;IAC3C,0EAGkH;IAC9G,uDACJ;IAAA,4DAAM;IACV,qEAAe;;;IALN,0DAAwB;IAAxB,qFAAwB;IAGzB,0DACJ;IADI,2FACJ;;;IAOJ,qEAC6B;;;;IAC7B,0EAIiD;IAC7C,oEACJ;IAAA,4DAAM;;IAFD,0JAA2C;;;IAnBhD,2KAOe;IACf,wEAEmB;IACf,gEACJ;IAAA,4DAAI;IACJ,yJAC6B;IAC7B,yJAMM;;;IArB0B,uFAAa;IAavC,0DAA8B;IAA9B,kGAA8B;IAE9B,0DAA8B;IAA9B,kGAA8B;;;IA/F5C,wEAAuD;IACnD,yIAOM;IAEN,kFAEkC;IAC9B,4JASe;IACf,wEAGmB;IACf,gEACJ;IAAA,4DAAI;IACR,4DAAW;IAEX,0IAGM;IAEN,4JAoBe;IAEf,yIAOM;IAEN,mFAEmC;IAC/B,8JAMe;IACnB,4DAAW;IAEX,wOAuBc;IAClB,qEAAe;;;;IAtGL,0DAA2B;IAA3B,8FAA2B;IAYG,0DAAa;IAAb,sFAAa;IAkB3C,0DAA2B;IAA3B,8FAA2B;IAKlB,0DAA6B;IAA7B,8FAA6B;IAsBtC,0DAA2B;IAA3B,8FAA2B;IAYG,0DAAe;IAAf,wFAAe;;;IAoCnD,0EAGiD;IAC7C,iEACJ;IAAA,4DAAM;;IAFD,0JAA2C;;;;IAOpD,wEAA2D;IACvD,6EAE4B;IAApB,6UAAmB;IACvB,mEACJ;IAAA,4DAAS;IACb,qEAAe;;;;IAGX,6EAE0B;IAAlB,0UAAiB;IACrB,kEACJ;IAAA,4DAAS;;;;IAnIrB,wEAA4E;IACxE,sEAAK;IACD,6IAuGe;;IAEf,sNAOc;IAClB,4DAAM;IAEN,yEAAqB;IACjB,4IAMe;;IAEf,sNAMc;IAClB,4DAAM;IACN,6EAEqC;IAA7B,iVAA4B;IAChC,mEAAa;IACb,mEAAa;IACb,mEAAa;IACjB,4DAAS;IACb,qEAAe;;;;;IA3IQ,0DAA6B;IAA7B,qJAA6B;IAoH7B,0DAA0B;IAA1B,qJAA0B;;;;IA4B7C,wEAAsC;IAClC,6EAG4B;IAApB,4UAAmB;IACvB,mEACJ;IAAA,4DAAS;IACb,qEAAe;;;IARnB,0EAA2B;IACvB,4IAOe;IACnB,4DAAM;;;IARa,0DAAqB;IAArB,wFAAqB;;;ADtIrC,MAAM,eAAe;IAmDxB,YAAoB,YAAyB,EAAU,OAAe;QAAlD,iBAAY,GAAZ,YAAY,CAAa;QAAU,YAAO,GAAP,OAAO,CAAQ;QAlDtE,aAAQ,GAAG,KAAK,CAAC;QACjB,SAAI,GAAG,wDAAI,CAAC;QAEZ,gBAAW,GAAsB;YAC7B;gBACI,KAAK,EAAE,aAAa;gBACpB,GAAG,EAAE,mBAAmB;aAC3B;YACD;gBACI,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,UAAU;aAClB;YACD;gBACI,KAAK,EAAE,eAAe;gBACtB,GAAG,EAAE,gBAAgB;aACxB;SACJ,CAAC;QAEF,eAAU,GAAsB;YAC5B;gBACI,KAAK,EAAE,MAAM;gBACb,GAAG,EAAE,GAAG;gBACR,uBAAuB,EAAE;oBACrB,KAAK,EAAE,IAAI;iBACd;aACJ;YACD;gBACI,KAAK,EAAE,eAAe;gBACtB,GAAG,EAAE,oCAAoC;aAC5C;YACD;gBACI,KAAK,EAAE,YAAY;gBACnB,GAAG,EAAE,cAAc;aACtB;YACD;gBACI,KAAK,EAAE,cAAc;gBACrB,GAAG,EAAE,eAAe;aACvB;SACJ,CAAC;QAEF,iBAAY,GAAsB;YAC9B;gBACI,KAAK,EAAE,cAAc;gBACrB,GAAG,EAAE,sBAAsB;aAC9B;SACJ,CAAC;IAKwE,CAAC;IAG3E,eAAe,CAAC,KAAmB;QAC/B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB;IACL,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QAEjD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAClD,sDAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,0DAAa,CAAC,EAC/C,mDAAG,CAAC,UAAU,CAAC,EAAE;YACb,MAAM,EAAE,GAAG,EAAE,GAAI,UAA4B,CAAC;YAC9C,OAAO,CAAC,CAAC,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;iBACzG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,EACF,oEAAoB,EAAE,CACzB,CAAC;IACN,CAAC;IAED,KAAK;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,aAAa;QACT,OAAO,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;;8EAxFQ,eAAe;6GAAf,eAAe;iJAAf,2BAAuB;;QCpBpC,yEACgD;QAC5C,oEAGkD;QAGlD,8HA6Ie;;QACnB,4DAAM;QAEN,uMAWc;;;QAlKT,wJAA0C;QAO5B,0DAAsC;QAAtC,6JAAsC;;;;;;;;;;;;;;;;;ACRlD,MAAe,yBAAyB;CAG9C;;;;;;;;;;;;;;;;;;;;ACFqD;AAEoB;AACD;;AAWlE,MAAM,cAAc;;4EAAd,cAAc;2GAAd,cAAc;+GAJd;YACL,gEAAc;SACjB;mIAEQ,cAAc,mBAPnB,kFAAqB;QACrB,mFAAsB,aAGtB,gEAAc;;;;;;;;;;;;;;;;;;;ACVsD;;;AAMrE,MAAM,sBAAuB,SAAQ,oFAAyB;IACjE;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,gDAAgD,CAAC;IACpE,CAAC;;4FALQ,sBAAsB;oHAAtB,sBAAsB;QCRnC,2EAAU;QACN,6EAAmC;QAC/B,sEAAK;QACD,qEAAI;QACA,uDACJ;QAAA,4DAAK;QACT,4DAAM;QACN,sEAAK;QACD,oEAAG;QAAA,uDAAW;QAAA,4DAAI;QAClB,oEAAG;QAAA,0EAAe;QAAA,wEAAkB;QAAA,oEAAQ;QAAA,4DAAI;QAAA,8DAChD;QAAA,4DAAI;QACR,4DAAM;QACV,4DAAU;QACd,4DAAW;;QATK,0DACJ;QADI,yFACJ;QAGG,0DAAW;QAAX,4EAAW;;;;;;;;;;;;;;;;;;;;ACNkD;;;AAMrE,MAAM,qBAAsB,SAAQ,oFAAyB;IAChE;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,sEAAsE,CAAC;IAC1F,CAAC;;0FALQ,qBAAqB;mHAArB,qBAAqB;QDRlC,2EAAU;QACN,6EAAmC;QAC/B,sEAAK;QACD,qEAAI;QACA,uDACJ;QAAA,4DAAK;QACT,4DAAM;QACN,sEAAK;QACD,oEAAG;QAAA,uDAAW;QAAA,4DAAI;QAClB,oEAAG;QAAA,0EAAe;QAAA,wEAAkB;QAAA,oEAAQ;QAAA,4DAAI;QAAA,8DAChD;QAAA,4DAAI;QACR,4DAAM;QACV,4DAAU;QACd,4DAAW;;QATK,0DACJ;QADI,yFACJ;QAGG,0DAAW;QAAX,4EAAW;;;;;;;;;;;;;;;;;;;AEDnB,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;QCPzB,yEAAoB;QAChB,uEAA+D;QAC3D,oEAAmE;QACnE,0EAAmB;QAAA,8EAAmB;QAAA,4DAAO;QACjD,4DAAI;QACR,4DAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLkD;AAEG;AACJ;AACQ;AACN;AACI;AACM;AACR;AACM;AACC;AACF;AACT;AACE;AACF;AACU;AACa;AACrB;AACE;AACW;AACb;AACF;AACM;AACA;;AAE7D,MAAM,OAAO,GAAG;IACZ,qEAAe;IACf,iEAAa;IACb,uEAAgB;IAChB,iEAAa;IACb,0EAAiB;IACjB,mEAAc;IACd,2EAAkB;IAClB,4EAAkB;IAClB,mEAAc;IACd,gFAAoB;IACpB,kEAAa;IACb,kEAAa;IACb,oEAAc;IACd,0EAAiB;IACjB,sEAAe;IACf,4EAAkB;IAClB,oEAAc;IACd,yFAAwB;IACxB,wEAAgB;IAChB,8EAAmB;IACnB,wEAAmB;IACnB,sEAAe;IACf,mEAAc;CACjB,CAAC;AAMK,MAAM,cAAc;;4EAAd,cAAc;4GAAd,cAAc;gHAHd,OAAO,EA1BhB,qEAAe;QACf,iEAAa;QACb,uEAAgB;QAChB,iEAAa;QACb,0EAAiB;QACjB,mEAAc;QACd,2EAAkB;QAClB,4EAAkB;QAClB,mEAAc;QACd,gFAAoB;QACpB,kEAAa;QACb,kEAAa;QACb,oEAAc;QACd,0EAAiB;QACjB,sEAAe;QACf,4EAAkB;QAClB,oEAAc;QACd,yFAAwB;QACxB,wEAAgB;QAChB,8EAAmB;QACnB,wEAAmB;QACnB,sEAAe;QACf,mEAAc;oIAOL,cAAc,cA7BvB,qEAAe;QACf,iEAAa;QACb,uEAAgB;QAChB,iEAAa;QACb,0EAAiB;QACjB,mEAAc;QACd,2EAAkB;QAClB,4EAAkB;QAClB,mEAAc;QACd,gFAAoB;QACpB,kEAAa;QACb,kEAAa;QACb,oEAAc;QACd,0EAAiB;QACjB,sEAAe;QACf,4EAAkB;QAClB,oEAAc;QACd,yFAAwB;QACxB,wEAAgB;QAChB,8EAAmB;QACnB,wEAAmB;QACnB,sEAAe;QACf,mEAAc,aAtBd,qEAAe;QACf,iEAAa;QACb,uEAAgB;QAChB,iEAAa;QACb,0EAAiB;QACjB,mEAAc;QACd,2EAAkB;QAClB,4EAAkB;QAClB,mEAAc;QACd,gFAAoB;QACpB,kEAAa;QACb,kEAAa;QACb,oEAAc;QACd,0EAAiB;QACjB,sEAAe;QACf,4EAAkB;QAClB,oEAAc;QACd,yFAAwB;QACxB,wEAAgB;QAChB,8EAAmB;QACnB,wEAAmB;QACnB,sEAAe;QACf,mEAAc;;;;;;;;;;;;;;;;;;;AC/CuD;;;;AAQlE,MAAM,qBAAqB;IAC9B,YAAmB,SAA8C,EAAkC,IAAgB;QAAhG,cAAS,GAAT,SAAS,CAAqC;QAAkC,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;;0FAD/G,qBAAqB,uMAC6C,qEAAe;mHADjF,qBAAqB;QCTlC,wEAAqB;QAAA,uDAAc;QAAA,4DAAK;QACxC,oEAC0C;QAC1C,yEACwB;QACpB,4EAEmC;QAAA,iEAAM;QAAA,4DAAS;QAClD,4EAGwB;QAAA,6DAAE;QAAA,4DAAS;QACvC,4DAAM;;QAZe,0DAAc;QAAd,+EAAc;QAE9B,0DAA8B;QAA9B,yJAA8B;QAKvB,0DAA0B;QAA1B,mFAA0B;QAG1B,0DAAyB;QAAzB,kFAAyB;;;;;;;;;;;;;;;;;;;;ACToC;;;;AAOlE,MAAM,mBAAmB;IAC5B,YAAmB,SAA4C,EAAkC,IAAgB;QAA9F,cAAS,GAAT,SAAS,CAAmC;QAAkC,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;;sFAD7G,mBAAmB,uMAC6C,qEAAe;iHAD/E,mBAAmB;QCRhC,wEAAqB;QAAA,uDAAc;QAAA,4DAAK;QACxC,oEAC0C;QAC1C,yEAAwB;QACpB,4EAEyB;QAAA,iEAAM;QAAA,4DAAS;QAC5C,4DAAM;;QAPe,0DAAc;QAAd,+EAAc;QAE9B,0DAA8B;QAA9B,yJAA8B;;;;;;;;;;;;;;;;;;;;;;;ACQ5B,MAAM,6BAA6B;IACtC,YAAmB,SAA4C;QAA5C,cAAS,GAAT,SAAS,CAAmC;IAAI,CAAC;;0GAD3D,6BAA6B;2HAA7B,6BAA6B;QCV1C,yEAAsC;QAClC,yEAAqB;QACjB,qEAAI;QAAA,wFAAwB;QAAA,4DAAK;QACrC,4DAAM;QACN,yEAAoB;QAChB,yEAA2B;QAC/B,4DAAM;QACV,4DAAM;;;;;;;;;;;;;;;;;;;;;;;ACNgD;AAEC;AACyB;AACN;AACgC;;AAanG,MAAM,aAAa;;0EAAb,aAAa;0GAAb,aAAa;8GALb;YACL,gEAAc;YACd,+DAAY;SACf;mIAEQ,aAAa,mBATlB,yFAAqB;QACrB,mFAAmB;QACnB,mHAA6B,aAG7B,gEAAc;QACd,+DAAY;;;;;;;;;;;;;;;;;;;;;;ACdgD;AACe;AACJ;AACb;AACT;;AAEzD,MAAM,UAAU,GAAG;IACf,2EAAqB;IACrB,6EAAsB;IACtB,wFAA2B;IAC3B,4FAA6B;IAC7B,kEAAiB;CACpB,CAAC;AAMK,MAAM,gBAAgB;;gFAAhB,gBAAgB;6GAAhB,gBAAgB;;mIAAhB,gBAAgB,mBAXzB,2EAAqB;QACrB,6EAAsB;QACtB,wFAA2B;QAC3B,4FAA6B;QAC7B,kEAAiB,aAJjB,2EAAqB;QACrB,6EAAsB;QACtB,wFAA2B;QAC3B,4FAA6B;QAC7B,kEAAiB;;;;;;;;;;;;;;;;;;;ACbkB;;;AAQhC,MAAM,sBAAuB,SAAQ,iDAAI;IAC5C,YAAY,WAA6B,EAAE,gBAAkC,EAAU,YAAyB;QAC5G,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAD8C,iBAAY,GAAZ,YAAY,CAAa;IAEhH,CAAC;IAED,IAAa,gBAAgB,CAAC,IAA6B;QACvD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1C;IACL,CAAC;IAED,IAAa,oBAAoB,CAAC,YAA8B;QAC5D,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;IACjC,CAAC;;4FAjBQ,sBAAsB;oHAAtB,sBAAsB;;;;;;;;;;;;;;;;;;;;;ACNF;AACoB;;;AAK9C,MAAM,6BAA6B;IAItC,YAAoB,GAA4B,EAAU,aAAiC;QAAvE,QAAG,GAAH,GAAG,CAAyB;QAAU,kBAAa,GAAb,aAAa,CAAoB;QAHlF,8BAAyB,GAAG,KAAK,CAAC;QAClC,iBAAY,GAAG,CAAC,CAAC;IAEqE,CAAC;IAEtE,QAAQ;QAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvC,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChD;IACL,CAAC;IAEO,2BAA2B;QAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAgB,CAAC;QAE/F,MAAM,CAAC,MAAM,CAAC;YACV,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,YAAY;YAC/D,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QAEH,+CAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACtB,IAAI,CACD,4DAAY,CAAC,GAAG,CAAC,EACjB,qDAAK,EAAE,CACV,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,YAAY,CAAC,SAAsB;QACvC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;IAChF,CAAC;;0GAjCQ,6BAA6B;2HAA7B,6BAA6B;2JAA7B,cAAU;;;;;;;;;;;;;;;;;;;ACHhB,MAAM,2BAA2B;IAIpC,WAAW;QACP,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,UAAU,CAAC;IACjD,CAAC;IAGD,YAAY;QACR,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,UAAU,CAAC;IACjD,CAAC;IAGD,WAAW;QACP,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,MAAM,CAAC;IAC7C,CAAC;;sGAhBQ,2BAA2B;yHAA3B,2BAA2B;uJAA3B,iBAAa,iGAAb,kBAAc,+FAAd,iBAAa;;;;;;;;;;;;;;;;;;;;ACLa;;;AAQhC,MAAM,qBAAsB,SAAQ,iDAAI;IAC3C,YAAY,WAA6B,EAAE,gBAAkC,EAAU,YAAyB;QAC5G,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAD8C,iBAAY,GAAZ,YAAY,CAAa;IAEhH,CAAC;IAED,IAAa,eAAe,CAAC,IAA6B;QACtD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACzC;IACL,CAAC;IAED,IAAa,mBAAmB,CAAC,YAA8B;QAC3D,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;IACjC,CAAC;;0FAjBQ,qBAAqB;mHAArB,qBAAqB;;;;;;;;;;;;;;;;;ACR6D;;AAKxF,MAAM,iBAAiB;IAS1B,YAAoB,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QAR9B,kBAAa,GAAG,IAAI,uDAAY,EAAW,CAAC;QAE9C,0BAAqB,GAAG,IAAI,oBAAoB,CACpD,OAAO,CAAC,EAAE;YACN,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CACJ,CAAC;IAE0C,CAAC;IAE7C,QAAQ;QACJ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACP,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAEO,oBAAoB,CAAC,OAAoC;QAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SACtF;IACL,CAAC;;kFAxBQ,iBAAiB;+GAAjB,iBAAiB;;;;;;;;;;;;;;;;;;ACCvB,MAAM,aAAa;IACtB,YACY,YAAwB,EACxB,SAAoB;QADpB,iBAAY,GAAZ,YAAY,CAAY;QACxB,cAAS,GAAT,SAAS,CAAW;IAC5B,CAAC;IAEL,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE;YAC1D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;SACvF;IACL,CAAC;;0EAVQ,aAAa;2GAAb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;ICN1B,8EAGqC;;IAAA,uEAAY;IAAA,4DAAW;;;IADlD,uJAA6B;;ACKhC,MAAM,oBAAoB;;wFAApB,oBAAoB;kHAApB,oBAAoB;QDPjC,0HAG4D;;QAFjD,6EAAa;;;;;;;;;;;;;;;;;;;;;;AEDuB;AAEO;AAEU;AACzB;;AAgBhC,MAAM,iBAAiB;;kFAAjB,iBAAiB;8GAAjB,iBAAiB;kHATjB;YACL,gEAAc;YACd,yDAAY;SACf;mIAMQ,iBAAiB,mBAZtB,gDAAQ;QACR,yEAAoB,aAGpB,gEAAc;QACd,yDAAY,aAGZ,yEAAoB;QACpB,gDAAQ;;;;;;;;;;;;;;;;;;AChBwB;;AAKjC,MAAM,QAAQ;IACjB,SAAS,CAAC,QAAgB;QACtB,MAAM,IAAI,GAAI,2CAAoB,CAAC;QACnC,OAAQ,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAW,IAAI,IAAI,EAAE,IAAI,CAAY,IAAI,QAAQ,CAAC;IAC7G,CAAC;;gEAJQ,QAAQ;gHAAR,QAAQ;;;;;;;;;;;;;;;;;;;;;ACP0B;AAEO;AAEC;AACA;;AAgBhD,MAAM,YAAY;;wEAAZ,YAAY;yGAAZ,YAAY;6GATZ;YACL,gEAAc;YACd,yDAAY;SACf;mIAMQ,YAAY,mBAZjB,gEAAgB;QAChB,gEAAgB,aAGhB,gEAAc;QACd,yDAAY,aAGZ,gEAAgB;QAChB,gEAAgB;;;;;;;;;;;;;;;;;;ACR+B;;AAKhD,MAAM,gBAAgB;IAazB,YACY,YAA8B,EAC9B,MAAwB,EACxB,yBAAmD;QAFnD,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,WAAM,GAAN,MAAM,CAAkB;QACxB,8BAAyB,GAAzB,yBAAyB,CAA0B;QAE3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,gEAAgB,CAAC,CAAC;IACnG,CAAC;IAfD,IAAa,UAAU,CAAC,OAA0B;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC5E;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACrD;IACL,CAAC;;gFAXQ,gBAAgB;8GAAhB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;ACPtB,MAAM,gBAAgB;IAL7B;QAMa,UAAK,GAAiB,SAAS,CAAC;QAChC,aAAQ,GAAG,GAAG,CAAC;QACf,SAAI,GAAoB,MAAM,CAAC;KAC3C;;gFAJY,gBAAgB;8GAAhB,gBAAgB;QCR7B,yEACsB;QAClB,yEAA+B;QAC3B,4EAGsC;QAC1C,4DAAM;QACV,4DAAM;;QAPD,6EAAgB;QAEA,0DAAqB;QAArB,kFAAqB;;;;;;;;;;;;;;;;;;;;;ACHf;AACE;;;;;;;;;;;;;;;;;;ACDqB;AACR;AAE1C,MAAM,OAAO,GAAG,CAAI,QAAoB,EAAE,EAAE,CAAC,CAAC,MAAqB,EAAiB,EAAE,CAAC,2CAAK,CAAC,GAAG,EAAE;IAC9F,QAAQ,EAAE,CAAC;IACX,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC,CAAC;AAEI,MAAM,QAAQ,GAAG,CAAI,SAA2B,EAAE,EAAE,CAAC,CAAC,MAAqB,EAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAC7G,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACnC,wDAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACxC,CAAC;;;;;;;;;;;;;;;;;;;;ACV6E;AAExE,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAM,UAAU,GAAG,CACtB,IAAiC,EACjC,KAAK,GAAG,YAAY,EACoB,EAAE,CAAC,CAAC,OAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CACnF,4DAAY,CAAC,KAAK,CAAC,EACnB,oEAAoB,EAAE,EACtB,yDAAS,CAAC,IAAI,CAAC,CAClB,CAAC;;;;;;;;;;;;;;;;;;;ACXyD;;;AAMpD,MAAM,kBAAkB;IAE3B,YAAoB,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;QADnC,UAAK,GAAG,qEAAiB,CAAC;IACa,CAAC;IACxC,SAAS,CAAC,KAAoB;QAC1B,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK;YACR,CAAC,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE;YACtF,CAAC,CAAC,QAAQ,CAAC;IACnB,CAAC;;oFARQ,kBAAkB;oIAAlB,kBAAkB;;;;;;;;;;;;;;;;;;ACDxB,MAAM,eAAe;IACxB,SAAS,CAAC,KAAsB;QAC5B,OAAO,KAAoB,CAAC;IAChC,CAAC;;8EAHQ,eAAe;8HAAf,eAAe;;;;;;;;;;;;;;;;;;ACArB,MAAM,aAAa;IACtB,SAAS,CAAC,KAAsB;QAC5B,OAAO,KAAkB,CAAC;IAC9B,CAAC;;0EAHQ,aAAa;0HAAb,aAAa;;;;;;;;;;;;;;;;;;ACDnB,MAAM,SAAS;IAClB,SAAS,CAAC,IAAuB;QAC7B,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,KAAK,KAAK,EAAE;YAChB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,EAAE,CAAC;IACd,CAAC;;kEAXQ,SAAS;kHAAT,SAAS;;;;;;;;;;;;;;;;;;;;;ICFd,0EACoB;IAChB,uDACJ;IAAA,4DAAO;;;;IADH,0DACJ;IADI,kHACJ;;;IALJ,wEAAwC;IACpC,wEACA;IAAA,mJAGO;IACX,qEAAe;;;IAJa,0DAAS;IAAT,kFAAS;;;IAMrC,wEAA0C;IACtC,wEAAY;IAAA,0EAAoB;IAAA,uDAAe;IAAA,4DAAO;IAC1D,qEAAe;;;IADqB,0DAAe;IAAf,iFAAe;;;IAVvD,wEAA6B;IACzB,oJAMe;IAEf,oJAEe;IACnB,qEAAe;;;IAXI,0DAAuB;IAAvB,0FAAuB;IAQvB,0DAAyB;IAAzB,4FAAyB;;ACDrC,MAAM,uBAAuB;IALpC;QAQa,cAAS,GAAG,GAAG,CAAC;KAC5B;;8FAJY,uBAAuB;qHAAvB,uBAAuB;QDRpC,qIAYe;;QAZA,4EAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAoB;AAEO;AACH;AAEe;AACZ;AACiB;AACjB;AACY;AACN;AACJ;AACR;AACsC;AACY;;AAwC3F,MAAM,YAAY;;wEAAZ,YAAY;0GAAZ,YAAY;+GALV;QACP,yDAAS;QACT,EAAE,OAAO,EAAE,+CAAQ,EAAE,QAAQ,EAAE,+CAAQ,EAAE;KAC5C,YAnCQ;YACL,0DAAY;YACZ,gEAAc;YACd,2EAAgB;YAChB,+DAAY;YACZ,oDAAa;YACb,gFAAiB;SACpB,EAWG,0DAAY;QAEZ,gEAAc;QAEd,2EAAgB;QAEhB,oDAAa;QACb,+DAAY;QACZ,gFAAiB;oIAWZ,YAAY,mBA5BjB,4GAA2B;QAC3B,+DAAa;QACb,2EAAkB;QAClB,+FAAuB;QACvB,yDAAS;QACT,iEAAa;QACb,qEAAe,aAdf,0DAAY;QACZ,gEAAc;QACd,2EAAgB;QAChB,+DAAY;QACZ,oDAAa;QACb,gFAAiB,aAYjB,0DAAY;QACZ,2EAAkB;QAClB,gEAAc;QACd,4GAA2B;QAC3B,2EAAgB;QAChB,+DAAa;QACb,oDAAa;QACb,+DAAY;QACZ,gFAAiB;QACjB,+FAAuB;QACvB,yDAAS;QACT,iEAAa;QACb,qEAAe;;;;;;;;;;;;;;;;;;;;;;;;;IC/CvB,wEAA2D;IACvD,2EAAU;IAAA,kEAAO;IAAA,4DAAW;IAAC,uDACjC;IAAA,qEAAe;;;IADkB,0DACjC;IADiC,4FACjC;;;IACA,oGAAuD;;;ACkBhD,MAAM,2BAA2B;IAKpC,YAAgC,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;QAFrD,cAAS,GAAc,OAAO,CAAC;IAE0B,CAAC;IAEnE,kBAAkB;;QACd,IAAI,UAAI,CAAC,OAAO,0CAAE,SAAS,EAAE;YACzB,OAAO,EAAE,CAAC;SACb;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YAC9C,OAAO,2BAA2B,CAAC;SACtC;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpC,OAAO,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC;SACxC;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW,UAAU,CAAC;SAC9E;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,8BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe,CAAC,cAAc,cAAc,CAAC;SACvH;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxC,OAAO,gCAAgC,CAAC;SAC3C;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,4CAA6C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS,CAAC,GAAG,GAAG,CAAC;SACnG;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,yCAA0C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS,CAAC,GAAG,GAAG,CAAC;SAChG;QAED,IAAI,UAAI,CAAC,OAAO,0CAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO,6BAA6B,CAAC;SACxC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC1D;iBAAM;gBACH,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;aACtF;SACJ;IACL,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEtD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,oCAAoC,CAAC,CAAC;SACpF;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;;sGArEQ,2BAA2B;yHAA3B,2BAA2B;;QDrBxC,yIAEe;QACf,qIAAuD;;QAHxC,0FAA2B;QAG7B,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;;;;AEDxC,MAAM,YAAY,GAAgB,CAAC,OAAwB,EAA2B,EAAE;IACpF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAgB,CAAC,OAAwB,EAA2B,EAAE;IAC5F,MAAM,KAAK,GAAG,kCAAkC,CAAC;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAe,EAAE,CAAC,CAAC,OAAwB,EAA2B,EAAE;IAC3G,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEK,MAAM,gBAAgB;;AAClB,oBAAG,GAAG,YAAY,CAAC;AACnB,sBAAK,GAAG,oBAAoB,CAAC;AAC7B,uBAAM,GAAG,eAAe,CAAC;;;;;;;;;;;;;;;;ACrB7B,MAAM,WAAW,GAAG;IACvB,UAAU,EAAE,KAAK;CACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;ACF6C;AAEhB;AACqC;AAEvB;AACY;AAEzD,yCAAY,CAAC,2DAAiB,CAAC,CAAC;AAEhC,IAAI,6EAAsB,EAAE;IACxB,6DAAc,EAAE,CAAC;CACpB;AAED,wEAAwB,CAAC,eAAe,CAAC,sDAAS,CAAC;KAC9C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;ACftC,e","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute, NavigationEnd, Router, RouterState } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"./auth\";\r\nimport { DialogLoggingProcessComponent } from \"./shared/dialogs/dialog-logging-process/dialog-logging-process.component\";\r\n\r\ninterface RouterStateActivatedRoute {\r\n firstChild(route: ActivatedRoute): ActivatedRoute;\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"]\r\n})\r\nexport class AppComponent implements OnInit {\r\n private _title: Nullable;\r\n\r\n constructor(\r\n private _matDialog: MatDialog,\r\n private _authService: AuthService,\r\n private _titleService: Title,\r\n private _router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.displayLoggingDialog();\r\n this.setTabTitles();\r\n // this.setSilentRenew();\r\n }\r\n\r\n private displayLoggingDialog() {\r\n this._authService.loggingProcess.subscribe(isLogging => {\r\n if (isLogging) {\r\n this._matDialog.open(DialogLoggingProcessComponent, { disableClose: true, width: \"450px\" });\r\n } else {\r\n this._matDialog.closeAll();\r\n }\r\n });\r\n }\r\n\r\n private setTabTitles(): void {\r\n this._router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this._title = null;\r\n const pathTitle = this.getPathTitle(this._router.routerState, this._router.routerState.root);\r\n const title = `${pathTitle || \"\"}${pathTitle ? \" | \" : \"\"}CF Insights`;\r\n this._titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n private getPathTitle(state: RouterState, parent: ActivatedRoute): Nullable {\r\n if (parent && parent.snapshot.data && parent.snapshot.data.title) {\r\n this._title = parent.snapshot.data.title;\r\n }\r\n\r\n if (state && parent) {\r\n this.getPathTitle(state, (state as unknown as RouterStateActivatedRoute).firstChild(parent));\r\n }\r\n\r\n return this._title;\r\n }\r\n\r\n private setSilentRenew(): void {\r\n const silentInterval = 15;\r\n setInterval(() => {\r\n if (this._authService.isAuthenticated && this._authService.tokenExpired) {\r\n this._authService.loginSilently();\r\n }\r\n }, silentInterval * 1000);\r\n }\r\n}\r\n","\n\n\n
\n \n
\n\n\n","import { NgModule } from \"@angular/core\";\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { AuthModule } from \"@app/auth\";\r\nimport { IConfig, NgxMaskModule } from \"ngx-mask\";\r\n\r\nimport { AppComponent } from \"./app.component\";\r\nimport { AppRoutingModule } from \"./app.routing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { MainModule } from \"./main/main.module\";\r\nimport { MaterialModule } from \"./material.module\";\r\n\r\nconst maskConfig: Partial = {\r\n thousandSeparator: \",\"\r\n};\r\n\r\n@NgModule({\r\n providers: [{\r\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n useValue: { floatLabel: \"always\" }\r\n }],\r\n declarations: [\r\n AppComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n AuthModule.forRoot(),\r\n MaterialModule,\r\n BrowserAnimationsModule,\r\n CoreModule,\r\n MainModule,\r\n AppRoutingModule,\r\n NgxMaskModule.forRoot(maskConfig)\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { HomeComponent } from \"./main/home/home.component\";\r\nimport { PageForbiddenComponent } from \"./main/page-info/pages/page-forbidden.component\";\r\nimport { PageNotFoundComponent } from \"./main/page-info/pages/page-not-found.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: HomeComponent,\r\n pathMatch: \"full\"\r\n },\r\n {\r\n path: \"unauthorized\",\r\n component: PageForbiddenComponent\r\n },\r\n {\r\n path: \"not-found\",\r\n component: PageNotFoundComponent\r\n },\r\n {\r\n path: \"**\",\r\n redirectTo: \"not-found\",\r\n pathMatch: \"full\"\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: \"enabled\",\r\n anchorScrolling: \"enabled\",\r\n onSameUrlNavigation: \"reload\"\r\n })\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","\n
\n
\n

\n Oops!\n

\n
\n
\n

There was an error, please try to login again.

\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"../auth.service\";\r\n\r\n@Component({\r\n selector: \"cfi-auth-callback\",\r\n templateUrl: \"./auth-callback.component.html\",\r\n styleUrls: [\"auth-callback.component.scss\"]\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n error = false;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this._router.url.indexOf(\"error\") >= 0) {\r\n this.error = true;\r\n return;\r\n }\r\n\r\n this._authService.completeAuthentication();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { AuthCallbackComponent } from \"./auth-callback/auth-callback.component\";\r\nimport { AuthSilentCallbackComponent } from \"./auth-silent-callback/auth-silent-callback.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"auth-callback\",\r\n component: AuthCallbackComponent\r\n },\r\n {\r\n path: \"auth-silent-callback\",\r\n component: AuthSilentCallbackComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthRoutingModule { }\r\n","\n
\n
\n

\n Oops!\n

\n
\n
\n

There was an error, please try to login again.

\n
\n
\n
\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { AuthService } from \"../auth.service\";\r\n\r\n@Component({\r\n selector: \"cfi-auth-silent-callback\",\r\n templateUrl: \"./auth-silent-callback.component.html\",\r\n styleUrls: [\"auth-silent-callback.component.scss\"]\r\n})\r\nexport class AuthSilentCallbackComponent implements OnInit {\r\n error = false;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n ngOnInit(): void {\r\n if (this._router.url.indexOf(\"error\") >= 0) {\r\n this.error = true;\r\n return;\r\n }\r\n\r\n this._authService.completeSilentAuthentication();\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { UserManagerSettings } from \"oidc-client-ts\";\r\n\r\nexport class AuthSettings {\r\n static getClientSettings(): UserManagerSettings {\r\n return {\r\n authority: appConfig.authorizationUrl,\r\n client_id: appConfig.clientId,\r\n client_secret: appConfig.clientSecret,\r\n redirect_uri: `${appConfig.clientUrl}/auth-callback`,\r\n response_type: \"code\",\r\n scope: \"openid profile email\",\r\n loadUserInfo: true,\r\n automaticSilentRenew: false,\r\n silent_redirect_uri: `${appConfig.clientUrl}/auth-silent-callback`,\r\n post_logout_redirect_uri: appConfig.logoutUrl\r\n };\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\n\r\nimport { AuthCallbackComponent } from \"./auth-callback/auth-callback.component\";\r\nimport { AuthSilentCallbackComponent } from \"./auth-silent-callback/auth-silent-callback.component\";\r\nimport { AuthRoutingModule } from \"./auth-routing.module\";\r\nimport { AuthService } from \"./auth.service\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AuthCallbackComponent,\r\n AuthSilentCallbackComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthRoutingModule,\r\n MatCardModule\r\n ]\r\n})\r\nexport class AuthModule {\r\n public static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AuthModule,\r\n providers: [AuthService]\r\n };\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { UserInfo } from \"@app/core/model/user-info.model\";\r\nimport { UserStatus } from \"@app/core/model/user.model\";\r\nimport { AccountService } from \"@app/core/services/account-service\";\r\nimport { UserInfoService } from \"@app/core/services/user-info.service\";\r\nimport { User, UserManager } from \"oidc-client-ts\";\r\nimport { from, Observable, BehaviorSubject, ReplaySubject } from \"rxjs\";\r\nimport { mapTo, switchMap } from \"rxjs/operators\";\r\n\r\nimport { AuthSettings } from \"./auth.config\";\r\n\r\ninterface AuthenticatedUser {\r\n user: User;\r\n info?: UserInfo;\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n loggingProcess: Observable;\r\n authStatus$: Observable;\r\n\r\n private _userManager = new UserManager(AuthSettings.getClientSettings());\r\n private _authenticatedUser: Nullable;\r\n private _loggingProcess = new BehaviorSubject(false);\r\n private _authStatusSource = new ReplaySubject();\r\n\r\n constructor(\r\n private _router: Router,\r\n private _userInfoService: UserInfoService,\r\n private _accountService: AccountService\r\n ) {\r\n this.authStatus$ = this._authStatusSource.asObservable();\r\n this.loggingProcess = this._loggingProcess.asObservable();\r\n\r\n this._userManager.getUser().then(async user => {\r\n if (!!user && !user.expired) {\r\n await this.buildAuthenticatedUser(user);\r\n } else {\r\n this._userManager.signinSilent().then(async (userResult) => {\r\n await this.buildAuthenticatedUser(userResult as User);\r\n }).catch(() => {\r\n this._authStatusSource.next(false);\r\n });\r\n }\r\n });\r\n\r\n this._userManager.events.addUserLoaded(user => {\r\n if (this._authenticatedUser?.user !== user) {\r\n this._authenticatedUser = {\r\n user,\r\n ...this._authenticatedUser\r\n };\r\n }\r\n });\r\n\r\n this._userManager.events.addUserSignedOut(() => {\r\n this._userManager.removeUser().then(() => {\r\n this._authenticatedUser = null;\r\n this._authStatusSource.next(false);\r\n });\r\n });\r\n }\r\n\r\n async login(): Promise {\r\n if (!this._loggingProcess.value) {\r\n this._loggingProcess.next(true);\r\n await this._userManager.signinRedirect({ state: window.location.href });\r\n this.localStorage?.removeItem(\"signout\");\r\n }\r\n }\r\n\r\n loginSilently(): void {\r\n this._userManager.signinSilent().then(async (userResult) => {\r\n await this.buildAuthenticatedUser(userResult as User, true);\r\n });\r\n }\r\n\r\n async buildAuthenticatedUser(user: User, silentLogin: boolean = false): Promise {\r\n this._loggingProcess.next(!silentLogin);\r\n const info = await (this._userInfoService.get()).toPromise();\r\n\r\n this._authenticatedUser = {\r\n user,\r\n info\r\n };\r\n\r\n if (info.registered && info.status === UserStatus.Approved) {\r\n this._authStatusSource.next(this.isAuthenticated);\r\n } else {\r\n if (!info.registered) {\r\n this._router.navigate([\"/additional-data\"]);\r\n } else if (info.status === UserStatus.Pending) {\r\n this._router.navigate([\"/thank-you\"]);\r\n } else if (info.status === UserStatus.Rejected) {\r\n this._router.navigate([\"/request-rejected\"]);\r\n }\r\n this._authStatusSource.next(false);\r\n }\r\n\r\n this._loggingProcess.next(false);\r\n }\r\n\r\n completeAuthentication(): void {\r\n this._loggingProcess.next(true);\r\n\r\n from(this._userManager.signinRedirectCallback()).pipe(\r\n switchMap(user => this.sendLoginEvent(user))\r\n ).subscribe(user => {\r\n const redirectURL = this.getRedirectURLFromState(user.state as string);\r\n window.location.replace(redirectURL);\r\n });\r\n }\r\n\r\n completeSilentAuthentication(): void {\r\n from(this._userManager.signinSilentCallback()).subscribe();\r\n }\r\n\r\n signout(): void {\r\n this._userManager.signoutRedirect().then(() => {\r\n this._authenticatedUser = null;\r\n this._authStatusSource.next(false);\r\n this.localStorage?.setItem(\"signout\", \"true\");\r\n });\r\n }\r\n\r\n getAuthorizationToken(): Promise> {\r\n return this._userManager.getUser().then(user => {\r\n if (!user) {\r\n return null;\r\n }\r\n return `${user.token_type} ${user.id_token as string}`;\r\n });\r\n }\r\n\r\n getRedirectURLFromState(state: string): string {\r\n return new URL(state).searchParams.get(\"redirect\") || \"/\";\r\n }\r\n\r\n hasRole(role: Role): boolean {\r\n return this._authenticatedUser?.info?.roles?.includes(role) || false;\r\n }\r\n\r\n hasAnyOfRoles(roles: Role[]): boolean {\r\n return this._authenticatedUser?.info?.roles?.some(r => roles.findIndex(role => role === r) > -1) || false;\r\n }\r\n\r\n private sendLoginEvent(user: User): Observable {\r\n return this._accountService.loginEvent({\r\n eventUrl: window.location.origin,\r\n sessionId: this.sid,\r\n timestamp: new Date().toISOString()\r\n }).pipe(mapTo(user));\r\n }\r\n\r\n get name(): Nullable {\r\n return this._authenticatedUser?.user?.profile.name;\r\n }\r\n\r\n get email(): Nullable {\r\n return this._authenticatedUser?.user?.profile.email;\r\n }\r\n\r\n get familyName(): Nullable {\r\n return this._authenticatedUser?.user?.profile.family_name;\r\n }\r\n\r\n get givenName(): Nullable {\r\n return this._authenticatedUser?.user?.profile.given_name;\r\n }\r\n\r\n get userId(): number {\r\n return this._authenticatedUser?.info?.id || -1;\r\n }\r\n\r\n get sid(): string {\r\n const token = this._authenticatedUser?.user?.id_token as string;\r\n const parseJwt = JSON.parse(atob(token.split(\".\")[1]));\r\n return parseJwt.at_hash as string;\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n return !!this._authenticatedUser?.user;\r\n }\r\n\r\n get isRegistered(): boolean {\r\n return this._authenticatedUser?.info?.registered ?? false;\r\n }\r\n\r\n get isAdmin(): boolean {\r\n return this.hasRole(Role.Admin);\r\n }\r\n\r\n get isIpaAdmin(): boolean {\r\n return this.hasRole(Role.IpaAdmin);\r\n }\r\n\r\n get localStorage(): Nullable {\r\n if (typeof window !== \"undefined\") {\r\n return localStorage;\r\n }\r\n return null;\r\n }\r\n\r\n get tokenExpired(): boolean {\r\n const token = this._authenticatedUser?.user?.id_token as string;\r\n const parseJwt = JSON.parse(atob(token.split(\".\")[1]));\r\n const expDate = new Date(0);\r\n expDate.setUTCSeconds(parseJwt.exp);\r\n const expISODate = expDate.toISOString();\r\n const checkISODate = new Date().toISOString();\r\n return new Date(checkISODate) >= new Date(expISODate);\r\n }\r\n}\r\n","export * from \"./auth.module\";\r\nexport * from \"./auth.service\";\r\n","export enum Role {\r\n Admin = \"urn:candid:cfi:role:admin\",\r\n IpaAdmin = \"urn:candid:cfi:role:ipa-admin\"\r\n}\r\n\r\nexport enum InputMaskPatterns {\r\n OnlyNumber = \"separator.2\",\r\n EIN = \"000000000\",\r\n NaturalNumber = \"separator.0\",\r\n Year = \"9999\"\r\n}\r\n\r\nexport enum FieldLengthLimit {\r\n short = 50,\r\n long = 350,\r\n extraLong = 500\r\n}\r\n\r\nexport enum PageSize {\r\n small = 25,\r\n large = 100\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from \"@angular/common/http\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\nimport { HttpAuthInterceptor } from \"./interceptors/http-auth-interceptor\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot()\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpAuthInterceptor,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot\r\n} from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nexport interface PermissionData {\r\n roles: Role[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AdditionalDataGuard implements CanActivate {\r\n constructor(private _router: Router, private _authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.isAuthenticated(state.url, route.data as PermissionData);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private isAuthenticated(url: string, data?: PermissionData): Observable {\r\n if (!this._authService.isAuthenticated) this._router.navigate([\"login\"]);\r\n else if (this._authService.isRegistered) this._router.navigate([\"/\"]);\r\n\r\n return of(this._authService.isAuthenticated);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n CanLoad,\r\n Route,\r\n Router,\r\n RouterStateSnapshot,\r\n UrlSegment\r\n} from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable } from \"rxjs\";\r\nimport { first, map, tap } from \"rxjs/operators\";\r\n\r\nexport interface PermissionData {\r\n roles: Role[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AuthGuard implements CanActivate, CanLoad {\r\n constructor(private _router: Router, private _authService: AuthService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n return this.isAuthenticated(state.url, route.data as PermissionData);\r\n }\r\n\r\n canLoad(route: Route, segments: UrlSegment[]): Observable {\r\n const fullPath = segments.reduce((path, currentSegment) => `${path}/${currentSegment.path}`, \"\");\r\n const { hash } = window.location;\r\n return this.isAuthenticated(fullPath + hash, route.data as PermissionData);\r\n }\r\n\r\n private isAuthenticated(url: string, data?: PermissionData): Observable {\r\n return this._authService.authStatus$.pipe(\r\n first(),\r\n tap(isAuthenticated => {\r\n if (!isAuthenticated) {\r\n this._router.navigate([\"login\"], { queryParams: { redirect: url }, replaceUrl: true });\r\n }\r\n }),\r\n map(isAuthenticated => {\r\n if (isAuthenticated && data?.roles) {\r\n if (!this._authService.hasAnyOfRoles(data.roles)) {\r\n this._router.navigate([\"unauthorized\"]);\r\n return false;\r\n }\r\n }\r\n\r\n return isAuthenticated;\r\n })\r\n );\r\n }\r\n}\r\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { EMPTY, from, Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport * as URLParse from \"url-parse\";\r\n\r\n@Injectable()\r\nexport class HttpAuthInterceptor implements HttpInterceptor {\r\n allowedUrls = [appConfig.clientUrl, appConfig.apiUrl, appConfig.authorizationUrl];\r\n\r\n constructor(private _authService: AuthService, private _router: Router, private _toastrService: ToastrService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (!this.checkUrl(req.url.toLowerCase())) {\r\n return next.handle(req);\r\n }\r\n\r\n return from(this._authService.getAuthorizationToken().then(token => {\r\n const headers = this.getHeaders(req, token);\r\n const newReq = headers\r\n ? req.clone({ setHeaders: headers })\r\n : req;\r\n\r\n return next.handle(newReq).toPromise();\r\n })).pipe(\r\n catchError((err) => {\r\n if (err instanceof HttpErrorResponse) {\r\n switch (err.status) {\r\n case 401:\r\n return this.handle401Error(err);\r\n case 404:\r\n return this.handle404Error(err);\r\n default:\r\n return this.handle500Error(err);\r\n }\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n // Handlers for http status codes\r\n private handle401Error(_: HttpErrorResponse): Observable> {\r\n this._router.navigateByUrl(\"login\");\r\n return EMPTY;\r\n }\r\n\r\n private handle404Error(_: HttpErrorResponse): Observable> {\r\n this._router.navigateByUrl(\"not-found\");\r\n return EMPTY;\r\n }\r\n\r\n private handle500Error(error: HttpErrorResponse): Observable> {\r\n this._toastrService.error(error.error?.detail || \"Operation failed\", \"Error\");\r\n return EMPTY;\r\n }\r\n\r\n // Helper methods\r\n private checkUrl(callUrl: string): boolean {\r\n return this.allowedUrls.some(url => this.isFromService(url, callUrl));\r\n }\r\n\r\n private isFromService(url: string, callUrl: string): boolean {\r\n if (!callUrl.startsWith(url)) {\r\n return false;\r\n }\r\n\r\n const serviceUrlBase = new URLParse(url);\r\n const callUrlBase = new URLParse(callUrl);\r\n\r\n return serviceUrlBase.hostname === callUrlBase.hostname\r\n && serviceUrlBase.protocol === callUrlBase.protocol;\r\n }\r\n\r\n private getHeaders(req: HttpRequest, token: Nullable): Nullable<{ [name: string]: string }> {\r\n let headers = {};\r\n\r\n if (token) {\r\n headers = { ...headers, authorization: token };\r\n }\r\n\r\n if (this.isForApi(req.url)) {\r\n headers = { ...headers, \"x-api-key\": appConfig.apiKey };\r\n }\r\n\r\n return Object.keys(headers).length ? headers : null;\r\n }\r\n\r\n private isForApi(callUrl: string): boolean {\r\n return this.isFromService(appConfig.apiUrl, callUrl);\r\n }\r\n}\r\n","import { SearchCriteria } from \"@app/shared/paginator/paginator.models\";\r\n\r\nexport interface FoundationBase {\r\n status?: FoundationStatusKeys;\r\n ipa?: boolean;\r\n foundationCode?: number;\r\n region: FoundationRegionKeys;\r\n yearFoundationCreated: number;\r\n fiscalYearEnd: string;\r\n isConversionFoundation: boolean;\r\n conversionFoundationType: Nullable;\r\n conversionFoundationOtherType: Nullable;\r\n ruralUrbanArea: RuralUrbanArea;\r\n areaScope: AreaScopeKeys;\r\n serviceAreas: ServiceArea[];\r\n nationalStandardsCompliant: boolean;\r\n}\r\n\r\nexport interface ServiceArea {\r\n state: string;\r\n county: string;\r\n}\r\n\r\nexport interface RuralUrbanArea {\r\n rural: boolean;\r\n urban: boolean;\r\n}\r\n\r\nexport type FoundationUpdate = FoundationBase;\r\n\r\nexport interface FoundationCreate extends FoundationBase {\r\n foundationExternalUrn: string;\r\n}\r\n\r\nexport interface Foundation extends FoundationBase {\r\n urn: string;\r\n foundationExternalUrn: string;\r\n id: number;\r\n foundationName: string;\r\n insightsMember: FoundationMemberKeys;\r\n ein: string;\r\n street: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport interface FoundationComparison {\r\n foundation: Foundation;\r\n foundationSubmitted: Foundation;\r\n}\r\n\r\nexport interface FoundationExternal {\r\n urn: string;\r\n foundationName: string;\r\n ein: string;\r\n street: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n insightsMember: FoundationMemberKeys;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport interface FoundationsLookup {\r\n id: number;\r\n foundationName: string;\r\n urn: string;\r\n externalUrn: string;\r\n state: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\nexport enum FoundationMember {\r\n Participant = \"Participant\",\r\n Member = \"Member\"\r\n}\r\n\r\nexport type FoundationMemberKeys = keyof typeof FoundationMember;\r\n\r\nexport enum FoundationRegion {\r\n Midwest = \"Midwest\",\r\n South = \"South\",\r\n West = \"West\",\r\n Northeast = \"Northeast\"\r\n}\r\n\r\nexport type FoundationRegionKeys = keyof typeof FoundationRegion;\r\n\r\nexport enum FoundationStatus {\r\n Pending = \"Pending\",\r\n Approved = \"Approved\",\r\n Declined = \"Declined\",\r\n Initial = \"Initial\"\r\n}\r\n\r\nexport type FoundationStatusKeys = keyof typeof FoundationStatus;\r\n\r\nexport enum FoundationConversionType {\r\n Education = \"Education\",\r\n Healthcare = \"Healthcare\",\r\n Private = \"Private\",\r\n Other = \"Other\"\r\n}\r\n\r\nexport type FoundationConversionTypeKeys = keyof typeof FoundationConversionType;\r\n\r\nexport enum RuralUrbanAreaLabels {\r\n Urban = \"Urban\",\r\n Rural = \"Rural\",\r\n Both = \"Both\"\r\n}\r\n\r\nexport type RuralUrbanAreaLabelsKeys = keyof typeof RuralUrbanAreaLabels;\r\n\r\nexport enum RuralUrbanAreaOptions {\r\n rural = \"Rural\",\r\n urban = \"Urban\"\r\n}\r\n\r\nexport enum AreaScope {\r\n City = \"City\",\r\n County = \"County\",\r\n MultiCounty = \"MultiCounty\",\r\n Region = \"Region\",\r\n State = \"State\",\r\n OutsideUS = \"OutsideUS\"\r\n}\r\n\r\nexport const TechnologySoftwareOther = \"Other\";\r\n\r\nexport type AreaScopeKeys = keyof typeof AreaScope;\r\n\r\nexport interface FoundationSearchCriteria extends SearchCriteria {\r\n status: FoundationStatus;\r\n}\r\n","import { SearchCriteria } from \"@app/shared/paginator/paginator.models\";\r\n\r\nexport interface User {\r\n id: number;\r\n accountId: string;\r\n status: UserStatusKeys;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n foundation: UserFoundation;\r\n requestedFoundationName: string;\r\n administrator: boolean;\r\n ipaAdministrator: boolean;\r\n}\r\n\r\nexport interface UserFoundation {\r\n id: number;\r\n name: string;\r\n urn: string;\r\n urnExternal: string;\r\n}\r\n\r\nexport enum UserStatus {\r\n Pending = \"Pending\",\r\n Approved = \"Approved\",\r\n Rejected = \"Rejected\"\r\n}\r\n\r\nexport type UserStatusKeys = keyof typeof UserStatus;\r\n\r\nexport interface UserSearchCriteria extends SearchCriteria {\r\n status: UserStatusKeys;\r\n}\r\n\r\nexport interface UserCreate {\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n jobTitle: string;\r\n requestedFoundationName: string;\r\n password: string;\r\n}\r\n\r\nexport interface UserUpdate {\r\n status?: UserStatusKeys;\r\n foundationUrn?: string;\r\n foundationUrnExternal?: string;\r\n administrator?: boolean;\r\n ipaAdministrator?: boolean;\r\n jobTitle?: string;\r\n accountId?: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Resolve } from \"@angular/router\";\r\nimport { FoundationMember } from \"@app/core/model/foundation.model\";\r\nimport { FoundationService } from \"@app/core/services/foundation.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nexport interface UserFoundationResolverData {\r\n isMember: boolean;\r\n foundationName: string;\r\n isGhostFoundation: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserFoundationResolver implements Resolve {\r\n constructor(private _foundationService: FoundationService) { }\r\n\r\n resolve(): Observable {\r\n return this._foundationService.getMyFoundation().pipe(map(x => ({\r\n isMember: x.insightsMember === FoundationMember.Member,\r\n foundationName: x.foundationName,\r\n isGhostFoundation: x.isGhostFoundation\r\n })));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\nexport interface LoginEventData {\r\n timestamp: string;\r\n sessionId: string;\r\n eventUrl: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class AccountService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n loginEvent(loginEventData: LoginEventData): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/account/login-event`, { data: loginEventData });\r\n }\r\n\r\n logout(): Observable {\r\n return this._apiClientService.put(`${appConfig.apiUrl}/account/logout`);\r\n }\r\n}\r\n","import \"urijs/src/URITemplate\";\r\n\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as URI from \"urijs\";\r\n\r\ninterface DataParam { [param: string]: any }\r\ninterface DataBody { [param: string]: any }\r\n\r\ninterface QueryParameters {\r\n segmentParams?: DataParam;\r\n queryParams?: DataParam | string;\r\n}\r\n\r\ninterface CommandParameters {\r\n segmentParams?: DataParam;\r\n data?: DataBody;\r\n}\r\n\r\ninterface DeleteParameters {\r\n segmentParams?: DataParam;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ApiClientService {\r\n constructor(private readonly _http: HttpClient) { }\r\n\r\n get(\r\n uriTemplate: string,\r\n queryParameters?: QueryParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, queryParameters?.segmentParams, queryParameters?.queryParams);\r\n return this._http.get(url);\r\n }\r\n\r\n getBlob(\r\n uriTemplate: string,\r\n queryParameters?: QueryParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, queryParameters?.segmentParams, queryParameters?.queryParams);\r\n return this._http.get(url, { responseType: \"blob\" });\r\n }\r\n\r\n post(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.post(url, commandParameters?.data);\r\n }\r\n\r\n postBlob(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.post(url, commandParameters?.data, { responseType: \"blob\" });\r\n }\r\n\r\n put(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.put(url, commandParameters?.data);\r\n }\r\n\r\n patch(\r\n uriTemplate: string,\r\n commandParameters?: CommandParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, commandParameters?.segmentParams);\r\n return this._http.patch(url, commandParameters?.data);\r\n }\r\n\r\n delete(\r\n uriTemplate: string,\r\n deleteParameters?: DeleteParameters\r\n ): Observable {\r\n const url: string = this.buildUrl(uriTemplate, deleteParameters?.segmentParams);\r\n return this._http.delete(url);\r\n }\r\n\r\n private buildUrl(\r\n uriTemplate: string,\r\n segmentParams?: DataParam,\r\n queryParams?: DataParam | string\r\n ): string {\r\n this.parseDateValues(segmentParams);\r\n this.parseDateValues(queryParams);\r\n\r\n if (segmentParams) {\r\n // URI.expand is never null because URITemplate is imported\r\n // eslint-disable-next-line\r\n uriTemplate = URI.expand!(uriTemplate, segmentParams);\r\n }\r\n\r\n let uri = URI(uriTemplate);\r\n\r\n if (queryParams) {\r\n uri = uri.query(queryParams);\r\n }\r\n\r\n return uri.toString();\r\n }\r\n\r\n private parseDateValues(params: any): void {\r\n if (params) {\r\n /* eslint-disable*/\r\n for (const prop in params) {\r\n if (params[prop]?.constructor === Date) {\r\n params[prop] = params[prop].toISOString();\r\n }\r\n }\r\n /* eslint-disable*/\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CandidPopupService {\r\n constructor(\r\n private _authService: AuthService\r\n ) { }\r\n\r\n openSupport(): void {\r\n const url = new URL(\"https://support.candid.org/case.html\");\r\n\r\n url.search = new URLSearchParams({\r\n type: \"cfi\",\r\n mode: \"popup\",\r\n name: this._authService.name ?? \"\",\r\n email: this._authService.email ?? \"\",\r\n context: window.location.href\r\n }).toString();\r\n\r\n window.open(url.toString(), \"popup\", \"location=0,width=750,height=600\");\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Foundation,\r\n FoundationComparison,\r\n FoundationCreate,\r\n FoundationSearchCriteria,\r\n FoundationsLookup,\r\n FoundationUpdate\r\n} from \"@app/core/model/foundation.model\";\r\nimport { FoundationLookup } from \"@app/shared/lookups/foundation-lookup/foundation-lookup.model\";\r\nimport { Page } from \"@app/shared/paginator/paginator.models\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class FoundationService {\r\n constructor(\r\n private _apiClientService: ApiClientService\r\n ) { }\r\n\r\n getFoundation(foundationId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation/{foundationId}`, { segmentParams: { foundationId } });\r\n }\r\n\r\n getFoundationComparison(foundationId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation/{foundationId}/comparison`, { segmentParams: { foundationId } });\r\n }\r\n\r\n getMyFoundation(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundation`);\r\n }\r\n\r\n createMyFoundation(foundation: FoundationCreate): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/foundation/create`, { data: foundation });\r\n }\r\n\r\n listFoundations(searchCriteria: FoundationSearchCriteria): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/foundations`, { queryParams: searchCriteria });\r\n }\r\n\r\n updateFoundation(foundationId: number, foundation: FoundationUpdate): Observable {\r\n return this._apiClientService.patch(`${appConfig.apiUrl}/foundation/{foundationId}`, {\r\n segmentParams: { foundationId },\r\n data: foundation\r\n });\r\n }\r\n\r\n deleteFoundation(foundationId: number): Observable {\r\n return this._apiClientService.delete(`${appConfig.apiUrl}/foundation/{foundationId}`, { segmentParams: { foundationId } });\r\n }\r\n\r\n lookupFoundations(foundationName: string): Observable> {\r\n return this._apiClientService.get>(`${appConfig.apiUrl}/foundations/lookup`,\r\n { queryParams: { foundationName } })\r\n .pipe(\r\n map(foundations => this.mapLookup(foundations))\r\n );\r\n }\r\n\r\n lookupFoundationsAffiliates(foundationId: number, foundationName: string): Observable> {\r\n return this._apiClientService.get>(`${appConfig.apiUrl}/foundations/affiliates`,\r\n { queryParams: { foundationId, foundationName } })\r\n .pipe(\r\n map(foundations => this.mapLookup(foundations))\r\n );\r\n }\r\n\r\n private mapLookup(foundationsLookup: Page): Page {\r\n const items = foundationsLookup.items\r\n .map(f => ({\r\n id: f.id,\r\n name: f.foundationName,\r\n urn: f.urn,\r\n externalUrn: f.externalUrn,\r\n state: f.state,\r\n isGhostFoundation: f.isGhostFoundation\r\n }));\r\n\r\n return { ...foundationsLookup, items };\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\nexport interface WelcomePageText {\r\n announcementHeader: T;\r\n surveysHeader: T;\r\n surveysDescription: T;\r\n benchmarkHeader: T;\r\n benchmarkDescription: T;\r\n}\r\n\r\nexport interface WelcomePageSections {\r\n surveyNotStarted: WelcomePageText;\r\n // TODO: API need to be finished #110\r\n // surveyInProgress: WelcomePageText;\r\n // surveyIsComplete: WelcomePageText;\r\n // nonMemberView: WelcomePageText;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class GeneralService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n saveWelcomePageText(data: WelcomePageSections): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/manage/welcome-page`, { data });\r\n }\r\n\r\n getWelcomePageTextForEdit(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/manage/welcome-page`);\r\n }\r\n\r\n getWelcomePageTextForDisplay(): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/general/welcome-page`);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UserInfo } from \"@app/core/model/user-info.model\";\r\nimport { ApiClientService } from \"@app/core/services/api-client.service\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserInfoService {\r\n constructor(private _apiClientService: ApiClientService) { }\r\n\r\n get(): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/user-info`);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { User, UserCreate, UserSearchCriteria, UserStatus, UserUpdate } from \"@app/core/model/user.model\";\r\nimport { Page } from \"@app/shared/paginator/paginator.models\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nimport { ApiClientService } from \"./api-client.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserService {\r\n constructor(\r\n private _apiClientService: ApiClientService,\r\n private _authService: AuthService\r\n ) { }\r\n\r\n get(userId: number): Observable {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId } });\r\n }\r\n\r\n me(): Observable {\r\n const { userId } = this._authService;\r\n return this.get(userId);\r\n }\r\n\r\n list(searchCriteria: UserSearchCriteria): Observable> {\r\n return this._apiClientService.get(`${appConfig.apiUrl}/users`, { queryParams: searchCriteria });\r\n }\r\n\r\n create(user: UserCreate): Observable {\r\n return this._apiClientService.post(`${appConfig.apiUrl}/user`, { data: user });\r\n }\r\n\r\n update(userId: number, user: UserUpdate): Observable {\r\n return this._apiClientService.patch(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId }, data: user });\r\n }\r\n\r\n approve(userId: number, foundationExternalUrn: string): Observable {\r\n return this.update(userId, {\r\n status: UserStatus.Approved,\r\n foundationUrnExternal: foundationExternalUrn\r\n });\r\n }\r\n\r\n reject(userId: number): Observable {\r\n return this.update(userId, { status: UserStatus.Rejected });\r\n }\r\n\r\n delete(userId: number): Observable {\r\n return this._apiClientService.delete(`${appConfig.apiUrl}/user/{userId}`, { segmentParams: { userId } });\r\n }\r\n\r\n signout(userId: number): Observable {\r\n return this._apiClientService.put(`${appConfig.apiUrl}/user/{userId}/signout`, { segmentParams: { userId } });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { LoginComponent } from \"./login.component\";\r\n\r\nconst routes: Routes = [{\r\n path: \"login\",\r\n component: LoginComponent\r\n}];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class LoginRoutingModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\n\r\n@Component({\r\n template: \"Loading...\"\r\n})\r\nexport class LoginComponent implements OnInit {\r\n constructor(private _authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n this._authService.login();\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { LoginRoutingModule } from \"./login-routing.module\";\r\nimport { LoginComponent } from \"./login.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n LoginRoutingModule\r\n ],\r\n declarations: [\r\n LoginComponent\r\n ]\r\n})\r\nexport class LoginModule { }\r\n","import { Component } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { UserCreate } from \"@app/core/model/user.model\";\r\nimport { UserService } from \"@app/core/services/user.service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { Subject } from \"rxjs\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-additional-data-form\",\r\n templateUrl: \"./additional-data-form.component.html\"\r\n})\r\nexport class AdditionalDataFormComponent extends RegisterPage {\r\n form: FormGroup;\r\n\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _userService: UserService,\r\n private _authService: AuthService,\r\n private _router: Router\r\n ) {\r\n super();\r\n this.form = this._fb.group({\r\n requestedFoundationName: [\"\", [Validators.required]],\r\n jobTitle: [\"\"]\r\n });\r\n }\r\n\r\n addData(): void {\r\n if (this.form.valid) {\r\n const user: UserCreate = {\r\n ...this.form.value,\r\n email: this._authService.email ? this._authService.email : \"\",\r\n firstName: this._authService.givenName ? this._authService.givenName : \"\",\r\n lastName: this._authService.familyName ? this._authService.familyName : \"\"\r\n };\r\n\r\n this._userService.create(user)\r\n .pipe(\r\n indicate(this.isLoading$)\r\n ).subscribe(_ => {\r\n this._router.navigate([\"thank-you\"]);\r\n });\r\n }\r\n }\r\n}\r\n","\n
\n

More details needed

\n

\n Provide the following details to gain access to CF Insights,\n and please allow 1-2 business days for an administrator to confirm your access.\n

\n
\n \n Foundation name\n \n \n \n \n \n \n Job title\n \n \n
\n \n \n
\n
\n
\n
\n","import { Directive } from \"@angular/core\";\r\n\r\n@Directive() // Decorator workaround for abstract class - https://github.com/angular/angular/issues/37769\r\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\r\nexport abstract class RegisterPage {\r\n goToHomePage(): void {\r\n window.location.href = appConfig.candidHomePageUrl;\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-register-container\",\r\n templateUrl: \"./register-container.component.html\",\r\n styleUrls: [\"./register-container.component.scss\"]\r\n})\r\nexport class RegisterContainerComponent { }\r\n","
\n
\n \n
\n
\n \n
\n
","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AdditionalDataGuard } from \"@app/core/guards/additional-data.guard\";\r\n\r\nimport { AdditionalDataFormComponent } from \"./additional-data-form/additional-data-form.component\";\r\nimport { RejectedComponent } from \"./rejected/rejected.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"additional-data\",\r\n canActivate: [AdditionalDataGuard],\r\n component: AdditionalDataFormComponent\r\n },\r\n {\r\n path: \"thank-you\",\r\n component: ThankYouComponent\r\n },\r\n {\r\n path: \"request-rejected\",\r\n component: RejectedComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class RegisterRoutingModule { }\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { SharedModule } from \"@app/shared/shared.module\";\r\n\r\nimport { AdditionalDataFormComponent } from \"./additional-data-form/additional-data-form.component\";\r\nimport { RegisterContainerComponent } from \"./register-container/register-container.component\";\r\nimport { RegisterRoutingModule } from \"./register-routing.module\";\r\nimport {\r\n PasswordValidatorFeedbackComponent\r\n} from \"./register/password-validator-feedback/password-validator-feedback.component\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { RejectedComponent } from \"./rejected/rejected.component\";\r\nimport { ThankYouComponent } from \"./thank-you/thank-you.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RegisterRoutingModule,\r\n ReactiveFormsModule,\r\n MaterialModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n RegisterComponent,\r\n AdditionalDataFormComponent,\r\n ThankYouComponent,\r\n RegisterContainerComponent,\r\n RejectedComponent,\r\n PasswordValidatorFeedbackComponent\r\n ]\r\n})\r\nexport class RegisterModule { }\r\n","import { AbstractControl, ValidationErrors, Validators } from \"@angular/forms\";\r\n\r\nconst upperCaseCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const upperCaseCharacters = /[A-Z]+/g;\r\n if (control.value && upperCaseCharacters.test(control.value) === false) {\r\n return { upperCaseCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst lowerCaseCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const lowerCaseCharacters = /[a-z]+/g;\r\n if (control.value && lowerCaseCharacters.test(control.value) === false) {\r\n return { lowerCaseCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst numberCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const numberCharacters = /[0-9]+/g;\r\n if (control.value && numberCharacters.test(control.value) === false) {\r\n return { numberCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst specialCharactersValidator = (control: AbstractControl): ValidationErrors | null => {\r\n const specialCharacters = /[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]+/;\r\n if (control.value && specialCharacters.test(control.value) === false) {\r\n return { specialCharacters: { valid: false } };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport class PasswordValidator {\r\n static strength = Validators.compose([\r\n upperCaseCharactersValidator,\r\n lowerCaseCharactersValidator,\r\n numberCharactersValidator,\r\n specialCharactersValidator,\r\n Validators.minLength(8)\r\n ]);\r\n\r\n static confirmed = (controlName: string, matchingControlName: string) => (control: AbstractControl): ValidationErrors | null => {\r\n const input = control.get(controlName);\r\n const matchingInput = control.get(matchingControlName);\r\n\r\n if (input === null || matchingInput === null) {\r\n return null;\r\n }\r\n\r\n if (matchingInput?.errors && !matchingInput.errors.confirmedValidator) {\r\n return null;\r\n }\r\n\r\n if (input.value !== matchingInput.value) {\r\n matchingInput.setErrors({ confirmedValidator: true });\r\n return { confirmedValidator: true };\r\n } else {\r\n matchingInput.setErrors(null);\r\n return null;\r\n }\r\n };\r\n}\r\n","\n {{errorMessage}}\n\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { AbstractControl, FormGroupDirective } from \"@angular/forms\";\r\n\r\ninterface MinLength {\r\n requiredLength: number;\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-password-validator-feedback\",\r\n templateUrl: \"./password-validator-feedback.component.html\"\r\n})\r\nexport class PasswordValidatorFeedbackComponent implements OnInit {\r\n @Input() controlName: string;\r\n private _control: Nullable;\r\n\r\n constructor(private _formGroup: FormGroupDirective) { }\r\n\r\n getValidationError(): string {\r\n if (this._control?.hasError(\"required\")) {\r\n return \"Field is required.\";\r\n } else if (this._control?.hasError(\"upperCaseCharacters\")) {\r\n return \"Password must contains an uppercase character.\";\r\n } else if (this._control?.hasError(\"lowerCaseCharacters\")) {\r\n return \"Password must contains a lowercase character.\";\r\n } else if (this._control?.hasError(\"numberCharacters\")) {\r\n return \"Password must contains a number.\";\r\n } else if (this._control?.hasError(\"specialCharacters\")) {\r\n return \"Password must contains a special character.\";\r\n } else if (this._control?.hasError(\"minlength\")) {\r\n return `Password must contains at least ${(this._control?.getError(\"minlength\") as MinLength).requiredLength} characters.`;\r\n } else if (this._control?.hasError(\"confirmedValidator\")) {\r\n return \"This doesn't match the password you've provided.\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this._control = this._formGroup.form.get(this.controlName);\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { UserCreate } from \"@app/core/model/user.model\";\r\nimport { UserService } from \"@app/core/services/user.service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { CustomValidators } from \"@app/shared/validation-feedback/validators/custom.validators\";\r\nimport { Subject } from \"rxjs\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\nimport { PasswordValidator } from \"./password-strength.validator\";\r\n\r\n@Component({\r\n selector: \"cfi-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.scss\"]\r\n})\r\nexport class RegisterComponent extends RegisterPage {\r\n registerForm: FormGroup;\r\n\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n private _userService: UserService,\r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute\r\n ) {\r\n super();\r\n this.registerForm = this._fb.group({\r\n firstName: [\"\", [Validators.required]],\r\n lastName: [\"\", [Validators.required]],\r\n email: [\"\", [Validators.required, CustomValidators.email]],\r\n requestedFoundationName: [\"\", [Validators.required]],\r\n jobTitle: [\"\"],\r\n password: [\"\", [PasswordValidator.strength]],\r\n confirmPassword: [\"\", [Validators.required]]\r\n }, {\r\n validators: [PasswordValidator.confirmed(\"password\", \"confirmPassword\")]\r\n });\r\n }\r\n\r\n register(): void {\r\n if (this.registerForm.valid) {\r\n this._userService.create({\r\n email: this.registerForm.value.email,\r\n firstName: this.registerForm.value.firstName,\r\n lastName: this.registerForm.value.lastName,\r\n jobTitle: this.registerForm.value.jobTitle,\r\n requestedFoundationName: this.registerForm.value.requestedFoundationName,\r\n password: this.registerForm.value.password\r\n } as UserCreate).pipe(\r\n indicate(this.isLoading$)\r\n ).subscribe(_ => {\r\n this._router.navigate([\"thank-you\"], { relativeTo: this._activatedRoute });\r\n });\r\n }\r\n }\r\n}\r\n","\n
\n

Create a new account

\n
\n
\n \n First name\n \n \n \n \n \n \n Last name\n \n \n \n \n \n
\n \n Email\n \n \n \n \n \n \n Foundation name\n \n \n \n \n \n \n Job title\n \n \n \n Password\n \n \n \n \n \n \n Confirm password\n \n \n \n \n \n
\n \n \n
\n
\n
\n
","import { Component } from \"@angular/core\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-rejected\",\r\n templateUrl: \"./rejected.component.html\",\r\n styleUrls: [\"./rejected.component.scss\"]\r\n})\r\nexport class RejectedComponent extends RegisterPage { }\r\n","
\n
\n

Request denied

\n

Your request to access CF Insights was denied.
If you think this was done in error, please\n contact us.

\n \n
\n
\n","import { Component } from \"@angular/core\";\r\n\r\nimport { RegisterPage } from \"../form-section.class\";\r\n\r\n@Component({\r\n selector: \"cfi-thank-you\",\r\n templateUrl: \"./thank-you.component.html\"\r\n})\r\nexport class ThankYouComponent extends RegisterPage { }\r\n","\n

Thank you!

\n

Your registration information has been submitted for approval. You will be notified by email once you have been\n given access.

\n
\n \n
\n
\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { AuthGuard } from \"@app/core/guards/auth.guard\";\r\nimport { UserFoundationResolver } from \"@app/core/resolvers/user-foundation.resolver\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"survey-list\",\r\n loadChildren: () => import(\"./survey-list/survey-list.module\").then(m => m.SurveyListModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"My surveys\"\r\n }\r\n },\r\n {\r\n path: \"survey\",\r\n loadChildren: () => import(\"./survey/survey.module\").then(m => m.SurveyModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"Survey\"\r\n }\r\n },\r\n {\r\n path: \"surveys\",\r\n loadChildren: () => import(\"./surveys/surveys.module\").then(m => m.SurveysModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin,\r\n Role.IpaAdmin\r\n ],\r\n title: \"Surveys\"\r\n }\r\n },\r\n {\r\n path: \"benchmarking\",\r\n loadChildren: () => import(\"./benchmarking/benchmarking.module\").then(m => m.BenchmarkingModule),\r\n canLoad: [AuthGuard],\r\n resolve: { foundation: UserFoundationResolver },\r\n data: {\r\n title: \"Benchmarking\"\r\n }\r\n },\r\n {\r\n path: \"foundations\",\r\n loadChildren: () => import(\"./foundations/foundations.module\").then(m => m.FoundationsModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n title: \"Foundations\"\r\n }\r\n },\r\n {\r\n path: \"user-accounts\",\r\n loadChildren: () => import(\"./accounts/accounts.module\").then(m => m.AccountsModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin\r\n ],\r\n title: \"User accounts\"\r\n }\r\n },\r\n {\r\n path: \"manage\",\r\n loadChildren: () => import(\"./manage/manage.module\").then(m => m.ManageModule),\r\n canLoad: [AuthGuard],\r\n data: {\r\n roles: [\r\n Role.Admin\r\n ],\r\n title: \"Manage\"\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class FeaturesRoutingModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { LoginModule } from \"./account/login/login.module\";\r\nimport { RegisterModule } from \"./account/register/register.module\";\r\nimport { FeaturesRoutingModule } from \"./features-routing.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n FeaturesRoutingModule,\r\n LoginModule,\r\n RegisterModule\r\n ]\r\n})\r\nexport class FeaturesModule { }\r\n","import { Component } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { CandidPopupService } from \"@app/core/services/candid-popup.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { distinctUntilChanged, filter, map } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"cfi-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.scss\"]\r\n})\r\nexport class FooterComponent {\r\n role = Role;\r\n showHelpBar$: Observable;\r\n authStatus$: Observable = this._authService.authStatus$;\r\n\r\n constructor(\r\n private _authService: AuthService,\r\n private _router: Router,\r\n private _candidPopupService: CandidPopupService\r\n ) {\r\n this.showHelpBar$ = this._router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(navigation => {\r\n const { url } = (navigation as NavigationEnd);\r\n return url !== \"/\";\r\n }),\r\n distinctUntilChanged()\r\n );\r\n }\r\n\r\n contact(): void {\r\n this._candidPopupService.openSupport();\r\n }\r\n}\r\n","\n
\n
\n Do you need any help? Contact us.\n
\n
\n
\n
\n
\n
\n
\n \n \"CoF\n \n
\n ©2025 Council on Foundations. All rights reserved. Privacy policy.\n \n
\n
\n
","import { Component, OnInit } from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { CandidPopupService } from \"@app/core/services/candid-popup.service\";\r\nimport { GeneralService, WelcomePageText } from \"@app/core/services/general-service\";\r\nimport { indicate } from \"@app/shared/operators\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { map, shareReplay } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"cfi-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.scss\"]\r\n})\r\nexport class HomeComponent implements OnInit {\r\n text$: Observable>;\r\n isLoading$ = new Subject();\r\n\r\n constructor(\r\n private _candidPopupService: CandidPopupService,\r\n private _generalService: GeneralService,\r\n private _domSanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.text$ = this.getTextsToDisplay();\r\n }\r\n\r\n contact(): void {\r\n this._candidPopupService.openSupport();\r\n }\r\n\r\n private getTextsToDisplay(): Observable> {\r\n return this._generalService.getWelcomePageTextForDisplay().pipe(\r\n map(text => {\r\n const santizedText: WelcomePageText = {} as any;\r\n Object.keys(text).forEach((propertyKey => {\r\n const key = propertyKey as keyof WelcomePageText;\r\n santizedText[key] = this._domSanitizer.bypassSecurityTrustHtml(text[key]);\r\n }));\r\n\r\n return santizedText;\r\n }),\r\n indicate(this.isLoading$),\r\n shareReplay()\r\n );\r\n }\r\n}\r\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n

Contribute to the field’s collective knowledge

\n

Community foundations: Participate in our ongoing effort to track the state of the field\n and inform your own decision-making.

\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n

\n \n
\n
\n
\n\n
\n
\n
\n

Need help?

\n
\n
\n
\n \n
\n

FAQs

\n

See frequently asked questions.

\n \n \n \n
\n
\n
\n
\n \n
\n

Contact us

\n

Need further assistance?

\n \n \n \n
\n
\n
\n
\n
\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FeaturesModule } from \"@app/features/features.module\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { DialogsModule } from \"@app/shared/dialogs/dialogs.module\";\r\nimport { DirectivesModule } from \"@app/shared/directives/directives.module\";\r\nimport { LoaderModule } from \"@app/shared/loader/loader.module\";\r\n\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { NavbarComponent } from \"./navbar/navbar.component\";\r\nimport { PageInfoModule } from \"./page-info/page-info.module\";\r\nimport { TopComponent } from \"./top/top.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DirectivesModule,\r\n MaterialModule,\r\n FeaturesModule,\r\n PageInfoModule,\r\n RouterModule,\r\n DialogsModule,\r\n LoaderModule\r\n ],\r\n declarations: [\r\n NavbarComponent,\r\n HomeComponent,\r\n FooterComponent,\r\n TopComponent\r\n ],\r\n exports: [\r\n NavbarComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n TopComponent\r\n ]\r\n})\r\nexport class MainModule { }\r\n","import { Component, HostListener, OnInit } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\nimport { Observable } from \"rxjs\";\r\nimport { distinctUntilChanged, filter, map } from \"rxjs/operators\";\r\n\r\ninterface NavigationRoute {\r\n label: string;\r\n url: string;\r\n routerLinkActiveOptions?: {\r\n exact: boolean;\r\n };\r\n}\r\n\r\n@Component({\r\n selector: \"cfi-navbar\",\r\n templateUrl: \"./navbar.component.html\",\r\n styleUrls: [\"./navbar.component.scss\"]\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n menuOpen = false;\r\n role = Role;\r\n\r\n adminRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Foundations\",\r\n url: \"/foundations/list\"\r\n },\r\n {\r\n label: \"Surveys\",\r\n url: \"/surveys\"\r\n },\r\n {\r\n label: \"User accounts\",\r\n url: \"/user-accounts\"\r\n }\r\n ];\r\n\r\n userRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Home\",\r\n url: \"/\",\r\n routerLinkActiveOptions: {\r\n exact: true\r\n }\r\n },\r\n {\r\n label: \"My foundation\",\r\n url: \"/foundations/my-foundation/preview\"\r\n },\r\n {\r\n label: \"My surveys\",\r\n url: \"/survey-list\"\r\n },\r\n {\r\n label: \"Benchmarking\",\r\n url: \"/benchmarking\"\r\n }\r\n ];\r\n\r\n manageRoutes: NavigationRoute[] = [\r\n {\r\n label: \"Welcome Page\",\r\n url: \"/manage/welcome-page\"\r\n }\r\n ];\r\n\r\n authStatus$!: Observable;\r\n showNavigationButtons$: Observable;\r\n\r\n constructor(private _authService: AuthService, private _router: Router) { }\r\n\r\n @HostListener(\"window:storage\", [\"$event\"])\r\n onStorageChange(event: StorageEvent): void {\r\n if (event.key === \"signout\" && event.newValue === \"true\" && !event.oldValue) {\r\n this.signout();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.authStatus$ = this._authService.authStatus$;\r\n\r\n this.showNavigationButtons$ = this._router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(navigation => {\r\n const { url } = (navigation as NavigationEnd);\r\n return ![\"/register\", \"/register/thank-you\", \"/logout\", \"/thank-you\", \"/additional-data\", \"/request-rejected\"]\r\n .includes(url);\r\n }),\r\n distinctUntilChanged()\r\n );\r\n }\r\n\r\n login(): void {\r\n this._authService.login();\r\n }\r\n\r\n signout(): void {\r\n this._authService.signout();\r\n }\r\n\r\n getUserName(): Nullable {\r\n return this._authService.name;\r\n }\r\n\r\n isOnBasicPage(): boolean {\r\n return [\"/additional-data\", \"/request-rejected\", \"/thank-you\"].includes(this._router.url);\r\n }\r\n}\r\n","
\n \"Council\n\n\n \n \n\n
\n \n \n \n\n \n \n \n
\n \n
\n
\n\n\n
\n \n \n \n
\n
\n","export abstract class PageInfoTemplateComponent {\r\n errorCode: string;\r\n message: string;\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { PageForbiddenComponent } from \"./pages/page-forbidden.component\";\r\nimport { PageNotFoundComponent } from \"./pages/page-not-found.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n PageNotFoundComponent,\r\n PageForbiddenComponent\r\n ],\r\n imports: [\r\n MaterialModule\r\n ]\r\n})\r\nexport class PageInfoModule { }\r\n","import { Component } from \"@angular/core\";\r\n\r\nimport { PageInfoTemplateComponent } from \"../page-info-template.component\";\r\n\r\n@Component({\r\n templateUrl: \"../page-info-template.component.html\",\r\n styleUrls: [\"../page-info-template.component.scss\"]\r\n})\r\nexport class PageForbiddenComponent extends PageInfoTemplateComponent {\r\n constructor() {\r\n super();\r\n this.errorCode = \"403 ERROR\";\r\n this.message = \"You don't have permission to access this page.\";\r\n }\r\n}\r\n","\n
\n
\n

\n {{errorCode}}\n

\n
\n
\n

{{message}}

\n

Go back to the homepage.\n

\n
\n
\n
","import { Component } from \"@angular/core\";\r\n\r\nimport { PageInfoTemplateComponent } from \"../page-info-template.component\";\r\n\r\n@Component({\r\n templateUrl: \"../page-info-template.component.html\",\r\n styleUrls: [\"../page-info-template.component.scss\"]\r\n})\r\nexport class PageNotFoundComponent extends PageInfoTemplateComponent {\r\n constructor() {\r\n super();\r\n this.errorCode = \"404 ERROR\";\r\n this.message = \"For some reason the page you requested could not be found on server.\";\r\n }\r\n}\r\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-top\",\r\n templateUrl: \"./top.component.html\",\r\n styleUrls: [\"./top.component.scss\"]\r\n})\r\nexport class TopComponent {\r\n}\r\n","\n","import { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatChipsModule } from \"@angular/material/chips\";\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatGridListModule } from \"@angular/material/grid-list\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\r\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\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\n\r\nconst modules = [\r\n MatButtonModule,\r\n MatCardModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatGridListModule,\r\n MatRadioModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatTabsModule,\r\n MatChipsModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatPaginatorModule,\r\n MatTableModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSelectModule,\r\n DragDropModule\r\n];\r\n\r\n@NgModule({\r\n imports: modules,\r\n exports: modules\r\n})\r\nexport class MaterialModule { }\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogData } from \"../dialog-models\";\r\n\r\n@Component({\r\n templateUrl: \"./dialog-action.component.html\",\r\n styleUrls: [\"./dialog-action.component.scss\"]\r\n})\r\nexport class DialogActionComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\r\n}\r\n","

{{data.title}}

\n
\n
\n \n \n
","import { Component, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogData } from \"../dialog-models\";\r\n\r\n@Component({\r\n templateUrl: \"./dialog-info.component.html\"\r\n})\r\nexport class DialogInfoComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData) { }\r\n}\r\n","

{{data.title}}

\n
\n
\n \n
\n","import { Component } from \"@angular/core\";\r\nimport { MatDialogRef } from \"@angular/material/dialog\";\r\n\r\nimport { DialogInfoComponent } from \"../dialog-info/dialog-info.component\";\r\n\r\n@Component({\r\n selector: \"cfi-dialog-logging-process\",\r\n templateUrl: \"./dialog-logging-process.component.html\",\r\n styleUrls: [\"./dialog-logging-process.component.scss\"]\r\n})\r\nexport class DialogLoggingProcessComponent {\r\n constructor(public dialogRef: MatDialogRef) { }\r\n}\r\n","
\n
\n

Logging in, please wait…

\n
\n
\n \n
\n
","import { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { LoaderModule } from \"../loader/loader.module\";\r\nimport { DialogActionComponent } from \"./dialog-action/dialog-action.component\";\r\nimport { DialogInfoComponent } from \"./dialog-info/dialog-info.component\";\r\nimport { DialogLoggingProcessComponent } from \"./dialog-logging-process/dialog-logging-process.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DialogActionComponent,\r\n DialogInfoComponent,\r\n DialogLoggingProcessComponent\r\n ],\r\n imports: [\r\n MaterialModule,\r\n LoaderModule\r\n ]\r\n})\r\nexport class DialogsModule { }\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { ForbiddenRoleDirective } from \"./forbidden-role.directive\";\r\nimport { InvalidControlScrollDirective } from \"./invalid-control-scroll.directive\";\r\nimport { PasswordSwitchTypeDirective } from \"./password-switch-type.directive\";\r\nimport { RequiredRoleDirective } from \"./required-role.directive\";\r\nimport { ViewportDirective } from \"./viewport.directive\";\r\n\r\nconst directives = [\r\n RequiredRoleDirective,\r\n ForbiddenRoleDirective,\r\n PasswordSwitchTypeDirective,\r\n InvalidControlScrollDirective,\r\n ViewportDirective\r\n];\r\n\r\n@NgModule({\r\n declarations: directives,\r\n exports: directives\r\n})\r\nexport class DirectivesModule { }\r\n","import { NgIf } from \"@angular/common\";\r\nimport { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\n\r\n@Directive({\r\n selector: \"[cfiForbiddenRole]\"\r\n})\r\nexport class ForbiddenRoleDirective extends NgIf {\r\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, private _authService: AuthService) {\r\n super(viewContainerRef, templateRef);\r\n }\r\n\r\n @Input() set cfiForbiddenRole(role: Nullable) {\r\n if (role === null || !role) {\r\n this.ngIf = true;\r\n } else {\r\n this.ngIf = Array.isArray(role)\r\n ? !this._authService.hasAnyOfRoles(role)\r\n : !this._authService.hasRole(role);\r\n }\r\n }\r\n\r\n @Input() set cfiForbiddenRoleElse(templateElse: TemplateRef) {\r\n this.ngIfElse = templateElse;\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\nimport { FormGroupDirective } from \"@angular/forms\";\r\nimport { fromEvent } from \"rxjs\";\r\nimport { debounceTime, first } from \"rxjs/operators\";\r\n\r\n@Directive({\r\n selector: \"[cfiInvalidControlScroll]\"\r\n})\r\nexport class InvalidControlScrollDirective {\r\n @Input() scrollDelayDueToAnimation = false;\r\n @Input() scrollOffset = 0;\r\n\r\n constructor(private _el: ElementRef, private _formGroupDir: FormGroupDirective) { }\r\n\r\n @HostListener(\"ngSubmit\") onSubmit(): void {\r\n if (this._formGroupDir.control.invalid) {\r\n setTimeout(() => {\r\n this.scrollToFirstInvalidControl();\r\n }, this.scrollDelayDueToAnimation ? 500 : 0);\r\n }\r\n }\r\n\r\n private scrollToFirstInvalidControl() {\r\n const firstInvalidControl = this._el.nativeElement.querySelector(\".ng-invalid\") as HTMLElement;\r\n\r\n window.scroll({\r\n top: this.getTopOffset(firstInvalidControl) - this.scrollOffset,\r\n left: 0,\r\n behavior: \"smooth\"\r\n });\r\n\r\n fromEvent(window, \"scroll\")\r\n .pipe(\r\n debounceTime(100),\r\n first()\r\n ).subscribe(() => firstInvalidControl.focus());\r\n }\r\n\r\n private getTopOffset(controlEl: HTMLElement): number {\r\n const labelOffset = 50;\r\n return controlEl.getBoundingClientRect().top + window.scrollY - labelOffset;\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cfiPasswordSwitchType]\"\r\n})\r\nexport class PasswordSwitchTypeDirective {\r\n @Input() cfiPasswordSwitchType: HTMLInputElement;\r\n\r\n @HostListener(\"mouseup\")\r\n onMouseOver(): void {\r\n this.cfiPasswordSwitchType.type = \"password\";\r\n }\r\n\r\n @HostListener(\"mouseleave\")\r\n onMouseLeave(): void {\r\n this.cfiPasswordSwitchType.type = \"password\";\r\n }\r\n\r\n @HostListener(\"mousedown\")\r\n onMouseDown(): void {\r\n this.cfiPasswordSwitchType.type = \"text\";\r\n }\r\n}\r\n","import { NgIf } from \"@angular/common\";\r\nimport { Directive, Input, TemplateRef, ViewContainerRef } from \"@angular/core\";\r\nimport { AuthService } from \"@app/auth\";\r\nimport { Role } from \"@app/core/common/enums\";\r\n\r\n@Directive({\r\n selector: \"[cfiRequiredRole]\"\r\n})\r\nexport class RequiredRoleDirective extends NgIf {\r\n constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef, private _authService: AuthService) {\r\n super(viewContainerRef, templateRef);\r\n }\r\n\r\n @Input() set cfiRequiredRole(role: Nullable) {\r\n if (role === null || !role) {\r\n this.ngIf = true;\r\n } else {\r\n this.ngIf = Array.isArray(role)\r\n ? this._authService.hasAnyOfRoles(role)\r\n : this._authService.hasRole(role);\r\n }\r\n }\r\n\r\n @Input() set cfiRequiredRoleElse(templateElse: TemplateRef) {\r\n this.ngIfElse = templateElse;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, OnDestroy, OnInit, Output } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[cfiViewport]\"\r\n})\r\nexport class ViewportDirective implements OnInit, OnDestroy {\r\n @Output() isAboveChange = new EventEmitter();\r\n\r\n private _intersectionObserver = new IntersectionObserver(\r\n entries => {\r\n this.checkForIntersection(entries);\r\n }\r\n );\r\n\r\n constructor(private _element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this._intersectionObserver.observe(this._element.nativeElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._intersectionObserver.unobserve(this._element.nativeElement);\r\n this._intersectionObserver.disconnect();\r\n }\r\n\r\n private checkForIntersection(entries: IntersectionObserverEntry[]): void {\r\n for (const entry of entries) {\r\n this.isAboveChange.emit(!entry.isIntersecting && entry.boundingClientRect.top < 0);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit, Renderer2 } from \"@angular/core\";\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: \"form\"\r\n})\r\nexport class FormDirective implements OnInit {\r\n constructor(\r\n private _hostElement: ElementRef,\r\n private _renderer: Renderer2\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this._hostElement.nativeElement.attributes.autocomplete) {\r\n this._renderer.setAttribute(this._hostElement.nativeElement, \"autocomplete\", \"off\");\r\n }\r\n }\r\n}\r\n","help_outline\n","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"cfi-info-tooltip\",\r\n templateUrl: \"./info-tooltip.component.html\",\r\n styleUrls: [\"./info-tooltip.component.scss\"]\r\n})\r\nexport class InfoTooltipComponent {\r\n @Input() message: string;\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { InfoTooltipComponent } from \"./info-tooltip.component\";\r\nimport { InfoPipe } from \"./info.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n InfoPipe,\r\n InfoTooltipComponent\r\n ],\r\n imports: [\r\n MaterialModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n InfoTooltipComponent,\r\n InfoPipe\r\n ]\r\n})\r\nexport class InfoTooltipModule { }\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\nimport * as data from \"./tooltips.json\";\r\n\r\n@Pipe({\r\n name: \"info\"\r\n})\r\nexport class InfoPipe implements PipeTransform {\r\n transform(infoPath: string): string {\r\n const info = (data as any).default;\r\n return (infoPath.split(\".\").reduce((p, c) => (p && p[c]) as string || null, info) as string) || infoPath;\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\n\r\nimport { LoadingDirective } from \"./loading.directive\";\r\nimport { SpinnerComponent } from \"./spinner.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SpinnerComponent,\r\n LoadingDirective\r\n ],\r\n imports: [\r\n MaterialModule,\r\n CommonModule\r\n ],\r\n exports: [\r\n SpinnerComponent,\r\n LoadingDirective\r\n ]\r\n})\r\nexport class LoaderModule { }\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\n\r\nimport { SpinnerComponent } from \"./spinner.component\";\r\n\r\n@Directive({\r\n selector: \"[cfiLoading]\"\r\n})\r\nexport class LoadingDirective {\r\n loadingFactory: ComponentFactory;\r\n loadingComponent: ComponentRef;\r\n\r\n @Input() set cfiLoading(loading: Nullable) {\r\n this._vcRef.clear();\r\n if (loading) {\r\n this.loadingComponent = this._vcRef.createComponent(this.loadingFactory);\r\n } else {\r\n this._vcRef.createEmbeddedView(this._templateRef);\r\n }\r\n }\r\n\r\n constructor(\r\n private _templateRef: TemplateRef,\r\n private _vcRef: ViewContainerRef,\r\n private _componentFactoryResolver: ComponentFactoryResolver\r\n ) {\r\n this.loadingFactory = this._componentFactoryResolver.resolveComponentFactory(SpinnerComponent);\r\n }\r\n}\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { ThemePalette } from \"@angular/material/core\";\r\n\r\n@Component({\r\n selector: \"cfi-spinner\",\r\n templateUrl: \"./spinner.component.html\",\r\n styleUrls: [\"./spinner.component.scss\"]\r\n})\r\nexport class SpinnerComponent {\r\n @Input() color: ThemePalette = \"primary\";\r\n @Input() diameter = 100;\r\n @Input() size: \"fill\" | \"auto\" = \"fill\";\r\n}\r\n","
\n
\n \n
\n
\n","export * from \"./indicate\";\r\nexport * from \"./liveSearch\";\r\n","import { defer, Observable, Subject } from \"rxjs\";\r\nimport { finalize } from \"rxjs/operators\";\r\n\r\nconst prepare = (callback: () => void) => (source: Observable): Observable => defer(() => {\r\n callback();\r\n return source;\r\n});\r\n\r\nexport const indicate = (indicator: Subject) => (source: Observable): Observable => source.pipe(\r\n prepare(() => indicator.next(true)),\r\n finalize(() => indicator.next(false))\r\n);\r\n","import { Observable } from \"rxjs\";\r\nimport { debounceTime, distinctUntilChanged, switchMap } from \"rxjs/operators\";\r\n\r\nexport const defaultDelay = 400;\r\n\r\nexport const liveSearch = (\r\n data: (query: T) => Observable,\r\n delay = defaultDelay\r\n): (source: Observable) => Observable => (source$: Observable) => source$.pipe(\r\n debounceTime(delay),\r\n distinctUntilChanged(),\r\n switchMap(data)\r\n);\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { InputMaskPatterns } from \"@app/core/common/enums\";\r\nimport { MaskPipe } from \"ngx-mask\";\r\n\r\n@Pipe({\r\n name: \"customCurrency\"\r\n})\r\nexport class CustomCurrencyPipe implements PipeTransform {\r\n masks = InputMaskPatterns;\r\n constructor(private _mask: MaskPipe) { }\r\n transform(value: number | null): string {\r\n const negative = value && value < 0 ? \"-\" : \"\";\r\n return value\r\n ? `$ ${negative}${this._mask.transform(value.toFixed(2), this.masks.OnlyNumber, \",\")}`\r\n : \"$ 0.00\";\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AbstractControl, FormControl } from \"@angular/forms\";\r\n\r\n@Pipe({\r\n name: \"formControl\"\r\n})\r\nexport class FormControlPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormControl {\r\n return value as FormControl;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AbstractControl, FormGroup } from \"@angular/forms\";\r\n\r\n@Pipe({\r\n name: \"formGroup\"\r\n})\r\nexport class FormGroupPipe implements PipeTransform {\r\n transform(value: AbstractControl): FormGroup {\r\n return value as FormGroup;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"yesNo\"\r\n})\r\nexport class YesNoPipe implements PipeTransform {\r\n transform(flag: Nullable): string {\r\n if (flag === true) {\r\n return \"Yes\";\r\n }\r\n\r\n if (flag === false) {\r\n return \"No\";\r\n }\r\n\r\n return \"\";\r\n }\r\n}\r\n","\n 0\">\n Previously:\n \n {{ value ? value : emptyMark }}\n \n \n\n \n Previously: {{ emptyMark }}\n \n\n","import { Component, Input } from \"@angular/core\";\r\nimport { PreviousValues } from \"@app/core/model/previous-values.model\";\r\n\r\n@Component({\r\n selector: \"cfi-previous-values\",\r\n templateUrl: \"./previous-values.component.html\",\r\n styleUrls: [\"./previous-values.component.scss\"]\r\n})\r\nexport class PreviousValuesComponent {\r\n @Input() values: PreviousValues;\r\n\r\n readonly emptyMark = \"-\";\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { MaterialModule } from \"@app/material.module\";\r\nimport { MaskPipe, NgxMaskModule } from \"ngx-mask\";\r\n\r\nimport { DirectivesModule } from \"./directives/directives.module\";\r\nimport { FormDirective } from \"./form/form.directive\";\r\nimport { InfoTooltipModule } from \"./info-tooltip/info-tooltip.module\";\r\nimport { LoaderModule } from \"./loader/loader.module\";\r\nimport { CustomCurrencyPipe } from \"./pipes/custom-currency.pipe\";\r\nimport { FormControlPipe } from \"./pipes/form-control.pipe\";\r\nimport { FormGroupPipe } from \"./pipes/form-group.pipe\";\r\nimport { YesNoPipe } from \"./pipes/yes-no.pipe\";\r\nimport { PreviousValuesComponent } from \"./previous-values/previous-values.component\";\r\nimport { ValidationFeedbackComponent } from \"./validation-feedback/validation-feedback.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n DirectivesModule,\r\n LoaderModule,\r\n NgxMaskModule,\r\n InfoTooltipModule\r\n ],\r\n declarations: [\r\n ValidationFeedbackComponent,\r\n FormDirective,\r\n CustomCurrencyPipe,\r\n PreviousValuesComponent,\r\n YesNoPipe,\r\n FormGroupPipe,\r\n FormControlPipe\r\n ],\r\n exports: [\r\n CommonModule,\r\n CustomCurrencyPipe,\r\n MaterialModule,\r\n ValidationFeedbackComponent,\r\n DirectivesModule,\r\n FormDirective,\r\n NgxMaskModule,\r\n LoaderModule,\r\n InfoTooltipModule,\r\n PreviousValuesComponent,\r\n YesNoPipe,\r\n FormGroupPipe,\r\n FormControlPipe\r\n ],\r\n providers: [\r\n YesNoPipe,\r\n { provide: MaskPipe, useClass: MaskPipe }\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","\n warning {{errorMessage}}\n\n\n","import { Component, Input, OnInit, Optional } from \"@angular/core\";\r\nimport { AbstractControl, FormGroupDirective } from \"@angular/forms\";\r\n\r\ninterface MinLength {\r\n requiredLength: number;\r\n}\r\n\r\ninterface Min {\r\n min: number;\r\n}\r\n\r\ninterface Max {\r\n max: number;\r\n}\r\n\r\ntype InputType = \"field\" | \"section\";\r\n\r\n@Component({\r\n selector: \"cfi-validation-feedback\",\r\n templateUrl: \"./validation-feedback.component.html\"\r\n})\r\nexport class ValidationFeedbackComponent implements OnInit {\r\n @Input() control: Nullable;\r\n @Input() controlName: Nullable;\r\n @Input() inputType: InputType = \"field\";\r\n\r\n constructor(@Optional() private _formGroup: FormGroupDirective) { }\r\n\r\n getValidationError(): string {\r\n if (this.control?.untouched) {\r\n return \"\";\r\n }\r\n\r\n if (this.control?.hasError(\"matDatepickerParse\")) {\r\n return \"Date format is incorrect.\";\r\n }\r\n\r\n if (this.control?.hasError(\"required\")) {\r\n return `Required ${this.inputType}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"digits\")) {\r\n return `Please enter ${this.control.getError(\"digits\") as string} digits.`;\r\n }\r\n\r\n if (this.control?.hasError(\"minlength\")) {\r\n return `Field has to have at least ${(this.control.getError(\"minlength\") as MinLength).requiredLength} characters.`;\r\n }\r\n\r\n if (this.control?.hasError(\"incorrectSum\")) {\r\n return \"Fields need to sum up to 100%.\";\r\n }\r\n\r\n if (this.control?.hasError(\"min\")) {\r\n return `Field has to be greater than or equal to ${(this.control.getError(\"min\") as Min).min}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"max\")) {\r\n return `Field has to be less than or equal to ${(this.control.getError(\"max\") as Max).max}.`;\r\n }\r\n\r\n if (this.control?.hasError(\"email\")) {\r\n return \"E-mail format is incorrect.\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupControl();\r\n }\r\n\r\n private setupControl(): void {\r\n if (!this.control) {\r\n if (this.controlName) {\r\n this.control = this.getControlByName(this.controlName);\r\n } else {\r\n throw new Error(\"Validation Feedback must have [control] or [controlName] inputs\");\r\n }\r\n }\r\n }\r\n\r\n private getControlByName(controlName: string): AbstractControl {\r\n const control = this._formGroup.form.get(controlName);\r\n\r\n if (!control) {\r\n throw new Error(`Cannot find \"${controlName}\" control for Validation Feedback.`);\r\n }\r\n\r\n return control;\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from \"@angular/forms\";\r\n\r\nconst sumValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const notFilled = Object.values(control.value).every(v => v === \"\" || v === null);\r\n const sum = Object.values(control.value).reduce((acc, val) => Number(acc) + Number(val), 0);\r\n return (notFilled || sum === 100) ? null : { incorrectSum: true };\r\n};\r\n\r\nconst customEmailValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\r\n const email = /^[^@^\\s]+@[^@^\\s]+\\.[^@^\\s]{1,}$/;\r\n return email.test(control.value) ? null : { email: true };\r\n};\r\n\r\nconst digitsValidator = (digits: number): ValidatorFn => (control: AbstractControl): ValidationErrors | null => {\r\n const exactDigits = new RegExp(`^[0-9]{${String(digits)}}$`);\r\n return exactDigits.test(control.value) ? null : { digits };\r\n};\r\n\r\nexport class CustomValidators {\r\n static sum = sumValidator;\r\n static email = customEmailValidator;\r\n static digits = digitsValidator;\r\n}\r\n","export const environment = {\r\n production: false\r\n};\r\n","import { enableProdMode } from \"@angular/core\";\r\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\r\nimport * as dayjs from \"dayjs\";\r\nimport * as customParseFormat from \"dayjs/plugin/customParseFormat\";\r\n\r\nimport { AppModule } from \"./app/app.module\";\r\nimport { environment } from \"./environments/environment\";\r\n\r\ndayjs.extend(customParseFormat);\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","/* (ignored) */"],"sourceRoot":"webpack:///"}