{"version":3,"sources":["./src/app/shared/shared-components/popups/modal-with-text/modal-with-text.component.ts","./src/app/shared/shared-components/popups/modal-with-text/modal-with-text.component.html","./src/app/core/calendar/calendar.component.ts","./src/app/core/calendar/calendar.component.html","./src/app/shared/services/loan-info.service.ts","./src/app/core/products/products.component.ts","./src/app/core/products/products.component.html","./src/app/landing/register/register.component.ts","./src/app/landing/register/register.component.html","./src/app/core/calendar/weekly-view/weekly-view.component.ts","./src/app/core/calendar/weekly-view/weekly-view.component.html","crypto (ignored)","./src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service.ts","./src/app/landing/landing.service.ts","./src/app/landing/register/register.service.ts","./src/app/shared/directives/digit-only.directive.ts","./src/app/core/home/home.component.ts","./src/app/core/home/home.component.html","./src/app/core/calendar/add-event/add-event.component.ts","./src/app/core/calendar/add-event/add-event.component.html","./src/app/shared/shared-components/popups/are-you-sure/are-you-sure.component.ts","./src/app/shared/shared-components/popups/are-you-sure/are-you-sure.component.html","./src/app/graphql.module.ts","./src/app/core/templates/templates.service.ts","./src/app/core/products/product-menu/product-menu.component.ts","./src/app/core/products/product-menu/product-menu.component.html","./src/app/core/templates/templates.component.ts","./src/app/core/templates/templates.component.html","./src/app/core/transfers/utility/utility.component.ts","./src/app/core/transfers/utility/utility.component.html","./src/app/core/transfers/transfers.service.ts","./src/app/shared/services/customer-info.service.ts","./src/app/core/calendar/calendar.module.ts","./src/app/shared/shared-components/transaction-list/transaction-list.component.ts","./src/app/shared/shared-components/transaction-list/transaction-list.component.html","./src/app/core/header/header.component.ts","./src/app/core/header/header.component.html","./src/app/shared/services/auth-guard.service.ts","./src/environments/environment.ts","./src/app/core/settings/settings.component.ts","./src/app/core/settings/settings.component.html","./src/app/core/transfers/transfers-base.ts","./src/app/landing/landing-header/landing-header.component.ts","./src/app/landing/landing-header/landing-header.component.html","./src/app/shared/shared-components/bank-select-for-transfers/bank-select-for-transfers.component.ts","./src/app/shared/shared-components/bank-select-for-transfers/bank-select-for-transfers.component.html","./src/app/core/calendar/monthly-view/monthly-view.component.ts","./src/app/core/calendar/monthly-view/monthly-view.component.html","./src/app/shared/functions/functions.service.ts","./src/app/core/products/product-lists/product-list-accounts/product-list-accounts.component.ts","./src/app/core/products/product-lists/product-list-accounts/product-list-accounts.component.html","./src/app/core/templates/edit-templates/edit-account-number-template/edit-account-number-template.component.ts","./src/app/core/templates/edit-templates/edit-account-number-template/edit-account-number-template.component.html","./src/app/core/transfers/resend-transfer/resend-transfer.component.ts","./src/app/core/transfers/resend-transfer/resend-transfer.component.html","./src/app/core/home/ads-right/ads-right.component.ts","./src/app/core/home/ads-right/ads-right.component.html","./src/app/shared/shared-components/full-date-picker/pick-month/pick-month.component.ts","./src/app/shared/shared-components/full-date-picker/pick-month/pick-month.component.html","./src/app/core/footer/footer.component.ts","./src/app/core/footer/footer.component.html","./src/app/shared/component-bases/customer-info-base.ts","./src/app/core/menu/menu.component.ts","./src/app/core/menu/menu.component.html","./src/app/landing/landing.component.ts","./src/app/landing/landing.component.html","./src/app/shared/shared-components/language-switcher/language-switcher.component.ts","./src/app/shared/shared-components/language-switcher/language-switcher.component.html","./src/app/graph-ql-request.service.ts","./src/app/core/home/products-box/loan-list-mini/loan-list-mini.component.ts","./src/app/core/home/products-box/loan-list-mini/loan-list-mini.component.html","./src/app/core/transfers/peding-transfer/peding-transfer.component.ts","./src/app/core/transfers/peding-transfer/peding-transfer.component.html","./src/app/core/core-routing.module.ts","./src/app/core/home/calendar-box/monthly-view/monthly-view.component.ts","./src/app/core/home/calendar-box/monthly-view/monthly-view.component.html","./src/app/landing/auth/two-fa/two-fa.service.ts","./src/app/shared/pipes/money-format.pipe.ts","./src/app/shared/shared-components/modal/modal.component.ts","./src/app/shared/shared-components/modal/modal.component.html","./src/app/core/templates/add-template/add-mobile-or-pn-template/add-mobile-or-pn-template.component.ts","./src/app/core/templates/add-template/add-mobile-or-pn-template/add-mobile-or-pn-template.component.html","./src/app/core/home/products-box/products-box.component.ts","./src/app/core/home/products-box/products-box.component.html","./src/app/shared/pipes/date-format.pipe.ts","./src/app/shared/shared-components/ad-slider/ad-slider.component.ts","./src/app/shared/shared-components/ad-slider/ad-slider.component.html","./src/app/shared/shared.module.ts","./src/app/core/templates/templates.module.ts","./src/app/shared/services/overdraft.service.ts","./src/app/core/take-a-loan/take-a-loan.service.ts","./src/app/shared/services/deposits.service.ts","./src/app/core/core.component.ts","./src/app/core/core.component.html","./src/app/shared/tooltip/tooltip.component.ts","./src/app/shared/tooltip/tooltip.component.html","./src/app/core/transactions/transactions.component.ts","./src/app/core/transactions/transactions.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/component-bases/accounts-info-base.ts","./src/app/landing/landing.module.ts","./src/app/core/templates/add-template/add-account-number-template/add-account-number-template.component.ts","./src/app/core/templates/add-template/add-account-number-template/add-account-number-template.component.html","./src/app/core/home/products-box/deposits-list-mini/deposits-list-mini.component.ts","./src/app/core/home/products-box/deposits-list-mini/deposits-list-mini.component.html","./src/app/core/transfers/transfer-to-own/transfer-to-own.component.ts","./src/app/core/transfers/transfer-to-own/transfer-to-own.component.html","./src/app/core/templates/add-template/add-template.component.ts","./src/app/core/templates/add-template/add-template.component.html","./src/app/app.module.ts","./src/app/shared/shared-components/select/select.component.ts","./src/app/shared/shared-components/select/select.component.html","./src/app/shared/shared-components/full-date-picker/pick-date/pick-date.component.ts","./src/app/shared/shared-components/full-date-picker/pick-date/pick-date.component.html","./src/app/shared/pipes/account-templates-filter.pipe.ts","./src/app/core/products/product-lists/product-list-deposits/product-list-deposits.component.ts","./src/app/core/products/product-lists/product-list-deposits/product-list-deposits.component.html","./src/app/core/home/exchange-box/exchange-box.component.ts","./src/app/core/home/exchange-box/exchange-box.component.html","./src/app/core/home/ads/ads.component.ts","./src/app/core/home/ads/ads.component.html","./src/app/shared/shared-components/account-overdraft/account-overdraft.component.ts","./src/app/shared/shared-components/account-overdraft/account-overdraft.component.html","./src/app/shared/shared-components/range-picker/range-picker.component.ts","./src/app/shared/shared-components/range-picker/range-picker.component.html","./src/app/landing/auth/two-fa/two-fa.component.ts","./src/app/landing/auth/two-fa/two-fa.component.html","./src/app/core/home/products-box/account-list-mini/account-list-mini.component.ts","./src/app/core/home/products-box/account-list-mini/account-list-mini.component.html","./src/app/landing/auth/auth.component.ts","./src/app/landing/auth/auth.component.html","./src/app/core/home/calendar-box/calendar-box.component.ts","./src/app/core/home/calendar-box/calendar-box.component.html","./src/app/core/home/calendar-box/weekly-view/weekly-view.component.ts","./src/app/core/home/calendar-box/weekly-view/weekly-view.component.html","./src/app/shared/directives/username-pattern.directive.ts","./src/app/core/products/product-lists/product-list-loans/product-list-loans.component.ts","./src/app/core/products/product-lists/product-list-loans/product-list-loans.component.html","./src/app/core/take-a-loan/take-a-loan.module.ts","./src/app/core/templates/edit-templates/edit-mobile-or-pn-template/edit-mobile-or-pn-template.component.ts","./src/app/core/templates/edit-templates/edit-mobile-or-pn-template/edit-mobile-or-pn-template.component.html","./src/app/core/home/transfer-box/transfer-box.component.ts","./src/app/core/home/transfer-box/transfer-box.component.html","./src/app/shared/pipes/mobile-templates-filter.pipe.ts","./src/app/core/transfers/transfer-to-someone/transfer-to-someone.component.ts","./src/app/core/transfers/transfer-to-someone/transfer-to-someone.component.html","./src/app/shared/directives/click-outside.directive.ts","./src/app/core/transfers/transfers.component.ts","./src/app/core/transfers/transfers.component.html","./src/app/core/transfers/transfer-with-mobile-or-pn/transfer-with-mobile-or-pn.component.ts","./src/app/core/transfers/transfer-with-mobile-or-pn/transfer-with-mobile-or-pn.component.html","./src/app/core/transactions/transactions.service.ts","./src/app/shared/shared-components/full-date-picker/full-date-picker.component.ts","./src/app/shared/shared-components/full-date-picker/full-date-picker.component.html","./src/app/core/home/transfer-box/to-someone-mini/to-someone-mini.component.ts","./src/app/core/home/transfer-box/to-someone-mini/to-someone-mini.component.html","./src/app/shared/directives/currency.directive.ts","./src/app/landing/reset-password/reset-password.service.ts","./src/app/landing/reset-password/reset-password.component.ts","./src/app/landing/reset-password/reset-password.component.html","./src/app/core/calendar/calendar.service.ts","./src/app/core/take-a-loan/take-a-loan.component.ts","./src/app/core/take-a-loan/take-a-loan.component.html","./src/app/core/templates/edit-templates/edit-phone-number-template/edit-phone-number-template.component.ts","./src/app/core/templates/edit-templates/edit-phone-number-template/edit-phone-number-template.component.html","./src/app/landing/landing-routing-module.ts","./src/app/shared/enums/enums.ts","./src/app/core/transfers/shared.service.ts","./src/app/core/calendar/edit-event/edit-event.component.ts","./src/app/core/calendar/edit-event/edit-event.component.html","./src/app/shared/shared-components/sms-request/sms-request.component.ts","./src/app/shared/shared-components/sms-request/sms-request.component.html","./src/app/core/core.module.ts","./src/app/core/products/products.module.ts","./src/app/shared/services/calendar/calendarData.service.ts","./src/app/shared/pipes/mobile-or-pn-templates-filter.pipe.ts","./src/app/landing/terms-of-use/terms-of-use.component.ts","./src/app/landing/terms-of-use/terms-of-use.component.html","./src/app/shared/services/otp.service.ts","./src/app/core/timer/timer.component.ts","./src/app/core/timer/timer.component.html","./src/app/landing/register/helper.service.ts","./src/app/shared/shared-components/full-date-picker/pick-year/pick-year.component.ts","./src/app/shared/shared-components/full-date-picker/pick-year/pick-year.component.html","./src/app/shared/services/core.service.ts","./src/app/core/home/transfer-box/utility-mini/utility-mini.component.ts","./src/app/core/home/transfer-box/utility-mini/utility-mini.component.html","./src/app/shared/services/transaction-list.service.ts","./src/app/shared/services/dictionary.service.ts","./src/app/core/templates/add-template/add-phone-number-template/add-phone-number-template.component.ts","./src/app/core/templates/add-template/add-phone-number-template/add-phone-number-template.component.html","./src/app/app-routing.module.ts","./src/app/landing/landing-footer/landing-footer.component.ts","./src/app/landing/landing-footer/landing-footer.component.html","./src/app/core/home/home.module.ts","./src/app/shared/services/accounts-info.service.ts","./src/app/core/home/transactions-box/transactions-box.component.ts","./src/app/core/home/transactions-box/transactions-box.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;ICKrD,qEAAsB;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,mFAAa;;;IACnC,qEAA2B;IAAA,uDAAkB;IAAA,4DAAK;;;IAAvB,0DAAkB;IAAlB,wFAAkB;;;;IANrD,sEACE;IAAA,6EACE;IAAA,yEACE;IAAA,yEAAgD;IAAvB,8TAAsB;IAAC,4DAAC;IAAA,4DAAM;IACvD,yEACE;IAAA,sHAAsB;IACtB,sHAA2B;IAC7B,4DAAM;IACN,4EACE;IADyC,iUAAsB;IAC/D,+DACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAU;IACZ,4DAAM;;;IARM,0DAAiB;IAAjB,oFAAiB;IACjB,0DAAsB;IAAtB,yFAAsB;;ADG3B,MAAM,sBAAsB;IASjC,YAAoB,YAAkC;QAAlC,iBAAY,GAAZ,YAAY,CAAsB;QAP/C,cAAS,GAAW,EAAE,CAAC;IAO2B,CAAC;IAE1D,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;YACvC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,EAAE,EAAE;YACxE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAC3D,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACzB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CACjE,CAAC,GAAW,EAAE,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC5B,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC;;4FAtCU,sBAAsB;sGAAtB,sBAAsB;QCTnC,mHACE;;QADG,qGAAmC;;6FDS3B,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;;;;;;IC0CrD,qEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,0LACF;;;;IAIA,uFAQoB;IAFlB,uXAAmC;IAEpC,4DAAmB;;;IANlB,6FAA2B;;;;IAQ7B,sFAOkB;IAHhB,qXAAmC;IAGrC,4DAAkB;;;IALhB,iHAA+C;;;IAOjD,qEAGO;;;IAvBT,0EACE;IAAA,+IAQC;IAED,6IAOA;IAEA,qHAGC;IACH,4DAAM;;;IAtBF,0DAA+B;IAA/B,kGAA+B;IAU/B,0DAA8B;IAA9B,iGAA8B;IAU9B,0DAAqB;IAArB,wFAAqB;;;IAgFb,mEAGK;;;IACL,mEAGK;;;IACL,mEAGK;;;IACL,mEAGK;;;;;IAsBT,0EAIE;IAAA,6EAKE;IAHA,kdAA4C;IAG5C,mEAAoC;IACtC,4DAAS;IACT,6EAQE;IALA,wbAEJ,IAAI,8DACC;IAED,mEAAkC;IACpC,4DAAS;IACX,4DAAM;;;IAdF,0DAAuD;IAAvD,8KAAuD;IAKvD,0DAAuD;IAAvD,8KAAuD;;;IApD7D,wEACE;IAAA,0EACE;IAAA,sEACE;IAAA,gIAGC;IACD,gIAGC;IACD,gIAGC;IACD,gIAGC;IACD,sEACE;IAAA,2EAAmB;IAAA,uDAEjB;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,4EAAwB;IAAA,wDAAgC;;IAAA,4DAAO;IAC/D,qEAAG;IAAA,wDAA4B;IAAA,4DAAI;IACrC,4DAAM;IACN,2EACE;IAAA,4EAAwB;IAAA,wDAAgC;;IAAA,4DAAO;IAC/D,qEAAG;IAAA,wDAA2C;IAAA,4DAAI;IACpD,4DAAM;IACN,2EACE;IAAA,4EAAwB;IAAA,wDAEtB;;IAAA,4DAAO;IACT,qEAAG;IAAA,wDAA2C;;IAAA,4DAAI;IACpD,4DAAM;IACN,sIAIE;IAkBJ,qEAAe;;;IAzDP,0DAAsC;IAAtC,qGAAsC;IAItC,0DAAsC;IAAtC,qGAAsC;IAItC,0DAAsC;IAAtC,qGAAsC;IAItC,0DAAsC;IAAtC,qGAAsC;IAGnB,0DAEjB;IAFiB,2GAEjB;IAKkB,0DAAgC;IAAhC,kJAAgC;IACrD,0DAA4B;IAA5B,4FAA4B;IAGP,0DAAgC;IAAhC,kJAAgC;IACrD,0DAA2C;IAA3C,2GAA2C;IAGtB,0DAEtB;IAFsB,oJAEtB;IACC,0DAA2C;IAA3C,yKAA2C;IAI9C,0DAAsC;IAAtC,qGAAsC;;;IA9C5C,0EAIE;IAAA,yIACE;IA8DJ,4DAAM;;;;IA/DU,0DAA0C;IAA1C,kHAA0C;;;;ADvI7D,MAAM,iBAAiB;IAkC5B,YACU,mBAAwC,EACxC,eAAgC,EACjC,MAAc;QAFb,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,oBAAe,GAAf,eAAe,CAAiB;QACjC,WAAM,GAAN,MAAM,CAAQ;QApCvB,kBAAa,GAAG,IAAI,CAAC;QAKrB,2BAAsB,GAAW,SAAS;QAI1C,cAAS,GAAG,SAAS,CAAC;QAgBtB,wBAAmB,GAAoB,KAAK,CAAC;QAE7C,0BAAqB,GAAG,KAAK,CAAC;QAI9B,yBAAoB,GAAG,KAAK,CAAC;IAM1B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAC/D,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAGrC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE5B,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC1E,EAAE,EAAE,CAAC,CAAC,KAAK;YACX,SAAS,EAAE,CAAC,CAAC,KAAK;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,SAAS;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAC9D,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAClE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAClE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAC1E,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAK;QACb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YAC7B,IAAI,YAAY,KAAK,CAAC,EAAE;gBACtB,YAAY,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YAChC,IAAI,YAAY,KAAK,EAAE,EAAE;gBACvB,YAAY,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc;QACZ,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC7B,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAE/C,IAAI,YAAY,KAAK,CAAC,EAAE;gBACtB,YAAY,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAC3B,CAAC;SACH;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAE/C,IAAI,YAAY,KAAK,EAAE,EAAE;gBACvB,YAAY,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAC3B,CAAC;SACH;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,0BAA0B;QACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;QAE9C,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE;gBAEzE,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC;gBAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAE3C,uCACK,YAAY,KACf,SAAS,EAAE,OAAO,IAClB;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,sBAAsB,CAAC,IAAI;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB;aAC7C,kBAAkB,EAAE;aACpB,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,YAAY;QAC/B,MAAM,gBAAgB,GAAS,YAAY,CAAC,SAAS,CAAC;QACtD,IAAI,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC7D,IACE,YAAY,CAAC,WAAW,KAAK,IAAI,CAAC,mBAAmB;gBACrD,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAClC;gBACA,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,oBAAoB,CAAC,YAAY;QAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE;YAChD,KAAK,EAAE,EAAE,YAAY,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe;aAC5C,mBAAmB,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;aACzD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3D,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,EAAE,EAAE;wBAC5D,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC1C;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;IACH,CAAC;;kFAnPU,iBAAiB;iGAAjB,iBAAiB;QCX9B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEAA+C;QAAvB,sIAAS,gBAAY,IAAC;QAAC,4DAAK;QAAA,4DAAM;QAC1D,yEAA+C;QAAvB,sIAAS,gBAAY,IAAC;QAAC,4DAAK;QAAA,4DAAM;QAC5D,4DAAM;QACN,6EACE;QADoB,0IAAS,oBAAgB,IAAC;QAC9C,wDACF;;QAAA,4DAAS;QACT,0EACE;QAAA,iFAQc;QADZ,kKAAgB,qBAAiB,IAAC;QACnC,4DAAa;QAChB,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,8EAIE;QAHA,0IAAS,aAAS,SAAS,CAAC,IAAC;QAG7B,wDACF;;QAAA,4DAAS;QACT,8EAIE;QAHA,0IAAS,aAAS,QAAQ,CAAC,IAAC;QAG5B,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,8GACE;QAEJ,4DAAK;QAEL,gHACE;QAyBF,2EACE;QAAA,2EACE;QAAA,2EACE;QAKA,2EACE;QAAA,4EAAqC;QAAA,wDAEnC;;QAAA,4DAAO;QACX,4DAAM;QACN,2EACE;QAAA,4EAAyC;QAAA,wDAEvC;;QAAA,4DAAO;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,8EAIE;QAFA,0IAAS,6BAAyB,IAAC;QAEnC,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,uEACE;QAAA,0EAAuB;QAAA,wDAAmC;;QAAA,4DAAK;QACjE,4DAAM;QACN,2EACE;QAAA,8EAKE;QAHA,0IAAS,2BAAuB,KAAK,CAAC,IAAC;QAGvC,wDACF;;QAAA,4DAAS;QACT,8EAKE;QAHA,0IAAS,2BAAuB,CAAC,CAAC,IAAC;QAGnC,wDACF;;QAAA,4DAAS;QAQT,8EAKE;QAHA,0IAAS,2BAAuB,CAAC,CAAC,IAAC;QAGnC,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,gHAIE;QAgEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA5MM,2DACF;QADE,+JACF;QAGI,0DAAsC;QAAtC,mGAAsC;QAcxC,0DAA+C;QAA/C,wKAA+C;QAE/C,0DACF;QADE,iKACF;QAGE,0DAA8C;QAA9C,uKAA8C;QAE9C,0DACF;QADE,gKACF;QAKE,0DAAwC;QAAxC,qFAAwC;QAKP,0DAA8B;QAA9B,4FAA8B;QAmCxB,0DAEnC;QAFmC,mJAEnC;QAGuC,0DAEvC;QAFuC,qJAEvC;QASJ,0DACF;QADE,mKACF;QAQuB,0DAAmC;QAAnC,qJAAmC;QAMxD,0DAAuD;QAAvD,8KAAuD;QAEvD,0DACF;QADE,4JACF;QAIE,0DAAmD;QAAnD,0KAAmD;QAEnD,0DACF;QADE,8JACF;QAWE,0DAAmD;QAAnD,0KAAmD;QAEnD,0DACF;QADE,gKACF;QAOE,0DAAmD;QAAnD,+FAAmD;;6FDrIlD,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;AAKvB,MAAM,eAAe;IAC1B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2B9B,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;2BAER,SAAS;;;;;;;;;;;;;;MAc9B,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;2BAER,SAAS;;;;;;;;;;;;;;;MAe9B,CAAC,CAAC;IACN,CAAC;;8EAzEU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiE;AAWoB;;;;;;;;;;;;ICF7E,wEACE;IAAA,0FAI6B;IAC/B,qEAAe;;;IAJX,0DAAyB;IAAzB,2FAAyB;;;IAM7B,wEACE;IAAA,uFAKyB;IAC3B,qEAAe;;;IALX,0DAAe;IAAf,iFAAe;;;IAOnB,wEACE;IAAA,uFAAuD;IACzD,qEAAe;;;IAEf,oEAAoD;;ADXrD,MAAM,iBAAkB,SAAQ,kGAAgB;IAarD,YACU,KAAqB,EACrB,MAAc,EACd,cAA+B,EAC/B,mBAAwC;QAEhD,KAAK,EAAE,CAAC;QALA,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAiB;QAC/B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAhBlD,YAAO,GAAG,IAAI,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QAQf,qBAAgB,GAAQ,EAAE,CAAC;IAU3B,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;YAC7C,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CACvE,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,GAAG,EAAE;gBACR,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACpB;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc;aAC/B,aAAa,EAAE;aACf,SAAS,CAAC,CAAC,GAAqB,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC/C;YAED,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7B;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,SAAS;QACP,oDAAoD;QACpD,mDAAmD;QAEnD,yBAAyB;QACzB,uCAAuC;QACvC,sDAAsD;QACtD,mCAAmC;QACnC,WAAW;QACX,2BAA2B;QAC3B,IAAI;QACJ,kCAAkC;IACpC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;SAElD;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAClC,CAAC;;kFA7GU,iBAAiB;iGAAjB,iBAAiB;QCnB9B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAwC;;QAAA,4DAAK;QACtE,4DAAM;QACN,8EAAqC;QAErC,yEACE;QAAA,+HACE;QAOF,iIACE;QAQF,iIACE;QAGF,+GAA8C;QAChD,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA9ByB,0DAAwC;QAAxC,wJAAwC;QAI5D,0DAAsB;QAAtB,mFAAsB;QACX,0DAA0B;QAA1B,oFAA0B;QAQ1B,0DAAuB;QAAvB,iFAAuB;QASvB,0DAA0B;QAA1B,oFAA0B;QAIV,0DAAe;QAAf,6EAAe;;6FDXxC,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AElBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAOM;AAShC;AAEe;;;;;;;;;;;;;;;;ICXrC,qEAAwE;;;;IAOlE,0EACE;IAAA,6EAKE;IAFA,0VAA+C;IAE/C,uEAAM;IAAA,uDAA6C;;IAAA,4DAAO;IAC5D,4DAAS;IACT,6EAKE;IAFA,0VAA+C;IAE/C,uEAAM;IAAA,uDAA6C;;IAAA,4DAAO;IAC5D,4DAAS;IACX,4DAAM;;IATI,0DAA6C;IAA7C,6JAA6C;IAO7C,0DAA6C;IAA7C,6JAA6C;;;IA8EnD,wEACE;IACA,0EACE;IAAA,0EAQE;IAAA,mEAAgC;IAChC,uEAMA;IAAA,0EACE;IAAA,uEAAM;IAAA,uDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAGN,2EACE;IAAA,2EAQE;IAAA,oEAAiC;IACjC,wEAKA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IA6BR,qEAAe;;;IA9ET,0DAIC;IAJD,sJAIC;IAUO,0DAKJ;IALI,iWAKJ;IASJ,0DAIC;IAJD,qJAIC;IASO,0DAKJ;IALI,0WAKJ;;;;IA3HZ,0EAIE;IACA,0EACE;IAAA,0EACE;IAAA,2FAcuB;IAFrB,8VAA6B;;IAE/B,4DAAuB;IACzB,4DAAM;IACR,4DAAM;IAGN,0EACE;IAAA,0EAME;IAAA,mEAAgC;IAChC,uEAKA;IAAA,0EACE;IAAA,wEAAM;IAAA,wDAA2F;;IAAA,4DAAO;IAC1G,4DAAM;IACR,4DAAM;IACR,4DAAM;IAGN,2EACE;IAAA,2EAME;IAAA,oEAAkC;IAClC,wEAMA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAGN,gJACE;IAqFJ,4DAAM;;;IAtJE,0DAAmB;IAAnB,oFAAmB;IAqBrB,0DAEC;IAFD,mJAEC;IASO,0DAA2F;IAA3F,wOAA2F;IASnG,0DAEC;IAFD,gJAEC;IAUO,0DAKJ;IALI,qVAKJ;IAMM,0DAA4C;IAA5C,sHAA4C;;;;IAyF5D,0EACE;IAAA,sFAakB;IAHhB,2VAA+B;IAGjC,4DAAkB;IACpB,4DAAM;;;IAbF,0DAKC;IALD,wLAKC;;;;IA4FH,0EAIE;IAAA,0EACE;IAAA,2FAgBuB;IAFrB,qWAA6B;;IAE/B,4DAAuB;IACzB,4DAAM;IACR,4DAAM;;;IAjBA,0DAAmB;IAAnB,oFAAmB;;;;;;IAvF3B,0EACE;IACA,0EACE;IAAA,0EAME;IAAA,mEAAgC;IAChC,4EAUA;IAFE,wUAAgC;IARlC,4DAUA;IAAA,0EACE;IAAA,uEAAM;IAAA,uDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EAME;IAAA,oEAAgC;IAChC,6EAMA;IAFE,yUAAgC;IAJlC,4DAMA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EAME;IAAA,oEAAgC;IAChC,wEAMA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,4HAIE;IAqBF,2EACE;IAAA,2EAME;IAAA,oEAAgC;IAChC,wEAMA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EAME;IAAA,oEAAgC;IAChC,wEAMA;IAAA,2EACE;IAAA,wEAAM;IAAA,wDAKJ;;;IAAA,4DAAO;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,6EAME;IAAA,wEACA;IAAA,4EAIO;IAHL,kVAAmC;IAGrC,4DAAO;IACT,4DAAQ;IACR,yEAAqC;IAAlC,uUAAiC;IAAC,wDAEnC;;IAAA,4DAAI;IACR,4DAAM;IACR,4DAAM;;;IAzKA,0DAEC;IAFD,kJAEC;IAMC,0DAAyC;IAAzC,qKAAyC;IAQnC,0DAKJ;IALI,2VAKJ;IAQJ,0DAEC;IAFD,kJAEC;IAUO,0DAKJ;IALI,6VAKJ;IAQJ,0DAEC;IAFD,8IAEC;IAOC,0DAAyC;IAAzC,0GAAyC;IAGnC,0DAKJ;IALI,mVAKJ;IAON,0DAA4C;IAA5C,sHAA4C;IA0B1C,0DAEC;IAFD,iJAEC;IAOC,0DAA4C;IAA5C,6GAA4C;IAGtC,0DAKJ;IALI,yWAKJ;IAQJ,0DAEC;IAFD,+IAEC;IAOC,0DAA0C;IAA1C,2GAA0C;IAGpC,0DAKJ;IALI,6UAKJ;IAQJ,0DAEC;IAFD,mJAEC;IAKC,0DAAyC;IAAzC,qKAAyC;IAIR,0DAEnC;IAFmC,4JAEnC;;;IAIN,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,kLACF;;;IAtWF,0EACE;IAAA,sHAIE;IA6JF,oHACE;IAiBF,sHACE;IA+KF,kHACE;IAEJ,4DAAM;;;IApWF,0DAAwD;IAAxD,kIAAwD;IA+J3B,0DAA8B;IAA9B,gGAA8B;IAkBhC,0DAA8B;IAA9B,gGAA8B;IAgLhC,0DAAoB;IAApB,sFAAoB;;;;IAiB7C,6EAME;IAHA,kUAAoB;IAGpB,uDACF;;IAAA,4DAAS;;IADP,0DACF;IADE,2JACF;;;;IACA,6EAME;IAHA,yUAA2B;IAG3B,uDACF;;IAAA,4DAAS;;IADP,0DACF;IADE,+JACF;;;IAhBF,0EACE;IAAA,2HAME;IAEF,2HAME;IAEJ,4DAAM;;;IAZF,0DAA8B;IAA9B,gGAA8B;IAQ9B,0DAA8B;IAA9B,gGAA8B;;ADpYrC,MAAM,iBAAiB;IAuC5B,YACS,MAAoB,EACnB,MAAc,EACd,gBAAkC,EAClC,eAAgC,EAChC,UAA0B,EAC1B,YAAkC,EAClC,cAA8B;QAN/B,WAAM,GAAN,MAAM,CAAc;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAgB;QAC1B,iBAAY,GAAZ,YAAY,CAAsB;QAClC,mBAAc,GAAd,cAAc,CAAgB;QA3CxC,6CAA6C;QAC7C,mBAAc,GAAG,qEAAU,CAAC;QAC5B,eAAU,GAAW,EAAE,CAAC;QAExB,qBAAgB,GAAW,CAAC,CAAC;QAI7B,kBAAa,GAAY,KAAK,CAAC;QAS/B,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QAEzB,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAGlC,YAAO,GAAW,EAAE,CAAC;QAGrB,qBAAgB,GAAY,KAAK,CAAC;QAElC,qBAAgB,GAAa,EAAE,CAAC;QAChC,qBAAgB,GAAY,KAAK,CAAC;IAc/B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAC3D,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,6BAA6B;aAC9B;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAAgB;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,kBAAkB;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc;aAChB,aAAa,CACZ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAC7C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAC9C;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,IAAI,WAAW,EAAE;gBACnE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAChC;QACH,CAAC,EAAC,CAAC,GAAO,EAAC,EAAE;;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,kBAAkB,OAAC,GAAG,CAAC,KAAK,CAAC,SAAS,uCAAE,wBAAwB,GAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACvC;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACrE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;gBAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SAEF;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,wDAAS,CAAC;YACpC,+BAA+B;YAC/B,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC7B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;aACzB,CAAC;YACF,mBAAmB;YACnB,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAChC,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;aACzB,CAAC;YACF,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,wDAAwD;YACxD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC5B,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;YACF,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC5B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAC/C,CAAC;YACF,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC5B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,OAAO,CAChB,yDAAyD,CAC1D;aACF,CAAC;YACF,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC1B,SAAS,EAAE,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,kBAAkB,CAAC,KAAe;QAChC,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,CAAc;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACzD,OAAO;SACR;aAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YAC9D,OAAO;SACR;QACD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,EAC9B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,gBAAgB;aAClB,GAAG,CAAC,WAAW,CAAC;aAChB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,yBAAyB,CAAC,KAAsB;QAC9C,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAC/B,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAC/D;IACH,CAAC;IAED,uDAAuD;IACvD,qBAAqB,CAAC,KAAK;QACzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAC/C,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QAEpD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1D,2DAA2D;YAC3D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;SAC1D;IACH,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,eAAe;iBACrD,WAAW,CACV,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EACzC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;gBACjD,CAAC,CAAC,IAAI;YACR,iDAAiD;YACjD,oDAAoD;YACpD,YAAY;YACZ,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;gBAChD,CAAC,CAAC,IAAI,CACT;iBACA,SAAS,CAAC,CAAC,GAAsC,EAAE,EAAE;gBACpD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE;wBACjD,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;qBAC1C;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;qBACnD;iBACF;qBAAM;oBACL,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;gBACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;IACH,CAAC;IAED,eAAe,CAAC,MAAyC;QACvD,IAAI,CAAC,gBAAgB;aAClB,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,CACP,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxD,GAAG;YACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAC5D,CAAC;QACJ,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE;YACjD,IAAI,CAAC,gBAAgB;iBAClB,GAAG,CAAC,SAAS,CAAC;iBACd,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;SACzC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE;YAC/C,IAAI,CAAC,gBAAgB;iBAClB,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,6BAA6B;QAC3B,IACE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EACzC;YACA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAClD,IACE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;oBAC/C,mDAAmD;oBACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAC9C;oBACA,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAC3E,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YACvD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YACjD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,YAAY,EACV,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;gBACjD,CAAC,CAAC,EAAE;YACR,WAAW,EACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;gBAChD,CAAC,CAAC,EAAE;YACR,aAAa,EACX,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;SAChE,CAAC;QAEA,cAAc;QACd,mDAAmD;QACnD,sDAAsD;QACtD,YAAY;QAEd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;aACjC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;aAC1D;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YACvD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YACvD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YACjD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK;YACnD,YAAY,EACV,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;gBACjD,CAAC,CAAC,EAAE;YACR,WAAW,EACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;gBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;gBAChD,CAAC,CAAC,EAAE;YACR,aAAa,EACX,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;SAChE,CAAC;QAEF,cAAc;QACd,iDAAiD;QACjD,oDAAoD;QACpD,UAAU;QAEV,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;aACjC,SAAS,CAAC,CAAC,GAAoC,EAAE,EAAE;YAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACpC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;gBACzD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe;iBACzC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACrC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;oBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAC9C,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;iBACxB;gBACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC1D,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;gBACvB,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC;aAC/C;iBAAM,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,CAAC,YAAY,GAAG,0BAA0B,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC;aAC/C;SACF;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;YAEvD,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,IAAI,GAAG;oBACT,aAAa,EACX,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oBAC/D,WAAW,EACT,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;wBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;wBAChD,CAAC,CAAC,EAAE;oBACR,YAAY,EACV,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM;wBAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;wBACjD,CAAC,CAAC,EAAE;oBACR,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;oBAC3E,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;oBACvD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;oBACjD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;oBACrD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;iBACtD,CAAC;gBAEF,cAAc;gBACd,iDAAiD;gBACjD,oDAAoD;gBACpD,UAAU;gBAEV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe;qBAC5C,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;qBAC1B,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;qBACnD;yBAAM;wBACL,IAAI,CAAC,YAAY,CAAC,aAAa,CAC7B,wCAAwC,CACzC,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aACN;SACF;IACH,CAAC;IAED,qBAAqB;QACnB,IAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAC;YAChD,IACE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK;gBAC/C,mDAAmD;gBACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;gBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAC7C;gBACC,OAAO,IAAI,CAAC;aACb;iBAAI;gBACH,OAAO,KAAK,CAAC;aACd;SACF;aAAK;YACJ,IACE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;gBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAC7C;gBACC,OAAO,IAAI,CAAC;aACb;iBAAI;gBACH,OAAO,KAAK,CAAC;aACd;SACF;IACH,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,MAAM,CAAC,IAAI,CACT,gDAAgD,EAChD,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,CAAC;QACjB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB;aAClB,GAAG,CAAC,WAAW,CAAC;aAChB,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAClD,OAAO,yBAAyB,CAAC;SAClC;aAAM;YACL,OAAO,iBAAiB,CAAC;SAC1B;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,4BAA4B,EAAE;YACrC,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;IACH,CAAC;;kFAlkBU,iBAAiB;iGAAjB,iBAAiB;QCvB9B,6EACE;QAAA,6GAAkE;QAClE,0EACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAA6C;;QAAA,4DAAK;QAEzE,yEACE;QACA,6GACE;QAiBF,6GACE;QAuWJ,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,2EACE;QAAA,2EACE;QAAA,yEACG;QAD0B,qIAAS,YAAQ,IAAC;QAC5C,oEACA;QAAA,wEAAM;QAAA,wDAAgC;;QAAA,4DAAO;QAAA,4DAC/C;QACH,4DAAM;QACN,gHACE;QAiBJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAU;;QAna0C,0DAAe;QAAf,6EAAe;QAC9C,0DAA8B;QAA9B,2FAA8B;QAEtB,0DAA6C;QAA7C,6JAA6C;QAInC,0DAAmB;QAAnB,iFAAmB;QAkBlB,0DAAkB;QAAlB,gFAAkB;QAiXrC,0DAAgC;QAAhC,iJAAgC;QAG1B,0DAAkB;QAAlB,gFAAkB;;6FDvXhC,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AE5BD;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;ICC7E,yEAKE;IAFA,wVAAkB,UAAU,mBAAW;IAEvC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,wFACF;;;;;;IAEA,yEAME;IAFA,oVAAkB,SAAS,eAAO;IAElC,qEAAI;IAAA,uDAAS;IAAA,4DAAK;IAClB,yEACE;IAAA,oEAA6B;IAC7B,oEAA4B;IAC5B,oEAA8B;IAC9B,oEAA8B;IAChC,4DAAM;IAEN,0EACE;IAAA,uDACF;IAAA,4DAAM;IAEN,8EAKE;IAAA,+DACF;IAAA,4DAAS;IACX,4DAAM;;;;IAtBJ,uGAAgC;IAG5B,0DAAS;IAAT,yEAAS;IACkB,0DAA4B;IAA5B,mGAA4B;IAOjC,0DAAuC;IAAvC,8GAAuC;IAC/D,0DACF;IADE,oHACF;IAIE,0DAAsC;IAAtC,6IAAsC;;;;IAO1C,yEAKE;IAFA,wVAAkB,MAAM,mBAAW;IAEnC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,wFACF;;ADnCK,MAAM,mBAAmB;IAS9B;QAFU,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;IAE/B,CAAC;IAEhB,QAAQ,KAAI,CAAC;IAEb,QAAQ,CAAC,KAAK,EAAE,IAAI;QAClB,MAAM,IAAI,GAAG;YACX,KAAK;YACL,IAAI;SACL,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,GAAG;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED,WAAW,CAAC,IAAI;QACd,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE;wBACxD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;qBACjD;iBACF;aACF;SACF;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,qBAAqB,CAAC,IAAI;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,OAAO,YAAY,CAAC,SAAS,CAAC;iBAC/B;aACF;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,IAAI;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,OAAO,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;iBAC1C;aACF;SACF;IACH,CAAC;;sFA/EU,mBAAmB;mGAAnB,mBAAmB;QCPhC,yEACE;QAAA,+GAKE;QAGF,iHAME;QAqBF,+GAKE;QAEJ,4DAAM;;QAxCF,0DAAmD;QAAnD,oGAAmD;QAQnD,0DAA8C;QAA9C,mGAA8C;QA2B9C,0DAA+C;QAA/C,gGAA+C;;6FD/BtC,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;kBAEE,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBAEL,oDAAM;;;;;;;;;;;;;;;;;;;;;;;;;AEdT,e;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEJ;;;AAKhC,MAAM,oBAAoB;IAO/B,YAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAN/C,cAAS,GAA4B,IAAI,oDAAe,CAAS,IAAI,CAAC,CAAC;QACvE,mBAAc,GAA2B,IAAI,oDAAe,CAAS,IAAI,CAAC,CAAC;QAC3E,gBAAW,GAA6B,IAAI,oDAAe,CAChE,KAAK,CACN,CAAC;IAEuD,CAAC;IAEnD,aAAa,CAAC,SAAS;QAC5B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAqB,EAAE,EAAE;YACvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IACM,kBAAkB,CAAC,SAAS;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,gBAAoB,EAAC,EAAE;YACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;;wFAnBU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;6FAEP,oBAAoB;cAHhC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEgB;;;AAKpD,MAAM,cAAc;IACzB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAE1C,uBAAkB,GAAY,KAAK,CAAC;IAFS,CAAC;IAI9C,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAU,EAAE,IAAK;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,wEAAW,CAAC,WAAW,EAAE,EAAE;YACxD,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB,CAAC,QAAQ;QACvB,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;;4EApBU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;6FAEP,cAAc;cAH1B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;AAKvB,MAAM,eAAe;IAC1B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,WAAW,CACT,aAAsB,EACtB,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,YAAqB;IACrB,uBAAuB;IACvB,WAAoB;QAEpB,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,UAAU;QACV,YAAY;QAEZ,SAAS;QACT,SAAS;QACT,WAAW;QACX,UAAU;QACV,eAAe;QACf,aAAa;QACb,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,gBAAgB;QAChB,aAAa;QACb,+BAA+B;QAE/B,mBAAmB;QACnB,qBAAqB;QACrB,yBAAyB;QAEzB,4CAA4C;QAC5C,kBAAkB;QAClB,qBAAqB;QACrB,kDAAkD;QAClD,wDAAwD;QAExD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;yBAEV,aAAa;sBAChB,kBAAkB,CAAC,SAAS,CAAC;sBAC7B,SAAS;mBACZ,MAAM;yBACA,YAAY;wBACb,WAAW;;;;;;;;;MAS7B,CAAC,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,IAAI;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,IAAI;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;sBAEb,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;sBACvC,IAAI,CAAC,IAAI,CAAC,SAAS;mBACtB,IAAI,CAAC,IAAI,CAAC,MAAM;eACpB,IAAI,CAAC,IAAI,CAAC,SAAS;oBACd,IAAI,CAAC,IAAI,CAAC,OAAO;yBACZ,IAAI,CAAC,IAAI,CAAC,YAAY;wBACvB,IAAI,CAAC,IAAI,CAAC,WAAW;yBACpB,IAAI,CAAC,IAAI,CAAC,aAAa;;MAE1C,CAAC,CAAC;IACN,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;mCACA,QAAQ;MACrC,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,IAAI;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;;8EAxGU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAoE;;AAK7D,MAAM,kBAAkB;IAgB7B,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAfzB,mBAAc,GAAG;YACvB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,KAAK;YACL,WAAW;YACX,YAAY;YACZ,OAAO;YACP,MAAM;YACN,OAAO;SACR,CAAC;QAGA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC;IACvC,CAAC;IAGD,SAAS,CAAC,CAAgB;QACxB,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,yDAAyD;YACpG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,qBAAqB;UAC/D;YACA,mCAAmC;YACnC,OAAO;SACR;QACD,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;YACzC,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAGD,OAAO,CAAC,KAAqB;QAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,WAAW,GAAW,KAAK,CAAC,aAAa;aAC5C,OAAO,CAAC,YAAY,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACjD,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAGD,MAAM,CAAC,KAAgB;QACrB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;;oFAzDU,kBAAkB;kGAAlB,kBAAkB;;;6FAAlB,kBAAkB;cAH9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;aACxB;;kBAqBE,0DAAY;mBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;kBAsBlC,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;kBAShC,0DAAY;mBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;ACxDlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;AAQ3C,MAAM,aAAa;IAGxB;IAAe,CAAC;IAEhB,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IACO,cAAc;QACpB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,2CAA2C;aACxD;YACD;gBACE,UAAU,EAAE,2CAA2C;aACxD;YACD;gBACE,UAAU,EAAE,2CAA2C;aACxD;YACD;gBACE,UAAU,EAAE,2CAA2C;aACxD;YACD;gBACE,UAAU,EAAE,2CAA2C;aACxD;SACF,CAAC;IACJ,CAAC;;0EA1BU,aAAa;6FAAb,aAAa;QCR1B,yEACE;QAAA,uEACE;QAAA,8EAAqC;QACrC,yEACE;QAAA,8EAAkE;QACpE,4DAAM;QACN,sEACE;QAAA,kFAA6C;QAC/C,4DAAM;QACR,4DAAO;QAEP,wEACE;QAAA,sEACE;QAAA,8EAAqC;QACvC,4DAAM;QAEN,uEACE;QAAA,+EAAqC;QACvC,4DAAM;QACR,4DAAQ;QACV,4DAAM;;QAhBe,0DAAiC;QAAjC,8FAAiC;;6FDIzC,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;;;;;;;;;;;;ICmGZ,0EAKE;IAAA,iFAQc;IADZ,oWAA4C;IAC7C,4DAAa;IAChB,4DAAM;;;IARF,0DAAgD;IAAhD,kHAAgD;;;IAYxD,qEAAwE;;;IAcpE,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;;;AD1HL,MAAM,iBAAiB;IAuB5B,YACU,WAAwB,EACxB,MAAc,EACd,eAAgC,EAChC,QAAkB;QAHlB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QAChC,aAAQ,GAAR,QAAQ,CAAU;QA1B5B,cAAS,GAAG,QAAQ,CAAC;QAErB,gBAAW,GAAG,KAAK,CAAC;QAIpB,cAAS,GAAG,EAAE,CAAC;QAGf,gBAAW,GAAsB,EAAE,CAAC;QAEpC,qCAAgC,GAAW,iBAAiB,CAAC;QAK7D,YAAO,GAAG,KAAK,CAAC;IAWb,CAAC;IAEJ,QAAQ;;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,SAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,uCAAE,IAAI,IAAI,EAAE,GAAC;QACzD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,QAAQ,EAAE,IAAI,0DAAW,CAAC,KAAK,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,WAAW,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CAAC,IAAI;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,mBAAmB,CAAC,SAAS;QAC3B,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB;QACjB,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;gBACjC,EAAE,EAAE,CAAC;aACN,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAC1B,EAAE,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,MAAM,WAAW,SAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,uCAAE,CAAC,GAAC;QAClE,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YAC1E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YAC/B,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,QAAQ,GAAG;YACf,aAAa,EAAE;gBACb,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,QAAQ;gBACR,WAAW;gBACX,uBAAuB;aACxB;SACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe;aACpC,mBAAmB,CAAC,QAAQ,CAAC;aAC7B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EACpC;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SAChC;IACH,CAAC;;kFA5JU,iBAAiB;iGAAjB,iBAAiB;QClB9B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAsC;;QAAA,4DAAK;QACpE,4DAAM;QACN,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAM;QAEN,2EACE;QAWA,2EACE;QAAA,8EAOE;QAFA,0IAAS,kBAAc,CAAC,CAAC,IAAC;QAE1B,wEAAM;QAAA,wDAAmC;;QAAA,4DAAO;QAClD,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,wEAMF;;QAAA,4DAAM;QACN,2EACE;QAAA,4FASuB;QAFrB,oKAAY,oBAAgB,IAAC;;QAE/B,4DAAuB;QACzB,4DAAM;QACN,2EACE;QAAA,wEAOF;;QAAA,4DAAM;QACN,sEAEM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,6EACE;QAAA,wEAKA;QAAA,wEAAM;QAAA,wDAAqC;;QAAA,4DAAO;QACpD,4DAAQ;QACV,4DAAM;QACN,2EACE;QAAA,6EACE;QAAA,wEAKA;QAAA,wEAAM;QAAA,wDAA2C;;QAAA,4DAAO;QAC1D,4DAAQ;QACV,4DAAM;QACN,gHAKE;QAUJ,4DAAM;QACR,4DAAM;QAEN,gHAAkE;QACpE,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,2EAIE;QAAA,8EACE;QADuC,0IAAS,cAAU,IAAC;QAC3D,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACN,2EACE;QAAA,8GACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QAlJkB,uFAA0B;QAInB,0DAAsC;QAAtC,uJAAsC;QAG1D,0DAA4B;QAA5B,8IAA4B;QAE7B,0DACF;QADE,6JACF;QAMI,0DACF;QADE,sKACF;QAiBM,0DAEE;QAFF,4LAEE;QAGI,0DAAmC;QAAnC,qJAAmC;QAQ7C,0DACF;QADE,gKACF;QAOM,0DAA+C;QAA/C,iKAA+C;QAM/C,0DAA0B;QAA1B,uFAA0B;QAc1B,0DAA0C;QAA1C,4JAA0C;QAexC,0DAAe;QAAf,wEAAe;QAGX,0DAAqC;QAArC,uJAAqC;QAOzC,0DAAc;QAAd,uEAAc;QAGV,0DAA2C;QAA3C,6JAA2C;QAKnD,0DAAwD;QAAxD,sHAAwD;QAgBZ,0DAAe;QAAf,6EAAe;QAO7D,0DAAyD;QAAzD,oLAAyD;QAGvD,0DACF;QADE,4JACF;QAG2B,0DAAoB;QAApB,kFAAoB;;6FDxH9C,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEjBD;AAAA;AAAA;AAAA;AAA+E;;;;;;ICSrE,4EAC2B;IAAzB,mUAAwB;IAAC,uDAA0B;IAAA,4DAAS;;;IADvC,sFAAoB;IAChB,0DAA0B;IAA1B,8FAA0B;;ADHxD,MAAM,mBAAmB;IAQ9B;QAHU,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,YAAO,GAAG,IAAI,0DAAY,EAAO,CAAC;IAE7B,CAAC;IAEhB,QAAQ;IACR,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IACE,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;gBACnC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,wBAAwB,EACnD;gBACA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB;SACF;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;;sFA1BU,mBAAmB;mGAAnB,mBAAmB;QCPhC,yEACI;QADgC,8IAAS,sBAAkB,IAAC;QAC5D,yEACE;QAAA,oEAAwB;QAExB,yEACE;QAAA,qEAAI;QAAA,uDAAgC;QAAA,4DAAK;QAEzC,yEACE;QAAA,4EAAyE;QAA7B,iJAAS,sBAAkB,IAAC;QAAC,6DAAE;QAAA,4DAAS;QACpF,qHAC2B;QAC7B,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QATI,0DAAgC;QAAhC,yGAAgC;QAG1B,0DAAoB;QAApB,iFAAoB;QACpB,0DAAc;QAAd,4EAAc;;6FDFnB,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;kBAEE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;kBACN,oDAAM;;;;;;;;;;;;;;AEbT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACqB;AACM;AACd;AACK;AACR;AACF;;AAEjD,MAAM,GAAG,GAAG,wEAAW,CAAC,MAAM,CAAC,CAAC,6CAA6C;AAE7E,MAAM,cAAc,GAAG;IACrB,UAAU,EAAE;QACV,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,QAAQ;KACtB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,KAAK;KACnB;CACF,CAAC;AAEK,SAAS,YAAY,CAAC,QAAkB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,IAAI,sDAAU,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;QAC3D,uCAAuC;QACvC,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,SAAS,CAAC,UAAU,CAAC;YACnB,OAAO,EAAE,KAAK;gBACZ,CAAC,CAAC,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC;gBAC3D,CAAC,CAAC,IAAI,gEAAW,EAAE;SACtB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,0DAAM,CAAC,cAAc,EAAE,IAAI,CAAC;QAClC,KAAK,EAAE,IAAI,mEAAa,EAAE;QAC1B,cAAc;KACf,CAAC;AACJ,CAAC;AAYM,MAAM,aAAa;;4FAAb,aAAa;oJAAb,aAAa,mBARb;QACT;YACE,OAAO,EAAE,6DAAc;YACvB,UAAU,EAAE,YAAY;YACxB,IAAI,EAAE,CAAC,iEAAQ,CAAC;SACjB;KACF,YAPS,2DAAY,EAAE,uEAAc;mIAS3B,aAAa,cATd,2DAAY,EAAE,uEAAc;6FAS3B,aAAa;cAVzB,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,2DAAY,EAAE,uEAAc,CAAC;gBACvC,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,6DAAc;wBACvB,UAAU,EAAE,YAAY;wBACxB,IAAI,EAAE,CAAC,iEAAQ,CAAC;qBACjB;iBACF;aACF;;;;;;;;;;;;;;ACrDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAGb;;;;AAMvB,MAAM,gBAAgB;IAC3B,YACU,OAA8B,EAC9B,IAAgB;QADhB,YAAO,GAAP,OAAO,CAAuB;QAC9B,SAAI,GAAJ,IAAI,CAAY;IACvB,CAAC;IAEJ,qBAAqB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;KAe9B,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;KAe9B,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;KAY9B,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,YAAsB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;;;;;;;KAqB9B,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,qCAAqC;IACrC,QAAQ;IACR,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,0BAA0B;IAC1B,sBAAsB;IACtB,yBAAyB;IACzB,cAAc;IACd,uBAAuB;IACvB,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,IAAI;IAIJ,iCAAiC;IACjC,gCAAgC;IAChC,WAAW;IACX,qDAAqD;IACrD,uDAAuD;IACvD,eAAe;IACf,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,YAAY;IACZ,UAAU;IACV,SAAS;IACT,eAAe;IACf,OAAO;IACP,IAAI;IAEJ,oCAAoC;IACpC,gCAAgC;IAChC,WAAW;IACX,qDAAqD;IACrD,uDAAuD;IACvD,eAAe;IACf,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,YAAY;IACZ,UAAU;IACV,SAAS;IACT,eAAe;IACf,OAAO;IACP,IAAI;IAEJ,WAAW,CAAC,QAAQ;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;OASF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,QAAQ;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;OASF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;OAUF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,QAAQ;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;OASF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,aAAa;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;iCAEF,aAAa;;;;;GAK3C,CAAC,CAAC;IACH,CAAC;IAED,wBAAwB,CAAC,WAAW;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;gDAEa,WAAW;;;;;;;;;;MAUrD,CAAC,CAAC;IACN,CAAC;IAED,wBAAwB,CAAC,WAAW;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;+BAEJ,WAAW;;;;;KAKrC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,QAAQ;QAC5B,QAAQ,CAAC,QAAQ,CAAC,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;OAMF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,QAAQ;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;OASF,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;;gFAxRU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;;;;AAQlD,MAAM,oBAAoB;IAI/B,YAAoB,KAAqB,EAAU,MAAc;QAA7C,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAFjE,cAAS,GAAG,EAAE,CAAC;IAEsD,CAAC;IAGtE,QAAQ;QACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;;wFAxBU,oBAAoB;oGAApB,oBAAoB;QCRjC,yEACI;QAAA,wEACI;QAAA,wEACI;QAAA,uEAA0F;QAAA,uDAAqC;;QAAA,4DACpI;QACH,4DAAK;QACL,wEACE;QAAA,uEAGG;QAAA,uDAAkC;;QAAA,4DACpC;QACH,4DAAK;QACL,yEACE;QAAA,wEAGG;QAAA,wDAA8C;;QAAA,4DAChD;QACH,4DAAK;QACP,4DAAK;QACP,4DAAM;;QAlBS,0DAAgD;QAAhD,yKAAgD;QAAuC,0DAAqC;QAArC,qJAAqC;QAKnI,0DAA6C;QAA7C,sKAA6C;QAE5C,0DAAkC;QAAlC,mJAAkC;QAKnC,0DAAgD;QAAhD,yKAAgD;QAE/C,0DAA8C;QAA9C,gKAA8C;;6FDT1C,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;;;;;;;IC6CnD,0EAOE;IAAA,0EACE;IAAA,6EACE;IADuB,0XAAwC;IAC/D,mEAA4B;IAC9B,4DAAS;IACT,6EAIE;IAFA,uXAAwC,SAAS,KAAE;IAEnD,mEAA8B;IAChC,4DAAS;IACT,6EAKE;IAFA,kXAAmC,SAAS,KAAE;IAE9C,mEAA4B;IAC9B,4DAAS;IACX,4DAAM;IACN,0EACE;IAAA,0EAAoB;IAAA,wDAAsC;IAAA,4DAAM;IAChE,uEACE;IAAA,4EAAmB;IAAA,wDAAmB;IAAA,4DAAO;IAC7C,4EAA0B;IAAA,wDAExB;IAAA,4DAAO;IACT,8EASE;IAPA,qYAGuB,+BAE1B,KAAI;IAED,wDACF;;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;IA1BA,0DAA6C;IAA7C,oKAA6C;IAO3B,0DAAsC;IAAtC,+GAAsC;IAErC,0DAAmB;IAAnB,mFAAmB;IACZ,0DAExB;IAFwB,uGAExB;IAUA,0DACF;IADE,oKACF;;;;IAYN,0EAOE;IAAA,0EACE;IAAA,6EACE;IADuB,0XAAwC;IAC/D,mEAA4B;IAC9B,4DAAS;IACT,6EAIE;IAFA,uXAAwC,cAAc,KAAE;IAExD,mEAA8B;IAChC,4DAAS;IACT,6EAKE;IAFA,kXAAmC,YAAY,KAAE;IAEjD,mEAA4B;IAC9B,4DAAS;IACX,4DAAM;IACN,0EACE;IAAA,0EAAoB;IAAA,wDAAsC;IAAA,4DAAM;IAChE,uEACE;IAAA,4EAAmB;IAAA,wDAAoB;IAAA,4DAAO;IAC9C,4EAA0B;IAAA,wDAAuD;IAAA,4DAAO;IACxF,8EASE;IAPA,qYAGuB,2BAE1B,KAAI;IAED,wDACF;;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;IAxBA,0DAA8C;IAA9C,mMAA8C;IAO5B,0DAAsC;IAAtC,+GAAsC;IAErC,0DAAoB;IAApB,kHAAoB;IACb,0DAAuD;IAAvD,+JAAuD;IAU/E,0DACF;IADE,oKACF;;;IAOV,qEAAwE;;;IAI5E,qEAAyB;IAAA,uDAAkB;IAAA,4DAAK;;;IAAvB,0DAAkB;IAAlB,sFAAkB;;;;IAG7C,uFAMoB;IAHlB,yVAA4B,KAAK,IAAC;IAGnC,4DAAmB;;;IALlB,+FAA6B;;;AD1IxB,MAAM,kBAAkB;IA2B7B,YACU,gBAAkC,EAClC,MAAc;QADd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAQ;QAfxB,gBAAW,GAAG,SAAS,CAAC;QAExB,oBAAe,GAAG,KAAK,CAAC;QAKxB,YAAO,GAAG,KAAK,CAAC;QAEhB,iBAAY,GAAG,EAAE,CAAC;QAElB,iBAAY,GAAW,qDAAqD,CAAC;IAK1E,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB;aACtC,cAAc,EAAE;aAChB,SAAS,CAAC,CAAC,GAAyB,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IACD,mBAAmB;QACjB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,4DAA4D;YAC5D,uCAAuC;YACvC,KAAK;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CACnC,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CACnC,CAAC;SACH;aAAM;YACL,qDAAqD;YACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SACpD;IACH,CAAC;IAED,oBAAoB,CAAC,QAAQ;QAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB;aACzC,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;aACxD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAC/C,CAAC;gBACF,wDAAwD;gBACxD,mDAAmD;gBACnD,KAAK;gBACL,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAC/C,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,QAAQ,EAAE,YAAY;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,cAAc,GAAG;gBACrB,QAAQ,EAAE;oBACR,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;oBAC3D,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU;oBAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB;aACF,CAAC;YAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;iBAC1C,qBAAqB,CAAC,cAAc,CAAC;iBACrC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;oBACf,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;wBACrD,IAAI,eAAe,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE;4BACtC,eAAe,CAAC,UAAU,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC;yBAC1D;qBACF;oBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;SACN;QAED,mCAAmC;QACnC,6BAA6B;QAC7B,kBAAkB;QAClB,yBAAyB;QACzB,uBAAuB;QACvB,YAAY;QACZ,sDAAsD;QACtD,4DAA4D;QAC5D,aAAa;QACb,WAAW;QACX,wBAAwB;QACxB,0CAA0C;QAC1C,6BAA6B;QAC7B,uCAAuC;QACvC,SAAS;QACT,OAAO;QAEP,kDAAkD;QAClD,6CAA6C;QAC7C,4BAA4B;QAC5B,8BAA8B;QAE9B,2BAA2B;QAC3B,gEAAgE;QAChE,qDAAqD;QACrD,sEAAsE;QACtE,cAAc;QACd,YAAY;QACZ,sCAAsC;QACtC,iBAAiB;QACjB,6DAA6D;QAC7D,UAAU;QACV,UAAU;QACV,IAAI;QAEJ,IAAI,YAAY,KAAK,YAAY,EAAE;YACjC,MAAM,cAAc,GAAG;gBACrB,QAAQ,EAAE;oBACR,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU;oBAChC,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB;aACF,CAAC;YAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;iBAC1C,wBAAwB,CAAC,cAAc,CAAC;iBACxC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;oBACf,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;wBACxD,IAAI,kBAAkB,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE;4BACzC,kBAAkB,CAAC,UAAU,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC;yBAChE;qBACF;oBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,sBAAsB,CAAC,QAAQ;;QAC7B,MAAM,QAAQ,eAAG,QAAQ,0CAAE,IAAI,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,QAAQ,EAAE;YACZ,IAAI,eAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;gBACxB,OAAO,eAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,KAAI,GAAG,UAAG,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,EAAC,CAAC;aAC9D;iBAAM;gBACL,aAAO,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,CAAC,EAAE;aAC/B;SACF;IACH,CAAC;IACD,wBAAwB,CAAC,cAAc;QACrC,OAAO,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,oBAAoB,CAAC,QAAQ,EAAE,YAAY;QACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,GAAG,YAAY,GAAG,WAAW,EAAE;YACzE,KAAK,EAAE,EAAE,QAAQ,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC,CAAC,QAAQ,EAAE,GAAW;QACrD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;YAC7B,KAAK,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;IACH,CAAC;;oFA7NU,kBAAkB;kGAAlB,kBAAkB;QChB/B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAyC;;QAAA,4DAAK;QAErE,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,4EAMF;QAFI,4LAAyB;;QAJ3B,4DAMF;QAAA,4DAAM;QACN,0EACE;QAAA,4EACE;QAAA,4EAKA;QAHE,mMAAgC,kGACf,yBAAqB,IADN;QAFlC,4DAKA;QAAA,wEAAM;QAAA,wDAA+C;;QAAA,4DAAO;QAC9D,4DAAQ;QACV,4DAAM;QACN,0EACE;QAAA,8EAIE;QAAA,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,2EACE;QAAA,kHAOE;;QAuCJ,4DAAM;QAEN,2EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,2EACE;QAAA,kHAOE;;QAqCJ,4DAAM;QACR,4DAAM;QAEN,iHAAkE;QACpE,4DAAM;QACR,4DAAO;QAEP,+GAAyB;QAC3B,4DAAM;QAEN,2IAMC;;QA3J8B,0DAAyC;QAAzC,0JAAyC;QAOxD,0DAA4C;QAA5C,4JAA4C;QAS1C,0DAAgC;QAAhC,2FAAgC;QAG5B,0DAA+C;QAA/C,iKAA+C;QAMrD,0DAAiC;QAAjC,8IAAiC;QAEjC,0DACF;QADE,yKACF;QASF,0DACF;QADE,4KACF;QAKE,0DAGC;QAHD,6KAGC;QA6CD,0DACF;QADE,gKACF;QAKE,0DAGC;QAHD,gLAGC;QA0C2C,0DAAe;QAAf,6EAAe;QAIjE,0DAAoB;QAApB,kFAAoB;QAKxB,0DAAuB;QAAvB,qFAAuB;;6FD3IZ,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;AAEe;AAUU;;;;;;;;;;;;;;;;IC2BzC,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,2EAAmB;IAAA,uDAEjB;;IAAA,4DAAO;IACT,2EACE;IAAA,uDACF;IAAA,4DAAO;IACT,4DAAM;IACN,0EACE;IAAA,2EAAmB;IAAA,wDAAwC;;IAAA,4DAAO;IAClE,4EAA0B;IAAA,wDAA6B;IAAA,4DAAO;IAChE,4DAAM;IACN,2EACE;IAAA,4EAAmB;IAAA,wDAAqC;;IAAA,4DAAO;IAC/D,4EACE;IAAA,wDACF;IAAA,4DAAO;IACT,4DAAM;IACN,2EACE;IAAA,4EAAmB;IAAA,wDAEjB;;IAAA,4DAAO;IACT,4EACE;IAAA,wDACF;;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA1BmB,0DAEjB;IAFiB,4JAEjB;IAEA,0DACF;IADE,gHACF;IAGmB,0DAAwC;IAAxC,0JAAwC;IACjC,0DAA6B;IAA7B,iGAA6B;IAGpC,0DAAqC;IAArC,uJAAqC;IAEtD,0DACF;IADE,0GACF;IAGmB,0DAEjB;IAFiB,4JAEjB;IAEA,0DACF;IADE,kMACF;;;;;IAKN,0EACE;IAAA,0EACE;IAAA,wEACE;IAAA,uDACF;;IAAA,4DAAI;IACN,4DAAM;IAEN,yEACE;IAAA,0EAIE;IAAA,iFAOc;IADZ,6VAAsC;IACvC,4DAAa;IAChB,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAnBA,0DACF;IADE,0KACF;IAME,0DAAoC;IAApC,+JAAoC;IAGlC,0DAAiC;IAAjC,mGAAiC;;;;IAWzC,wEACE;IAAA,0EACE;IAAA,yEACE;IAAA,0EACE;IAAA,0EACE;IAAA,sFAakB;IAHhB,gWAA+B;IAGjC,4DAAkB;IACpB,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,qEAAe;;;IAjBH,0DAKC;IALD,8KAKC;;;IAcb,qEAAwE;;;;IAKtE,0EACE;IAAA,6EAKE;IAHA,sTAAgB;IAGhB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IAJF,0DAAoB;IAApB,sFAAoB;IAEpB,0DACF;IADE,2JACF;;;;IAEF,0EACE;IAAA,6EAgBE;IAdA,sTAAgB;IAchB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IAfF,0DAKE;IALF,6OAKE;IAQF,0DACF;IADE,4JACF;;;;IAEF,0EACE;IAAA,6EAQE;IANA,sTAAgB;IAMhB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IAPF,0DAEE;IAFF,yKAEE;IAGF,0DACF;IADE,2JACF;;;;IAEF,0EACE;IAAA,6EAQE;IANA,sTAAgB;IAMhB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IAPF,0DAEE;IAFF,sLAEE;IAGF,0DACF;IADE,0JACF;;;IAGA,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;ADhKL,MAAM,gBACX,SAAQ,4DAAY;IA6BpB,YACU,WAAwB,EACxB,gBAAkC,EAClC,mBAAwC,EACxC,mBAAwC,EACxC,MAAc,EACd,UAAsB,EACtB,mBAAwC,EACxC,YAAkC;QAE1C,KAAK,EAAE,CAAC;QATA,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QACtB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAsB;QAnC5C,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAW,CAAC,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAe1B,SAAS;QACT,sBAAiB,GAAW,uBAAuB,CAAC;QACpD,kBAAa,GAAY,IAAI,CAAC;IAmB9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAW,EAAC,EAAE;YACrD,IAAG,GAAG,KAAG,IAAI,EAAC;gBACZ,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CACpE,CAAC,GAAiB,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF;IAAA,CAAC;IAEJ,cAAc;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC7B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,OAAO,CAChB,QAAQ,CACT;aACF,CAAC;YACF,aAAa,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACjC,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,yDAAU,CAAC,OAAO,CAChB,QAAQ,CACT;aACF,CAAC;YACF,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAEnD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;gBACzC,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;SACF;IACH,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EACnC;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAE1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB;aAC5C,eAAe,CACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CACrB;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,EAAE,CACH,CAAC;wBACF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAG,IAAI,CAAC,OAAO,KAAK,kCAAkC,EAAC;4BACrD,IAAI,CAAC,YAAY,GAAG,mBAAmB;yBACxC;6BAAK,IAAG,IAAI,CAAC,OAAO,KAAK,sCAAsC,EAAC;4BAC/D,IAAI,CAAC,YAAY,GAAG,gBAAgB;yBACrC;6BACG;4BACF,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;yBACpC;qBAEF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;QACD,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAElC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAClD,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,aAAa,CAAC,GAAe;QAC3B,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB;aACtC,aAAa,CACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CACtC;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,GAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACpF;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,EAAE;oBACxC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;iBAC1D;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,GAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACpF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;SAC/B;IAEH,CAAC;IAED,QAAQ;IACR,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;gFA7RU,gBAAgB;gGAAhB,gBAAgB;QC1B7B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,0EACE;QAAA,2EACE;QAAA,2EACE;QAAA,wDACF;;QAAA,4DAAM;QACN,wEAQA;;QAAA,2EACE;QAAA,wDACF;;QAAA,4DAAM;QACN,wEAQF;;QAAA,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,iHACE;QA8BF,gHACE;QAuBF,iIACE;QAwBF,+GAAkE;QACpE,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,+GACE;QAQF,+GACE;QAmBF,+GACE;QAWF,+GACE;QAWF,2EACE;QAAA,6GACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA9L+B,0DAAyB;QAAzB,sFAAyB;QAGpD,0DACF;QADE,iKACF;QAGG,0DAA4B;QAA5B,8IAA4B;QAE7B,0DACF;QADE,6JACF;QAMiC,0DAAoC;QAApC,2JAAoC;QAE7D,0DACF;QADE,qKACF;QAKE,0DAA8C;QAA9C,gKAA8C;QAK9C,0DACF;QADE,yKACF;QAKE,0DAAmD;QAAnD,qKAAmD;QAQzB,0DAAkC;QAAlC,oGAAkC;QA+BlC,0DAAkC;QAAlC,oGAAkC;QAwBtD,0DAAiB;QAAjB,+EAAiB;QAyBmB,0DAAe;QAAf,6EAAe;QAK/B,0DAAiB;QAAjB,+EAAiB;QASjB,0DAAkB;QAAlB,gFAAkB;QAoBlB,0DAAkB;QAAlB,gFAAkB;QAYlB,0DAAkB;QAAlB,gFAAkB;QAarB,0DAAoB;QAApB,kFAAoB;;6FD9J9C,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;;;;;;;;;;;;;;AEzBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;AACkC;;;;AAKzD,MAAM,gBAAgB;IAM3B,YAAoB,OAA8B,EAAS,IAAgB;QAAvD,YAAO,GAAP,OAAO,CAAuB;QAAS,SAAI,GAAJ,IAAI,CAAY;QAJ3E,aAAQ,GAAQ,EAAE,CAAC;QAKjB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,0BAA0B;IAE1B,+BAA+B;IAC/B,gDAAgD;IAGhD,QAAQ;IACR,KAAK;IACL,eAAe,CACb,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,OAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;OAUF,EACD;YACE,IAAI,EAAE;gBACJ,MAAM;gBACN,IAAI;gBACJ,QAAQ;gBACR,aAAa,EAAE,GAAG;gBAClB,OAAO;aACR;SACF,CACF,CAAC;IACJ,CAAC;IAED,2BAA2B,CACzB,mBAA2B,EAC3B,qBAA6B,EAC7B,QAAgB,EAChB,MAAc,EACd,OAAe,EACf,GAAW,EACX,OAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;OASF,EACD;YACE,IAAI,EAAE;gBACJ,MAAM;gBACN,mBAAmB;gBACnB,qBAAqB;gBACrB,OAAO;gBACP,QAAQ;gBACR,aAAa,EAAE,CAAC;gBAChB,GAAG;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO;gBACP,qBAAqB,EAAE,IAAI;aAC5B;SACF,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,WAAW;QACnC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;+BACJ,WAAW;;;;;;;MAOpC,CAAC,CAAC;IACN,CAAC;IAED,uCAAuC,CACrC,mBAA2B,EAC3B,QAAgB,EAChB,MAAc,EACd,GAAW,EACX,OAAe,EACf,OAAe,EACf,qBAA8B,EAC9B,iBAA0B,EAC1B,qBAA8B,EAC9B,cAAuB,EACvB,OAAgB,EAChB,YAAoB,EACpB,WAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;OAUF,EACD;YACE,IAAI,EAAE;gBACJ,MAAM;gBACN,mBAAmB;gBACnB,qBAAqB;gBACrB,OAAO;gBACP,QAAQ;gBACR,aAAa,EAAE,GAAG;gBAClB,GAAG;gBACH,cAAc;gBACd,iBAAiB;gBACjB,OAAO;gBACP,OAAO;gBACP,qBAAqB;gBACrB,YAAY;gBACZ,WAAW;aAEZ;SACF,CACF,CAAC;IACJ,CAAC;IAED,uCAAuC,CACrC,mBAA2B,EAC3B,qBAA6B,EAC7B,QAAgB,EAChB,MAAc,EACd,OAAe,EACf,GAAW,EACX,cAAsB,EACtB,OAAe,EACf,OAAe,EACf,iBAAyB,EACzB,MAAa,EACb,YAAmB,EACnB,YAAmB,EACnB,WAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;OAUF,EACD;YACE,IAAI,EAAE;gBACJ,MAAM;gBACN,mBAAmB;gBACnB,qBAAqB;gBACrB,OAAO;gBACP,QAAQ;gBACR,aAAa,EAAE,GAAG;gBAClB,GAAG;gBACH,cAAc;gBACd,OAAO;gBACP,OAAO;gBACP,iBAAiB;gBACjB,MAAM;gBACN,YAAY;gBACZ,YAAY;gBACZ,WAAW;aAEZ;SACF,CAEF,CAAC;IAEJ,CAAC;IAED,UAAU,CAAC,KAAK;QACd,8BAA8B;QAE9B,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC/C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2DAA2D,GAAC,KAAK,GAAC,eAAe,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnI,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,8BAA8B;QAE9B,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE;aAC9B,GAAG,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC/C,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2DAA2D,GAAC,KAAK,GAAC,aAAa,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACjI,CAAC;IACD,eAAe,CAAC,SAAiB,EAAE,aAAqB,EAAE,OAAY;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;sBAGb,SAAS;0BACL,aAAa;oBACnB,OAAO;;;;;;;;;;;;;KAatB,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CACX,YAAoB,EACpB,SAAiB,EACjB,aAAqB,EACrB,OAAe,EACf,IAAY;QAEZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;OAOF,EACD;YACE,IAAI,EAAE;gBACJ,YAAY;gBACZ,SAAS;gBACT,aAAa;gBACb,OAAO;gBACP,IAAI;aACL;SACF,CACF,CAAC;IACJ,CAAC;;gFA3QU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;AACuB;;;AAY9C,MAAM,mBAAmB;IAyB9B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAtBlD,wBAAmB,GAA6B,IAAI,oDAAe,CACjE,KAAK,CACN,CAAC;QACF,6BAAwB,GAA4B,IAAI,oDAAe,CACrE,EAAE,CACH,CAAC;QACF,iBAAY,GAAkC,IAAI,oDAAe,CAC/D,SAAS,CACV,CAAC;QAIF,8BAAyB,GAA6B,IAAI,oDAAe,CACvE,KAAK,CACN,CAAC;QACF,mCAA8B,GAA4B,IAAI,oDAAe,CAC3E,EAAE,CACH,CAAC;QACF,uBAAkB,GAAwC,IAAI,oDAAe,CAC3E,SAAS,CACV,CAAC;IAIF,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;;;;KAkB9B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CACvD,CAAC,GAAyB,EAAO,EAAE;;YACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1C,IAAI,QAAQ,SAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,uCAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAC,GAAG,GAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBACzG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;aAG1D;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;KAU9B,CAAC,CAAC;IACL,CAAC;IAUD,gBAAgB,CACd,UAAU;QAEV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BF,EACD;YACE,YAAY,EAAE,UAAU;YACxB,mCAAmC;SACpC,CACF,CAAC;IACJ,CAAC;IAMH,mBAAmB;QACjB,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,SAAS,CAC1C,CAAC,GAAG,EAAO,EAAE;YAEX,IAAI,GAAG,CAAC,MAAM,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAGjB;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC1C;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAYC,uBAAuB;QACrB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,SAAS,CACnE,CAAC,GAA+B,EAAO,EAAE;YACvC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,8BAA8B,CAAC,IAAI,CACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC9B,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,oDAAe,CAAe,SAAS,CAAC,CAAC;SAClE;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,oDAAe,CAC3C,SAAS,CACV,CAAC;SACH;QACD,IAAG,IAAI,CAAC,wBAAwB,EAAC;YAC/B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxC;QACD,IAAG,IAAI,CAAC,8BAA8B,EAAC;YACrC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;;sFAzMU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACqB;AACG;AACM;AACH;AAC3B;AACa;AACM;AACb;AACI;;AAsBlD,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,mBAFd,CAAC,iEAAe,CAAC,YARnB;YACP,4DAAY;YACZ,4DAAY;YACZ,4DAAY;YACZ,yEAAY;YACZ,0DAAW;YACX,kEAAmB;SACpB;mIAGU,cAAc,mBAhBvB,sEAAiB;QACjB,gFAAiB;QACjB,mFAAkB;QAClB,yFAAoB;QACpB,sFAAmB,aAGnB,4DAAY;QACZ,4DAAY;QACZ,4DAAY;QACZ,yEAAY;QACZ,0DAAW;QACX,kEAAmB;6FAIV,cAAc;cAlB1B,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sEAAiB;oBACjB,gFAAiB;oBACjB,mFAAkB;oBAClB,yFAAoB;oBACpB,sFAAmB;iBACpB;gBACD,OAAO,EAAE;oBACP,4DAAY;oBACZ,4DAAY;oBACZ,4DAAY;oBACZ,yEAAY;oBACZ,0DAAW;oBACX,kEAAmB;iBACpB;gBACD,SAAS,EAAE,CAAC,iEAAe,CAAC;aAC7B;;;;;;;;;;;;;;AC/BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;;;;;;;;;ICApE,wEACE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,+JACF;;;;;IAII,wEAKE;IAHA,sYAA6C;IAG7C,yEACE;IAAA,4EAIc;;IACd,yEACE;IAAA,yEACE;IAAA,0EACE;IAAA,2EACG;IAAA,uDACH;;IAAA,4DAAO;IACT,4DAAM;IACN,2EACE;IAAA,4EAAsC;IAAA,wDAEpC;IAAA,4DAAO;IACX,4DAAM;IACN,2EACE;IAAA,4EAAmC;IAAA,wDAEjC;IAAA,4DAAO;IACX,4DAAM;IAEN,2EACE;IAAA,4EAMG;IAAA,wDACH;;IAAA,4DAAO;IACT,4DAAM;IACN,2EACE;IAAA,4EACE;IAAA,wDACF;;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAK;;;IAvCC,0DAAuD;IAAvD,qKAAuD;IAOhD,0DACH;IADG,wLACH;IAGsC,0DAEpC;IAFoC,sFAEpC;IAGiC,0DAEjC;IAFiC,yFAEjC;IAMA,0DAGE;IAHF,wLAGE;IACD,0DACH;IADG,iMACH;IAIE,0DACF;IADE,+JACF;;;IA3CZ,wEACE;IAAA,mIAKE;IA2CJ,qEAAe;;;IA7CX,0DAAgC;IAAhC,wFAAgC;;;ADG/B,MAAM,wBAAwB;IACnC,YACS,sBAA8C,EAC7C,QAAkB,EAClB,YAAkC;QAFnC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC7C,aAAQ,GAAR,QAAQ,CAAU;QAClB,iBAAY,GAAZ,YAAY,CAAsB;QAU5C,uBAAkB,GAAG,KAAK,CAAC;QAC3B,4BAAuB,GAAG,EAAE,CAAC;QAG7B,YAAO,GAAG,IAAI,CAAC;IAbZ,CAAC;IAeJ,QAAQ;QACN,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,0BAA0B;;QAChC,IAAI,CAAC,SAAS,SAAG,IAAI,CAAC,SAAS,uCAAI,IAAI,GAAC;QACxC,IAAI,CAAC,OAAO,SAAG,IAAI,CAAC,OAAO,uCAAI,IAAI,GAAC;IACtC,CAAC;IACD,mBAAmB;IACnB,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB;aAC9C,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;aACnE,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,gBAAG,0CAAE,IAAI,0CAAE,QAAQ,wBAAI,GAAG,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,YAAY,GAAE;gBAC5D,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM;oBACtD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY;oBAChC,CAAC,CAAC,IAAI,CAAC;aACV;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;QACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CACF,CAAC;IACN,CAAC;IACD,6BAA6B,CAAC,WAAW;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,sBAAsB;aACxB,6BAA6B,CAAC,WAAW,CAAC,aAAa,CAAC;aACxD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAC/C,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,iBAAiB,yBACpB,GAAG,0CAAE,IAAI,0CAAE,QAAQ,0CAAE,WAAW,0CAAE,SAAS,QAC3C,WAAW,0CAAE,oBAAoB,CAClC,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IACD,iBAAiB,CAAC,MAAc,EAAE,eAAe;QAC/C,MAAM,UAAU,GAAG,+BAA+B,MAAM,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,wBAAwB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC9D,eAAe,EACf,YAAY,CACb,OAAO,CAAC;QACT,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC;QAC/B,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;;gGApFU,wBAAwB;wGAAxB,wBAAwB;QCZrC,kHACE;QAGF,wEACE;QAAA,sIACE;QAiDJ,4DAAK;;QAvDe,kGAAgC;QAIhB,0DAAgC;QAAhC,uJAAgC;QACpD,0DAA+B;QAA/B,iGAA+B;;6FDOlC,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;;kBAQE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;;;;;;;;;;;;;AErBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOuB;AAI8D;;;;;;;;ICLrE,oEAAsC;IAAA,uDAG5C;IAAA,4DAAI;;;IAHwC,0DAG5C;IAH4C,2OAG5C;;;IACM,oEAAqC;IAAA,uDAG3C;IAAA,4DAAI;;;IAHuC,0DAG3C;IAH2C,yPAG3C;;;IAVF,wEACI;IAAA,sEACI;IAAA,uEAAM;IAAA,uDAAiC;;IAAA,4DAAO;IAC9C,4GAAsC;IAItC,4GAAqC;IAIzC,4DAAM;IACV,4DAAI;;;IAVU,0DAAiC;IAAjC,iJAAiC;IACpC,0DAAkC;IAAlC,6IAAkC;IAIlC,0DAAiC;IAAjC,0IAAiC;;;;;ADS7C,MAAM,eAAgB,SAAQ,kGAAgB;IAKnD,YAEU,mBAAwC,EACxC,WAAuB;QAG/B,KAAK,EAAE,CAAC;QAJA,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,gBAAW,GAAX,WAAW,CAAY;QALvB,eAAU,GAAG,IAAI,0DAAY,EAAW,CAAC;QAWnD,cAAS,GAAO,EAAE,CAAC;QACnB,eAAU,GAAS,CAAC;QAHlB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,KAAK,CAAC,WAAW,EAAE,CAAC;IACtB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,YAAY;QACV,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,SAAS,CAC7D,CAAC,QAAQ,EAAC,EAAE;YACV,gDAAgD;YAChD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,UAAU,GAAC,KAAK;QAEvB,CAAC,EACD,CAAC,KAAK,EAAC,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACI,CAAC;IACP,CAAC;;8EA/CO,eAAe;+FAAf,eAAe;QCnB5B,4EACI;QAAA,uEAAiE;QAA5B,kIAAS,qBAAiB,IAAC;QAAC,oEAAuD;QAAA,4DAAI;QAC5H,sEACI;QAAA,uGACI;QAYJ,yEAEI;QAAA,uEACI;QAAA,kEAA2B;QAC3B,uEAAuB;QAAA,uDAAc;QAAA,4DAAI;QAC7C,4DAAI;QAGJ,wEAAmG;QAAA,mEACxG;QAAA,4DAAI;QAEC,yEAA0F;QAAnB,mIAAS,YAAQ,IAAC;QAAC,oEAA6B;QAC7H,4DAAI;QACF,4DAAM;QAEN,kEAEM;QAEN,8EACF;QAD+D,wIAAS,qBAAiB,IAAC;QAC1F,mEAAa;QACf,4DAAS;QACT,4DAAM;QACV,4DAAS;;QApCoB,0DAAoB;QAApB,kFAAoB;QAelC,0DAAyB;QAAzB,wFAAyB;QAED,0DAAc;QAAd,+EAAc;QAI6B,0DAA4B;QAA5B,6IAA4B;QAW5E,0DAAkC;QAAlC,0JAAkC;;6FDhBvD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;kBAGE,mDAAK;;kBACL,oDAAM;;;;;;;;;;;;;;AEtBT;AAAA;AAAA;AAAA;AAA2C;;;AAMpC,MAAM,gBAAgB;IAE3B,YACU,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,WAAW;QACT,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB,CACd,UAAkC,EAClC,KAA0B;QAE1B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;;gFApBU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACLD;AAAA;AAAO,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IAEjB,yCAAyC;IACzC,gDAAgD;IAChD,sDAAsD;IAEtD,sBAAsB;IACtB,+CAA+C;IAC/C,qDAAqD;IAEtD,UAAU;IACT,oDAAoD;IACpD,0DAA0D;IAE1D,iDAAiD;IACjD,uDAAuD;IAGvD,kDAAkD;IAClD,wDAAwD;IAGxD,MAAM;IACJ,MAAM,EAAE,sCAAsC;IAC/C,WAAW,EAAE,uCAAuC;CAKtD,CAAC;;;;;;;;;;;;;AC9BF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAEwB;AAO7D;;;;;;;;;;;ICkEZ,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;IA/DJ,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,4EACE;IAAA,2EAA+B;IAAA,uDAE7B;;IAAA,4DAAO;IACT,uEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,0EACE;IAAA,4EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,2EACE;IAAA,6EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,2EACE;IAAA,6EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,2EACE;IAAA,6EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,2EACE;IAAA,6EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACN,2EACE;IAAA,6EACE;IAAA,4EAA+B;IAAA,wDAE7B;;IAAA,4DAAO;IACT,wEACF;IAAA,4DAAQ;IACV,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,qHACE;IAEJ,4DAAM;IACR,4DAAM;;;IA7DiC,0DAE7B;IAF6B,qJAE7B;IACiB,0DAAuC;IAAvC,gHAAuC;IAK3B,0DAE7B;IAF6B,yJAE7B;IACiB,0DAAsC;IAAtC,+GAAsC;IAK1B,0DAE7B;IAF6B,2JAE7B;IACiB,0DAA+B;IAA/B,wGAA+B;IAKnB,0DAE7B;IAF6B,oJAE7B;IACiB,0DAAuB;IAAvB,gGAAuB;IAKX,0DAE7B;IAF6B,wJAE7B;IACiB,0DAAiC;IAAjC,0GAAiC;IAKrB,0DAE7B;IAF6B,yJAE7B;IACiB,0DAAsC;IAAtC,+GAAsC;IAK1B,0DAE7B;IAF6B,uJAE7B;IACiB,0DAAgC;IAAhC,yGAAgC;IAMnC,0DAAoB;IAApB,uFAAoB;;;;IAiB1C,0EAKE;IAAA,0EACE;IACA,0EACE;IAAA,0EAQE;IAAA,mEAAgC;IAChC,uEAOA;IAAA,0EACE;IAAA,uEACE;IAAA,uDASF;;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IAIN,2EACE;IAAA,2EAQE;IAAA,oEAAgC;IAChC,wEAOA;IAAA,2EACE;IAAA,wEACE;IAAA,wDASF;;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IAKN,2EACE;IAAA,2EAQE;IAAA,oEAAgC;IAChC,wEAOA;IAAA,2EACE;IAAA,wEACE;IAAA,wDASF;;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAM;IACR,4DAAM;IAGR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,8EAKE;IAHA,4TAAoB;IAGpB,wDACF;;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA3HJ,kGAAgC;IAQ1B,0DAIC;IAJD,yKAIC;IAYG,0DASF;IATE,+YASF;IAUF,0DAIC;IAJD,yKAIC;IAYG,0DASF;IATE,iZASF;IAWF,0DAIC;IAJD,4KAIC;IAYG,0DASF;IATE,8ZASF;IAeF,0DACF;IADE,6KACF;;;IAOV,qEAAwE;;ADvMvE,MAAM,iBACX,SAAQ,kGAAgB;IAUxB,YAAY;IAEZ,wBAAwB;IAExB,YACU,mBAAwC,EACxC,yBAAsC,EACvC,eAAiC,EAChC,WAAwB,EACxB,MAAc,EACd,YAAkC,EAClC,QAAiB;QAEzB,KAAK,EAAE,CAAC;QARA,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,8BAAyB,GAAzB,yBAAyB,CAAa;QACvC,oBAAe,GAAf,eAAe,CAAkB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAsB;QAClC,aAAQ,GAAR,QAAQ,CAAS;QAnB3B,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QAGzB,mBAAmB;QACZ,uBAAkB,GAAY,KAAK,CAAC;IAiB3C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB;IAEjB,uBAAuB;IAChB,oBAAoB;QACzB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;IACH,CAAC;IAED,0BAA0B;IAChB,gBAAgB;QACxB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;YAC7D,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,WAAW,EAAE;gBACX,EAAE;gBACF;oBACE,yDAAU,CAAC,QAAQ;oBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvB,yDAAU,CAAC,OAAO,CAAC,qCAAqC,CAAC;iBAC1D;aACF;YACD,cAAc,EAAE,CAAC,EAAE,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IACnD,aAAa,CAAC,cAA+B;QACnD,OAAO,CAAC,WAAwB,EAAE,EAAE;YAClC,OAAO,WAAW,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK;gBAC/C,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;gBAC9B,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,CAAC;IACJ,CAAC;IAED,2CAA2C;IACnC,oBAAoB;QAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;YAChE,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAElC,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE;gBACJ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc;qBAChE,KAAK;gBACR,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC/D,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;aAChE;SACF,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW;aACtC,uBAAuB,CAAC,aAAa,CAAC;aACtC,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YACjC,UAAI,GAAG,CAAC,IAAI,0CAAE,cAAc,EAAE;gBAC5B,IAAI,CAAC,YAAY,CAAC,aAAa,CAC7B,sCAAsC,CACvC,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;iBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,QAAC,GAAG,CAAC,IAAI,0CAAE,cAAc,GAAE;gBAClD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,eACE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;oBAC3B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;oBAC/B,CAAC,CAAC,eACN,EAAE,CACH,CAAC;aACH;QACH,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAC/D,CAAC,CACF,CAAC;IACN,CAAC;IAED,YAAY;IAEZ,WAAW;QACT,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACtC;IACH,CAAC;IAED,QAAQ;IACR,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;kFArKU,iBAAiB;iGAAjB,iBAAiB;QCtB9B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,wDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,iHACE;QAkEF,0EACE;QAAA,0EAIE;QAFA,uIAAS,0BAAsB,IAAC;QAEhC,yEACE;QAAA,wDACF;;QAAA,4DAAK;QAEL,mEAA4B;QAC9B,4DAAM;QACN,kHAKE;QAyHJ,4DAAM;QACR,4DAAM;QAEN,gHAAkE;QACpE,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA3NI,0DACF;QADE,kKACF;QAKI,0DACF;QADE,wKACF;QAE+B,0DAAoB;QAApB,kFAAoB;QAyE/C,0DACF;QADE,6KACF;QAOA,0DAA0B;QAA1B,wFAA0B;QA8HkB,0DAAe;QAAf,6EAAe;;6FDvM1D,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEpBD;AAAA;AAAA;AAAqF;AAI9E,MAAM,YAAa,SAAQ,kGAAgB;IAAlD;;QAEE,2BAAsB,GAAY,IAAI,CAAC;QACvC,YAAO,GAAY,KAAK,CAAC;IAmC3B,CAAC;IA7BC,kBAAkB,CAChB,gBAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,OAAe,EACf,IAAY,EACZ,QAAQ;QAER,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAAA,EAAE;QACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,gBAAgB;aACvC,eAAe,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;aACjD,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;YACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;IACH,CAAC;CACF;;;;;;;;;;;;;AC3CD;AAAA;AAAA;AAAA;AAAkD;;;AAO3C,MAAM,sBAAsB;IAE1B,iBAAiB;QACtB,MAAM,GAAG,GAAG,2BAA2B,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;;4FALU,sBAAsB;sGAAtB,sBAAsB;QCPnC,4EACI;QAAA,yEACI;QAAA,uEAAiD;QAAA,oEAAuD;QAAA,4DAAI;QAE5G,sEACI;QAAA,uEACI;QAAA,yEACI;QAAA,4EAAgC;QAAA,+DAAI;QAAA,4DAAS;QACjD,4DAAM;QACV,4DAAI;QACJ,yEACI;QAAA,6EACN;QADc,+IAAS,uBAAmB,IAAC;QAC3C,6EACF;QAAA,4DAAS;QACL,4DAAM;QACN,qEAEM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAS;;6FDbI,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;AACtD;;;;AAS7B,MAAM,+BAA+B;IAyB1C,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAvB/C,gBAAW,GAAW,MAAM,CAAC;QAE/B,0BAAqB,GAAG,qBAAqB,CAAC;QAI9C,4BAAuB,GAAG,uBAAuB,CAAC;QAYjD,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;QAExB,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAClD,qBAAgB,GAAG,IAAI,0DAAY,EAAU,CAAC;IAEG,CAAC;IAE5D,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IACD,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAEM,qBAAqB;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC;gBAC3C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,QAAQ;aACtB,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IACM,wBAAwB;QAC7B,IAAI,IAAI,GAAQ,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;gBAChD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,UAAU;aACxB,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IAEM,UAAU,CAAC,IAAgB;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,+BAA+B;QAC/B,2BAA2B;IAC7B,CAAC;IACO,YAAY,CAAC,EAAE;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IACD,4CAA4C;IAC5C,iCAAiC;IACjC,qCAAqC;IACrC,IAAI;IACI,cAAc,CAAC,EAAE;;QACvB,MAAM,cAAc,SAAG,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAC,oBAAM,0CAAE,EAAE,MAAK,EAAE,IAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,aAAC,cAAc,0CAAE,IAAI,uCAAE,IAAI,GAAC,CAAC;IACzD,CAAC;IACM,aAAa,CAAC,MAAM;QACzB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACM,UAAU;QACf,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IACM,SAAS;QACd,mCAAmC;QACnC,wCAAwC;QACxC,0CAA0C;QAE1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IACM,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IACD,4CAA4C;IAC5C,qEAAqE;IACrE,4BAA4B;IAC5B,gCAAgC;IAChC,uCAAuC;IACvC,QAAQ;IACR,IAAI;IACJ,mDAAmD;IACnD,4EAA4E;IAC5E,uCAAuC;IACvC,QAAQ;IACR,IAAI;IACJ,iDAAiD;IACjD,8EAA8E;IAC9E,kCAAkC;IAClC,kFAAkF;IAClF,QAAQ;IACR,IAAI;IACJ,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACtD,IAAG,CAAC,KAAK;gBAAE,OAAO;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE/B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAG,KAAK;gBAAE,IAAI,CAAC,qBAAqB,GAAG,+BAA+B,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC;;8GA9HU,+BAA+B;+GAA/B,+BAA+B;QCV5C,yEACI;QAAA,yEACI;QAAA,gFAAyM;QAAjD,+KAAgB,sBAAkB,IAAC;QAAC,4DAAa;QAC7M,4DAAM;QACV,4DAAM;;QAFc,0DAAqC;QAArC,kGAAqC;;6FDQ5C,+BAA+B;cAL3C,uDAAS;eAAC;gBACT,QAAQ,EAAE,+BAA+B;gBACzC,WAAW,EAAE,4CAA4C;gBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;aAC1D;;kBAGE,mDAAK;;kBAoBL,oDAAM;;kBACN,oDAAM;;;;;;;;;;;;;;AEjCT;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;ICC7E,yEAKE;IAFA,qVAAkB,UAAU,eAAO;IAEnC,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,oFACF;;;;IAEA,yEAME;IAHA,qVAAkB,SAAS,eAAO;IAGlC,uDACA;IAAA,yEACE;IAAA,oEAA6B;IAC7B,oEAA4B;IAC5B,oEAA8B;IAC9B,oEAA8B;IAChC,4DAAM;IAEN,0EACE;IAAA,uDACF;IAAA,4DAAM;IAEN,6EAAkE;IAApC,4UAAmC;IAAC,6DAAC;IAAA,4DAAS;IAC9E,4DAAM;;;;IAfJ,uGAAgC;IAEhC,0DACA;IADA,oFACA;IAA+B,0DAA4B;IAA5B,mGAA4B;IAOjC,0DAAuC;IAAvC,8GAAuC;IAC/D,0DACF;IADE,oHACF;;;;IAKF,yEAKE;IAFA,qVAAkB,MAAM,eAAO;IAE/B,uDACF;IAAA,4DAAM;;;IADJ,0DACF;IADE,oFACF;;AD5BK,MAAM,oBAAoB;IAY/B,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAFvB,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;IAEV,CAAC;IAErC,QAAQ;IAER,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,IAAI;QAClB,MAAM,IAAI,GAAG;YACX,KAAK;YACL,IAAI;SACL,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,GAAG;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAED,WAAW,CAAC,IAAI;QACd,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE;wBACxD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;qBACjD;iBACF;aACF;SACF;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,qBAAqB,CAAC,IAAI;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,OAAO,YAAY,CAAC,SAAS,CAAC;iBAC/B;aACF;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,IAAI;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE;oBAC1C,IAAI,IAAI,CACN,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CACL,CAAC,OAAO,EAAE,EACX;oBACA,OAAO,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;iBAC1C;aACF;SACF;IACH,CAAC;IAED,uBAAuB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;;wFAzFU,oBAAoB;oGAApB,oBAAoB;QCRjC,yEACE;QAAA,gHAKE;QAGF,iHAME;QAeF,gHAKE;QAEJ,4DAAM;;QAlCF,0DAAoC;QAApC,yFAAoC;QAQpC,0DAAsC;QAAtC,2FAAsC;QAqBtC,0DAAoC;QAApC,yFAAoC;;6FDxB3B,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;kBAGE,mDAAK;;kBAEL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,mDAAK;;kBAEL,oDAAM;;;;;;;;;;;;;;AElBT;AAAA;AAAA;AAAA;AAA2C;;;AAOpC,MAAM,gBAAgB;IAC3B,YAAoB,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;IAErD,CAAC;IACD,+BAA+B;IAC/B,iHAAiH;IAC1G,yBAAyB,CAAC,KAAsB;QACrD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAChB,OAAO,IAAI,QAAQ,CAAC;SACrB;QAED,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YAClC,OAAO,IAAI,UAAU,CAAC;SACvB;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,OAAO,IAAI,WAAW,CAAC;SACxB;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sEAAsE;IAC/D,oCAAoC,CAAC,KAAsB;QAChE,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC1B,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,CAAC,GAAC,GAAG,GAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;aACnI;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC/B,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;aACzF;iBAAM,IAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAC;gBACxC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;aAC1F;SACF;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;;gFAnCU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;;;;;;IC8EjE,yEACE;IAAA,wEAGG;IADD,iVAAqB,KAAK,KAAE;IAC3B,uDAAgD;;IAAA,4DAClD;IACH,4DAAK;;;IAJD,0DAAuC;IAAvC,oKAAuC;IAEtC,0DAAgD;IAAhD,gKAAgD;;;IAMzD,sEACE;IAAA,yEACE;IAAA,uDACF;;IAAA,4DAAK;IACL,0EACE;IAAA,sFAIwB;IAC1B,4DAAM;IACR,4DAAM;;;IATF,0DACF;IADE,2KACF;IAGI,0DAAkB;IAAlB,2EAAkB;;;IAOxB,sEACE;IAAA,yEACE;IAAA,uDACF;;IAAA,4DAAK;IACL,0EACE;IAAA,uFAEyB;IAC3B,4DAAM;IACR,4DAAM;;;IAPF,0DACF;IADE,2KACF;IAGI,0DAAuB;IAAvB,yFAAuB;;;;IA7CvB,0EACI;IAAA,0EACI;IAAA,qEACI;IAAA,yEACI;IAAA,wEAAsE;IAA5B,4UAAqB,IAAI,KAAE;IAAC,uDAAyC;;IAAA,4DAC9H;IACH,4DAAK;IAUL,0IACE;IAMJ,4DAAK;IACP,4DAAM;IAEN,4IACE;IAYF,4IACE;IASJ,4DAAM;;;IA7CqB,0DAAsC;IAAtC,mKAAsC;IAA6B,0DAAyC;IAAzC,yJAAyC;IAY7G,0DAAiB;IAAjB,oFAAiB;IAUpC,0DAAiE;IAAjE,sJAAiE;IAajE,0DAAkE;IAAlE,uJAAkE;;;IAxCrE,qEACI;IAAA,uIACI;IAiDd,4DAAK;;;;IAlDuB,0DAAqD;IAArD,6HAAqD;;;;IA1C/E,yEACI;IAAA,wEACI;IADgB,sXAA+B;IAC/C,yEACI;IAAA,yEACI;IAAA,uDACJ;;IAAA,4DAAM;IACN,sEACI;IAAA,sEACI;IAAA,2EAAmB;IAAA,uDAAsB;IAAA,4DAAO;IAChD,4EAA0B;IAAA,wDAA2B;IAAA,4DAAO;IAChE,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,0EACI;IAAA,0EAAuB;IAAA,wDAAoC;;IAAA,4DAAM;IACjE,4EAA2B;IAAA,wDACrC;;IAAA,4DAAO;IACD,4DAAM;IACN,0EACI;IAAA,0EAAuB;IAAA,wDAAoC;;IAAA,4DAAM;IACjE,4EAA2B;IAAA,wDAGrC;;IAAA,4DAAO;IACD,4DAAM;IACN,0EACI;IAAA,0EAAuB;IAAA,wDAAsC;;IAAA,4DAAM;IACnE,4EAA2B;IAAA,wDAEnC;;IAAA,4DAAO;IACH,4DAAM;IACN,0EACI;IAAA,yEAAO;IAAA,gEAAI;IAAA,4DAAQ;IAEvB,4DAAM;IACV,4DAAK;IAML,gIACI;IAqDZ,4DAAM;;;;IA/F0D,4KAAyC;IAIrF,0DACJ;IADI,uKACJ;IAG2B,0DAAsB;IAAtB,sFAAsB;IACf,0DAA2B;IAA3B,2FAA2B;IAKtC,0DAAoC;IAApC,sJAAoC;IAChC,0DACrC;IADqC,gMACrC;IAGiC,0DAAoC;IAApC,sJAAoC;IAChC,0DAGrC;IAHqC,sMAGrC;IAGiC,0DAAsC;IAAtC,wJAAsC;IAClC,0DAEnC;IAFmC,kMAEnC;IAYI,0DAAsB;IAAtB,yFAAsB;;;IAwDpC,yEACE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,8JACF;;AD7GK,MAAM,4BAA4B;IAgBvC,YAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAXtD,mBAAc,GAAG,IAAI,CAAC;QACtB,cAAS,GAAG,EAAE,CAAC;IAYf,CAAC;IAGD,QAAQ;QAEN,mCAAmC;QAEnC,0CAA0C;IAE9C,CAAC;IAEQ,cAAc;;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB;aAClB,qBAAqB,OAAC,IAAI,CAAC,cAAc,0CAAE,aAAa,CAAC;aACzD,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;;YACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,eAAG,GAAG,0CAAE,IAAI,0CAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC,CACF,CAAC;IACN,CAAC;IAED,WAAW,CAAC,OAAO;QACjB,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI,OAAO,GAAQ,IAAI,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAC5C,CAAC,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,WAAW,CAAC,cAAc;QACxB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,YAAY,CAAC,GAAG;QAEd,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,GAAQ;QACf,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;gBACnD,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;wGA1EU,4BAA4B;4GAA5B,4BAA4B;QCVzC,yEACI;QAAA,wEACI;QAAA,wEACI;QAAA,yEACI;QAAA,uEAAM;QAAA,uDAA2C;;QAAA,4DAAO;QAC5D,4DAAM;QACN,yEACI;QAAA,uEAAM;QAAA,uDAAoC;;QAAA,4DAAO;QACrD,4DAAM;QACN,0EACI;QAAA,wEAAM;QAAA,wDAAoC;;QAAA,4DAAO;QACrD,4DAAM;QACN,0EACI;QAAA,wEAAM;QAAA,wDAAsC;;QAAA,4DAAO;QACvD,4DAAM;QAEN,qEAAoD;QAExD,4DAAK;QAEL,4HACI;QA+FV,4DAAK;QACL,wHACE;QAEJ,4DAAM;;QApHgB,0DAA2C;QAA3C,2JAA2C;QAG3C,0DAAoC;QAApC,qJAAoC;QAGpC,0DAAoC;QAApC,sJAAoC;QAGpC,0DAAsC;QAAtC,wJAAsC;QAOzB,0DAAgC;QAAhC,iFAAgC;QAiG7C,0DAA4D;QAA5D,kIAA4D;;6FD3GrE,4BAA4B;cALxC,uDAAS;eAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,WAAW,EAAE,wCAAwC;gBACrD,SAAS,EAAE,CAAC,wCAAwC,CAAC;aACtD;;kBAEE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;;;;;;;;;;;;;AEbR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;;;;;;;;;ICsDJ,uEAEG;IAAA,uDAA+C;;IAAA,4DACjD;;IADE,0DAA+C;IAA/C,+JAA+C;;;IAElD,uEAEG;IAAA,uDAA0C;;IAAA,4DAC5C;;IADE,0DAA0C;IAA1C,0JAA0C;;;IAUjD,0EACE;IAAA,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC7B,4DAAM;;;IADA,0DAAkB;IAAlB,sFAAkB;;;IAQlC,qEAAwE;;;;IAK9E,uFAMoB;IAHlB,yWAA4B,KAAK,IAAC;IAGnC,4DAAmB;;;IALlB,+FAA6B;;;;AD3ExB,MAAM,kCAAkC;IAiB7C,YACU,eAAiC,EACjC,MAAc,EACd,WAAwB;QAFxB,oBAAe,GAAf,eAAe,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QAXlC,YAAO,GAAG,KAAK,CAAC;QAEhB,iBAAY,GAAG,EAAE,CAAC;QAElB,iBAAY,GAAW,qDAAqD,CAAC;QAE7E,oBAAe,GAAG,KAAK,CAAC;IAMrB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SACzC;IACH,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAChD,aAAa,EAAE,IAAI,0DAAW,CAC5B,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC7B;gBACE,UAAU,EAAE;oBACV,yDAAU,CAAC,QAAQ;oBACnB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;iBACzB;aACF,CACF;YACD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CACtD,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CACvC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,CACzB,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACpB,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB;gBAChE,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBAC9D,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;aACnD;SACF,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe;aACtC,qBAAqB,CAAC,cAAc,CAAC;aACrC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACpB,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,wBAAwB;gBAChE,UAAU,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBAC/D,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;aACzB;SACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe;aACzC,qBAAqB,CAAC,cAAc,CAAC;aACrC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CACnD,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CACpD,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;aACxC,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;aAChD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC3C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;IACH,CAAC;;oHAtKU,kCAAkC;kHAAlC,kCAAkC;QChB/C,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAyC;;QAAA,4DAAK;QAErE,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,wEAOF;;QAAA,4DAAM;QACN,2EACE;QAAA,wEASF;;QAAA,4DAAM;QACN,2EACE;QAAA,8EAKA;QAFE,2JAAS,gBAAY,IAAC;QAExB,wDACA;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,8EAOE;QAFA,2JAAS,qBAAiB,IAAC;QAE3B,oEAA4B;QAC5B,mIAEG;QAEH,mIAEG;QAEL,4DAAS;QACX,4DAAM;QACN,2EACE;QAAA,8EACE;QADuB,2JAAS,0BAAsB,IAAC;QACvD,oEAA4B;QAC5B,wEAAM;QAAA,wDAAsC;;QAAA,4DAAO;QACrD,4DAAS;QACX,4DAAM;QACN,iIACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QAEN,iIAAkE;QACpE,4DAAM;QACR,4DAAO;QACT,4DAAM;QAEN,2JAMC;;QA5F8B,0DAAyC;QAAzC,0JAAyC;QAG1C,0DAA6B;QAA7B,8IAA6B;QAE/C,0DACF;QADE,iKACF;QAMqB,0DAAiC;QAAjC,8FAAiC;QAO5C,0DAAwC;QAAxC,0JAAwC;QASxC,0DAAmD;QAAnD,qKAAmD;QAarD,0DACA;QADA,iKACA;QAQE,0DAEE;QAFF,8LAEE;QAKA,0DAAqD;QAArD,mHAAqD;QAIrD,0DAAsD;QAAtD,oHAAsD;QAQlD,0DAAsC;QAAtC,wJAAsC;QAG1B,0DAAoB;QAApB,kFAAoB;QASF,0DAAe;QAAf,6EAAe;QAOrE,0DAAuB;QAAvB,qFAAuB;;6FD5EZ,kCAAkC;cAL9C,uDAAS;eAAC;gBACT,QAAQ,EAAE,kCAAkC;gBAC5C,WAAW,EAAE,+CAA+C;gBAC5D,SAAS,EAAE,CAAC,+CAA+C,CAAC;aAC7D;;;;;;;;;;;;;;AEZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAQrC;AAUyB;AAKV;;;;;;;;;;;;;;;;ICkCvB,0EAGI;IAAA,0EACI;IAAA,0EACI;IAAA,2EAAmB;IAAA,uDAAgC;;IAAA,4DAAO;IAC1D,2EAA0B;IAAA,uDAA2B;IAAA,4DAAO;IAChE,4DAAM;IAWV,4DAAM;IACV,4DAAM;;;IAdyB,0DAAgC;IAAhC,gJAAgC;IACzB,0DAA2B;IAA3B,+FAA2B;;;IAqE7D,0EACI;IAAA,wEACI;IAAA,uDACA;;IAAA,uEAAM;IAAA,uDAAwC;;IAAA,4DAAO;IACzD,4DAAI;IACR,4DAAM;;;IAHE,0DACA;IADA,0JACA;IAAM,0DAAwC;IAAxC,wMAAwC;;;;IAIlD,yEACI;IAAA,0EACI;IAAA,0EACI;IAAA,sFAMkB;IAD2C,oXAA+B;IAC5F,4DAAkB;IACtB,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IATuB,0DAKpC;IALoC,kMAKpC;;;IATG,0EACI;IAAA,0IACI;IAYR,4DAAM;;;IAb2B,0DAAyD;IAAzD,gLAAyD;;;IAc1F,qEAA6E;;;IAxBjF,wEAGI;IAAA,oIACI;IAKJ,oIACI;IAcJ,oIAAuE;IAC3E,qEAAe;;;IAtBa,0DAA6B;IAA7B,gGAA6B;IAMnB,0DAA6B;IAA7B,gGAA6B;IAevB,0DAA8B;IAA9B,iGAA8B;;;IAG1E,qEAAwE;;;;IAMpE,0EACI;IAAA,6EACd;IAD8C,sUAAyB;IACvE,uDACF;;IAAA,4DAAS;IACG,4DAAM;;;IAHwD,0DAAwC;IAAxC,0GAAwC;IAChH,0DACF;IADE,2JACF;;;IAOY,wEAAkC;IAAA,uDAEhC;;IAAA,qEAAe;;IAFiB,0DAEhC;IAFgC,gJAEhC;;;IACF,wEAAgC;IAAA,uDAG9B;;IAAA,qEAAe;;IAHe,0DAG9B;IAH8B,sJAG9B;;;;IAPE,6EACJ;IAD0F,iUAAoB,KAAK,KAAE;IACrH,gJAAkC;IAGlC,gJAAgC;IAIlC,4DAAS;;;IAR+G,0GAAwC;IAChJ,0DAAkB;IAAlB,oFAAkB;IAGlB,0DAAiB;IAAjB,oFAAiB;;;;IAW3B,6EAAoI;IAA5D,kUAAkB;IAA0C,kEAG1I;IAAA,4DAAS;;;IAHwF,0GAAwC;;;;;IAOnI,6EACd;IADyK,wUAAoB,IAAI,KAAE;IACnM,uDACF;;IAAA,4DAAS;;;IAF+E,0GAAwC;IAC9H,0DACF;IADE,0KACF;;;IAHY,0EACI;IAAA,iIACd;IAEU,4DAAM;;;IAHyC,0DAA4B;IAA5B,+FAA4B;;;IAKvE,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,mLACJ;;;ADvKjB,MAAM,uBAAyB,SAAQ,4DAAY;IA2GxD,YACU,mBAAwC,EACxC,KAAqB,EACrB,WAAwB,EACxB,MAAc,EACd,mBAAwC,EACxC,gBAAkC,EAClC,eAAiC,EACjC,eAAiC,EACjC,YAAkC,EAClC,gBAAkC,EAClC,MAAqB;QAE7B,KAAK,EAAE,CAAC;QAZA,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,UAAK,GAAL,KAAK,CAAgB;QACrB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAkB;QACjC,oBAAe,GAAf,eAAe,CAAkB;QACjC,iBAAY,GAAZ,YAAY,CAAsB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAe;QAtE/B,SAAI,GAAW,CAAC,CAAC;QAEjB,WAAM,GAAG,CAAC,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,YAAO,GAAW,EAAE,CAAC;QACrB,eAAU,GAAS,EAAE,CAAC;QACtB,qBAAgB,GAAY,KAAK,CAAC;QAElC,YAAO,GAAY,IAAI,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAEhC,sBAAiB,GAAY,IAAI,CAAC;QAClC,oBAAe,GAAY,IAAI,CAAC;QAChC,eAAU,GAAS,CAAC,CAAC;QACrB,WAAM,GAAQ,CAAC,CAAC;QAQhB,yBAAoB,GAAY,KAAK,CAAC;QAItC,oBAAe,GAAW,mBAAmB,CAAC;QAE9C,cAAS,GAAY,KAAK,CAAC;QAG3B,0BAAqB,GAAG,KAAK,CAAC;QAE9B,0BAAqB,GAAG,KAAK,CAAC;QAY9B,gCAA2B,GAAG,KAAK,CAAC;QAKpC,4BAAuB,GAAG,EAAE,CAAC;QAC7B,iBAAY,GAAW,EAAE,CAAC;QAE1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;IAmB1B,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAErC,mCAAmC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBAEP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAGC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACxC,yCAAyC;QAC7C,iDAAiD;QAC/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,eAAe,GAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,UAAU,GAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACzD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;QACnE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;QACvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC;QAC3E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAEpC,4CAA4C;QAC5C,MAAM;QAIN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClD,aAAa,EAAE,IAAI,0DAAW,EAAE;YAChC,IAAI,EAAE,IAAI,0DAAW,EAAE;YACvB,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,sDAAsD;YACtD,IAAI,EAAE,IAAI,0DAAW,EAAE;YACvB,MAAM,EAAE,IAAI,0DAAW,EAAE;YACzB,WAAW,EAAE,IAAI,0DAAW,EAAE;YAC9B,eAAe,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB;aAC/C,GAAG,CAAC,eAAe,CAAC;aACpB,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAEH,qBAAqB;IAErB,sCAAsC;IACtC,oCAAoC;IACpC,0CAA0C;IAC1C,+CAA+C;IAC/C,iDAAiD;IACjD,mDAAmD;IAEnD,4CAA4C;IAG5C,KAAK;IAIH,gBAAgB,CAAC,SAAS;QACxB,IACE,SAAS,CAAC,MAAM,KAAK,EAAE;YACvB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjD;YACA,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,eAAe,KAAK,mBAAmB,EAAE;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;qBACxC,sBAAsB,CAAC,SAAS,CAAC;qBACjC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IACE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,EAC7D;wBACA,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;4BACpC,GAAG;4BACH,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;wBACtC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBACzD;yBAAM,IAAI,GAAG,CAAC,MAAM,EAAE;wBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;4BACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBAC9C;qBACF;gBACH,CAAC,CAAC,CAAC;aACN;SACF;IACH,CAAC;IAKH,WAAW;QACT,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAC,YAAY;IAEhC,CAAC;IAGC,WAAW;QACT,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACvE,IAAG,eAAe,KAAG,OAAO,EAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,wBAAwB;SAC7C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,gBAAgB;SACrC;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,4BAA4B;SACjD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,eAAe;SACpC;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,sBAAsB;SAC3C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,yBAAyB;SAC9C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,wBAAwB;SAC7C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,oCAAoC;SACzD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,0BAA0B;SAC/C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,mCAAmC;SACxD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qBAAqB;SAC1C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,6BAA6B;SAClD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,6BAA6B;SAClD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,uCAAuC;SAC5D;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qCAAqC;SAC1D;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,mCAAmC;SACxD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qBAAqB;SAC1C;aACG;YACF,IAAI,CAAC,YAAY,GAAG,kBAAkB;SACvC;IACH,CAAC;IAID,sBAAsB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACvE,MAAM,cAAc,GAAG,OAAO,CAAC;QAC/B,IAAI,eAAe,KAAK,cAAc,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;IACH,CAAC;IACD,oBAAoB,CAAC,SAAS;QAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,OAAO,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAC9D,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;gBACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,SAAS,EAAE,CAAC,CAAC,IAAI;YACjB,SAAS,EAAE,CAAC,CAAC,wBAAwB;SACtC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,WAAW;IACX,cAAc;QACZ,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAClE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;QAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;IACD,uBAAuB;QACrB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACjE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC/D;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG;YACvB,SAAS,EAAE,kBAAkB;YAC7B,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,uBAAuB,CAAC,KAAe;QACrC,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAmB;QACnC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,2DAA2D;QAC3D,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC;IACD,iCAAiC,CAAC,OAAO;QACvC,MAAM,QAAQ,GAAQ,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAC7C,CAAC;QACF,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAI,SAAS,GAAG,MAAM;YAAE,SAAS,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YACvD,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,GAAG,CAAC,SAAS,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,eAAe,CAAC,KAAiB;QAC/B,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CACjC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CACrE,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,oBAAoB,CAAC,QAAQ;QAC3B,IACE,QAAQ;YACR,QAAQ,CAAC,wBAAwB;YACjC,QAAQ,CAAC,WAAW;YACpB,QAAQ,CAAC,IAAI,IAAI,UAAU,EAC3B;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qBAAqB,CAAC,cAAc;QAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,6CAA6C;IAC7C,sBAAsB;IACtB,qEAAqE;IACrE,aAAa;IACb,+DAA+D;IAC/D,MAAM;IACN,IAAI;IACJ,wBAAwB,CAAC,QAAgB;QACvC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC7C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EACrD;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,qCAAqC;QACnC,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACrD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EACvD;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,+BAA+B,CAAC;SACxD;QAED,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,eAAe,EACpB,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,YAAY;QAEvB,IAAG,IAAI,CAAC,IAAI,IAAE,CAAC,EAAC;YACd,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,eAAe,EACpB,CAAC,IAAI,CAAC,aAAa,EACnB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;SAEH;aAAI;YAIP,IAAG,IAAI,CAAC,wBAAwB,IAAE,IAAI,EAAC;gBACrC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;qBAChD,uCAAuC,CACtC,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,4BAA4B,EACjC,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,EACxB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAG/B,iCAAiC;gBACjC,sBAAsB;gBAEtB,4BAA4B;iBAK7B;qBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;oBAEtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;wBACF,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;yBAAM,IAAI,GAAG,CAAC,IAAI,EAAE;wBACnB,IACE,sBAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,MAAM,MAAK,SAAS,WACpD,GAAG,0CAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAChC;4BACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;4BACtD,6BAA6B;4BAC7B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;yBAC3F;6BAAM,IACL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;4BACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAExC;4BACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;4BAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;yBAChH;6BAEI;4BACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;yBACnE;qBACF;oBACD,IAAI,CAAC,oBAAoB;wBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BACpC,CAAC,CAAC,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;gBAKJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;aAI9B;iBAAI;gBACH,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;qBAChD,uCAAuC,CACtC,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,4BAA4B,EACjC,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAC1B,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,mBAAmB,EACxB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAIhC;qBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;oBAEtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;wBACF,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;yBAAM,IAAI,GAAG,CAAC,IAAI,EAAE;wBACnB,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;4BACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;4BACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;4BACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;yBAC3F;6BAAM,IACL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;4BACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAExC;4BACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;4BAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;yBAChH;6BAEI;4BACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;yBACnE;qBACF;oBACD,IAAI,CAAC,oBAAoB;wBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BACpC,CAAC,CAAC,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;gBAKJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;aAE9B;SAEE;QAMC,yDAAyD;QACzD,+BAA+B;QAC/B,2BAA2B;QAC3B,yCAAyC;QACzC,uCAAuC;QAEvC,wBAAwB;QACxB,QAAQ;QACR,aAAa;QACb,+DAA+D;QAC/D,gDAAgD;QAChD,QAAQ;QACR,MAAM;QACN,WAAW;QACX,uCAAuC;QACvC,2BAA2B;QAC3B,0DAA0D;QAC1D,uCAAuC;QAEvC,wBAAwB;QACxB,QAAQ;QACR,aAAa;QACb,+DAA+D;QAC/D,4BAA4B;QAC5B,0CAA0C;QAC1C,0EAA0E;QAC1E,qBAAqB;QACrB,+CAA+C;QAC/C,sEAAsE;QACtE,eAAe;QACf,cAAc;QACd,yCAAyC;QACzC,kCAAkC;QAClC,kDAAkD;QAClD,mBAAmB;QACnB,gCAAgC;QAChC,YAAY;QACZ,iBAAiB;QACjB,kDAAkD;QAClD,UAAU;QACV,QAAQ;QACR,MAAM;QACN,IAAI;IACN,CAAC;IAED,UAAU,CAAC,KAAK;QAGd,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACnE,IAAG,GAAG,CAAC,KAAK,EAAC;gBACX,2BAA2B;aAC5B;iBAAI;gBACH,mBAAmB;aACpB;QACH,CAAC,CAAC;IACJ,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACrE,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAG,GAAG,CAAC,KAAK,EAAC;gBACX,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;aAC5D;iBAAI;gBACH,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC;IACJ,CAAC;IAGD,6BAA6B;QAC5B,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAClD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,eAAe;YAC7C,wCAAwC;QAE1C,CAAC,CACF,CAAC;QAEJ,iEAAiE;QACjE,0BAA0B;QAC1B,0BAA0B;QAC1B,QAAQ;QACR,OAAO;QAEP,sEAAsE;QACtE,yBAAyB;QACzB,0BAA0B;QAC1B,QAAQ;QACR,OAAO;IACP,CAAC;IAMD,+BAA+B;QAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IACE,IAAI,CAAC,eAAe,KAAK,mBAAmB;YAC5C,IAAI,CAAC,eAAe,KAAK,+BAA+B,EACxD;YACA,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAEnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;iBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EACjD,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB;gBAChD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAC3D,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAClD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAC7C;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBACtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAErB,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAChC,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,QAAQ;wBAChD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;wBACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;wBACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;qBAC3F;yBAAM,IAEL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EACxC;wBACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;qBAEhH;yBACI;wBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;qBACnE;iBACF;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;gBACD,IAAI,CAAC,oBAAoB;oBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBACpC,CAAC,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACN;aAAM,IAAI,IAAI,CAAC,eAAe,KAAK,mBAAmB,EAAE;YACvD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,kCAAkC;YAClC,kCAAkC;YAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;iBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB;gBAChD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAC3D,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EACjD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EACpD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,CAEhB;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBAEtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;qBAAM,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;wBACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;wBACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;qBAC3F;yBAAM,IACL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAExC;wBACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;qBAChH;yBAEI;wBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;qBACnE;iBACF;gBACD,IAAI,CAAC,oBAAoB;oBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBACpC,CAAC,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,2BAA2B;;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,UAAI,IAAI,CAAC,gBAAgB,0CAAE,wBAAwB,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE;oBACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IACE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EACtE;oBACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,qBAAqB;aACvB,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,wBAAwB,EACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACzD,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACpD,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;aACtE;SACF,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,mBAAmB,CAAC,QAAQ,CAAC;aAC7B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,+BAA+B,EAAE,CAAC;aACxC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACvD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C;gBACA,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C;gBACA,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAChC,KAAK,CAAC,0BAA0B,EAAE,CAAC;QACnC,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,CACxD,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;8FAljCU,uBAAuB;uGAAvB,uBAAuB;QCpCpC,yEACI;QAAA,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEACI;QAAA,qFACJ;QAAA,4DAAK;QACT,4DAAM;QACN,yEACI;QAAA,uEACI;QAAA,qEAA2C;QAAC,uDAChD;;QAAA,4DAAI;QACR,4DAAM;QAEN,0EACI;QAAA,0EACI;QAAA,0EACI;QAAA,2EACI;QAAA,2EACI;QAAA,qGACJ;QAAA,4DAAM;QACN,2EACI;QAAA,wEACJ;QAAA,4DAAM;QAEV,4DAAM;QACN,sEAGM;QACV,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,2EACI;QAAA,2EACI;QAAA,2EACI;QAAA,8FACJ;QAAA,4DAAM;QAIN,0EACI;QAAA,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACV,4DAAM;QAOV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,sHAGI;QAkBJ,2EACI;QAAA,0EAA6B;QAAA,kFAAsB;QAAA,4DAAK;QAGxD,0EACI;QAAA,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACV,4DAAM;QACN,sEAGM;QACV,4DAAM;QAEN,2EACI;QAAA,0EAA6B;QAAA,qGAAyC;QAAA,4DAAK;QAC3E,0EACI;QAAA,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,wEACJ;QAAA,4DAAM;QACN,sEAKM;QACV,4DAAM;QACV,4DAAM;QAIN,2EACI;QAAA,0EAA6B;QAAA,kEAAM;QAAA,4DAAK;QACxC,0EACI;QAAA,2EACI;QAAA,wEACJ;QAAA,4DAAM;QAGV,4DAAM;QACV,4DAAM;QAIN,wIAGI;QAwBJ,sHAAkE;QACtE,4DAAM;QAGN,2EACI;QAAA,2EACI;QAAA,sHACI;QAOJ,2EACI;QAAA,4HACJ;QASA,4DAAM;QAIN,2EACI;QAAA,4HAAoI;QAIxI,4DAAM;QAEN,sHACI;QAIJ,2EACI;QAAA,oHACI;QAER,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAO;QACX,4DAAM;;QA/MmC,0DAAmC;QAAnC,gGAAmC;QAOzD,0DAA4B;QAA5B,8IAA4B;QACiB,0DAChD;QADgD,6JAChD;QAUyC,0DAAoC;QAApC,2JAAoC;QACd,0DAAsC;QAAtC,4GAAsC;QAAC,wGAA2C;QAW5I,0DAAoC;QAApC,mGAAoC;QAUgB,0DAAoC;QAApC,2JAAoC;QACtC,0DAA+B;QAA/B,qGAA+B;QAAa,mGAAsC;QAE5F,0DAAoC;QAApC,2JAAoC;QACd,0DAAoC;QAApC,0GAAoC;QAAC,wGAA2C;QAajH,0DAE3C;QAF2C,+IAE3C;QAwB0D,0DAAoC;QAApC,2JAAoC;QACtC,0DAAyB;QAAzB,+FAAyB;QAAa,mGAAsC;QAEtF,0DAAoC;QAApC,2JAAoC;QACd,0DAA0B;QAA1B,gGAA0B;QAAC,wGAA2C;QAY9E,0DAAoC;QAApC,2JAAoC;QAC5B,0DAAwC;QAAxC,8GAAwC;QAAiE,0GAA6C;QAEpM,0DAAsC;QAAtC,qGAAsC;QACQ,0DAAiC;QAAjC,uGAAiC;QAAC,iGAAoC;QAa5H,0DAA8B;QAA9B,6FAA8B;QAGgB,0DAAoC;QAApC,2JAAoC;QAC5B,0DAAyB;QAAzB,+FAAyB;QAAC,uGAA0C;QASjH,0DAEvB;QAFuB,+EAEvB;QAyB2D,0DAAe;QAAf,6EAAe;QAM7B,0DAAkB;QAAlB,gFAAkB;QAStC,0DAA4C;QAA5C,6GAA4C;QAe5C,0DAAiB;QAAjB,+EAAiB;QAMG,0DAAkB;QAAlB,gFAAkB;QAMnB,0DAAoB;QAApB,kFAAoB;;6FDrK1D,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;;;;;;;;;;;;;AEnCD;AAAA;AAAA;AAAkD;;AAO3C,MAAM,iBAAiB;IAE5B;IAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;kFALU,iBAAiB;iGAAjB,iBAAiB;QCP9B,yEAIE;QAAA,yEACE;QAAA,qEAAI;QAAA,oFAAyB;QAAA,4DAAK;QAClC,oEAAG;QAAA,wGAA6C;QAAA,4DAAI;QAEpD,yEACE;QAAA,yEACE;QAAA,4EAA8B;QAAA,sEAAW;QAAA,4DAAS;QACpD,4DAAM;QACN,0EACE;QAAA,wEAA6C;QAAA,iEAAK;QAAA,4DAAI;QACxD,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;6FDVO,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;;ICC7E,yEAME;IAFA,mWAAyB;IAEzB,uDACF;;IAAA,4DAAM;;;;IAJJ,0GAAmC;IAGnC,0DACF;IADE,8MACF;;ADCK,MAAM,kBAAkB;IAW7B,YACS,SAA2B,EAC1B,mBAAwC;QADzC,cAAS,GAAT,SAAS,CAAkB;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAPlD,eAAU,GAAG,EAAE,CAAC;QAChB,YAAO,GAAG,CAAC,CAAC;QAEF,cAAS,GAAG,IAAI,0DAAY,EAAO,CAAC;IAK3C,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,cAAc,CAAC,eAAsB;QACnC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;oBAC9B,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO;iBAC1B,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SAClB;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,IAAI,QAAc,CAAC;QACnB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAC9B,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CACpD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,QAAQ,CAAC,WAAW,EAAE,EACtB,KAAK,CAAC,QAAQ,EAAE,CACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YACtD,SAAS,GAAG,QAAQ,CAAC;SACtB;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACtB,SAAS,GAAG,UAAU,CAAC;SACxB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;;oFAvEU,kBAAkB;kGAAlB,kBAAkB;QCT/B,yEACE;QAAA,8GAME;QAEJ,4DAAM;;QANF,0DAA+B;QAA/B,mFAA+B;;6FDMtB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;kBAGE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAKL,oDAAM;;;;;;;;;;;;;;AElBT;AAAA;AAAA;AAAA;AAAkD;;;AAO3C,MAAM,eAAe;IAE1B;QADA,UAAK,GAAS,IAAI,IAAI,EAAE,CAAC;IACV,CAAC;IAEhB,QAAQ,KAAU,CAAC;IACZ,OAAO,CAAC,QAAQ;QACrB,IAAI,OAAO,GAAG,qBAAqB,CAAC;QACpC,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,OAAO,GAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1C;aAAM,IAAG,QAAQ,IAAE,OAAO,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAC,0BAA0B,EAAC,QAAQ,CAAC,CAAC;SAC1D;IACH,CAAC;;8EAZU,eAAe;+FAAf,eAAe;QCP5B,4EACI;QAAA,wEACI;QAAA,qEACI;QAAA,uEAA4B;QAAzB,kIAAS,YAAQ,KAAK,CAAC,IAAC;QAAC,uDAA8B;;QAAA,4DAAI;QAClE,4DAAK;QACL,qEACI;QAGA,uEAAuD;QAAA,uDAI7D;;QAAA,4DAAI;QACF,4DAAK;QACT,4DAAK;QACL,qEAAG;QAAA,wDAA0C;QAAA,4DAAI;QACjD,0EACI;QAAA,wEAAgH;QAAA,mEACnH;QAAA,4DAAI;QAED,wEAAyH;QAAA,mEAC5H;QAAA,4DAAI;QACL,4DAAM;QACV,4DAAS;;QArB+B,0DAA8B;QAA9B,8IAA8B;QAMH,0DAI7D;QAJ6D,qKAI7D;QAGC,0DAA0C;QAA1C,uHAA0C;;6FDTpC,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;AEFD;AAAA;AAAO,MAAM,gBAAgB;IAgB3B,YAAY;IAEZ,kBAAkB;IAER,gBAAgB,CAAC,mBAAwC;QACjE,IAAI,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAC7E,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAChF,CAAC,GAAW,EAAE,EAAE;YACd,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAC/D,CAAC,GAAiB,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa;IACH,WAAW;QACnB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;IACH,CAAC;CAEF;;;;;;;;;;;;;AC1DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;;;ICK3D,sEACI;IAAA,uEAAM;IAAA,uDAAkC;;IAAA,4DAAO;IAC/C,oEAAG;IAAA,uDAA+B;IAAA,4DAAI;IAC1C,4DAAM;;;IAFI,0DAAkC;IAAlC,2JAAkC;IACrC,0DAA+B;IAA/B,mGAA+B;;;;;;;;;ADKnD,MAAM,aAAa;IASxB,YACU,mBAAwC,EACxC,MAAc,EACd,WAAwB;QAFxB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAa;QAVxB,eAAU,GAAG,IAAI,0DAAY,EAAW,CAAC;IAWhD,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CACpE,CAAC,GAAiB,EAAO,EAAE;YACzB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAClF,CAAC,GAAY,EAAO,EAAE;YACpB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;SAC/B;QAGD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IACD,eAAe;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;0EAnDU,aAAa;6FAAb,aAAa;QCZ1B,yEACI;QAAA,yEACI;QAAA,sEACI;QAAA,yEACI;QAAA,uEACI;QAAA,yGACI;QAGR,4DAAI;QACJ,yEAGI;QAAA,uEACI;QAD0E,gIAAS,qBAAiB,IAAC;QACrG,kEAA2B;QAC/B,4DAAI;QACJ,uEAAyG;QAA5B,gIAAS,qBAAiB,IAAC;QAAC,mEAClH;QAAA,4DAAI;QACK,yEAAmE;QAAnB,iIAAS,YAAQ,IAAC;QAAC,oEAC5E;QAAA,4DAAI;QACC,4DAAM;QACV,4DAAM;QAEN,uEACI;QAAA,sEACI;QAAA,0EACI;QAAA,yEACI;QADsD,iIAAS,eAAW,IAAC;QAC3E,oEAAiC;QACjC,wEAAM;QAAA,wDAAoC;;QAAA,4DAAO;QACrD,4DAAI;QACR,4DAAK;QACL,0EACI;QAAA,yEACI;QAD6C,iIAAS,eAAW,IAAC;QAClE,oEAAgC;QAChC,wEAAM;QAAA,wDAAkC;;QAAA,4DAAO;QACnD,4DAAI;QACR,4DAAK;QACL,0EACI;QAAA,yEACI;QADiD,iIAAS,eAAW,IAAC;QACtE,oEAAmC;QACnC,wEAAM;QAAA,wDAAqC;;QAAA,4DAAO;QACtD,4DAAI;QACR,4DAAK;QAEL,0EACI;QAAA,yEACI;QADgD,iIAAS,eAAW,IAAC;QACrE,oEAAkC;QAClC,wEAAM;QAAA,wDAAoC;;QAAA,4DAAO;QACrD,4DAAI;QACR,4DAAK;QACT,4DAAK;QACT,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;;QAtDsC,4KAA0D;QAK7E,0DAAoB;QAApB,kFAAoB;QAQiF,0DAAoC;QAApC,8IAAoC;QAG9F,0DAA4B;QAA5B,8IAA4B;QASxE,0DAAyC;QAAzC,sGAAyC;QACrB,0DAAqC;QAArC,8IAAqC;QAE/C,0DAAoC;QAApC,sJAAoC;QAG9C,0DAAyC;QAAzC,sGAAyC;QACrB,0DAA4B;QAA5B,8IAA4B;QAEtC,0DAAkC;QAAlC,oJAAkC;QAG5C,0DAA6C;QAA7C,0GAA6C;QACzB,0DAAgC;QAAhC,8IAAgC;QAE1C,0DAAqC;QAArC,uJAAqC;QAI/C,0DAA4C;QAA5C,yGAA4C;QACxB,0DAA+B;QAA/B,8IAA+B;QAEzC,0DAAoC;QAApC,sJAAoC;;6FDnCzD,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;;kBAEE,mDAAK;;kBACL,oDAAM;;;;;;;;;;;;;;AEdT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;;;ICalD,6EAKE;IAFA,oUAAgC;IAEhC,yEACE;IAAA,yEACE;IAAA,oEACE;IAAA,uDACF;;IAAA,4DAAI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAU;;IAJF,0DACF;IADE,uKACF;;ADdC,MAAM,gBAAgB;IAC3B,YAAmB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAErD,QAAQ,KAAU,CAAC;IAEnB,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACjD,CAAC;;gFAPU,gBAAgB;gGAAhB,gBAAgB;QCR7B,gFAAyC;QAEzC,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,qEAAI;QAAA,uDAAwC;;QAAA,4DAAK;QACnD,4DAAM;QACN,2EAA+B;QACjC,4DAAM;QACR,4DAAM;QAEN,gFAAyC;QAEzC,oHAKE;;QAbQ,0DAAwC;QAAxC,wJAAwC;QAUhD,0DAAyC;QAAzC,uGAAyC;;6FDP9B,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;ICS1C,0EACG;IADgE,sbAA8B;IAC9F,oEACD;IAAA,oEAAG;IAAA,uDAAe;IAAA,4DAAI;IAAA,4DACvB;;;IAFO,0DAAsB;IAAtB,uJAAsB;IACzB,0DAAe;IAAf,8EAAe;;;IAHtB,yEACE;IAAA,mIACG;IAGL,4DAAM;;;;IAJE,0DAAuC;IAAvC,+GAAuC;;;IAHnD,yEACE;IAAA,yEACE;IAAA,2HACE;IAKJ,4DAAM;IACR,4DAAM;;;IAPG,0DAAiC;IAAjC,yFAAiC;;ADCrC,MAAM,yBAAyB;IAsBpC,YAAY;IAEZ,wBAAwB;IAExB,YAAmB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAzB9C,mBAAmB;QAEnB,qCAAqC;QAC9B,aAAQ,GAAY,KAAK,CAAC;QAEjC,yDAAyD;QAClD,iBAAY,GAAyB;YAC1C;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,2CAA2C;aACnD;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,2CAA2C;aACnD;SACF,CAAC;IAQ+C,CAAC;IAElD,QAAQ;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY;IAEZ,iBAAiB;IAEV,MAAM;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAEM,cAAc,CAAC,IAAmB;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,IAAI;gBACP,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM;YACR;gBACE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;SACT;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAEO,oBAAoB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,EAAE;gBAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC7C;SACF;IACH,CAAC;;kGArEU,yBAAyB;yGAAzB,yBAAyB;QCTtC,yEACE;QAAA,yEACE;QAAA,0EACG;QADyB,+IAAS,YAAQ,IAAC;QAC3C,oEAAG;QAAA,uDAAuC;QAAA,4DAAI;QAAA,oEAAyC;QAAA,4DACzF;QACH,4DAAM;QACN,qHACE;QASJ,4DAAM;;QAbI,0DAAuC;QAAvC,uGAAuC;QAAS,0DAAiC;QAAjC,kKAAiC;QAG3D,0DAAgB;QAAhB,8EAAgB;;6FDGnC,yBAAyB;cALrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEN;;;;AAM9B,MAAM,qBAAqB;IAChC,YAAoB,MAAc,EAAU,MAAc;QAAtC,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE9D,kBAAkB,CAAC,GAAG;QACpB,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACrB,IAAI,MAAM,EAAE;YACV,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAClE,CAAC;YACF,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CACjE,CAAC;YAEF,IAAI,YAAY,EAAE;gBAChB,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;aACzC;SACF;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,SAAU;QACvB,OAAO,IAAI,CAAC,MAAM;aACf,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aACpD,YAAY,CAAC,IAAI,CAChB,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,SAAS;QACxB,OAAO,IAAI,CAAC,MAAM;aACf,MAAM,CAAC;YACN,QAAQ;YACR,SAAS;YACT,WAAW,EAAE,KAAK;SACnB,CAAC;aACD,IAAI,CACH,0DAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC,CAAC,CACH,CAAC;IACN,CAAC;;0FA9CU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;6FAEP,qBAAqB;cAHjC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;ICAlD,oEAAwD;;;;IAMpD,wEAKE;IAAA,sEACE;IAAA,yEACE;IAAA,sEACE;IAAA,sEACE;IAAA,2EAA0B;IAAA,uDAAkB;IAAA,4DAAO;IACrD,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,0EACE;IAAA,0EAAuB;IAAA,uDAAgD;;IAAA,4DAAM;IAC7E,wEAAM;IAAA,wDAA4D;;IAAA,4DAAO;IAC3E,4DAAM;IACN,2EACE;IAAA,2EAAuB;IAAA,wDAAoC;;IAAA,4DAAM;IACjE,wEAAM;IAAA,wDAA0C;;IAAA,4DAAO;IACzD,4DAAM;IAEN,2EACE;IAAA,2EAAuB;IAAA,wDAAwD;;IAAA,4DAAM;IACrF,4EAAqB;IAAA,wDAA6F;;IAAA,4DAAO;IAC3H,4DAAM;IAEN,2EACE;IAAA,oEAAkC;IACpC,4DAAM;IACR,4DAAM;IACR,4DAAK;;;IA5BH,iLAA6C;IAMX,0DAAkB;IAAlB,kFAAkB;IAKzB,0DAAgD;IAAhD,kKAAgD;IACjE,0DAA4D;IAA5D,+LAA4D;IAG3C,0DAAoC;IAApC,sJAAoC;IACrD,0DAA0C;IAA1C,uKAA0C;IAIzB,0DAAwD;IAAxD,0KAAwD;IAC1D,0DAA6F;IAA7F,yOAA6F;;;IAS1H,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,uLACF;;;IACA,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,wLACF;;;IA1CF,yEACE;IAAA,wEAGE;IAAA,uHAKE;IA2BJ,4DAAK;IACL,qHACE;IAEF,qHACE;IAEJ,4DAAM;;;IArCA,0DAA0B;IAA1B,mFAA0B;IA+BJ,0DAAwC;IAAxC,oHAAwC;IAGtC,0DAAyC;IAAzC,qHAAyC;;ADhChE,MAAM,qBAAqB;IAUhC,YAAmB,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;QAPlD,qBAAgB,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAG,EAAE,CAAC;QAIvB,gBAAW,GAAG,IAAI,CAAC;IAEkC,CAAC;IAEtD,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc;aAC/B,aAAa,EAAE;aACf,SAAS,CAAC,CAAC,GAAqB,EAAE,EAAE;;YACnC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACvD;YACD,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,IAAI,IAAI,GAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAG,WAAI,CAAC,KAAK,0CAAE,MAAM,MAAK,CAAC,EAAC;oBAC1B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;iBAC5C;aACF;YAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;;0FAjCU,qBAAqB;qGAArB,qBAAqB;QCVlC,iHAAkD;QAElD,iHACE;;QAH4B,iFAAmB;QAEtB,0DAAoB;QAApB,kFAAoB;;6FDQlC,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;ICmDlB,qEACI;IAAA,yEAAiB;IAAA,uDAAmB;IAAA,4DAAK;IACzC,yEAAiB;IAAA,uDAAyB;IAAA,4DAAK;IAC/C,yEAAiB;IAAA,uDAAkC;IAAA,4DAAK;IAExD,yEAAiB;IAAA,uDAAoB;IAAA,4DAAK;IAG1C,yEAAiB;IAAA,8EAGY;IAHJ,kXAGrB;IAAyB,gEAAI;IAAA,4DAAS;IAAA,4DAAK;IAGnD,4DAAK;;;IAbgB,0DAAmB;IAAnB,qFAAmB;IACnB,0DAAyB;IAAzB,2FAAyB;IACzB,0DAAkC;IAAlC,oGAAkC;IAElC,0DAAoB;IAApB,sFAAoB;;AD9ClE,MAAM,uBAAuB;IAElC,YACU,YAAiC,EACjC,MAAc,EACd,MAAqB;QAFrB,iBAAY,GAAZ,YAAY,CAAqB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAe;QAO/B,cAAS,GAAO,EAAE,CAAC;QALjB,uDAAuD;QACvD,IAAI,CAAC,YAAY,EAAE,CAAC;IAErB,CAAC;IAGF,0BAA0B;IAE1B,QAAQ;IAER,CAAC;IAGD,OAAO;IACL,MAAM;IACN,UAAU;IACV,eAAe;IACf,UAAU;IACV,WAAW;IACX,YAAY;IACZ,cAAc;IACd,OAAO;IACP,eAAe;IACf,YAAY;IACZ,yBAAyB;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;IAChB,UAAU;IACV,gBAAgB;IAChB,wBAAwB;IACxB,SAAS;IACT,IAAI;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE1C,8DAA8D;QAC9D,YAAY;QACZ,oBAAoB;QACpB,8BAA8B;QAC9B,oBAAoB;QACpB,sBAAsB;QACtB,wBAAwB;QACxB,4BAA4B;QAC5B,cAAc;QACd,8BAA8B;QAC9B,wBAAwB;QACxB,kDAAkD;QAClD,gCAAgC;QAChC,0CAA0C;QAC1C,oCAAoC;QACpC,4BAA4B;QAC5B,gCAAgC;QAChC,8CAA8C;QAC9C,gCAAgC;QAChC,oBAAoB;QACpB,gCAAgC;QAChC,gDAAgD;QAChD,mBAAmB;QAGnB,WAAW;IAIf,CAAC;IAED,YAAY;QACV,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,SAAS,CACtD,CAAC,QAAQ,EAAC,EAAE;YACV,gDAAgD;YAChD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEpD,CAAC,EACD,CAAC,KAAK,EAAC,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACI,CAAC;IACP,CAAC;;8FA3FO,uBAAuB;uGAAvB,uBAAuB;QCQpC,yEACI;QAAA,oEAAoB;QACpB,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEACI;QAAA,8EACA;QACJ,4DAAK;QACT,4DAAM;QAEN,yEAEI;QAAA,yEAII;QAAA,yEACI;QAAA,4EACI;QAAA,yEACI;QAAA,sEAEI;QAAA,yEAAiB;QAAA,kEAAM;QAAA,4DAAK;QAC5B,yEAAiB;QAAA,0EAAc;QAAA,4DAAK;QACpC,yEAAiB;QAAA,4EAAgB;QAAA,4DAAK;QACtC,yEAAiB;QAAA,mEAAO;QAAA,4DAAK;QAG7B,yEAAiB;QAAA,gEAAI;QAAA,4DAAK;QAE9B,4DAAK;QACT,4DAAQ;QACR,yEACI;QAAA,qHACI;QAoBR,4DAAQ;QACZ,4DAAQ;QAAA,iEAAK;QAAA,iEACb;QAAA,yEAAuC;QAAA,0IAA8E;QAAA,4DAAI;QAC7H,4DAAM;QAKV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAO;QACX,4DAAM;;QAjC8B,2DAAkC;QAAlC,kFAAkC;;6FDzCzD,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgG;AACzC;AACd;AACQ;AACK;AACY;AACA;AACG;AAC0B;AAC+B;AACnB;AACtC;AACkB;AACuD;AACM;AACP;AAC3E;AACW;AACG;AACP;AACA;AACK;AACL;AACuB;;;AAEhG,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,6DAAa;QACxB,gBAAgB,EAAE,CAAC,qFAAgB,CAAC;QACpC,WAAW,EAAE,CAAC,qFAAgB,CAAC;QAC/B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,kEAAa,EAAE;YACtC,oBAAoB;YACpB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,8EAAiB,EAAE;YAClD,cAAc;YACd,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,8EAAiB,EAAE;YACxD,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,8EAAiB,EAAE;YAC5D,eAAe;YACf;gBACE,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,iFAAkB;aAC9B;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE,2GAAsB;aAClC;YACD;gBACE,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE,0IAA+B;aAC3C;YACD;gBACE,IAAI,EAAE,8BAA8B;gBACpC,SAAS,EAAE,wHAA0B;aACtC;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,6GAAuB;aACnC;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,4GAAuB;aACnC;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,SAAS,EAAE,sFAAgB;aAC5B;YACD,iBAAiB;YACjB;gBACE,IAAI,EAAE,gCAAgC;gBACtC,SAAS,EAAE,2JAAgC;aAC5C;YACD;gBACE,IAAI,EAAE,iCAAiC;gBACvC,SAAS,EAAE,iKAAkC;aAC9C;YACD;gBACE,IAAI,EAAE,sCAAsC;gBAC5C,SAAS,EAAE,0JAA+B;aAC3C;YACD,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,oGAAoB,EAAE;YAC/D,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,oGAAoB,EAAE;YAC1D,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,kFAAkB,EAAE;YACpD,iBAAiB;YACjB,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,+EAAiB,EAAE;YAClD,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,0FAAiB,EAAE;YAC5D,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,6FAAkB,EAAE;YAC9D,cAAc;YACd,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,sFAAkB,EAAE;YACtD,qEAAqE;YACrE,IAAI;YACJ,+CAA+C;YAC/C,sCAAsC;YACtC,KAAK;YACL,EAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,2FAAqB,EAAC;SACtD;KACF;CACF,CAAC;AAMK,MAAM,iBAAiB;;gGAAjB,iBAAiB;4JAAjB,iBAAiB,kBAHnB,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAEX,iBAAiB,uFAFlB,4DAAY;6FAEX,iBAAiB;cAJ7B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;ACtGD;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;ICE3E,qEAA6C;IAAA,uDAA4D;;IAAA,4DAAK;;;IAAjE,0DAA4D;IAA5D,+KAA4D;;;IAIzG,yEAA8D;IAAA,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,6EAAa;;;;IAC3E,yEAIM;IADA,iYAAqC;IACrC,uDACA;IAAA,yEACE;IAAA,oEAA8B;IAC9B,qEAA6B;IAC7B,qEAA+B;IAC/B,qEAA+B;IACjC,4DAAM;IACZ,4DAAM;;;;IATA,yHAAkD;IAElD,0DACA;IADA,kGACA;IAA+B,0DAA0C;IAA1C,iHAA0C;;;IAO/E,yEAA8D;IAAA,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,6EAAa;;ADZxE,MAAM,uBAAuB;IAalC;QAFU,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;IAE9B,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,mBAAmB,CAAC,IAAI;QACtB,IAAI,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YACxC,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAClG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,IAAI;QACd,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CACrD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CACpE,CAAC,OAAO,EAAE,EACX;oBACA,IAAI,CAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE;wBACzD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;qBACjD;iBACF;aACF;SACF;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,aAAa,CAAC;IACvB,CAAC;;8FA9CU,uBAAuB;uGAAvB,uBAAuB;QCPpC,yEACE;QAAA,wEACE;QAAA,iHAA6C;QAC/C,4DAAK;QAEL,yEACE;QAAA,mHAA8D;QAC9D,mHAIM;QAQN,mHAA8D;QAChE,4DAAM;QACR,4DAAM;;QAnBE,0DAAwC;QAAxC,qFAAwC;QAIvB,0DAAwC;QAAxC,yFAAwC;QAEvD,0DAAoD;QAApD,2FAAoD;QAWrC,0DAAwC;QAAxC,yFAAwC;;6FDZpD,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;kBAEE,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;;;;;;;;;;;;;AElBT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;;;AAQvB,MAAM,YAAY;IAKvB,YACU,UAAsB,EACtB,OAA8B,EAC9B,MAAc;QAFd,eAAU,GAAV,UAAU,CAAY;QACtB,YAAO,GAAP,OAAO,CAAuB;QAC9B,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,iBAAiB,CAAC,QAAQ,EAAC,QAAQ;QAEjC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,EAAE,QAAQ,EAAC,QAAQ,EAAC,CACrB,CAAC;IACJ,CAAC;;wEAtBU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAgE;AAClB;;AAQvC,MAAM,eAAgB,SAAQ,2DAAW;IAC9C,SAAS,CAAC,KAAU,EAAE,IAAU;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,IAAI,IAAI,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,cAAc,CAAC;QAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;SACzC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;;sGAzBU,eAAe;gHAAf,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;yGAEP,eAAe;6FAAf,eAAe;cAN3B,kDAAI;eAAC;gBACJ,IAAI,EAAE,aAAa;aACpB;;cACA,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAgE;;;;AAOzD,MAAM,cAAc;IAGzB;QAFU,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;IAEhC,CAAC;IAEhB,gBAAgB;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;;4EAPU,cAAc;8FAAd,cAAc;;QCP3B,yEACE;QAAA,yEACE;QADiB,iJAAgB,sBAAkB,IAAC;QACpD,yEAA6D;QAAnC,mIAAS,sBAAkB,IAAC;QAAC,4DAAM;QAC7D,6DAAY;QACd,4DAAM;QACR,4DAAM;;6FDEO,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;kBAEE,oDAAM;;;;;;;;;;;;;;AERT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACkB;;;;;;;;;ICmB1D,0EACE;IAAA,uEAOF;;IAAA,4DAAM;;;IAJF,0DAA8C;IAA9C,4JAA8C;;;IASxD,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;;IAII,0EACE;IAAA,6EAKE;IAFA,+UAA2B;IAE3B,uDACF;;IAAA,4DAAS;IACX,4DAAM;;IAFF,0DACF;IADE,4JACF;;;;;IAEF,0EACE;IAAA,6EAME;IAFA,0UAAsB;IAEtB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IALF,0DAAwC;IAAxC,iKAAwC;IAGxC,0DACF;IADE,+JACF;;;IAKN,qEAAwE;;ADjDrE,MAAM,8BAA8B;IAWzC,YACU,gBAAkC,EAClC,eAAiC,EACjC,MAAc;QAFd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAbxB,SAAI,GAAG,CAAC,CAAC;QAOT,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;IAMvB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CACjE,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,wDAAS,CAAC;YACxB,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;YACvC,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;aAC1C,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aACzE,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC9D,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;iBACnC;qBAAM;oBACL,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBACd,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;qBAChE;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC9D,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;aAC/C;SACF,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;aACxC,qBAAqB,CAAC,QAAQ,CAAC;aAC/B,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;YAChE,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;IACH,CAAC;;4GAvHU,8BAA8B;8GAA9B,8BAA8B;QCZ3C,0EACI;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QAEN,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,sEAQF;;QAAA,4DAAM;QACN,4HACE;QAQJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,0HACE;QAGF,2EACE;QAAA,2EACE;QAAA,6HACE;QAQF,6HACE;QASJ,4DAAM;QACR,4DAAM;QAEN,6HAAkE;QACpE,4DAAO;;QA9DH,+EAAkB;QAGhB,0DACF;QADE,sKACF;QAYQ,0DAAgD;QAAhD,gKAAgD;QAIH,0DAAkB;QAAlB,gFAAkB;QAahB,0DAAoB;QAApB,kFAAoB;QAMzC,0DAAkB;QAAlB,gFAAkB;QASlB,0DAAkB;QAAlB,gFAAkB;QAaJ,0DAAe;QAAf,6EAAe;;6FDjDxD,8BAA8B;cAL1C,uDAAS;eAAC;gBACT,QAAQ,EAAE,+BAA+B;gBACzC,WAAW,EAAE,4CAA4C;gBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;aAC1D;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAIiB;;;;;;;;;;;ICD3D,sEAKI;IAAA,sEACI;IAAA,uEAAM;IAAA,uDAA2C;;IAAA,4DAAO;IACxD,oEAAG;IAAA,uDAAsD;;IAAA,4DAAI;IACjE,4DAAM;IAEN,0EACI;IAAA,uEAAM;IAAA,wDAA2C;;IAAA,4DAAO;IACxD,qEAAG;IAAA,wDAAsD;;IAAA,4DAAI;IACjE,4DAAM;IAEN,2EACI;IAAA,wEAAM;IAAA,wDAAyC;;IAAA,4DAAO;IACtD,qEAAG;IAAA,wDAAsD;;IAAA,4DAAI;IACjE,4DAAM;IACN,uEACI;IAAA,wEAAM;IAAA,wDAAmD;;IAAA,4DAAO;IAChE,qEAAG;IAAA,wDAAgD;;IAAA,4DAAI;IAC3D,4DAAM;IACV,4DAAM;;;IAjBQ,0DAA2C;IAA3C,4JAA2C;IAC9C,0DAAsD;IAAtD,8KAAsD;IAGxD,0DAAgD;IAAhD,oHAAgD;IAC3C,0DAA2C;IAA3C,6JAA2C;IAC9C,0DAAsD;IAAtD,+KAAsD;IAGxD,0DAAgD;IAAhD,oHAAgD;IAC3C,0DAAyC;IAAzC,2JAAyC;IAC5C,0DAAsD;IAAtD,+KAAsD;IAGnD,0DAAmD;IAAnD,qKAAmD;IACtD,0DAAgD;IAAhD,yKAAgD;;;IAI3D,qEAAsE;;;IAKtE,mFAA4F;;;IAC5F,gFAAmF;;;IACnF,oFACyB;;;ADzB1B,MAAM,oBAAoB;IAkB/B,YAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAjB5D,iBAAiB;QACjB,kBAAa,GAAG,wEAAoB,CAAC;QACrC,cAAS,GAAW,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;IAee,CAAC;IAEhE,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC;QAEnD,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAChF,CAAC,GAAuB,EAAE,EAAE;YAC1B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAChC,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,SAAS,CAC9F,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;QACvC,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,SAAS,CACxG,CAAC,GAAW,EAAE,EAAE;YACd,IAAI,CAAC,8BAA8B,GAAG,GAAG,CAAC;QAC5C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,OAAO;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;;wFAhDU,oBAAoB;oGAApB,oBAAoB;QCXjC,yEACI;QACA,yEACI;QAAA,kHAKI;QAoBJ,gHAAgE;QACpE,4DAAM;QAGN,yEACI;QAAA,oJAAoE;QACpE,8IAA8D;QAC9D,sJACA;QACJ,4DAAM;QAGN,yEACI;QAAA,4EACJ;QAD2E,4IAAS,iBAAa,UAAU,CAAC,IAAC;QAC7G,wEACE;QAAA,6EAIc;;QAChB,4DAAI;QACN,4DAAS;QACH,6EACJ;QADwE,6IAAS,iBAAa,OAAO,CAAC,IAAC;QACvG,wEACE;QAAA,6EAIc;;QAChB,4DAAI;QACN,4DAAS;QACH,6EACJ;QAD2E,6IAAS,iBAAa,UAAU,CAAC,IAAC;QAC7G,yEACE;QAAA,6EAIc;;QAChB,4DAAI;QACN,4DAAS;QACP,4DAAM;QACV,4DAAM;;QAlEO,0DAIR;QAJQ,iKAIR;QAqBiC,0DAAiC;QAAjC,+FAAiC;QAKxC,0DAA4C;QAA5C,8GAA4C;QAC/C,0DAAyC;QAAzC,2GAAyC;QACrC,0DAA4C;QAA5C,8GAA4C;QAM5D,0DAA8D;QAA9D,yLAA8D;QAItE,0DAA+C;QAA/C,+JAA+C;QAKvC,0DAA2D;QAA3D,sLAA2D;QAInE,0DAA4C;QAA5C,4JAA4C;QAKpC,0DAA8D;QAA9D,yLAA8D;QAItE,0DAAwD;QAAxD,wKAAwD;;6FDpDnD,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAoD;;AAK7C,MAAM,cAAc;IAEzB,SAAS,CAAC,KAAU,EAAE,IAAU;QAC9B,IAAI,YAAoB,CAAC;QACzB,IAAI,GAAW,CAAC;QAChB,IAAI,KAAa,CAAC;QAClB,IAAI,IAAY,CAAC;QACjB,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACxB,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;SACxC;aAAM;YACL,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;SAClC;QACD,oDAAoD;QACpD,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YACxB,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;SACpC;aAAM;YACL,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC9B;QACD,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEtC,YAAY,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;;4EAvBU,cAAc;8GAAd,cAAc;6FAAd,cAAc;cAH1B,kDAAI;eAAC;gBACJ,IAAI,EAAE,YAAY;aACnB;;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;ICCvD,wEACE;IAAA,yEAOE;IAAA,qEAGQ;IACR,yEACE;IAAA,oEAAG;IAAA,uDAA4B;;IAAA,4DAAI;IAErC,4DAAM;IACR,4DAAM;IACR,qEAAe;;;;;IAdX,0DAGE;IAHF,oNAGE;IAIA,0DAA0D;IAA1D,0LAA0D;IAGvD,0DAA4B;IAA5B,iJAA4B;;;;;IAOnC,yEAKO;IADL,0VAA2B,CAAC,yBAAS,CAAC,IAAC;IACxC,4DAAM;;;;IAFL,+KAA6C;;;IAJjD,yEACE;IAAA,mHAKC;IACH,4DAAM;;;IAJF,0DAAqD;IAArD,gGAAqD;;ADfpD,MAAM,iBAAiB;IAS5B;QAHA,SAAI,GAAW,CAAC,CAAC;QACjB,gBAAW,GAAW,CAAC,CAAC;IAER,CAAC;IAEjB,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;gBACjB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACvD,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;qBAAM;oBACL,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;iBACtB;gBAED,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;;kFA9BU,iBAAiB;iGAAjB,iBAAiB;QCR9B,yEACE;QAAA,+HACE;QAkBF,6GACE;QAOJ,4DAAM;;QA3BU,0DAAuD;QAAvD,2FAAuD;QAmBnD,0DAAuD;QAAvD,yHAAuD;;6FDZ9D,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;kBAGE,mDAAK;;;;;;;;;;;;;;AEVR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACgB;AACH;AACqD;AACG;AACnC;AACE;AACC;AAC4B;AACH;AACG;AACH;AACX;AAC/C;AAC0B;AACY;AACf;AACiC;AACpB;AACU;AACR;AACvB;AACF;AACqC;AACe;AAC/C;AACuB;AACwB;AACsB;;AAwD7H,MAAM,YAAY;;2FAAZ,YAAY;kJAAZ,YAAY,kBA1Bd,CAAC,4DAAY,EAAE,2DAAW,EAAE,mEAAe,CAAC;QAEnD,mEAAe;mIAwBN,YAAY,mBApDrB,0HAAyB;QACzB,uHAAwB;QACxB,uFAAc;QACd,yFAAqB;QACrB,0FAAe;QACf,sHAAuB;QACvB,mHAAiB;QACjB,uHAAkB;QAClB,oHAAiB;QACjB,yGAAmB;QACnB,oFAAkB;QAClB,gGAAwB;QACxB,iFAAiB;QACjB,kHAAmB;QACnB,8FAAyB;QACzB,wGAA6B;QAC7B,gGAA0B;QAC1B,yEAAe;QACf,uEAAc;QACd,4GAAoB;QACpB,2HAAsB;QACtB,4EAAgB;QAChB,mGAAiB;QACjB,2HAAyB;QACzB,iJAA+B,aAEvB,4DAAY,EAAE,2DAAW,EAAE,mEAAe,aAElD,mEAAe;QACf,0HAAyB;QACzB,uHAAwB;QACxB,uFAAc;QACd,yFAAqB;QACrB,0FAAe;QACf,sHAAuB;QACvB,yGAAmB;QACnB,oFAAkB;QAClB,iFAAiB;QACjB,8FAAyB;QACzB,wGAA6B;QAC7B,gGAA0B;QAC1B,kHAAmB;QACnB,yEAAe;QACf,uEAAc;QACd,4GAAoB;QACpB,2HAAsB;QACtB,4EAAgB;QAChB,mGAAiB;QACjB,2HAAyB;QACzB,iJAA+B;6FAGtB,YAAY;cAtDxB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,0HAAyB;oBACzB,uHAAwB;oBACxB,uFAAc;oBACd,yFAAqB;oBACrB,0FAAe;oBACf,sHAAuB;oBACvB,mHAAiB;oBACjB,uHAAkB;oBAClB,oHAAiB;oBACjB,yGAAmB;oBACnB,oFAAkB;oBAClB,gGAAwB;oBACxB,iFAAiB;oBACjB,kHAAmB;oBACnB,8FAAyB;oBACzB,wGAA6B;oBAC7B,gGAA0B;oBAC1B,yEAAe;oBACf,uEAAc;oBACd,4GAAoB;oBACpB,2HAAsB;oBACtB,4EAAgB;oBAChB,mGAAiB;oBACjB,2HAAyB;oBACzB,iJAA+B;iBAChC;gBACD,OAAO,EAAE,CAAC,4DAAY,EAAE,2DAAW,EAAE,mEAAe,CAAC;gBACrD,OAAO,EAAE;oBACP,mEAAe;oBACf,0HAAyB;oBACzB,uHAAwB;oBACxB,uFAAc;oBACd,yFAAqB;oBACrB,0FAAe;oBACf,sHAAuB;oBACvB,yGAAmB;oBACnB,oFAAkB;oBAClB,iFAAiB;oBACjB,8FAAyB;oBACzB,wGAA6B;oBAC7B,gGAA0B;oBAC1B,kHAAmB;oBACnB,yEAAe;oBACf,uEAAc;oBACd,4GAAoB;oBACpB,2HAAsB;oBACtB,4EAAgB;oBAChB,mGAAiB;oBACjB,2HAAyB;oBACzB,iJAA+B;iBAChC;aACF;;;;;;;;;;;;;;ACnFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AAC8B;AACrB;AACI;AACb;AACmB;AACX;AACI;AACyE;AACM;AACP;AACE;AACP;AACC;;AAcxH,MAAM,eAAe;;8FAAf,eAAe;wJAAf,eAAe,mBAFf,CAAC,mEAAgB,CAAC,YARpB;YACP,4DAAY;YACZ,qEAAgB;YAChB,4DAAY;YACZ,0DAAW;YACX,kEAAmB;YACnB,yEAAY;SACb;mIAGU,eAAe,mBAXX,uEAAkB,EAAE,yFAAoB,EAAE,gJAAgC,EAAE,uJAAkC,EAAE,gJAA+B,EAAE,kJAAiC,EAAE,2IAA8B,EAAE,4IAA+B,aAEhQ,4DAAY;QACZ,qEAAgB;QAChB,4DAAY;QACZ,0DAAW;QACX,kEAAmB;QACnB,yEAAY;6FAIH,eAAe;cAZ3B,sDAAQ;eAAC;gBACR,YAAY,EAAE,CAAC,uEAAkB,EAAE,yFAAoB,EAAE,gJAAgC,EAAE,uJAAkC,EAAE,gJAA+B,EAAE,kJAAiC,EAAE,2IAA8B,EAAE,4IAA+B,CAAC;gBACnQ,OAAO,EAAE;oBACP,4DAAY;oBACZ,qEAAgB;oBAChB,4DAAY;oBACZ,0DAAW;oBACX,kEAAmB;oBACnB,yEAAY;iBACb;gBACD,SAAS,EAAE,CAAC,mEAAgB,CAAC;aAC9B;;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;;;AAMvB,MAAM,gBAAgB;IAE3B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAE/C,qBAAqB,CAAC,aAAa;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;kCAED,aAAa;;;;;;;;;;;;;GAa5C,CAAC,CAAC;IACH,CAAC;;gFArBU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;;;AAMvB,MAAM,gBAAgB;IAC3B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,aAAa,CACX,MAAc,EACd,IAAY,EACZ,QAAgB,EAChB,aAAqB;QAErB,IAAI,aAAa,EAAE;YACjB,aAAa,IAAI,GAAG,CAAC;YACrB,MAAM,IAAI,MAAM,GAAG,aAAa,CAAC;SAClC;QAED,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC;QAC3B,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAW,EAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAE,CAAC,CAAC,CAAC;QAChE,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;QAElD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,GAAG;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,aAAa;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,kBAAkB;QACzB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,GACjE,kBAAkB,CAAC;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD;YACE,kBAAkB,EAAE;gBAClB,MAAM;gBACN,QAAQ;gBACR,MAAM;gBACN,cAAc;gBACd,WAAW;gBACX,EAAE;aACH;SACF,CACF,CAAC;IACJ,CAAC;;gFA3DU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;AACS;;;AAOhC,MAAM,eAAe;IAC1B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAE3C,oBAAe,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACtD,kBAAa,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QAChD,aAAQ,GAAG,IAAI,oDAAe,CAAiB,EAAE,CAAC,CAAC;IAJL,CAAC;IAMtD,kBAAkB;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;;;;;;;;KAsB9B,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAO,EAAE;YACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvD,OAAO;aACR;YACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO;aACR;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;;8EAhDU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;;;;;;;;AAO5C,MAAM,aAAa;IAGxB,YACU,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAHlD,eAAU,GAAY,KAAK,CAAC;IAIzB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC;;0EATU,aAAa;6FAAb,aAAa;QCP1B,uEAAuB;QAEvB,gFAGc;QADZ,oLAAkC;QACnC,4DAAa;QAEd,yEACE;QAAA,8EAGY;QADV,kLAAkC;QACnC,4DAAW;QAEZ,sEACE;QAAA,2EAA+B;QAC/B,wEAAyB;QAC3B,4DAAM;QACR,4DAAM;;QAdJ,0DAAyB;QAAzB,sFAAyB;QAMvB,0DAAyB;QAAzB,sFAAyB;;6FDFhB,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAgF;;;;;AAOzE,MAAM,gBAAgB;IAmB3B;IAAe,CAAC;IAEhB,QAAQ,KAAI,CAAC;IAEb,eAAe;QACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,EAAE;YACrE,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;YACjE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YAC1D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;YAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,WAAW;QACT,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QAExC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;QAEtE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,cAAc,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE;YAChE,IAAI,CAAC,cAAc,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,YAAY,EAAE;YACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SAC9D;IACH,CAAC;;gFA7DU,gBAAgB;gGAAhB,gBAAgB;6EAEA,wDAAU;;;;;QCTvC,4EACI;QAAA,uEAAqB;QAAA,uDAAe;QAAA,4DAAI;QAC1C,4DAAM;;QAFwC,+LAAwE;QAC/F,0DAAe;QAAf,gFAAe;;6FDM3B,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;;kBAGE,uDAAS;mBAAC,MAAM,EAAE,EAAE,IAAI,EAAE,wDAAU,EAAE;;kBAEtC,mDAAK;;;;;;;;;;;;;;AEXR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgF;AACZ;AAEiB;AAUtD;;;;;;;;;;;;;;;;ICb/B,qEAGO;;;;IAsCO,wEACE;IAAA,0EACE;IAAA,2FASuB;IAFrB,iXAAsC;;IAExC,4DAAuB;IACzB,4DAAM;IACN,0EACE;IAAA,2FASuB;IAFrB,+WAAoC;;IAEtC,4DAAuB;IACzB,4DAAM;IACR,qEAAe;;;IAtBT,0DAAmB;IAAnB,qFAAmB;IAYnB,0DAAmB;IAAnB,qFAAmB;;;IAmDjC,0EACE;IAAA,0EACE;IAAA,wEACE;IAAA,uDACF;;IAAA,4DAAK;IACP,4DAAM;IAEN,sFAKuB;IACzB,4DAAM;;;IAVA,0DACF;IADE,+KACF;IAIA,0DAAuB;IAAvB,yFAAuB;;;ADzF1B,MAAM,qBAAsB,SAAQ,kGAAgB;IA4CzD,YACU,mBAAwC,EACxC,WAAwB,EACxB,gBAAkC,EAClC,sBAA8C,EAC9C,YAAkC,EAClC,mBAAwC,EACxC,WAA4B,EAC5B,QAAkB,EAClB,GAAsB,EACtB,kBAAuC;QAE/C,KAAK,EAAE,CAAC;QAXA,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iBAAY,GAAZ,YAAY,CAAsB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,gBAAW,GAAX,WAAW,CAAiB;QAC5B,aAAQ,GAAR,QAAQ,CAAU;QAClB,QAAG,GAAH,GAAG,CAAmB;QACtB,uBAAkB,GAAlB,kBAAkB,CAAqB;QArDjD,gBAAgB;QAChB,SAAI,GAAG,SAAS,CAAC;QAEjB,uBAAkB,GAAY,KAAK,CAAC;QAcpC,mBAAmB;QACnB,kBAAa,GAAG;YACd;gBACE,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAA2B,CAAC;aACtE;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAA2B,CAAC;aACtE;YACD;gBACE,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,CAAC;aAChE;SACF,CAAC;QAGF,iBAAY,GAAY,KAAK,CAAC;QAG9B,uBAAuB;QACvB,YAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;IAiBxB,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC/C,aAAa,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxC,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,OAAO,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IACD,yBAAyB;IACzB,YAAY,CAAC,YAAY;QACvB,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC5B,IAAI,CAAC,wBAAwB,EAC7B,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACpD,CAAC,CAAC,GAAG,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACpD,CAAC,CAAC,GAAG,CAAC;QACV,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACxB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;aACpB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SACtC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACb,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACf,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,oBAAoB;QAClB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC/B,MAAM;gBACN,WAAW;gBACX,aAAa;gBACb,QAAQ;gBACR,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;YACH,IAAI,GAAG,GAAG,IAAI,2CAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,sBAAsB;iBACxB,iBAAiB,CAChB,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CACjD,EACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EACrE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CACrD;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBACtB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,iCAAiC,CAAC;gBAClD,SAAG,0CAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;gBAC/D,SAAG,0CAAE,WAAW,CAAC,EAAE,EAAE;gBACrB,SAAG,0CAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE;gBAC/D,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAC7C,CAAC,GAAiB,EAAE,EAAE;;oBACpB,SAAG,0CAAE,WAAW,CAAC,EAAE,EAAE;oBACrB,SAAG,0CAAE,IAAI,CACP,GACE,GAAG,CAAC,WAAW;wBACb,CAAC,CAAC,GAAG,CAAC,WAAW;wBACjB,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,WACnC,EAAE,EACF,CAAC,EACD,SAAS,GAAG,EAAE,EACd;oBACF,SAAG,0CAAE,IAAI,CACP,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,EAC7D,CAAC,EACD,SAAS,GAAG,EAAE,EACd;gBACJ,CAAC,CACF,CAAC;gBACF,IAAI,YAAY,GAAQ,IAAI,CAAC,YAAY,CAAC;gBAC1C,IAAI,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChD,IACE,IAAI,CAAC,aAAa;wBAClB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EACpD;wBACA,OAAO,IAAI,CAAC;qBACb;gBACH,CAAC,CAAC,CAAC;gBACH,SAAG,0CAAE,IAAI,CACP,YAAY,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EACnE,CAAC,EACD,SAAS,GAAG,EAAE,EACd;gBACF,SAAG,0CAAE,IAAI,CACP,sBAAsB,IAAI,CAAC,WAAW,CAAC,SAAS,CAC9C,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CACnC,EAAE,EACH,CAAC,EACD,SAAS,GAAG,EAAE,EACd;gBACF,SAAG,0CAAE,IAAI,CACP,mBAAmB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,EACzE,CAAC,EACD,SAAS,GAAG,EAAE,EACd;gBACF,SAAG,0CAAE,IAAI,CACP,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAChD,aAAa,CACd,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAC9C,aAAa,CACd,EAAE,EACH,CAAC,EACD,SAAS,GAAG,GAAG,EACf;gBACF,SAAG,0CAAE,KAAK,CACR,CAAC,EACD,SAAS,GAAG,GAAG,EACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EACjD,OAAO,EACP,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnB;gBACF,SAAG,0CAAE,IAAI,CACP,GAAG,IAAI,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CACjD,IAAI,IAAI,CAAC,gBAAgB,CACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAC/C,mBAAmB,EACpB;gBACF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAClC,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,YAAY;IAEL,iBAAiB,CAAC,IAAI;QAC3B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IACM,eAAe,CAAC,IAAI;QACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,qCAAqC;IAC9B,UAAU,CAAC,QAAgB;QAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;IACM,aAAa,CAAC,OAAmB;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACM,YAAY,CAAC,MAAkB;QACpC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE;YAC9B,KAAK,GAAG;gBACN,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACjE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,GAAG;gBACN,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACjE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,GAAG;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM;SACT;IACH,CAAC;IACM,kBAAkB;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CACjD,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAClC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAC/C,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;SAC3E;IACH,CAAC;IACO,gBAAgB,CAAC,IAAU;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAClE,OAAO,aAAa,CAAC;IACvB,CAAC;IACO,4BAA4B;QAClC,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAElC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAC7C,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;gBACtB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACpD,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IACO,sBAAsB;QAC5B,IAAI,IAAI,GAAQ,IAAI,CAAC,aAAa,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC,CAAC;IACN,CAAC;;0FA9TU,qBAAqB;qGAArB,qBAAqB;QC1BlC,iHAGC;QACD,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QAEL,yEACE;QAAA,0EACE;QAAA,0EACE;QACA,iFAOc;QADZ,sKAAgB,yBAAqB,IAAC;;QACvC,4DAAa;QAEhB,4DAAM;QACN,0EACE;QACA,iFAOc;QADZ,sKAAgB,wBAAoB,IAAC;;QACtC,4DAAa;QAEhB,4DAAM;QAGN,sIACE;QA2BF,2EACE;QAAA,8EAKE;QAHA,8IAAS,wBAAoB,IAAC;QAG9B,8EAIc;;QACd,wEAAM;QAAA,wDAAuC;;QAAA,4DAC5C;QAAA,oEAA6B;QAChC,4DAAS;QACX,4DAAM;QAEN,2EAIE;QAAA,8EAIE;QAFA,8IAAS,0BAAsB,IAAC;QAEhC,8EAIc;;QACd,wEAAM;QAAA,wDAAyC;;QAAA,4DAAO;QACtD,oEAAkC;QACpC,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,qEAAe;QACjB,4DAAM;QAEN,oHACE;QAaJ,4DAAM;QACR,4DAAO;QACT,4DAAM;;QAzHJ,wFAA0B;QAQhB,0DACF;QADE,mKACF;QAOQ,0DAAoD;QAApD,oKAAoD;QAYpD,0DAAuD;QAAvD,uKAAuD;QAW7C,0DAAoB;QAApB,kFAAoB;QAgC9B,0DAAmD;QAAnD,0KAAmD;QAIjD,0DAA4C;QAA5C,4JAA4C;QAGxC,0DAAuC;QAAvC,yJAAuC;QAO/C,0DAAmD;QAAnD,0KAAmD;QAQ/C,0DAAmD;QAAnD,mKAAmD;QAG/C,0DAAyC;QAAzC,2JAAyC;QASpC,0DAA6C;QAA7C,mHAA6C;;6FDjF7D,qBAAqB;cANjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,QAAQ,EAAE,2CAA2C;gBACrD,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEzBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;;;;;AAQnC,MAAM,YAAY;IAGvB,YAAY,SAA2B;QAFvC,UAAK,GAAG,mBAAmB,CAAC;QAG1B,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YAC3C,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAClE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACxD;aAAM;YACL,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrB;IACH,CAAC;;wEAbU,YAAY;4FAAZ,YAAY;QCRzB,iFAEsB;QACtB,2EAA+B;;6FDKlB,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;AEHD;AAAA;AAAO,MAAM,gBAAgB;IAa3B,uBAAuB,CAAC,mBAAwC;QAC9D,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAC/D,CAAC,GAAiB,EAAO,EAAE;YACzB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAC3E,CAAC,GAAiB,EAAO,EAAE;YACzB,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAChC,CAAC,CACF;QAED,IAAI,CAAC,sBAAsB,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,SAAS,CAC7E,CAAC,GAAY,EAAO,EAAE;YACpB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QACjC,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,2BAA2B,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CACvF,CAAC,GAAW,EAAO,EAAE;YACnB,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;QACtC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;SAC3C;QACD,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;SAChD;IACH,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;ACtDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACQ;AACS;AACV;AAC6B;AACA;AACjB;AACb;AACE;AAC4B;AACnB;AACY;;AAerE,MAAM,aAAa;;4FAAb,aAAa;oJAAb,aAAa,kBAFf,CAAC,4DAAY,EAAE,4EAAoB,EAAE,kEAAmB,EAAE,kEAAY,CAAC;mIAErE,aAAa,mBAXtB,mEAAgB;QAChB,kEAAa;QACb,+FAAsB;QACtB,+FAAsB;QACtB,8EAAiB;QACjB,gGAAsB;QACtB,6EAAc;QACd,yFAAmB,aAEX,4DAAY,EAAE,4EAAoB,EAAE,kEAAmB,EAAE,kEAAY;6FAEpE,aAAa;cAbzB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,mEAAgB;oBAChB,kEAAa;oBACb,+FAAsB;oBACtB,+FAAsB;oBACtB,8EAAiB;oBACjB,gGAAsB;oBACtB,6EAAc;oBACd,yFAAmB;iBACpB;gBACD,OAAO,EAAE,CAAC,4DAAY,EAAE,4EAAoB,EAAE,kEAAmB,EAAE,kEAAY,CAAC;aACjF;;;;;;;;;;;;;;AC1BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;;;;;;;;;ICsCtB,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;IAiBA,qEAAwE;;;AD/CnE,MAAM,iCAAiC;IAc5C,YACU,WAAwB,EACxB,eAAiC,EACjC,MAAc;QAFd,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QATxB,YAAO,GAAG,KAAK,CAAC;QAEhB,4BAAuB,GAAG,EAAE,CAAC;QAE7B,iBAAY,GAAG,EAAE,CAAC;IAMf,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,0BAA0B;IAC5B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAChD,aAAa,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACjC,UAAU,EAAE;oBACV,yDAAU,CAAC,QAAQ;oBACnB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC;iBAC3D;aACF,CAAC;YACF,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,4CAA4C;IAC5C,4BAA4B;IAC5B,+CAA+C;IAC/C,gCAAgC;IAChC,4CAA4C;IAC5C,UAAU;IACV,IAAI;IAEJ,kCAAkC;IAClC,6DAA6D;IAC7D,2BAA2B;IAC3B,kDAAkD;IAClD,2CAA2C;IAC3C,8BAA8B;IAC9B,gCAAgC;IAEhC,eAAe;IACf,oCAAoC;IACpC,qDAAqD;IACrD,mDAAmD;IACnD,cAAc;IACd,yBAAyB;IACzB,qDAAqD;IACrD,oBAAoB;IACpB,mDAAmD;IACnD,mEAAmE;IACnE,mCAAmC;IACnC,iEAAiE;IACjE,mEAAmE;IACnE,gDAAgD;IAChD,uEAAuE;IACvE,8DAA8D;IAC9D,8EAA8E;IAC9E,0EAA0E;IAC1E,4BAA4B;IAC5B,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,iEAAiE;IACjE,+CAA+C;IAC/C,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,wBAAwB,CAAC,KAAK;QAC5B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,uBAAuB,CAAC,KAAe;QACrC,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,wBAAwB,EAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBAC9E,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAClD,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;aAC1D;SACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,mBAAmB,CAAC,QAAQ,CAAC;aAC7B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC3C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,oBAAoB;QACpB,gCAAgC;QAChC,IAAI;QACJ,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC;;kHArJU,iCAAiC;iHAAjC,iCAAiC;QChB9C,0EACE;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QAEN,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,sEASF;;QAAA,4DAAM;QACN,0EACE;QAAA,uEAOF;;QAAA,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,0EACE;QAAA,yEACE;QAAA,wDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,0EACE;QAAA,qGAEiC;QAD/B,qNAAwB,oCAAgC,IAAC;QAC1D,4DAAgC;QACnC,4DAAM;QAEN,8HACE;QAGF,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,8EAME;QAFA,0JAAS,gBAAY,IAAC;QAEtB,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,gIAAkE;QACpE,4DAAO;;QAhED,8FAAiC;QAGjC,0DACF;QADE,4KACF;QAUQ,0DAAiD;QAAjD,iKAAiD;QAWjD,0DAA8C;QAA9C,8JAA8C;QAUpD,0DACF;QADE,wKACF;QAQsD,0DAAoB;QAApB,kFAAoB;QAUpE,0DAAuD;QAAvD,4KAAuD;QAGvD,0DACF;QADE,iKACF;QAK4C,0DAAe;QAAf,6EAAe;;6FD/CtD,iCAAiC;cAL7C,uDAAS;eAAC;gBACT,QAAQ,EAAE,iCAAiC;gBAC3C,WAAW,EAAE,8CAA8C;gBAC3D,SAAS,EAAE,CAAC,8CAA8C,CAAC;aAC5D;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACzB;;;;;;;;ICDpC,oEAA8D;;;IAC9D,wEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,2LACF;;;;IAiBI,yEAME;IAAA,yEACE;IAAA,uEAAM;IAAA,uDAA2B;IAAA,4DAAO;IAC1C,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,uDAA4C;;IAAA,4DAAO;IAC3D,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,wDAAsB;IAAA,4DAAO;IACrC,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAAsB;IAAA,4DAAO;IACrC,4DAAM;IACN,0EACE;IAAA,oEAA4B;IAC9B,4DAAM;IACR,4DAAK;;;IAnBH,6IAAqC;IAK7B,0DAA2B;IAA3B,2FAA2B;IAG3B,0DAA4C;IAA5C,+JAA4C;IAG5C,0DAAsB;IAAtB,sFAAsB;IAGtB,0DAAsB;IAAtB,sFAAsB;;;IAhCpC,yEACE;IAAA,wEACE;IAAA,wEACE;IAAA,yEACE;IAAA,uEAAM;IAAA,uDAAoD;;IAAA,4DAAO;IACnE,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,uDAAsD;;IAAA,4DAAO;IACrE,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAA8C;;IAAA,4DAAO;IAC7D,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAA8C;;IAAA,4DAAO;IAC7D,4DAAM;IACR,4DAAK;IACL,4HAME;IAgBJ,4DAAK;IACP,4DAAM;;;IAnCQ,0DAAoD;IAApD,oKAAoD;IAGpD,0DAAsD;IAAtD,uKAAsD;IAGtD,0DAA8C;IAA9C,+JAA8C;IAG9C,0DAA8C;IAA9C,gKAA8C;IAOtD,0DAAgC;IAAhC,sFAAgC;;ADd/B,MAAM,yBAAyB;IAOpC,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAL7C,aAAQ,GAAmB,EAAE,CAAC;QAG7B,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;IAEqB,CAAC;IAExD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;YAC7D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAwB,EAAE,EAAE;YACnE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAkB,EAAE,EAAE;YACpE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;kGA3CU,yBAAyB;yGAAzB,yBAAyB;QCVtC,qHAAwD;QACxD,mHACE;QAEF,uHACE;;QAL4B,uFAAyB;QAC7B,0DAAiD;QAAjD,mHAAiD;QAGhD,0DAA6C;QAA7C,+GAA6C;;6FDM3D,yBAAyB;cALrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,WAAW,EAAE,qCAAqC;gBAClD,SAAS,EAAE,CAAC,qCAAqC,CAAC;aACnD;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4E;AAOpD;AAEe;AAQU;;;;;;;;;;;;;;ICW7B,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,mLACJ;;;IAeI,oEAMI;IAAA,uDACJ;;IAAA,4DAAI;;IADA,0DACJ;IADI,6KACJ;;;IACA,oEAMI;IAAA,uDACJ;;;IAAA,4DAAI;;IADA,0DACJ;IADI,iZACJ;;;IAGJ,wEACI;IAAA,uDACA;;IAAA,uEAAM;IAAA,uDACe;;IAAA,4DAChC;IACH,4DAAI;;;IAJU,0DACA;IADA,2JACA;IAAM,0DACe;IADf,mSACe;;;IAjC7B,0EACI;IAAA,yEAA6B;IAAA,uDAAmC;;IAAA,4DAAK;IAErE,yEACI;IAAA,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACN,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,wHAMI;IAEJ,wHAMI;IAER,4DAAM;IAEN,wHACI;IAKhB,4DAAM;;;IAnCmC,0DAAmC;IAAnC,mJAAmC;IAIrC,0DAA4C;IAA5C,2JAA4C;IAGxD,0DAAiD;IAAjD,iKAAiD;IAIzD,0DAKZ;IALY,0OAKZ;IAGY,0DAKZ;IALY,2OAKZ;IAKyB,0DAA6B;IAA7B,gGAA6B;;;;;IAUzD,0EACE;IAAA,6EAME;IAFA,0UAA8B;IAE9B,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IANF,0DAAsC;IAAtC,iKAAsC;IAItC,0DACF;IADE,2JACF;;;;IAGA,6EAOE;IANA,wUAAyB;IAMzB,uDACF;;IAAA,4DAAS;;;IALP,gLAAqD;IAIrD,0DACF;IADE,2JACF;;;;IAGA,6EAOE;IANA,sVAAuC;IAMvC,uDACF;;IAAA,4DAAS;;;IALP,gLAAqD;IAIrD,0DACF;IADE,+JACF;;;IAGJ,yEACE;IAAA,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,8GACF;;;IAIJ,qEAAkG;;;ADpFjG,MAAM,sBACX,SAAQ,4DAAY;IAiCpB,YACU,WAAwB,EACxB,MAAc,EACd,mBAAwC,EACxC,gBAAkC,EAClC,gBAAkC,EAClC,YAAkC,EAClC,gBAAkC;QAE1C,KAAK,EAAE,CAAC;QARA,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,iBAAY,GAAZ,YAAY,CAAsB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAnC5C,SAAI,GAAW,CAAC,CAAC;QAIjB,gBAAW,GAAW,EAAE,CAAC;QAEzB,YAAO,GAAY,IAAI,CAAC;QAExB,sBAAiB,GAAY,IAAI,CAAC;QAClC,oBAAe,GAAY,IAAI,CAAC;QAIhC,2BAAsB,GAAG,gCAAgC,CAAC;QAE1D,yBAAoB,GAAG,8BAA8B,CAAC;QAKtD,gCAA2B,GAAG,KAAK,CAAC;QAIpC,0BAAqB,GAAG,KAAK,CAAC;IAc9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC1B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,GAAG,CAAC,MAAM,CAAC;aACvB,CAAC;YACF,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAElC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;YACjD,EAAE,EAAE,CAAC,CAAC,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,aAAa;YAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;YACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;QAEJ,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,0BAA0B,CAAC,WAAuB;QAChD,IAAI,QAAQ,GAAQ,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,cAAc,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,EAAE,CACpD,CAAC;QACF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,CAC9D,CAAC;QACF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,CAC5D,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;YACnD,EAAE,EAAE,CAAC,CAAC,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,aAAa;YAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;YACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;SACnD,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,iBAAiB,CAAC,OAAmB;QACnC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IACD,iCAAiC,CAAC,OAAO;QACvC,MAAM,QAAQ,GAAO,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAG,SAAS,GAAG,MAAM;YAAE,SAAS,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YACtC,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,GAAG,CAAC,SAAS,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAiB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAC/B,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,+BAA+B,EAC/B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB;aAC/C,2BAA2B,CAC1B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAChC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAClC,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CACrB;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACtB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,UAAI,GAAG,CAAC,IAAI,0CAAE,mBAAmB,EAAE;gBACjC,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;oBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;oBACA,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;oBAC3C,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;iBAC3F;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;iBACnE;aACF;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;aACH;YAED,IAAI,CAAC,oBAAoB;gBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;oBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;oBACpC,CAAC,CAAC,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,gBAAgB,CAAC,KAAsB;QACrC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAC/D;IACH,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAClC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAC3D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;4FA7QU,sBAAsB;sGAAtB,sBAAsB;QC5BnC,yEACI;QAAA,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEAAuB;QAAA,uDAAyC;;QAAA,4DAAK;QACzE,4DAAM;QACN,yEACI;QAAA,uEACI;QAAA,qEAA2C;QAAC,wDAChD;;QAAA,4DAAI;QACR,4DAAM;QAEN,0EACI;QAAA,0EACI;QAAA,0EACI;QAAA,2EACI;QAAA,2EACI;QAAA,wDACJ;;QAAA,4DAAM;QACN,kFAAiO;QAAxD,uKAAgB,6BAAyB,IAAC;QAAC,4DAAa;QACrO,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,wDACJ;;QAAA,4DAAM;QACN,kFAAyN;QAAtD,uKAAgB,2BAAuB,IAAC;QAAC,4DAAa;QAC7N,4DAAM;QACV,4DAAM;QACN,mHACI;QAER,4DAAM;QAEN,uHACI;QAqCZ,2EACE;QAAA,2EACE;QAAA,qHACE;QASF,2EACE;QAAA,2HAOE;QAEJ,4DAAM;QACN,2EACE;QAAA,2HAOE;QAEJ,4DAAM;QACR,4DAAM;QACN,mHACE;QAEJ,4DAAM;QACR,4DAAM;QAEN,qHAA4F;QAC9F,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA/GiC,0DAAyC;QAAzC,0JAAyC;QAG7D,0DAA4B;QAA5B,8IAA4B;QACiB,0DAChD;QADgD,6JAChD;QAGmB,0DAAkB;QAAlB,+EAAkB;QAKrB,0DACJ;QADI,mKACJ;QACY,0DAAsC;QAAtC,mGAAsC;QAI9C,0DACJ;QADI,iKACJ;QACY,0DAAoC;QAApC,iGAAoC;QAGjC,0DAAoB;QAApB,kFAAoB;QAKV,0DAA8D;QAA9D,oIAA8D;QAwCvE,0DAA8B;QAA9B,4FAA8B;QAgB1D,0DAA6B;QAA7B,2FAA6B;QAW7B,0DAA6B;QAA7B,2FAA6B;QAMZ,0DAAiC;QAAjC,+FAAiC;QAMV,0DAAyC;QAAzC,2GAAyC;;6FDpFpF,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;;;;;;;;;;;;;AE3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;;ICuCnD,sEACE;IAAA,6FAAmE;IACrE,4DAAM;;;IAEN,sEACE;IAAA,2FAA+D;IACjE,4DAAM;;;ADpCT,MAAM,oBAAoB;IAS/B,YACU,KAAqB,EACrB,MAAc;QADd,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QAVxB,gBAAW,GAAG,SAAS,CAAC;QACxB,qBAAgB,GAAG,YAAY,CAAC;QAChC,cAAS,GAAG,QAAQ,CAAC;QACrB,sBAAiB,GAAG,SAAS,CAAC;IAQ3B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACnD,QAAQ,IAAI,CAAC,GAAG,EAAE;gBAChB,KAAK,IAAI,CAAC,WAAW;oBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;oBAClC,MAAM;gBACR,KAAK,IAAI,CAAC,SAAS;oBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAChC,MAAM;gBACR,KAAK,IAAI,CAAC,iBAAiB;oBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBACxC,MAAM;aACT;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,kBAAkB,CAAC,IAAI;QACrB,OAAO,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC;IAChC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;;wFAzCU,oBAAoB;oGAApB,oBAAoB;QCTjC,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAA4C;;QAAA,4DAAK;QAExE,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,0EAKE;QAFA,0JAAqB,SAAS,IAAC;QAE/B,oEAAkC;QAClC,4EAAmB;QAAA,wDAEjB;;QAAA,4DAAO;QACX,4DAAM;QACN,0EAKE;QAFA,0JAAqB,YAAY,IAAC;QAElC,oEAAuC;QACvC,4EACE;QAAA,wDAA2C;;QAAA,4DAC5C;QACH,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,mHACE;QAGF,mHACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA9CyB,0DAA4C;QAA5C,6JAA4C;QAG9D,0DAA6B;QAA7B,8IAA6B;QAE9B,0DACF;QADE,6JACF;QAQE,0DAAyC;QAAzC,sGAAyC;QAItB,0DAEjB;QAFiB,yKAEjB;QAIF,0DAA4C;QAA5C,yGAA4C;QAK1C,0DAA2C;QAA3C,uKAA2C;QAK5C,0DAAsB;QAAtB,mFAAsB;QACpB,0DAA2B;QAA3B,yFAA2B;QAI3B,0DAAgC;QAAhC,8FAAgC;;6FDlClC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACjB;AAEe;AACT;AACU;AACT;AACC;AACK;AACc;AAEpE,aAAa;AAC0D;AACN;AACA;AACZ;AACH;AACA;AACA;;;AAE3C,SAAS,iBAAiB,CAAC,IAAgB;IAChD,OAAO,IAAI,+EAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAwBM,MAAM,SAAS;IACpB;QACE,2EAAkB,CAAC,kEAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,2EAAkB,CAAC,kEAAQ,EAAE,IAAI,CAAC,CAAC;QACnC,2EAAkB,CAAC,kEAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;;wFALU,SAAS,cAFR,2DAAY;4IAEb,SAAS,mBAHT,CAAC,8EAAc,CAAC,YAjBlB;YACP,uEAAa;YACb,mEAAe,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE;oBACN,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,iBAAiB;oBAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACnB;gBACD,eAAe,EAAE,IAAI;aACtB,CAAC;YACF,qEAAa;YACb,4DAAU;YACV,kEAAY;YACZ,oEAAgB;YAChB,6DAAa;YACb,qEAAgB;SACjB;mIAIU,SAAS,mBArBL,2DAAY,aAEzB,uEAAa,uEASb,qEAAa;QACb,4DAAU;QACV,kEAAY;QACZ,oEAAgB;QAChB,6DAAa;QACb,qEAAgB;6FAKP,SAAS;cAtBrB,sDAAQ;eAAC;gBACR,YAAY,EAAE,CAAC,2DAAY,EAAE;gBAC7B,OAAO,EAAE;oBACP,uEAAa;oBACb,mEAAe,CAAC,OAAO,CAAC;wBACtB,MAAM,EAAE;4BACN,OAAO,EAAE,mEAAe;4BACxB,UAAU,EAAE,iBAAiB;4BAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;yBACnB;wBACD,eAAe,EAAE,IAAI;qBACtB,CAAC;oBACF,qEAAa;oBACb,4DAAU;oBACV,kEAAY;oBACZ,oEAAgB;oBAChB,6DAAa;oBACb,qEAAgB;iBACjB;gBACD,SAAS,EAAE,CAAC,8EAAc,CAAC;gBAC3B,SAAS,EAAE,CAAC,2DAAY,CAAC;aAC1B;;;;;;;;;;;;;;AC7CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;;ICiBrE,yEACE;IAAA,yEACE;IAAA,qEAAI;IAAA,uDAAuC;;IAAA,4DAAK;IAClD,4DAAM;IACN,qEACE;IAAA,uDACF;;IAAA,4DAAK;IACP,4DAAM;;;IALE,0DAAuC;IAAvC,gKAAuC;IAG3C,0DACF;IADE,2KACF;;;IAEF,yEACE;IAAA,qEACE;IAAA,uDACF;;IAAA,4DAAK;IACP,4DAAM;;;IAFF,0DACF;IADE,iKACF;;;IAIJ,0EACE;IAAA,qEACF;IAAA,4DAAM;;;IACN,qEAAsF;;;;IAMtF,yEACE;IADmC,kSAAS,2BAAkB,IAAI,CAAC,IAAC;IACpE,yEACE;IAAA,0EACE;IAAA,qEAAI;IAAA,uDAA0C;;IAAA,4DAAK;IACrD,4DAAM;IACN,0EACE;IAAA,qEACF;IAAA,4DAAM;IACR,4DAAM;IACR,4DAAK;;IANK,0DAA0C;IAA1C,2JAA0C;;;;IAOpD,yEAEE;IAFkC,iWAAsB;IAExD,yEACE;IAAA,0EACE;IAAA,oEACE;IAAA,uDACF;;IAAA,4DAAI;IACJ,qEAAI;IAAA,uDAAgC;;IAAA,4DAAK;IACzC,qEAAI;IAAA,wDAAiC;;IAAA,4DAAK;IAC5C,4DAAM;IACN,2EACE;IAAA,sEAAI;IAAA,wDAAgC;;IAAA,4DAAK;IAC3C,4DAAM;IACR,4DAAM;IAER,4DAAK;;;IAVG,0DACF;IADE,iKACF;IACI,0DAAgC;IAAhC,qJAAgC;IAChC,0DAAiC;IAAjC,uJAAiC;IAGjC,0DAAgC;IAAhC,uJAAgC;;;IAvB9C,yEACE;IAAA,0EACE;IAAA,+GACE;IASF,iHAEE;IAcJ,4DAAM;IACR,4DAAK;;;IA3BoB,0DAAe;IAAf,kFAAe;IAUhC,0DAA+B;IAA/B,wFAA+B;;;AD1CpC,MAAM,eAAe;IAmB1B,YAAoB,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;QAlBhD,gBAAW,GAAG,QAAQ,CAAC;QACvB,YAAO,GAAG,KAAK,CAAC;QAGP,YAAO,GAAY,IAAI,CAAC;QAIxB,iBAAY,GAAY,KAAK,CAAC;QAE7B,iBAAY,GAAG,IAAI,0DAAY,EAAc,CAAC;QAC9C,iBAAY,GAAG,IAAI,0DAAY,EAAW,CAAC;QAIrD,cAAS,GAAY,IAAI,CAAC;IAGyB,CAAC;IAEpD,QAAQ;IACR,CAAC;IACD,WAAW;;QACT,UAAI,CAAC,UAAU,0CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAClD,IAAI,YAAK,0CAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,MAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACxE,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,IAAI,MAAM,IAAI,EAAE,EAAE;wBAChB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC5B,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,MAAM,CAAC;qBAC3C;iBACF;aACF;QACH,CAAC,EAAE;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,WAAW,CAAC,OAAO;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;aACtC;iBAAI;gBACH,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;SACF;IACH,CAAC;IACD,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE;YAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;;8EAxEU,eAAe;+FAAf,eAAe;QCT5B,yEASE;QAAA,yEACE;QAAA,yEAKE;QAHA,oIAAS,iBAAa,IAAC,0FACP,WAAO,IADA;QAGvB,yEACE;QAAA,wEACE;QAAA,2GACE;QAOF,2GACE;QAKJ,qEAAe;QACf,2GACE;QAEF,2GAAgF;QAClF,4DAAM;QACR,4DAAM;QAEN,yGACE;QA6BJ,4DAAM;QACR,4DAAM;;QApEJ,sOAKE;QAUkC,0DAAmB;QAAnB,iFAAmB;QAQnB,0DAAoB;QAApB,kFAAoB;QAO1B,0DAAkD;QAAlD,sHAAkD;QAG1B,0DAA+B;QAA/B,iGAA+B;QAI7D,0DAA0C;QAA1C,4GAA0C;;6FD9BvD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;kBAKE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;kBACN,oDAAM;;;;;;;;;;;;;;AErBT;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8F;;;;;;ICW1F,oEAAsE;;;;IACtE,yEAME;IAHA,gWAAuB;IAGvB,uDACF;IAAA,4DAAM;;;;IAHJ,yGAAkC;IAElC,0DACF;IADE,0FACF;;ADXG,MAAM,iBAAiB;IAa5B,YACU,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QARlD,oBAAe,GAAG,EAAE,CAAC;QAErB,aAAQ,GAAG,EAAE,CAAC;QACd,cAAS,GAAG,EAAE,CAAC;QAEL,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;IAI1C,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,OAAsB;IAClC,CAAC;IAED,aAAa,CAAC,gBAAuB;QACnC,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CACxD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CACpD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAC;YAClD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,CAAC;YACvE,OAAO,EAAE,CAAC;SACX;QACD,OAAO,GAAG,CAAC,CAAC;QAEZ,IAAI,CAAC,SAAS,EAAE;IAClB,CAAC;IAED,SAAS;QACP,IAAI,QAAc,CAAC;QACnB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7B,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CACpD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAC9B,IAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAG,IAAI,CAAC,KAAK,EAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;IACH,CAAC;IAED,iBAAiB,CAAC,GAAG;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE;YACxD,SAAS,GAAG,QAAQ,CAAC;SACtB;aAAK,IAAG,CAAC,GAAG,CAAC,KAAK,EAAC;YAClB,SAAS,GAAG,UAAU,CAAC;SACxB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;;kFA7EU,iBAAiB;iGAAjB,iBAAiB;QCR9B,wEACI;QAAA,qEAAI;QAAA,uDAA2C;;QAAA,4DAAK;QACpD,qEAAI;QAAA,uDAA2C;;QAAA,4DAAK;QACpD,qEAAI;QAAA,uDAA2C;;QAAA,4DAAK;QACpD,sEAAI;QAAA,wDAA2C;;QAAA,4DAAK;QACpD,sEAAI;QAAA,wDAA2C;;QAAA,4DAAK;QACpD,sEAAI;QAAA,wDAA2C;;QAAA,4DAAK;QACpD,sEAAI;QAAA,wDAA2C;;QAAA,4DAAK;QACtD,4DAAK;QAEL,0EACE;QAAA,+GAAgE;QAChE,+GAME;QAEJ,4DAAM;;QAnBA,0DAA2C;QAA3C,2JAA2C;QAC3C,0DAA2C;QAA3C,4JAA2C;QAC3C,0DAA2C;QAA3C,4JAA2C;QAC3C,0DAA2C;QAA3C,6JAA2C;QAC3C,0DAA2C;QAA3C,6JAA2C;QAC3C,0DAA2C;QAA3C,6JAA2C;QAC3C,0DAA2C;QAA3C,6JAA2C;QAI1B,0DAA0C;QAA1C,wFAA0C;QAG7D,0DAA6B;QAA7B,kFAA6B;;6FDNtB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;kBAGE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAOL,oDAAM;;;;;;;;;;;;;;AEnBT;AAAA;AAAA;AAAoD;;AAK7C,MAAM,0BAA0B;IACrC,SAAS,CAAC,KAAU,EAAE,YAAiB;QACrC,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC,wBAAwB;iBAC1B,WAAW,EAAE;iBACb,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;;oGAbU,0BAA0B;sIAA1B,0BAA0B;6FAA1B,0BAA0B;cAHtC,kDAAI;eAAC;gBACJ,IAAI,EAAE,wBAAwB;aAC/B;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAChC;;;;;;;ICDpC,oEAA8D;;;IAC9D,wEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,2LACF;;;IAiBI,yEACE;IAAA,yEACE;IAAA,uEAAM;IAAA,uDAA2B;IAAA,4DAAO;IAC1C,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,uDAA4C;;IAAA,4DAAO;IAC3D,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,wDAAsB;IAAA,4DAAO;IACrC,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAAsB;IAAA,4DAAO;IACrC,4DAAM;IACR,4DAAK;;;IAXK,0DAA2B;IAA3B,2FAA2B;IAG3B,0DAA4C;IAA5C,+JAA4C;IAG5C,0DAAsB;IAAtB,sFAAsB;IAGtB,0DAAsB;IAAtB,sFAAsB;;;IA3BpC,yEACE;IAAA,wEACE;IAAA,wEACE;IAAA,yEACE;IAAA,uEAAM;IAAA,uDAAoD;;IAAA,4DAAO;IACnE,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,uDAAsD;;IAAA,4DAAO;IACrE,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAA8C;;IAAA,4DAAO;IAC7D,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAA8C;;IAAA,4DAAO;IAC7D,4DAAM;IACR,4DAAK;IACL,+HACE;IAaJ,4DAAK;IACP,4DAAM;;;IA3BQ,0DAAoD;IAApD,oKAAoD;IAGpD,0DAAsD;IAAtD,uKAAsD;IAGtD,0DAA8C;IAA9C,+JAA8C;IAG9C,0DAA8C;IAA9C,gKAA8C;IAGtC,0DAAgC;IAAhC,sFAAgC;;ADV/C,MAAM,4BAA4B;IAOvC,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAL7C,aAAQ,GAAmB,EAAE,CAAC;QAG7B,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;IAEqB,CAAC;IAExD,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;YAC7D,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAwB,EAAE,EAAE;YACnE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IACO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAkB,EAAE,EAAE;YACpE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;wGA3CU,4BAA4B;4GAA5B,4BAA4B;QCVzC,wHAAwD;QACxD,sHACE;QAEF,0HACE;;QAL4B,uFAAyB;QAC7B,0DAAiD;QAAjD,mHAAiD;QAGhD,0DAA6C;QAA7C,+GAA6C;;6FDM3D,4BAA4B;cALxC,uDAAS;eAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,WAAW,EAAE,wCAAwC;gBACrD,SAAS,EAAE,CAAC,wCAAwC,CAAC;aACtD;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAkD;;AAO3C,MAAM,oBAAoB;IAE/B;IAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFALU,oBAAoB;oGAApB,oBAAoB;QCPjC,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,iEACM;QACN,4EACE;QAAA,kEAAoC;QACtC,4DAAS;QACT,iEACM;QACR,4DAAM;QAEN,yEACE;QAAA,sEACE;QAAA,0EAAqB;QAAA,6DAAC;QAAA,4DAAO;QAC7B,uEACF;QAAA,4DAAM;QACN,uEACE;QAAA,2EAAqB;QAAA,kEAAC;QAAA,4DAAO;QAC7B,2EAAoB;QAAA,iEAAK;QAAA,4DAAO;QAClC,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,wEAAM;QAAA,+EAAmB;QAAA,4DAAO;QAClC,4DAAM;QACN,2EACE;QAAA,wEAAM;QAAA,gFAAoB;QAAA,4DAAO;QACnC,4DAAM;QACR,4DAAM;QAEN,yEAAuD;QAAA,yEAAa;QAAA,4DAAI;QAC1E,4DAAM;QACR,4DAAM;;6FD3BO,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAkD;;AAO3C,MAAM,YAAY;IAEvB;IAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wEALU,YAAY;4FAAZ,YAAY;QCPzB,yEACE;QAAA,oEAGO;QACP,yEACE;QAAA,sEACE;QAAA,uEAAM;QAAA,iHAAS;QAAA,4DAAO;QACtB,qEAAI;QAAA,4JAAiB;QAAA,4DAAK;QAC5B,4DAAM;QACN,uEACG;QAAA,kEACF;QAAA,4DAAI;QACP,4DAAM;QACR,4DAAM;;6FDPO,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;;ICAzD,wEACE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,+JACF;;;IAKE,wEACE;IAAA,wEACE;IAAA,yEACE;IAAA,uEAAM;IAAA,uDAAqD;;IAAA,4DAAO;IACpE,4DAAM;IACN,yEACE;IAAA,uEAAM;IAAA,uDAAkD;;IAAA,4DAAO;IACjE,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAAkD;;IAAA,4DAAO;IACjE,4DAAM;IACN,0EACE;IAAA,wEAAM;IAAA,wDAA+C;;IAAA,4DAAO;IAC9D,4DAAM;IACR,4DAAK;IACL,yEACE;IAAA,0EACE;IAAA,0EACE;IAAA,wEAAM;IAAA,wDAAqD;;IAAA,4DAAO;IACpE,4DAAM;IACN,wEAAM;IAAA,wDAA2C;;IAAA,4DAAO;IAC1D,4DAAM;IACN,0EACE;IAAA,0EACE;IAAA,wEAAM;IAAA,wDAAkD;;IAAA,4DAAO;IACjE,4DAAM;IACN,wEAAM;IAAA,wDAAwC;;IAAA,4DAAO;IACvD,4DAAM;IACN,0EACE;IAAA,0EACE;IAAA,wEAAM;IAAA,wDAAkD;;IAAA,4DAAO;IACjE,4DAAM;IACN,wEAAM;IAAA,wDAAoE;;IAAA,4DAAO;IACnF,4DAAM;IACN,0EACE;IAAA,0EACE;IAAA,wEAAM;IAAA,wDAA+C;;IAAA,4DAAO;IAC9D,4DAAM;IACN,wEAAM;IAAA,wDAAwB;IAAA,4DAAO;IACvC,4DAAM;IACR,4DAAK;IACP,qEAAe;;;IAtCH,0DAAqD;IAArD,sKAAqD;IAGrD,0DAAkD;IAAlD,mKAAkD;IAGlD,0DAAkD;IAAlD,oKAAkD;IAGlD,0DAA+C;IAA/C,iKAA+C;IAM7C,0DAAqD;IAArD,uKAAqD;IAEvD,0DAA2C;IAA3C,oKAA2C;IAIzC,0DAAkD;IAAlD,oKAAkD;IAEpD,0DAAwC;IAAxC,iKAAwC;IAItC,0DAAkD;IAAlD,oKAAkD;IAEpD,0DAAoE;IAApE,oMAAoE;IAIlE,0DAA+C;IAA/C,iKAA+C;IAEjD,0DAAwB;IAAxB,4FAAwB;;ADpC/B,MAAM,yBAAyB;IAGpC,2BAA2B;IAE3B,YAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAE1D,QAAQ;QACN,yBAAyB;IAC3B,CAAC;;kGATU,yBAAyB;yGAAzB,yBAAyB;QCTtC,mHACE;QAIF,wEACE;QACA,yIACE;QAyCJ,4DAAK;;QAjDe,gFAAmB;QAOvB,0DAAiB;QAAjB,+EAAiB;;6FDEpB,yBAAyB;cALrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;;kBAGE,mDAAK;;;;;;;;;;;;;;AEXR;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;ICyB3E,uEAA4B;IAAA,uDAAoC;;IAAA,4DAAO;;;IAA3C,0DAAoC;IAApC,6KAAoC;;;IAChE,uEAA4B;IAAA,uDAAwB;IAAA,4DAAO;;;IAA/B,0DAAwB;IAAxB,qGAAwB;;;IAIlD,uEAA4B;IAAA,uDAAkD;;;IAAA,4DAAO;;;IAAzD,0DAAkD;IAAlD,6OAAkD;;;IAC9E,uEAA4B;IAAA,uDAAuB;IAAA,4DAAO;;;IAA9B,0DAAuB;IAAvB,oGAAuB;;;;ADxBlD,MAAM,oBAAoB;IAS/B;QAFU,aAAQ,GAAG,IAAI,0DAAY,EAAU,CAAC;IAEjC,CAAC;IAEhB,QAAQ;QACN,IAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC;YACxB,IAAI,CAAC,GAAG,GAAC,IAAI,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,GAAG,GAAC,IAAI,CAAC,KAAK,CAAC;SACrB;IACH,CAAC;IAED,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;;wFApBU,oBAAoB;oGAApB,oBAAoB;QCPjC,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,2EAQA;QAHE,uLAAmB,yGACF,uBAAmB,IADjB;QALrB,4DAQA;QAAA,yEACE;QAAA,oEAGO;QACP,oEAKO;QACP,oEAAyB;QAC3B,4DAAM;QACR,4DAAM;QACN,kHAA4B;QAC5B,kHAA4B;QAC9B,4DAAM;QACN,0EACE;QAAA,sEACE;QAAA,oHAA4B;QAC5B,oHAA4B;QAC9B,4DAAK;QACP,4DAAM;QACR,4DAAM;;QA7BE,0DAAW;QAAX,wEAAW;QAST,0DAAgE;QAAhE,oMAAgE;QAIhE,0DAEE;QAFF,oNAEE;QAKF,0DAAqB;QAArB,mFAAqB;QACrB,0DAAqB;QAArB,mFAAqB;QAInB,0DAAqB;QAArB,mFAAqB;QACrB,0DAAqB;QAArB,mFAAqB;;6FDxBpB,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;kBAEE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;;;;;;;;;;;;;AEdT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOuB;AAEgB;AACM;AAGN;;;;;;;;;ICbvC,yEAKE;IAEA,qFAOkB;IAHhB,oVAA+B;IAGjC,4DAAkB;IACpB,4DAAM;;;IAdJ,iKAAqC;IAOnC,0DAAiB;IAAjB,mFAAiB;;ADYd,MAAM,cAAc;IAyCzB,YACU,UAAsB,EACtB,YAA0B;QAD1B,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAxC3B,iBAAY,GAAG,IAAI,4CAAO,EAAW,CAAC;QAErC,qBAAgB,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC3C,iBAAY,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE1C,qBAAgB,GAAG,IAAI,0DAAY,EAAW,CAAC;QAGzD,cAAS,GAAI,KAAK,CAAC;QAEZ,cAAS,GAAG,IAAI,CAAC;QAWhB,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;QAGjB,QAAG,GAAG,6CAAY,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClE,OAAE,GAAG,6CAAY,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAQlE,2BAAsB,GAAG,KAAK,CAAC;IAQ5B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED,8CAA8C;IAC9C,8BAA8B;IAC9B,gEAAgE;IAEhE,+FAA+F;IAC/F,iCAAiC;IACjC,wBAAwB;IACxB,gCAAgC;IAChC,2DAA2D;IAC3D,WAAW;IACX,gCAAgC;IAChC,gBAAgB;IAChB,sDAAsD;IACtD,gCAAgC;IAChC,+BAA+B;IAC/B,WAAW;IACX,uBAAuB;IACvB,gCAAgC;IAChC,gCAAgC;IAChC,gBAAgB;IAChB,eAAe;IACf,uDAAuD;IACvD,2BAA2B;IAC3B,4BAA4B;IAC5B,sCAAsC;IACtC,mFAAmF;IACnF,6EAA6E;IAC7E,4CAA4C;IAC5C,QAAQ;IACR,QAAQ;IACR,IAAI;IAGG,iBAAiB,CAAC,eAAe;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,eAAe,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,+EAA+E;QAC/E,+BAA+B;QAC/B,sBAAsB;QACtB,8BAA8B;QAC9B,yDAAyD;QACzD,SAAS;QACT,cAAc;QACd,MAAM;QACN,qDAAqD;QACrD,uBAAuB;QACvB,MAAM;IACR,CAAC;IAGM,WAAW;QAChB,MAAM,OAAO,GAAG,kCAAkC,CAAC;QACnD,MAAM,SAAS,GAAG,6CAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3C,gDAAgD;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU;aACZ,WAAW,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,cAAc;SAC3B,CAAC;aACD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,0BAA0B;YAC1B,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,oBAAoB,CACrB,CAAC;gBACF,OAAO;aACR;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IACM,aAAa;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACM,UAAU,CAAC,IAAI;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/B,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,IAAI,OAAO,EAAE;gBAEX,OAAO,CAAC,GAAG,CAAC,UAAU,GAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;aAC1B;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;4EAzJU,cAAc;8FAAd,cAAc;QCpB3B,0GAKE;;QAHA,+EAAiB;;6FDkBN,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;kBAEE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;kBACN,oDAAM;;kBAEN,oDAAM;;;;;;;;;;;;;;AE5BT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAEmC;;;;;;;;;ICDnF,yEAKE;IAAA,sEACE;IAAA,sEACE;IAAA,0EAAmB;IAAA,uDAAsB;IAAA,4DAAO;IAChD,0EAA0B;IAAA,uDAA2B;IAAA,4DAAO;IAC9D,4DAAM;IACR,4DAAM;IACN,sEAEE;IAAA,0EACG;IAAA,uDAAmE;;IAAA,4DACrE;IACD,mEAA4B;IAC9B,4DAAM;IACR,4DAAM;;;IAfJ,6LAA0D;IAInC,0DAAsB;IAAtB,sFAAsB;IACf,0DAA2B;IAA3B,2FAA2B;IAMpD,0DAAmE;IAAnE,qMAAmE;;;IAf5E,wEACE;IAAA,oIAKE;IAcJ,qEAAe;;;IAjBX,0DAAoC;IAApC,0FAAoC;;;IAmBxC,oEAAgE;;;IAEhE,yEAIE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,gMACF;;ADpBO,MAAM,wBAAyB,SAAQ,kGAAgB;IAE5D,YAAoB,mBAAwC;QAC1D,KAAK,EAAE,CAAC;QADU,wBAAmB,GAAnB,mBAAmB,CAAqB;IAE5D,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAE7C,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE1D,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAClC,CAAC;;gGAfU,wBAAwB;wGAAxB,wBAAwB;QCTrC,sIACE;QAqBF,oHAA0D;QAE1D,kHAIE;;QA5BY,2HAAyD;QAsBzC,0DAA2B;QAA3B,yFAA2B;QAIvD,0DAAwD;QAAxD,0HAAwD;;6FDjB7C,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACkB;AAMrC;;;;;;;;;;;;;ICAnB,wEACE;IAAA,uDACF;;IAAA,4DAAI;;;IADF,0DACF;IADE,kLACF;;;;IA6DI,0EAKO;IAFL,0TAAyB;IAE1B,4DAAM;;;ADxDhB,MAAM,aAAa;IAKxB,YACS,eAAiC,EAChC,cAA8B,EAC9B,MAAc,EACd,UAAsB,EACtB,YAA0B;QAJ3B,oBAAe,GAAf,eAAe,CAAkB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAGpC,0BAAqB,GAAG,KAAK,CAAC;QAC9B,iBAAY,GAAW,EAAE,CAAC;QAE1B,sBAAiB,GAAW,UAAU,CAAC;QAEvC,mBAAc,GAAG,IAAI,4CAAO,EAAW,CAAC;IAPrC,CAAC;IASJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,UAAU,EAAE,8CAA8C;aAE3D;YACD;gBACE,UAAU,EAAE,8CAA8C;aAE3D;YACD;gBACE,UAAU,EAAE,8CAA8C;aAE3D;YACD;gBACE,UAAU,EAAE,8CAA8C;aAE3D;SACF,CAAC;IACJ,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,wDAAS,CAAC;YAC5B,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClD,eAAe,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,UAAU,CAAC,MAAM;QACf,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;IACH,CAAC;IAED,iBAAiB,CAAC,MAAM;QACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,IACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EACrC;YACA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,oBAAoB,CAAC,QAAmB;QACrC,MAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5D,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QAEf,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IASjC,CAAC;IACD,iBAAiB,CAAC,YAAY;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IACD,aAAa,CAAC,MAAM;QAClB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,MAAM,EACJ,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc;aAC5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;aAChE,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,mBAAmB;YAEnB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,IAAI,WAAW,EAAE;gBACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;oBACxC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CACpC,CAAC;iBACH;gBAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAExC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAChC;QACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,CAAC,CACF,CAAC;IACN,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM,EAAE;YACrC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;SACrC;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;SACjC;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACtC,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;IAClC,CAAC;IAEM,eAAe;QACpB,MAAM,GAAG,GACP,4JAA4J,CAAC;QAC/J,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACzB;IACH,CAAC;IAEM,iBAAiB,CAAC,QAAgB,EAAE,QAAgB;QACzD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAMjC,CAAC;;0EA/KU,aAAa;6FAAb,aAAa;QCnB1B,yEACE;QAAA,yEACE;QAAA,6EACE;QAAA,yEACE;QAAA,0EACE;QAD2B,qIAAU,uBAAmB,IAAC;QACzD,yEACE;QAAA,wEAAuB;QAAA,uDAAiC;;QAAA,4DAAK;QAC7D,qGACE;QAEJ,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,2EAUE;QAAA,oEAAgC;QAChC,wEASA;QAAA,2EACE;QAAA,wEACE;QAAA,wDACF;;QAAA,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,0EACE;QAAA,2EAUE;QAAA,oEAAgC;QAChC,wEAOA;QAAA,2EACE;QAAA,wEACE;QAAA,wDAMF;;;QAAA,4DAAO;QACT,4DAAM;QACN,4GAKC;QACH,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,kFAMc;QAFZ,sKAAoB,sBAAkB,IAAC,sGACvB,6BAAyB,IADF;QAExC,4DAAa;QAChB,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,6EACE;QAAA,wEACA;QAAA,wEAAM;QAAA,wDAAuC;;QAAA,4DAAO;QACtD,4DAAQ;QACV,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,8EAKE;QAAA,wDACF;;QAAA,4DAAS;QACT,8EAME;QAAA,wDAGF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAU;QAEV,2EACE;QAAA,gFAAkE;QACpE,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,uEACE;QAAA,sEAAI;QAAA,wDAAsC;;QAAA,4DAAK;QAC/C,qEACE;QAAA,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACN,yEAAqD;QAAA,wDAEnD;;QAAA,4DAAI;QACR,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,wEAAM;QAAA,wDAAqC;;QAAA,4DAAO;QACpD,4DAAM;QAEN,2EACE;QAAA,oEAA0C;QAC1C,yEAAgC;QAAA,+DAAG;QAAA,4DAAI;QACzC,4DAAM;QACN,uEACE;QAAA,8EACE;QADoC,sIAAS,qBAAiB,IAAC;QAC/D,oEAAiC;QACjC,wEAAM;QAAA,wDAAoC;;QAAA,4DAAO;QACnD,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;QAxJQ,0DAAsB;QAAtB,mFAAsB;QAED,0DAAiC;QAAjC,kJAAiC;QAClC,0DAAoB;QAApB,kFAAoB;QAStC,0DAMC;QAND,2LAMC;QAcG,0DACF;QADE,iKACF;QAOF,0DAMC;QAND,2LAMC;QAKC,0DAA0B;QAA1B,uFAA0B;QAOxB,0DAMF;QANE,4UAMF;QAIA,0DAAwC;QAAxC,sGAAwC;QAS5C,0DAA8C;QAA9C,2GAA8C;QAWtC,0DAAuC;QAAvC,yJAAuC;QAU3C,0DACF;QADE,mKACF;QAIE,0DAAkC;QAAlC,+FAAkC;QAGlC,0DAGF;QAHE,+LAGF;QASK,0DAAiC;QAAjC,8FAAiC;QAOxC,0DAAsC;QAAtC,wJAAsC;QAExC,0DACF;QADE,sKACF;QAEmD,0DAEnD;QAFmD,0JAEnD;QAIM,0DAAqC;QAArC,uJAAqC;QAUnC,2DAAoC;QAApC,sJAAoC;;6FDnIzC,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;;;;;;;;;;;;;;AElBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;;;;;ICmCzD,2FASwB;IAFtB,2XAAmC;IAEpC,4DAAuB;;;IAPtB,+FAA6B;;;;IAS/B,0FASuB;IAJrB,yXAAmC;IAIpC,4DAAsB;;;IAPrB,+FAA6B;;;IAS/B,qEAGO;;;;IAWL,0EAGE;IAAA,qEAAI;IAAA,uDAA4B;IAAA,4DAAK;IACrC,qEAAI;IAAA,uDAA2C;IAAA,4DAAK;IAEpD,0EACE;IAAA,0EACE;IAAA,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,qEAAI;IAAA,wDAA4B;IAAA,4DAAK;IACvC,4DAAM;IAEN,2EACE;IAAA,sEAAI;IAAA,oEAAQ;IAAA,4DAAK;IACjB,sEAAI;IAAA,wDAA2C;IAAA,4DAAK;IACtD,4DAAM;IAEN,2EACE;IAAA,sEAAI;IAAA,kEAAM;IAAA,4DAAK;IACf,sEAAI;IAAA,wDAAmC;IAAA,4DAAK;IAC9C,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAtB+D,8RAE7D;IACF,0DAA4B;IAA5B,4FAA4B;IAC5B,0DAA2C;IAA3C,2GAA2C;IAKvC,0DAA4B;IAA5B,4FAA4B;IAK5B,0DAA2C;IAA3C,2GAA2C;IAK3C,0DAAmC;IAAnC,kGAAmC;;;IApB/C,sEACE;IAAA,0HAGE;IAoBJ,4DAAM;;;;IAvBsB,0DAA0C;IAA1C,kHAA0C;;;;AD5DnE,MAAM,oBAAoB;IA0B/B,YAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAzB5D,yBAAoB,GAAG,KAAK,CAAC;QAO7B,cAAS,GAAG,SAAS,CAAC;QAMtB,2BAAsB,GAAW,SAAS;IAYsB,CAAC;IAEjE,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAE7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAC/D,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAErD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC1E,EAAE,EAAE,CAAC,CAAC,KAAK;YACX,SAAS,EAAE,CAAC,CAAC,KAAK;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,SAAS;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,kBAAkB,CAAC,IAAI,EAAE,KAAK;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI;QACxC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAClG,CAAC;IAED,SAAS,CAAC,KAAK;QACb,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CACxF,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CACxF,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACpF,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;QACxB,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;QAE9C,IAAI,kBAAkB,EAAE;YACtB,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE;gBACzE,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC;gBAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC3C,uCACK,YAAY,KACf,SAAS,EAAE,OAAO,IAClB;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,oBAAoB,CAAC,YAAY;QAC/B,MAAM,gBAAgB,GAAS,YAAY,CAAC,SAAS,CAAC;QACtD,OAAO,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;;wFArIU,oBAAoB;oGAApB,oBAAoB;QCXjC,yEACE;QAAA,yEACE;QAAA,yEAEE;QAAA,gFASc;QADZ,oKAAgB,qBAAiB,IAAC;QACnC,4DAAa;QAChB,4DAAM;QAEN,yEACE;QAAA,4EAKA;QAHE,4IAAS,aAAS,SAAS,CAAC,IAAC;QAG/B,uDACA;;QAAA,4DAAS;QACT,4EAKA;QAHE,4IAAS,aAAS,QAAQ,CAAC,IAAC;QAG9B,uDACA;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,oJASC;QAED,kJASC;QAED,kHAGC;QACH,4DAAM;QAEN,0EACE;QACA,0EAAiB;QAAA,wDAAiC;;QAAA,4DAAK;QACvD,0EAAmB;QAAA,wDAAmC;;QAAA,4DAAK;QAC7D,4DAAK;QAEL,2EACE;QAAA,mHACE;QAwBJ,4DAAM;QAEN,yEAAsE;QAAA,wDAEpE;;QAAA,4DAAI;QACR,4DAAM;;QA9FE,0DAAsC;QAAtC,mGAAsC;QActC,0DAA+C;QAA/C,wKAA+C;QAEjD,0DACA;QADA,gKACA;QAIE,0DAA8C;QAA9C,uKAA8C;QAEhD,0DACA;QADA,gKACA;QAMA,0DAA+B;QAA/B,6FAA+B;QAW/B,0DAA8B;QAA9B,4FAA8B;QAY9B,0DAA4B;QAA5B,0FAA4B;QAMb,0DAAiC;QAAjC,mJAAiC;QAC/B,0DAAmC;QAAnC,qJAAmC;QAIjD,0DAAmD;QAAnD,+FAAmD;QA2BjB,0DAA4B;QAA5B,8IAA4B;QAAC,0DAEpE;QAFoE,4JAEpE;;6FDxFS,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;ICKzE,qEAA6C;IAAA,uDAA6D;;IAAA,4DAAK;;;IAAlE,0DAA6D;IAA7D,+KAA6D;;;IAK1G,yEAAyE;IAAA,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,6EAAa;;;;IACtF,0EAIM;IAFA,sWAAwB;IAExB,uDACA;IAAA,0EACE;IAAA,qEAA8B;IAC9B,qEAA6B;IAC7B,qEAA+B;IAC/B,qEAA+B;IACjC,4DAAM;IACZ,4DAAM;;;;IARA,4GAAqC;IACrC,0DACA;IADA,qFACA;IAA+B,0DAA6B;IAA7B,oGAA6B;;;IAOlE,yEAAqE;IAAA,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,6EAAa;;ADhBjF,MAAM,sBAAsB;IAajC;QAJU,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;QACpC,aAAQ,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC9B,aAAQ,GAAG,IAAI,0DAAY,EAAE,CAAC;IAExB,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,mBAAmB,CAAC,IAAI;QACtB,IAAI,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YACxC,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,IAAI;QACd,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IACG,YAAY,CAAC,SAAkB,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CACrD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CACpE,CAAC,OAAO,EAAE,EACX;oBACA,IAAI,CAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE;wBACzD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;qBACjD;iBACF;aACF;SACF;QACD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,aAAa,CAAC;IACvB,CAAC;;4FArDU,sBAAsB;sGAAtB,sBAAsB;QCPnC,yEACE;QAAA,4EAAoD;QAAzB,8IAAS,kBAAc,IAAC;QAAC,4DAAC;QAAA,4DAAS;QAE9D,yEACE;QAAA,wEACE;QAAA,gHAA6C;QAC/C,4DAAK;QAGL,yEACE;QAAA,kHAAyE;QACzE,kHAIM;QAQN,kHAAqE;QACvE,4DAAM;QACR,4DAAM;QAEN,6EAAqD;QAAzB,+IAAS,kBAAc,IAAC;QAAC,6DAAC;QAAA,4DAAS;QACjE,4DAAM;;QAvBI,0DAAwC;QAAxC,qFAAwC;QAKvB,0DAAmD;QAAnD,oGAAmD;QAElE,0DAA+C;QAA/C,mGAA+C;QAWhC,0DAA+C;QAA/C,gGAA+C;;6FDhB7D,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;kBAEE,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBAEL,oDAAM;;kBACN,oDAAM;;kBACN,oDAAM;;;;;;;;;;;;;;AElBT;AAAA;AAAA;AAAoE;;AAK7D,MAAM,wBAAwB;IAgBnC,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAfzB,mBAAc,GAAG;YACvB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,OAAO;YACP,MAAM;YACN,KAAK;YACL,WAAW;YACX,YAAY;YACZ,OAAO;YACP,MAAM;YACN,OAAO;SACR,CAAC;QAGA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC;IACvC,CAAC;IAGD,SAAS,CAAC,CAAgB;QACxB,IACE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,yDAAyD;YACpG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,gBAAgB;YAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,qBAAqB;YAClE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,qBAAqB;UAC/D;YACA,mCAAmC;YACnC,OAAO;SACR;QACD,mDAAmD;QACnD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAGD,OAAO,CAAC,KAAqB;QAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,WAAW,GAAW,KAAK,CAAC,aAAa;aAC5C,OAAO,CAAC,YAAY,CAAC;aACrB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;QAC3D,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAGD,MAAM,CAAC,KAAgB;QACrB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY;aAChC,OAAO,CAAC,MAAM,CAAC;aACf,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAGD,OAAO,CAAC,KAAK;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA6B,CAAC;YACnD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACrD;IACH,CAAC;;gGApEU,wBAAwB;wGAAxB,wBAAwB;;;6FAAxB,wBAAwB;cAHpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;aAC9B;;kBAqBE,0DAAY;mBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;kBAsBlC,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;kBAShC,0DAAY;mBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;kBAU/B,0DAAY;mBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;AClEnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;IC2FvC,wEACE;IAAA,yEAAoB;IAAA,uDAAiC;;IAAA,4DAAM;IAC3D,yEACE;IAAA,uDACF;;IAAA,4DAAM;IACN,yEACE;IAAA,uDACF;;IAAA,4DAAM;IACN,0EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,0EACE;IAAA,wDACF;;IAAA,4DAAM;IACR,4DAAK;;IAbiB,0DAAiC;IAAjC,iJAAiC;IAEnD,0DACF;IADE,wKACF;IAEE,0DACF;IADE,gKACF;IAEE,0DACF;IADE,wKACF;IAEE,0DACF;IADE,uKACF;;;IAGF,yEACE;IAAA,yEACE;IAAA,0EACE;IAAA,uDACF;;IAAA,4DAAM;IACN,uEAAM;IAAA,uDAEJ;;IAAA,4DAAO;IACX,4DAAM;IACN,yEACE;IAAA,0EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEACG;IAAA,wDAAgD;IAAA,4DAClD;IACH,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEAAM;IAAA,wDAAuB;IAAA,4DAAO;IACtC,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEAAM;IAAA,wDAA0C;IAAA,4DAAO;IACzD,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEACG;IAAA,wDACsB;IAAA,4DACxB;IACH,4DAAM;IACR,4DAAK;;;;IAnCC,0DACF;IADE,6JACF;IACM,0DAEJ;IAFI,qLAEJ;IAIA,0DACF;IADE,0KACF;IAEG,0DAAgD;IAAhD,8HAAgD;IAKjD,0DACF;IADE,kKACF;IACM,0DAAuB;IAAvB,uFAAuB;IAI3B,0DACF;IADE,wKACF;IACM,0DAA0C;IAA1C,wHAA0C;IAI9C,0DACF;IADE,uKACF;IAEG,0DACsB;IADtB,gIACsB;;;IAK/B,yEAIE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,8JACF;;;;IAnEF,0EAKE;IAAA,yEACE;IAAA,gJACE;IAeF,gJACE;IAsCJ,4DAAK;IACL,6IAIE;IAEJ,4DAAM;;;IAlEJ,qKAAyC;IAId,0DAAyB;IAAzB,4FAAyB;IAgBhC,0DAAkC;IAAlC,uFAAkC;IA0CpD,0DAAmD;IAAnD,+HAAmD;;;IA6BnD,yEACE;IAAA,yEACE;IAAA,0EACE;IAAA,+FACF;IAAA,4DAAM;IACN,uEAAM;IAAA,uDAEJ;;IAAA,4DAAO;IACX,4DAAM;IACN,yEACE;IAAA,0EACE;IAAA,2GACF;IAAA,4DAAM;IACN,wEACG;IAAA,wDACyB;IAAA,4DAC3B;IACH,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEACG;IAAA,wDACyB;IAAA,4DAC3B;IACH,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEAAM;IAAA,wDAA6C;IAAA,4DAAO;IAC5D,4DAAM;IACN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,wEACG;IAAA,wDAAgD;IAAA,4DAClD;IACH,4DAAM;IACR,4DAAK;;;;IApCK,0DAEJ;IAFI,qNAEJ;IAOC,0DACyB;IADzB,kKACyB;IAK1B,0DACF;IADE,kKACF;IAEG,0DACyB;IADzB,iKACyB;IAK1B,0DACF;IADE,wKACF;IACM,0DAA6C;IAA7C,4JAA6C;IAIjD,0DACF;IADE,iKACF;IAEG,0DAAgD;IAAhD,kIAAgD;;;IAvDzD,yEACE;IAAA,wEACE;IAAA,yEAAoB;IAAA,uDAAiC;;IAAA,4DAAM;IAC3D,yEACE;IAAA,uDACF;;IAAA,4DAAM;IACN,yEACE;IAAA,uDACF;;IAAA,4DAAM;IACN,0EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,0EACE;IAAA,wDACF;;IAAA,4DAAM;IACR,4DAAK;IAEL,uJACE;IAyCJ,4DAAK;;;IAzDmB,0DAAiC;IAAjC,iJAAiC;IAEnD,0DACF;IADE,wKACF;IAEE,0DACF;IADE,kKACF;IAEE,0DACF;IADE,wKACF;IAEE,0DACF;IADE,iKACF;IAGgB,0DAAkC;IAAlC,wFAAkC;;;IA2CtD,yEAIE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,8JACF;;;IAtEF,0EAKE;IAAA,gJACE;IA2DF,6IAIE;IAEJ,4DAAM;;;IApEJ,mKAAuC;IAEZ,0DAAuB;IAAvB,0FAAuB;IA8DhD,0DAAkD;IAAlD,8HAAkD;;;IASlD,0EAIE;IAAA,sEACE;IAAA,uEAAM;IAAA,uDAAsC;;IAAA,4DAAO;IACnD,oEAAG;IAAA,uDAAyB;IAAA,4DAAI;IAClC,4DAAM;IACN,sEACE;IAAA,uEAAM;IAAA,uDAA0C;;IAAA,4DAAO;IACvD,qEAAG;IAAA,wDAAmC;IAAA,4DAAI;IAC5C,4DAAM;IACN,uEACE;IAAA,wEAAM;IAAA,wDAAwC;;IAAA,4DAAO;IACrD,qEAAG;IAAA,wDAED;;IAAA,4DAAI;IACR,4DAAM;IACN,uEACE;IAAA,wEAAM;IAAA,wDAAwC;;IAAA,4DAAO;IACrD,yEACG;IAAA,wDACyB;IAAA,4DAC3B;IACH,4DAAM;IACN,uEACE;IAAA,wEAAM;IAAA,wDAEJ;;IAAA,4DAAO;IACT,yEACG;IAAA,wDAKyB;IAAA,4DAC3B;IACH,4DAAM;IACN,uEACE;IAAA,wEAAM;IAAA,wDAAuC;;IAAA,4DAAO;IACpD,qEAAG;IAAA,wDAED;;IAAA,4DAAI;IACR,4DAAM;IACN,uEACE;IAAA,wEAAM;IAAA,wDAA0C;;IAAA,4DAAO;IACvD,qEAAG;IAAA,wDAED;;IAAA,4DAAI;IACR,4DAAM;IACR,4DAAM;;;IA7CI,0DAAsC;IAAtC,uJAAsC;IACzC,0DAAyB;IAAzB,6FAAyB;IAGtB,0DAA0C;IAA1C,4JAA0C;IAC7C,0DAAmC;IAAnC,gHAAmC;IAGhC,0DAAwC;IAAxC,0JAAwC;IAC3C,0DAED;IAFC,oMAED;IAGI,0DAAwC;IAAxC,0JAAwC;IAE3C,0DACyB;IADzB,2IACyB;IAItB,0DAEJ;IAFI,kKAEJ;IAEC,0DAKyB;IALzB,uMAKyB;IAItB,0DAAuC;IAAvC,yJAAuC;IAC1C,0DAED;IAFC,sMAED;IAGI,0DAA0C;IAA1C,4JAA0C;IAC7C,0DAED;IAFC,oMAED;;;IAGN,yEAIE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,8JACF;;;IAzDF,sEACE;IAAA,wJAIE;IA+CF,mJAIE;IAEJ,4DAAM;;;IAvDF,0DAA+C;IAA/C,2HAA+C;IAmD/C,0DAAkD;IAAlD,8HAAkD;;;IAvDxD,sEACE;IAAA,gJACE;IA0DJ,4DAAM;;;IA3DC,0DAAuB;IAAvB,0FAAuB;;;;;IAhLpC,0EACE;IAAA,0EACE;IAAA,yEACE;IAAA,yEACE;IAAA,wEAGG;IAFD,6VAA6B;IAE5B,uDAAqC;;IAAA,4DACvC;IACH,4DAAK;IACL,yEACE;IAAA,wEAGG;IAFD,4VAA4B;IAE3B,uDAAoC;;IAAA,4DACtC;IACH,4DAAK;IACL,0EACE;IAAA,yEAGG;IAFD,6VAA4B;IAE3B,wDAAoC;;IAAA,4DACtC;IACH,4DAAK;IACP,4DAAK;IACP,4DAAM;IAEN,6EACE;IAAA,2EACE;IACA,2IAKE;IAkEF,2IAKE;IAqEF,2IACE;IA4DJ,4DAAM;IACR,qEAAe;IACjB,4DAAM;;;IAxOI,0DAA8C;IAA9C,qLAA8C;IAC7C,0DAAqC;IAArC,sJAAqC;IAMtC,0DAA6C;IAA7C,oLAA6C;IAC5C,0DAAoC;IAApC,sJAAoC;IAMrC,0DAA6C;IAA7C,oLAA6C;IAC5C,0DAAoC;IAApC,sJAAoC;IAM/B,0DAAsB;IAAtB,wFAAsB;IAM9B,0DAAwB;IAAxB,2FAAwB;IAqExB,0DAAuB;IAAvB,0FAAuB;IAyEpB,0DAAwB;IAAxB,2FAAwB;;;IAjLrC,qEACE;IACA,qIACE;IA8OJ,4DAAK;;;;IA/Oe,0DAAkC;IAAlC,0GAAkC;;;;IAxCxD,yEAKE;IAAA,yEACE;IADkB,0WAAyB;IAC3C,yEACE;IAAA,sEACE;IAAA,sEACE;IAAA,2EAA0B;IAAA,uDAAkB;IAAA,4DAAO;IACrD,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,yEACE;IAAA,0EACE;IAAA,uDACF;;IAAA,4DAAM;IACN,wEAAM;IAAA,wDAAoB;IAAA,4DAAO;IACnC,4DAAM;IACN,0EACE;IAAA,2EAAuB;IAAA,wDAAqC;;IAAA,4DAAM;IAClE,wEAAM;IAAA,wDAAqD;;IAAA,4DAAO;IACpE,4DAAM;IAEN,0EACE;IAAA,2EACE;IAAA,wDACF;;IAAA,4DAAM;IACN,4EACG;IAAA,wDACmB;IAAA,4DACrB;IACH,4DAAM;IAEN,0EACE;IAAA,oEAAkC;IACpC,4DAAM;IACR,4DAAK;IACL,6HACE;IAiPJ,4DAAM;;;;IArRJ,yKAAsC;IAMJ,0DAAkB;IAAlB,kFAAkB;IAM9C,0DACF;IADE,yKACF;IACM,0DAAoB;IAApB,oFAAoB;IAGH,0DAAqC;IAArC,uJAAqC;IACtD,0DAAqD;IAArD,oNAAqD;IAKzD,0DACF;IADE,6KACF;IAEG,0DACmB;IADnB,yPACmB;IAQtB,0DAAmB;IAAnB,sFAAmB;;;IAqP3B,yEACE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,8JACF;;AD7RK,MAAM,yBAAyB;IA2BpC,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAjBpD,aAAQ,GAAG,UAAU,CAAC;QACtB,YAAO,GAAG,SAAS,CAAC;QACpB,YAAO,GAAG,SAAS,CAAC;QACpB,cAAS,GAAG,EAAE,CAAC;QAEf,qBAAgB,GAAG,KAAK,CAAC;QAKzB,mBAAc,GAAG,KAAK,CAAC;IAOgC,CAAC;IAExD,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,OAAY;QACtB,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;SAC1D;QACD,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;SAC9C;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,aAAa,CAAC,IAAS,EAAE,KAAK;QAC5B,IAAI,IAAI,IAAI,KAAK,EAAE;YACjB,IAAI,SAAS,GAAQ,IAAI,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACvD;IAEH,CAAC;IAED,qBAAqB,CAAC,SAAiB;QACrC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe;aACnC,qBAAqB,CAAC,SAAS,CAAC;aAChC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,SAAS;gBACZ,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;oBACjC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACrC,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,SAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAGrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe;aACjC,oBAAoB,CAAC,SAAS,CAAC;aAC/B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAEjB,IAAI,CAAC,OAAO;gBACV,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,UAAU;gBACb,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;oBACjC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACtC,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,SAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAEhD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,IAAS;QAChB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;gBACnC,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,IAAG,IAAI,CAAC,WAAW,KAAK,IAAI,EAAC;YAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SAE3B;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IAE1B,CAAC;;kGA/HU,yBAAyB;yGAAzB,yBAAyB;QCftC,yEACE;QAAA,wEACE;QAAA,wEACE;QAAA,yEAA8B;QAAA,uDAAsC;;QAAA,4DAAM;QAC1E,yEACE;QAAA,uEAAM;QAAA,uDAA4C;;QAAA,4DAAO;QAC3D,4DAAM;QACN,0EACE;QAAA,wEAAM;QAAA,wDAAqC;;QAAA,4DAAO;QACpD,4DAAM;QACN,0EACE;QAAA,wEAAM;QAAA,wDAAgD;;QAAA,4DAAO;QAC/D,4DAAM;QACN,0EAA+B;QAAA,kEAAM;QAAA,4DAAM;QAC7C,4DAAK;QACL,yHAKE;QAoRJ,4DAAK;QAEL,qHACE;QAEJ,4DAAM;;QA1S8B,0DAAsC;QAAtC,sJAAsC;QAE5D,0DAA4C;QAA5C,4JAA4C;QAG5C,0DAAqC;QAArC,uJAAqC;QAGrC,0DAAgD;QAAhD,kKAAgD;QAMxD,0DAA0B;QAA1B,8EAA0B;QAyRV,0DAA+B;QAA/B,iGAA+B;;6FD3RxC,yBAAyB;cALrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,WAAW,EAAE,qCAAqC;gBAClD,SAAS,EAAE,CAAC,qCAAqC,CAAC;aACnD;;kBAGE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;;;;;;;;;;;;;AEnBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACc;AACd;AACa;AACP;AACI;;AAOlD,MAAM,eAAe;;8FAAf,eAAe;wJAAf,eAAe,mBAFf,CAAC,qEAAgB,CAAC,YADpB,CAAC,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,kEAAmB,CAAC;mIAG7D,eAAe,mBAJX,yEAAkB,aACvB,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,kEAAmB;6FAG5D,eAAe;cAL3B,sDAAQ;eAAC;gBACR,YAAY,EAAE,CAAC,yEAAkB,CAAC;gBAClC,OAAO,EAAE,CAAC,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,kEAAmB,CAAC;gBACxE,SAAS,EAAE,CAAC,qEAAgB,CAAC;aAC9B;;;;;;;;;;;;;;ACZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACO;;;;;;;;;;IC4BpD,0EACE;IAAA,uEAOF;;IAAA,4DAAM;;;IAJF,0DAAwC;IAAxC,wJAAwC;;;;IAK5C,0EACE;IAAA,6EAKA;IAFE,gVAA2B;IAE7B,uDACA;;IAAA,4DAAS;IACX,4DAAM;;IAFJ,0DACA;IADA,gKACA;;;;IAEF,0EACE;IAAA,6EAKA;IAFE,2UAAsB;IAExB,uDACA;;IAAA,4DAAS;IACX,4DAAM;;IAFJ,0DACA;IADA,+JACA;;;IAcE,uEACE;IAAA,uDACF;;IAAA,4DAAO;;IADL,0DACF;IADE,0KACF;;;IACA,uEACE;IAAA,uDACF;;IAAA,4DAAO;;IADL,0DACF;IADE,qKACF;;;;;IAdJ,0EACE;IAAA,6EAOE;IAFA,gVAA2B;IAE3B,mEAA4B;IAC5B,qIACE;IAEF,qIACE;IAEJ,4DAAS;IACX,4DAAM;;;IAbF,0DAEE;IAFF,mLAEE;IAII,0DAAsC;IAAtC,yGAAsC;IAGtC,0DAAuC;IAAvC,0GAAuC;;;IAWjD,0EACE;IAAA,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC7B,4DAAM;;;IADA,0DAAkB;IAAlB,sFAAkB;;;IAQlC,qEAAwE;;;;IAK9E,uFAMoB;IAHlB,sWAA4B,KAAK,IAAC;IAGnC,4DAAmB;;;IALlB,+FAA6B;;;ADrFxB,MAAM,+BAA+B;IAmB1C,YACU,MAAc,EACd,gBAAkC,EAClC,eAAiC;QAFjC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAkB;QArB3C,SAAI,GAAG,CAAC,CAAC;QAUT,oBAAe,GAAY,KAAK,CAAC;QAEjC,YAAO,GAAY,KAAK,CAAC;QAEzB,iBAAY,GAAW,qDAAqD,CAAC;QAE7E,iBAAY,GAAW,EAAE,CAAC;IAMvB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SACzC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CACjE,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,wDAAS,CAAC;YACxB,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC9B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;aACzB,CAAC;YACF,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9C,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;YACvC,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;aAC1C,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aACzE,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC9D,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;iBACnC;qBAAM;oBACL,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;oBACd,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;wBAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;qBAChE;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACpB,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBACnD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;gBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;aACpC;SACF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;aACxC,wBAAwB,CAAC,cAAc,CAAC;aACxC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CACpC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CACrC,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe;aAC1C,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;aAChD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;YAChE,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;IACH,CAAC;;8GAhLU,+BAA+B;+GAA/B,+BAA+B;QCZ5C,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAyC;;QAAA,4DAAK;QAErE,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,wEAQF;;QAAA,4DAAM;QACN,8HACE;QAQF,8HACE;QAQF,8HACE;QAQJ,4DAAM;QAEN,2EACE;QAAA,8HACE;QAgBF,2EACE;QAAA,8EACE;QADuB,wJAAS,0BAAsB,IAAC;QACvD,oEAA4B;QAC5B,wEAAM;QAAA,wDAAsC;;QAAA,4DAAO;QACrD,4DAAS;QACX,4DAAM;QACN,8HACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QAEN,8HAAkE;QACpE,4DAAM;QACR,4DAAO;QACT,4DAAM;QAEN,wJAMC;;QAlG8B,0DAAyC;QAAzC,0JAAyC;QAG1C,0DAA6B;QAA7B,8IAA6B;QAE/C,0DACF;QADE,iKACF;QAMqB,0DAAkB;QAAlB,+EAAkB;QAO7B,0DAA2C;QAA3C,6JAA2C;QAMlB,0DAAkB;QAAlB,gFAAkB;QASlB,0DAAkB;QAAlB,gFAAkB;QASlB,0DAAkB;QAAlB,gFAAkB;QAYzB,0DAAkB;QAAlB,gFAAkB;QAoB9B,0DAAsC;QAAtC,wJAAsC;QAG1B,0DAAoB;QAApB,kFAAoB;QASF,0DAAe;QAAf,6EAAe;QAOrE,0DAAuB;QAAvB,qFAAuB;;6FDtFZ,+BAA+B;cAL3C,uDAAS;eAAC;gBACT,QAAQ,EAAE,gCAAgC;gBAC1C,WAAW,EAAE,6CAA6C;gBAC1D,SAAS,EAAE,CAAC,6CAA6C,CAAC;aAC3D;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiE;AAGoB;;;;;;;ICW/E,yEAKE;IAAA,oFAIuB;IACzB,4DAAM;;;IAJF,0DAAuB;IAAvB,yFAAuB;;;ADR1B,MAAM,oBAAqB,SAAQ,kGAAgB;IAgBxD,YAAoB,eAAiC;QACnD,KAAK,EAAE,CAAC;QADU,oBAAe,GAAf,eAAe,CAAkB;QAdrD,eAAU,GAAG,qBAAqB,CAAC;QAEnC,YAAO,GAAY,IAAI,CAAC;QAIxB,4BAAuB,GAAY,KAAK,CAAC;QAGzC,qBAAgB,GAAY,KAAK,CAAC;IAOlC,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,qBAAqB,CAAC,eAAe,EAAE,oBAAqB;QAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,eAAe;aAChC,qBAAqB,EAAE;aACvB,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS;gBACZ,GAAG,CAAC,MAAM,CAAC;oBACX,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;oBACvB,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC;oBACjC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC;oBACrC,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAErC,IAAI,oBAAoB,EAAE;gBACxB,oBAAoB,EAAE,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;IACH,CAAC;;wFAtDU,oBAAoB;oGAApB,oBAAoB;QCZjC,yEACE;QAAA,yEACE;QAAA,4EAIE;QAHA,4IAAS,WAAO,qBAAqB,CAAC,IAAC;QAGvC,kEAAoC;QACpC,uEAAM;QAAA,uDAAqC;;QAAA,4DAAO;QACpD,4DAAS;QACX,4DAAM;QAEN,yEACE;QAAA,2EACE;QACA,gHAKE;QAMJ,qEAAe;QACjB,4DAAM;QACR,4DAAM;;QAvBA,0DAA8D;QAA9D,oLAA8D;QAGxD,0DAAqC;QAArC,uJAAqC;QAK/B,0DAAuB;QAAvB,oFAAuB;QAIjC,0DAAqC;QAArC,+FAAqC;;6FDJhC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAoD;;AAK7C,MAAM,yBAAyB;IACpC,SAAS,CAAC,KAAU,EAAE,YAAiB;QACrC,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU;iBAC3B,WAAW,EAAE;iBACb,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;;kGAbU,yBAAyB;oIAAzB,yBAAyB;6FAAzB,yBAAyB;cAHrC,kDAAI;eAAC;gBACJ,IAAI,EAAE,uBAAuB;aAC9B;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAOrC;AAUyB;AAKV;;;;;;;;;;;;;;;;;;;ICUvB,0EACI;IAAA,0EACI;IAAA,0EACI;IAAA,0EACI;IAAA,uDACJ;;IAAA,4DAAM;IAEN,oGAAyH;IAA1F,qZAAyD;IAAC,4DAAgC;IAC7H,4DAAM;IACV,4DAAM;IACV,4DAAM;;IANU,0DACJ;IADI,oKACJ;;;IAOZ,0EAGI;IAAA,0EACI;IAAA,0EACI;IAAA,2EAAmB;IAAA,uDAAgC;;IAAA,4DAAO;IAC1D,2EAA0B;IAAA,uDAA2B;IAAA,4DAAO;IAChE,4DAAM;IAWV,4DAAM;IACV,4DAAM;;;IAdyB,0DAAgC;IAAhC,gJAAgC;IACzB,0DAA2B;IAA3B,+FAA2B;;;IA8BzD,oEAMI;IAAA,uDACJ;;IAAA,4DAAI;;IADA,0DACJ;IADI,6KACJ;;;IACA,oEAMI;IAAA,uDACJ;;;IAAA,4DAAI;;IADA,0DACJ;IADI,iZACJ;;;;IA9BR,0EAII;IAAA,yEAA6B;IAAA,uDAAmC;;IAAA,4DAAK;IAErE,yEACI;IAAA,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACN,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,4HAMI;IAEJ,4HAMI;IAER,4DAAM;IACV,4DAAM;;;IA5B2B,0DAAmC;IAAnC,mJAAmC;IAGnB,0DAAoC;IAApC,gKAAoC;IACvB,0DAA4C;IAA5C,2JAA4C;IAErE,0DAAoC;IAApC,gKAAoC;IACvB,0DAAiD;IAAjD,iKAAiD;IAIxF,0DAKZ;IALY,8SAKZ;IAGY,0DAKZ;IALY,+SAKZ;;;;;IAMC,0EACI;IAAA,yEACI;IAAA,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACN,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACN,0EACI;IAAA,6EACZ;IAD+F,sVAAsC;IACrI,oEAA4B;IAC5B,wEAAM;IAAA,wDAA0C;;IAAA,4DAAO;IACzD,4DAAS;IACC,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAb6C,0DAAoC;IAApC,gKAAoC;IACrC,0DAAiD;IAAjD,+JAAiD;IAEhD,0DAAoC;IAApC,gKAAoC;IACrC,0DAA8C;IAA9C,6JAA8C;IAGjD,0DAA+C;IAA/C,2KAA+C;IAExF,0DAA0C;IAA1C,4JAA0C;;;IAapC,6EAA2D;IAAA,uDAAW;IAAA,4DAAS;;;IAAtC,+EAAiB;IAAC,0DAAW;IAAX,6EAAW;;;IALlF,0EACI;IAAA,yEACI;IAAA,0EACI;IAAA,6EACA;IAAA,6EAAmC;IAAA,wEAAa;IAAA,4DAAS;IACzD,oIAA2D;IAC7D,4DAAS;IAEX,4DAAM;IAGV,4DAAM;IACV,4DAAM;;;IAV6C,0DAAoC;IAApC,+JAAoC;IACnB,0DAA0C;IAA1C,4GAA0C;IAE1F,0DAAgC;IAAhC,sFAAgC;;;IAchD,0EACI;IAAA,wEACI;IAAA,uDACA;;IAAA,uEAAM;IAAA,uDAAwC;;IAAA,4DAAO;IACzD,4DAAI;IACR,4DAAM;;;IAHE,0DACA;IADA,0JACA;IAAM,0DAAwC;IAAxC,wMAAwC;;;;IAIlD,yEACI;IAAA,0EACI;IAAA,0EACI;IAAA,sFAMkB;IAD+C,uXAA+B;IAChG,4DAAkB;IACtB,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IATuB,0DAKhC;IALgC,kMAKhC;;;IATD,0EACI;IAAA,6IACI;IAYR,4DAAM;;;IAb2B,0DAAyD;IAAzD,gLAAyD;;;IAc1F,qEAA6E;;;IAxBjF,wEAGI;IAAA,uIACI;IAKJ,uIACI;IAcJ,uIAAuE;IAC3E,qEAAe;;;IAtBa,0DAA6B;IAA7B,gGAA6B;IAMnB,0DAA6B;IAA7B,gGAA6B;IAevB,0DAA8B;IAA9B,iGAA8B;;;IAG1E,qEAAwE;;;;IAKpE,0EACI;IAAA,6EACV;IAD0C,yUAAyB;IACnE,uDACF;;IAAA,4DAAS;IACD,4DAAM;;;IAHwD,0DAAwC;IAAxC,0GAAwC;IAC5G,0DACF;IADE,2JACF;;;IAIE,wEAAgC;IAAA,uDAE9B;;IAAA,qEAAe;;IAFe,0DAE9B;IAF8B,gJAE9B;;;IACF,wEAAgC;IAAA,uDAE9B;;IAAA,qEAAe;;IAFe,0DAE9B;IAF8B,sJAE9B;;;;IAIQ,6EACV;IADqK,2UAAoB,IAAI,KAAE;IAC/L,uDACF;;IAAA,4DAAS;;;IAF2E,0GAAwC;IAC1H,0DACF;IADE,0KACF;;;IAHQ,0EACI;IAAA,oIACV;IAEM,4DAAM;;;IAHyC,0DAA4B;IAA5B,+FAA4B;;;IAKvE,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,mLACJ;;;AD9JjB,MAAM,0BACX,SAAQ,4DAAY;IA8DpB,YACU,IAAgB,EAChB,WAAwB,EACxB,MAAc,EACd,mBAAwC,EACxC,gBAAkC,EAClC,eAAiC,EACjC,eAAiC,EACjC,YAAkC,EAClC,gBAAkC;QAE1C,KAAK,EAAE,CAAC;QAVA,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAkB;QACjC,oBAAe,GAAf,eAAe,CAAkB;QACjC,iBAAY,GAAZ,YAAY,CAAsB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAhE5C,SAAI,GAAW,CAAC,CAAC;QAEjB,WAAM,GAAG,CAAC,CAAC;QACX,gBAAW,GAAG,EAAE,CAAC;QACjB,YAAO,GAAW,EAAE,CAAC;QACrB,eAAU,GAAS,EAAE,CAAC;QACtB,qBAAgB,GAAY,KAAK,CAAC;QAElC,YAAO,GAAY,IAAI,CAAC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAEhC,sBAAiB,GAAY,IAAI,CAAC;QAClC,oBAAe,GAAY,IAAI,CAAC;QAOhC,yBAAoB,GAAY,KAAK,CAAC;QAItC,oBAAe,GAAW,mBAAmB,CAAC;QAE9C,cAAS,GAAY,KAAK,CAAC;QAE3B,0BAAqB,GAAG,KAAK,CAAC;QAE9B,0BAAqB,GAAG,KAAK,CAAC;QAW9B,gCAA2B,GAAG,KAAK,CAAC;QAKpC,4BAAuB,GAAG,EAAE,CAAC;QAC7B,iBAAY,GAAW,EAAE,CAAC;QAE1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAQ,CAAC,CAAC;QACrB,aAAQ,GAAC,EAAE,CAAC;IAgBZ,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClD,aAAa,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACjC,UAAU,EAAE;oBACV,yDAAU,CAAC,QAAQ;oBACnB,4BAA4B;oBAC5B,4BAA4B;oBAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,CAAC;iBAC3D;aACF,CAAC;YACF,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,sDAAsD;YACtD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE;gBAC5B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,GAAG,CAAC,MAAM,CAAC;aACvB,CAAC;YACF,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,eAAe,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB;aAC/C,GAAG,CAAC,eAAe,CAAC;aACpB,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,SAAS;QACxB,IACE,SAAS,CAAC,MAAM,KAAK,EAAE;YACvB,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EACjD;YACA,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,eAAe,KAAK,mBAAmB,EAAE;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;qBACxC,sBAAsB,CAAC,SAAS,CAAC;qBACjC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;oBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IACE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,EAC7D;wBACA,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;4BACpC,GAAG;4BACH,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;wBACtC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;qBACzD;yBAAM,IAAI,GAAG,CAAC,MAAM,EAAE;wBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;4BACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBAC9C;qBACF;gBACH,CAAC,CAAC,CAAC;aACN;SACF;IACH,CAAC;IAKH,WAAW;QACT,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAC,YAAY;IAEhC,CAAC;IAGC,WAAW;QACT,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACvE,IAAG,eAAe,KAAG,OAAO,EAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,wBAAwB;SAC7C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,gBAAgB;SACrC;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,4BAA4B;SACjD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,eAAe;SACpC;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,sBAAsB;SAC3C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,yBAAyB;SAC9C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,wBAAwB;SAC7C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,oCAAoC;SACzD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,0BAA0B;SAC/C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,mCAAmC;SACxD;aAEI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qBAAqB;SAC1C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,6BAA6B;SAClD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,6BAA6B;SAClD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,uCAAuC;SAC5D;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qCAAqC;SAC1D;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,mCAAmC;SACxD;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,qBAAqB;SAC1C;aACI,IAAG,eAAe,KAAG,OAAO,EAAC;YAChC,IAAI,CAAC,YAAY,GAAG,YAAY;SACjC;aACG;YACF,IAAI,CAAC,YAAY,GAAG,kBAAkB;SACvC;IACH,CAAC;IAID,sBAAsB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACvE,MAAM,cAAc,GAAG,OAAO,CAAC;QAC/B,IAAI,eAAe,KAAK,cAAc,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;IACH,CAAC;IACD,oBAAoB,CAAC,SAAS;QAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,OAAO,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAC9D,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;gBACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,SAAS,EAAE,CAAC,CAAC,IAAI;YACjB,SAAS,EAAE,CAAC,CAAC,wBAAwB;SACtC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,WAAW;IACX,cAAc;QACZ,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAClE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;QAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE;YAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;IACH,CAAC;IACD,uBAAuB;QACrB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACjE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC/D;IACH,CAAC;IAED,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG;YACvB,SAAS,EAAE,kBAAkB;YAC7B,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,uBAAuB,CAAC,KAAe;QACrC,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,OAAmB;QACnC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC;IACD,iCAAiC,CAAC,OAAO;QACvC,MAAM,QAAQ,GAAQ,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAC7C,CAAC;QACF,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAI,SAAS,GAAG,MAAM;YAAE,SAAS,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YACvD,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,GAAG,CAAC,SAAS,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,eAAe,CAAC,KAAiB;QAC/B,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CACjC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CACrE,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,oBAAoB,CAAC,QAAQ;QAC3B,IACE,QAAQ;YACR,QAAQ,CAAC,wBAAwB;YACjC,QAAQ,CAAC,WAAW;YACpB,QAAQ,CAAC,IAAI,IAAI,UAAU,EAC3B;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qBAAqB,CAAC,cAAc;QAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,6CAA6C;IAC7C,sBAAsB;IACtB,qEAAqE;IACrE,aAAa;IACb,+DAA+D;IAC/D,MAAM;IACN,IAAI;IACJ,wBAAwB,CAAC,QAAgB;QACvC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,8DAA8D;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAElE,CAAC;IACH,WAAW,CAAC,QAAQ;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,4BAA4B,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChE,8DAA8D;YAC9D,kBAAkB;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI;YACJ,8BAA8B;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAIC,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC7C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EACrD;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,qCAAqC;QACnC,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;YAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;YACrD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;YAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EACvD;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,+BAA+B,CAAC;SACxD;QAED,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,eAAe,EACpB,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,YAAY;QACrB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;oBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;oBACrD,IAAI,CAAC,+BAA+B,EAAE,CAAC;iBACxC;aACF;SACF;aAAM;YACL,kCAAkC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnB,IAAI,IAAI,CAAC,qCAAqC,EAAE,EAAE;oBAChD,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;oBACrD,IAAI,YAAY,EAAE;wBAChB,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;wBAC/B,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAyB,EAAE,EAAE;4BAC3D,OAAO,CACL,GAAG,CAAC,wBAAwB;gCAC5B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CACxD,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;4BACrB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;yBACtC;6BAAM;4BACL,IAAI,CAAC,WAAW,EAAE,CAAC;yBACpB;qBACF;yBAAM;wBACL,IAAI,CAAC,+BAA+B,EAAE,CAAC;qBACxC;iBACF;aACF;SACF;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IACE,IAAI,CAAC,eAAe,KAAK,mBAAmB;YAC5C,IAAI,CAAC,eAAe,KAAK,+BAA+B,EACxD;YACA,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAEnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;iBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EACjD,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB;gBAChD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAC3D,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAClD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAC7C;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBACtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAErB,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAChC,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,QAAQ;wBAChD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;wBACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;wBACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;qBAC3F;yBAAM,IAEL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EACxC;wBACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;qBAEhH;yBACI;wBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;qBACnE;iBACF;gBACD,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;gBACD,IAAI,CAAC,oBAAoB;oBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBACpC,CAAC,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACN;aAAM,IAAI,IAAI,CAAC,eAAe,KAAK,mBAAmB,EAAE;YACvD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,kCAAkC;YAClC,kCAAkC;YAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;iBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAClC,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,wBAAwB;gBAChD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAC3D,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAC1C,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC9C,EACD,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,MAAM,EACxC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,gBAAgB;gBACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EACjD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EACpD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,CAEjB;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;gBAEtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;qBAAM,IAAI,GAAG,CAAC,IAAI,EAAE;oBACnB,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;wBACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;wBACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;qBAC3F;yBAAM,IACL,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;wBACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAExC;wBACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,UAAU,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,UAAU,CAAC;wBAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;qBAChH;yBAEI;wBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;qBACnE;iBACF;gBACD,IAAI,CAAC,oBAAoB;oBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;wBACpC,CAAC,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,2BAA2B;;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,UAAI,IAAI,CAAC,gBAAgB,0CAAE,wBAAwB,EAAE;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE;oBACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IACE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EACtE;oBACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,qBAAqB;aACvB,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,wBAAwB,EACtB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACzD,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACpD,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK;aACtE;SACF,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,mBAAmB,CAAC,QAAQ,CAAC;aAC7B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,+BAA+B,EAAE,CAAC;aACxC;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK;gBACvD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBAC9C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C;gBACA,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IACE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBAChD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC9C;gBACA,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;QAChC,KAAK,CAAC,0BAA0B,EAAE,CAAC;QACnC,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAC3D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;oGA5xBU,0BAA0B;0GAA1B,0BAA0B;QC/BvC,yEACI;QAAA,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEACI;QAAA,uDACJ;;QAAA,4DAAK;QACT,4DAAM;QACN,yEACI;QAAA,uEACI;QAAA,qEAA2C;QAAC,wDAChD;;QAAA,4DAAI;QACR,4DAAM;QAEN,0EACI;QAAA,0EACI;QAAA,0EACI;QAAA,2EACI;QAAA,2EACI;QAAA,wDACJ;;QAAA,4DAAM;QACN,kFAAyP;QAAxD,2KAAgB,6BAAyB,IAAC;;QAAC,4DAAa;QAC7P,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,wDACJ;;QAAA,4DAAM;QACN,kFAA4R;QAAzF,2KAAgB,2BAAuB,IAAC,6GAAiB,qBAAiB,IAAlC;;QAAoC,4DAAa;QAChS,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,yHACI;QAWJ,yHAGI;QAkBJ,2HAII;QA8BJ,2HACI;QAkBJ,yHACI;QAeJ,2IAGI;QAwBJ,yHAAkE;QACtE,4DAAM;QAEN,2EACI;QAAA,2EACI;QAAA,yHACI;QAIJ,2EACI;QAAA,8EACV;QAD2F,mJAAS,eAAW,KAAK,CAAC,IAAC;QACtH,2IAAgC;QAGhC,2IAAgC;QAGlC,4DAAS;QACD,4DAAM;QACN,yHACI;QAIJ,2EACI;QAAA,uHACI;QAER,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAO;QACX,4DAAM;;QAjMmC,0DAAmC;QAAnC,gGAAmC;QAGxD,0DACJ;QADI,yKACJ;QAGG,0DAA4B;QAA5B,8IAA4B;QACiB,0DAChD;QADgD,6JAChD;QAQgB,0DACJ;QADI,mKACJ;QACY,0DAAgD;QAAhD,gKAAgD;QAIxD,0DACJ;QADI,iKACJ;QACY,0DAAsD;QAAtD,sKAAsD;QAKtD,0DAAwD;QAAxD,0HAAwD;QAY9C,0DAEvC;QAFuC,+IAEvC;QAmB0C,0DAG1C;QAH0C,wKAG1C;QA+BuC,0DAAmD;QAAnD,qHAAmD;QAmBnD,0DAAmD;QAAnD,qHAAmD;QAgBvE,0DAEnB;QAFmB,8IAEnB;QAyBuD,0DAAe;QAAf,6EAAe;QAK7B,0DAAkB;QAAlB,gFAAkB;QAML,0DAAuC;QAAvC,gKAAuC;QAC5E,0DAAiB;QAAjB,+EAAiB;QAGjB,0DAAiB;QAAjB,+EAAiB;QAKO,0DAAkB;QAAlB,gFAAkB;QAMnB,0DAAoB;QAApB,kFAAoB;;6FD5J1D,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;;;;;;;;;;;;;;AE9BD;AAAA;AAAA;AAMuB;;AAKhB,MAAM,qBAAqB;IAChC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAGnC,iBAAY,GAAG,IAAI,0DAAY,EAAc,CAAC;IAHR,CAAC;IAMvC,OAAO,CAAC,KAAiB,EAAE,aAA0B;QAC1D,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;;0FAhBU,qBAAqB;qGAArB,qBAAqB;;;6FAArB,qBAAqB;cAHjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;;kBAIE,oDAAM;;kBAGN,0DAAY;mBAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;;;;;;;;;;;;;;ACjB7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAGiC;;;;;;;;;ICoB/D,wEACI;IAAA,mEAAuD;IACvD,2EAAmB;IAAA,uDAAyC;;IAAA,4DAAO;IACvE,4DAAI;;IAHkC,6IAA2C;IAE1D,0DAAyC;IAAzC,yJAAyC;;;;;;ADf7E,MAAM,kBAAmB,SAAQ,2FAAgB;IACtD,YAAoB,mBAAwC,EAAS,YAAiC;QACpG,KAAK,EAAE,CAAC;QADU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAAS,iBAAY,GAAZ,YAAY,CAAqB;IAEtG,CAAC;IAED,QAAQ;QACN,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;oFAtBU,kBAAkB;kGAAlB,kBAAkB;QCV/B,yEACI;QAAA,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEAAuB;QAAA,uDAAuC;;QAAA,4DAAK;QAEnE,yEACI;QAAA,yEACI;QAAA,yEACI;QAAA,6EACd;QAAA,wDACA;;QAAA,4DAAS;QACC,4DAAM;QACN,0EACI;QAAA,6EACd;QAAA,wDACA;;QAAA,4DAAS;QACC,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,0EACI;QAAA,2EACI;QAAA,6GACI;QAGJ,yEACI;QAAA,oEAA4D;QAC5D,4EAAmB;QAAA,wDAAmD;;QAAA,4DACjF;QACH,4DAAI;QACJ,yEAIE;QAAA,oEAAwD;QACxD,4EAAmB;QAAA,wDAAwC;;QAAA,4DAAO;QAC1D,4DAAI;QAUR,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,yEAAuB;QAAA,2OAA+K;QAAA,4DAAI;QAC9M,4DAAO;QACX,4DAAM;;QAjDiC,0DAAuC;QAAvC,wJAAuC;QAKT,0DAA6B;QAA7B,8IAA6B;QACpF,0DACA;QADA,yKACA;QAG6D,0DAAiC;QAAjC,8IAAiC;QAC9F,0DACA;QADA,yKACA;QAOwF,0DAAoC;QAApC,kGAAoC;QAIhF,0DAA4C;QAA5C,8IAA4C;QAE3D,0DAAmD;QAAnD,uKAAmD;QAKlF,0DAAgD;QAAhD,8IAAgD;QAG7B,0DAAwC;QAAxC,0JAAwC;;6FD3B1D,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;AAGe;AAWU;;;;;;;;;;;;;;;;ICKzB,0EACI;IAAA,0EACI;IAAA,uDACJ;;IAAA,4DAAM;IACN,iFAAwR;IAA1F,+WAAyC;;IAAoC,4DAAa;IAC5R,4DAAM;;;IAHE,0DACJ;IADI,+JACJ;IACY,0DAAsD;IAAtD,oKAAsD;;;IAG1E,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,mLACJ;;;IAsBQ,oEAMI;IAAA,uDACJ;;IAAA,4DAAI;;IADA,0DACJ;IADI,6KACJ;;;IACA,oEAMI;IAAA,uDACJ;;;IAAA,4DAAI;;IADA,0DACJ;IADI,iZACJ;;;;;IAKA,0EACI;IAAA,4EACJ;IADqH,kWAA8B;;IAA/I,4DACJ;IAAA,4DAAM;;;IAFuF,+JAAoC;IACvF,0DAA6C;IAA7C,2JAA6C;;;;;IAUvF,0EACI;IAAA,6EAId;IADG,4WAAsC;IACzC,mEAA4B;IAC5B,uEAAM;IAAA,uDAA0C;;IAAA,4DAAO;IACzD,4DAAS;IACG,4DAAM;;;IAPiC,0DAG/C;IAH+C,+LAG/C;IAEI,0DAA0C;IAA1C,0JAA0C;;;IAI1C,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,0LACJ;;;;IA9DR,wEAKI;IAAA,0EACI;IAAA,yEACI;IAAA,uDACJ;;IAAA,4DAAK;IAEL,yEACI;IAAA,0EACI;IAAA,uEACJ;;IAAA,4DAAM;IACN,0EACI;IAAA,wEACJ;;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,0IAMI;IAEJ,0IAMI;IAER,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,0EACI;IAAA,8IACI;IAEJ,2EACI;IAAA,wEACJ;;IAAA,4DAAM;IACN,2EACI;IAAA,kFAEqK;IAAtD,wXAAwC;;IAAC,4DAAa;IACzK,4DAAM;IACN,8IACI;IAQR,4DAAM;IACN,4IACI;IAER,4DAAM;IACV,qEAAe;;;IAzDH,0DACJ;IADI,+JACJ;IAG6C,0DAAoC;IAApC,gKAAoC;IACvB,0DAA4C;IAA5C,2JAA4C;IAErE,0DAAoC;IAApC,gKAAoC;IACvB,0DAAiD;IAAjD,iKAAiD;IAIxF,0DAKd;IALc,kRAKd;IAGc,0DAKd;IALc,mRAKd;IAOsD,0DAAiD;IAAjD,6HAAiD;IAGjD,0DAAoC;IAApC,gKAAoC;IACrC,0DAA8C;IAA9C,8JAA8C;IAGxE,0DAEzB;IAFyB,mLAEzB;IAEoD,0DAAiD;IAAjD,6HAAiD;IAUzE,0DAA2B;IAA3B,8FAA2B;;;;IAgB9D,yEAIE;IAAA,0EACE;IAAA,0EACE;IAAA,sFAakB;IAHhB,sXAA+B;IAGjC,4DAAkB;IACpB,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAfE,0DAKC;IALD,oLAKC;;;IAtBL,wEACI;IAAA,0EACI;IAAA,wEACI;IAAA,uDACA;;IAAA,uEAAM;IAAA,uDACiB;;IAAA,4DACpC;IACH,4DAAI;IACN,4DAAM;IACN,0EACE;IAAA,4IAIE;IAmBJ,4DAAM;IACR,qEAAe;;;IA/BK,0DACA;IADA,0JACA;IAAM,0DACiB;IADjB,mTACiB;IAOrC,0DAA6D;IAA7D,wLAA6D;;;IAwBnE,qEAAwE;;;;IAUtE,0EACE;IAAA,6EACE;IAD8B,uUAAkB;IAChD,uDACF;;IAAA,4DAAS;IACX,4DAAM;;IAFF,0DACF;IADE,2JACF;;;;IAEF,0EACE;IAAA,6EAeE;IAFA,6UAAwB;IAExB,uDACF;;IAAA,4DAAS;IACX,4DAAM;;;IAfF,0DAUE;IAVF,mfAUE;IAGF,0DACF;IADE,2JACF;;;;IAEF,0EACE;IAAA,6EACE;IADuC,6UAAwB;IAC/D,uDACF;;IAAA,4DAAS;IACX,4DAAM;;IAFF,0DACF;IADE,iKACF;;;;IAEF,0EAME;IAAA,6EAIE;IAFA,4VAAuC;IAEvC,uDACF;;IAAA,4DAAS;IACX,4DAAM;;IAFF,0DACF;IADE,0KACF;;;ADjKL,MAAM,+BACX,SAAQ,4DAAY;IA4CpB,YACU,gBAAkC,EAClC,eAAiC,EACjC,mBAAwC,EACxC,MAAc,EACd,YAAkC,EAClC,gBAAkC;QAE1C,KAAK,EAAE,CAAC;QAPA,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAkB;QACjC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAsB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;QA/C5C,SAAI,GAAW,CAAC,CAAC;QAIjB,YAAO,GAAW,EAAE,CAAC;QAKrB,sBAAiB,GAAY,KAAK,CAAC;QAUnC,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAQ,CAAC,CAAC;QAGrB,qBAAgB,GAAY,IAAI,CAAC;QACjC,yBAAoB,GAAY,KAAK,CAAC;QAWtC,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAW,EAAE,CAAC;QAC1B,wBAAmB,GAAW,EAAE,CAAC;QAEjC,0BAAqB,GAAY,KAAK,CAAC;IAWvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,wDAAS,CAAC;YAClC,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClD,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC1B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,GAAG,CAAC,MAAM,CAAC;aACvB,CAAC;YACF,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9C,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC7B,eAAe,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,OAAwB;QAC/C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YAC7D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EACtC;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IACD,oBAAoB,CAAC,SAAS;QAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC;IAED,4BAA4B;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,OAAO,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAC9D,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;gBACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,iBAAiB,CAAC,QAAoB;QACpC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAC5C,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5D,CAAC;QACF,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,iCAAiC,CAAC,OAAO;QACvC,MAAM,QAAQ,GAAQ,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAC7C,CAAC;QACF,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC;QACvC,IAAI,SAAS,GAAG,MAAM;YAAE,SAAS,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YAChD,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,GAAG,CAAC,SAAS,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACnE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAuB,EAAE,EAAE;;YAAC,QAAC;gBACxD,EAAE,QAAE,CAAC,0CAAE,EAAE;gBACT,SAAS,QAAE,CAAC,0CAAE,IAAI;gBAClB,SAAS,EAAE,kBAAkB,OAAC,CAAC,0CAAE,cAAc,CAAC;aACjD,CAAC;SAAA,CAAC,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,KAAiB;QAChC,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CACjC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CACrE,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAC5C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACrC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAC9C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CACrC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvE,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,KAAiB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe;QACb,IAAI,CAAC,kBAAkB,GAAG;YACxB,SAAS,EAAE,kBAAkB;YAC7B,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;YACjD,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,UAAU,GACZ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK;YACnD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;YAC/C,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB;aACvC,yBAAyB,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpE,SAAS,CAAC,CAAC,GAAiC,EAAE,EAAE;YAC/C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAE9B,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;aAC1C;iBAAM;gBACL,IAAI,IAAI,GAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACvC,EAAE,EAAE,OAAO,CAAC,SAAS;oBACrB,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBACxD,SAAS,EAAE,OAAO,CAAC,QAAQ;iBAC5B,CAAC,CAAC,CAAC;gBACJ,IACE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK;oBACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,EACjB;oBACA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CACxC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAC7B,CAAC;iBACH;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAEvD,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;aACzD;YACD,IACE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;gBACzC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAC5C;gBACA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE;oBACzD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;wBACjD,IAAI,CAAC,qBAAqB,EAAE,CAAC;qBAC9B;iBACF;qBAAM;oBACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;aACF;SACF;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAErD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;gBAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC1B;SACF;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,WAAW;QACT,IAAI,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAC,YAAY;IAEhC,CAAC;IACD,qBAAqB;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB;aAC5C,eAAe,CACd,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAC1C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAC3C,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CACrB;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;gBACpD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,YAAY;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB;aACzC,uCAAuC,CACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAC3C,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAC1C,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAC9C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,CAEjB;aACA,SAAS,CAAC,CAAC,GAAO,EAAE,EAAE;;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAClC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAC/C,CAAC;aACH;iBAAM;gBACL,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;qBAAM;oBACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,gGAAgG;oBAChG,6FAA6F;oBAC7F,mDAAmD;oBAEnD,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS,EACpD;wBACC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;wBACzD,6BAA6B;wBAC7B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;qBAC3F;yBAAK,IACH,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS,EAAC;wBACnD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;wBAC3D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,iEAAiE,UAAU,EAAE,CAAC,CAAC;qBAChH;iBAEF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,cAAc,EACZ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC1D,UAAU,EAAE,IAAI,CAAC,qBAAqB;gBACtC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;aACzD;SACF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe;aACvC,qBAAqB,CAAC,QAAQ,CAAC;aAC/B,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,aAAa,2BAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,yDAAE,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,GAAC;YAC7F,MAAM,OAAO,GAAG,yCAAyC,aAAa,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAE,uBAAuB,EAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,cAAc;aAChB,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAErD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE;YAC9C,IAAI,IAAI,GAAQ,IAAI,CAAC,WAAW,CAAC;YACjC,IACE,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CACpE,EACD;gBACA,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;IACH,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAC3D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;8GA7fU,+BAA+B;+GAA/B,+BAA+B;QC5B5C,yEACI;QAAA,uEACI;QAAA,yEACI;QAAA,yEACI;QAAA,wEACI;QAAA,uDACJ;;QAAA,4DAAK;QACT,4DAAM;QACN,yEACI;QAAA,uEACI;QAAA,qEAA2C;QAAC,wDAChD;;QAAA,4DAAI;QACR,4DAAM;QAEN,0EACI;QAAA,0EACI;QAAA,0EACI;QAAA,2EACI;QAAA,2EACI;QAAA,wDACJ;;QAAA,4DAAM;QACN,kFAEiI;QAAxD,gLAAgB,6BAAyB,IAAC;;QAAC,4DAAa;QACrI,4DAAM;QACN,+HACI;QAKR,4DAAM;QACN,4HACI;QAER,4DAAM;QAEN,kJAKI;QA6DJ,iJACI;QAmCZ,8HAAkE;QACpE,4DAAM;QAEN,2EAME;QAAA,2EACE;QAAA,8HACE;QAIF,8HACE;QAkBF,8HACE;QAIF,8HAME;QAOJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QAjMmC,0DAA4B;QAA5B,yFAA4B;QAGjD,0DACJ;QADI,iLACJ;QAGG,0DAA4B;QAA5B,8IAA4B;QACiB,0DAChD;QADgD,6JAChD;QAQgB,0DACJ;QADI,mKACJ;QACY,0DAAgD;QAAhD,gKAAgD;QAInC,0DAA2B;QAA3B,yFAA2B;QAOrC,0DAAoB;QAApB,kFAAoB;QAKjC,0DAInB;QAJmB,+LAInB;QA8DmB,0DAAkB;QAAlB,gFAAkB;QAoCU,0DAAe;QAAf,6EAAe;QAKjE,0DAEE;QAFF,iLAEE;QAGgC,0DAAkB;QAAlB,gFAAkB;QAKlB,0DAAkB;QAAlB,gFAAkB;QAmBlB,0DAAkB;QAAlB,gFAAkB;QAOhD,0DAEC;QAFD,wIAEC;;6FD1JA,+BAA+B;cAL3C,uDAAS;eAAC;gBACT,QAAQ,EAAE,gCAAgC;gBAC1C,WAAW,EAAE,6CAA6C;gBAC1D,SAAS,EAAE,CAAC,6CAA6C,CAAC;aAC3D;;;;;;;;;;;;;;AE3BD;AAAA;AAAA;AAAA;AAA2C;;;AAOpC,MAAM,mBAAmB;IAC9B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;;sFAD3C,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0F;;;;;;;;;;;ICStF,wEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,oMACF;;;IACA,qEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,+KACF;;;IAOI,qEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,8KACF;;;IACA,qEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,wKACF;;;IACA,qEACE;IAAA,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,+KACF;;;;IAKJ,wFAOiB;IADf,yWAA4B;IAC7B,4DAAgB;;;IALf,2FAAyB;;;;IAO3B,yFAOkB;IAFhB,8WAA8B;IAE/B,4DAAiB;;;IALhB,2FAAyB;;;;IAO3B,wFAOiB;IAFf,0WAA4B;IAE7B,4DAAgB;;;IALf,2FAAyB;;;;IArC7B,yEACE;IAAA,yEACE;IAAA,yEAA0D;IAAlC,oUAA2B;IAAC,4DAAM;IAC1D,0EACE;IAD0B,+TAAsB;IAChD,uHACE;IAEF,uHACE;IAEF,uHACE;IAEJ,4DAAM;IACN,0EAAuD;IAA9B,gUAAuB;IAAC,4DAAM;IACzD,4DAAM;IAEN,8IAOC;IAED,gJAOC;IAED,gJAOC;IACH,4DAAM;;;IAvCI,0DAAuB;IAAvB,0FAAuB;IAGvB,0DAAwB;IAAxB,2FAAwB;IAGxB,0DAAuB;IAAvB,0FAAuB;IAY7B,0DAAuB;IAAvB,0FAAuB;IAUvB,0DAAwB;IAAxB,2FAAwB;IASxB,0DAAuB;IAAvB,0FAAuB;;;;IAG3B,0EAAyE;IAAjC,mUAA0B;IAAC,4DAAM;;;;ADtDpE,MAAM,uBAAuB;IA6BlC;QAvBA,eAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAOf,SAAI,GAAG,MAAM,CAAC;QAEd,gBAAW,GAAG,aAAa,CAAC;QAE5B,UAAK,GAAG,IAAI,CAAC;QACb,aAAQ,GAAG,KAAK,CAAC;QAE1B,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,KAAK,CAAC;QAKX,aAAQ,GAAG,IAAI,0DAAY,EAAQ,CAAC;IAGzC,CAAC;IAEN,QAAQ;QACN,IAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACnB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,EAC9B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;IACN,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;iBAChC;qBAAM;oBACL,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;wBACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;qBACnB;yBAAM;wBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;qBAChC;iBACF;aACF;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;SACF;IACH,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAC1B,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,EACJ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAExB,IAAI,aAAa,GAAG,IAAI,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBACjD,aAAa,GAAG,KAAK,CAAC;iBACvB;aACF;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBACjD,aAAa,GAAG,KAAK,CAAC;iBACvB;aACF;YAED,IAAI,aAAa,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;gBAE7B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;SACrB;IACH,CAAC;IAED,eAAe;QACb,IACE,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAC1D;YACA,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC;SACvC;QACD,IACE,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAC1D;YACA,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,EACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAC1B,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,EAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAC1B,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,WAAW;QACT,IACE,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAC1D;YACA,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;SACnC;QAED,IACE,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAC1D;YACA,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,EACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EACvB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CACvB,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,EAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CACvB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;;8FAtMU,uBAAuB;uGAAvB,uBAAuB;;;;;;;;;;QCPpC,yEAIE;QAAA,yEAKE;QAHA,4IAAS,oBAAgB,IAAC;QAG1B,iHACE;QAEF,iHACE;QAEJ,4DAAM;QAEN,oHACE;QA2CF,mHAAmE;QACrE,4DAAM;;QA5DJ,wKAAoD;QAKlD,0DAA+B;QAA/B,sJAA+B;QAEP,0DAAqB;QAArB,mFAAqB;QAGzC,0DAAoB;QAApB,kFAAoB;QAKO,0DAAkB;QAAlB,gFAAkB;QA4C9B,0DAAkB;QAAlB,gFAAkB;;6FDtD5B,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;;kBAGE,uDAAS;mBAAC,eAAe;;kBACzB,uDAAS;mBAAC,gBAAgB;;kBAC1B,uDAAS;mBAAC,eAAe;;kBAIzB,mDAAK;;kBAEL,mDAAK;;kBACL,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBAEL,mDAAK;;kBACL,mDAAK;;kBASL,oDAAM;;;;;;;;;;;;;;AEjCT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAc5C;AAGe;AAC0B;;;;;;;;;;;;;;;ICS7D,sEACI;IAAA,yEACI;IAAA,uDACJ;;;IAAA,4DAAK;IACT,4DAAM;;;IAFE,0DACJ;IADI,+PACJ;;;IAIA,oEAKC;IAAA,uDAAkD;;IAAA,4DAAI;;IAAtD,0DAAkD;IAAlD,4KAAkD;;;IACnD,oEAMI;IAAA,uDACJ;;;IAAA,4DAAI;;IADA,0DACJ;IADI,mPACJ;;;;;IAGJ,0EACI;IAAA,0EACI;IAAA,6EACJ;IAD0D,+TAAmB;IAC7E,uDACF;;IAAA,4DAAS;IACP,4DAAM;IACV,4DAAM;;;IAJU,0DAA6C;IAA7C,wKAA6C;IACzD,0DACF;IADE,2JACF;;;;IAIF,0EACI;IAAA,0EACI;IAAA,sFAKkB;IAD2D,6VAA+B;IAC5G,4DAAkB;IACtB,4DAAM;IACV,4DAAM;;;IAPmB,0DAIpB;IAJoB,gKAIpB;;;IAMD,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,mLACJ;;;;IAGJ,0EACI;IAAA,0EACI;IAAA,6EACJ;IADY,qUAAyB;IACrC,uDACF;;IAAA,4DAAS;IACP,4DAAM;IACN,0EACI;IAAA,6EACJ;IADY,uVAA2C;IACvD,uDACF;;IAAA,4DAAS;IACP,4DAAM;IACV,4DAAM;;;IARF,0DACF;IADE,2JACF;IAG0D,0DAAuD;IAAvD,kLAAuD;IAC/G,0DACF;IADE,+JACF;;;IAIF,qEAAwE;;AD3DrE,MAAM,sBACX,SAAQ,sEAAY;IAiDpB,YACS,iBAAoC,EACnC,mBAAwC,EACxC,eAAiC,EACjC,WAAwB,EACxB,MAAc,EACd,gBAAkC,EAClC,YAAkC;QAE1C,KAAK,EAAE,CAAC;QARD,sBAAiB,GAAjB,iBAAiB,CAAmB;QACnC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,oBAAe,GAAf,eAAe,CAAkB;QACjC,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,iBAAY,GAAZ,YAAY,CAAsB;QAnD5C,SAAI,GAAW,CAAC,CAAC;QAGR,qBAAgB,GAAG,KAAK,CAAC;QAGlC,wBAAmB,GAAW,0BAA0B,CAAC;QAIzD,oBAAe,GAAW,mBAAmB,CAAC;QAM9C,0BAAqB,GAAW,oBAAoB,CAAC;QACrD,eAAU,GAAS,EAAE,CAAC;QACtB,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAE1B,YAAO,GAAG,EAAE,CAAC;QACb,oBAAe,GAAG,KAAK,CAAC;QACxB,qBAAgB,GAAY,KAAK,CAAC;QAClC,gBAAW,GAAQ,CAAC,CAAC;QAErB,cAAS,GAAY,KAAK,CAAC;QAE3B,YAAO,GAAY,IAAI,CAAC;QACxB,2BAAsB,GAAY,KAAK,CAAC;QAGxC,gCAA2B,GAAG,KAAK,CAAC;QAMpC,qBAAgB,GAAG,sBAAsB,CAAC;IAgB1C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAC3D,CAAC,GAAY,EAAE,EAAE;YACf,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,4BAA4B,EAAE,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,4BAA4B;QAC5B,4BAA4B;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,0DAAW,CACrB;gBACE,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE;aACrC,EACD,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAC9C;YACD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,sDAAsD;YACtD,WAAW,EAAE,IAAI,0DAAW,CAC1B;gBACE,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE;aACrC,EACD,CAAC,yDAAU,CAAC,QAAQ,CAAC,CACtB;YACD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,gBAAgB;QACd,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrB,OAAO,CACL,WAAW,CAAC,KAAK;YACjB,SAAS,CAAC,KAAK;YACf,MAAM,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK;YACV,WAAW,CAAC,KAAK,CAClB,CAAC;IACJ,CAAC;IACD,iBAAiB,CAAC,OAAmB;QACnC,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CACpC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CACtD,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,IAAI;aACN,GAAG,CAAC,aAAa,CAAC;aAClB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC;IACD,iCAAiC,CAAC,OAAO;QACvC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,SAAS,GAAG,MAAM;YAAE,SAAS,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YACtC,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,GAAG,CAAC,SAAS,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+BAA+B,EAAE;YACzD,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,QAAoB;QACnC,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAClC,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CACzE,CAAC,CAAC,CAAC,CAAC;QACL,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACrD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,oBAAoB,CAAC,QAAQ;QAC3B,IACE,QAAQ;YACR,QAAQ,CAAC,wBAAwB;YACjC,QAAQ,CAAC,WAAW;YACpB,QAAQ,CAAC,IAAI,IAAI,UAAU,EAC3B;YACA,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,qBAAqB,CAAC,cAAc;QAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,6CAA6C;IAC7C,sBAAsB;IACtB,oDAAoD;IACpD,aAAa;IACb,8CAA8C;IAC9C,MAAM;IACN,IAAI;IACJ,wBAAwB,CAAC,QAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,4BAA4B;QAC1B,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAElC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBACjD,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;gBACtB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpB,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,IAAI;gBACjB,SAAS,EAAE,CAAC,CAAC,wBAAwB;aACtC,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YACjC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,+BAA+B,CAAC;aACxD;YAED,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,eAAe,EACpB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;SACH;IACH,CAAC;IAED,sBAAsB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,MAAM,cAAc,GAAG,OAAO,CAAC;QAC/B,IAAI,eAAe,KAAK,cAAc,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,mBAAmB,CAAC;SAC5C;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,IACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC7B;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,+BAA+B,EAAE,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IACE,IAAI,CAAC,eAAe,KAAK,mBAAmB;gBAC5C,IAAI,CAAC,eAAe,KAAK,+BAA+B,EACxD;gBACA,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBAEnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;qBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EACtC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EACjC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAC9B,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAChC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CACnC;qBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;oBACtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBAErB,gBAAI,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,EAAE;wBAClC,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,QAAQ;4BAChD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;4BACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;4BACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;yBACrC;qBACF;oBACD,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClD,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;oBACD,IAAI,CAAC,oBAAoB;wBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BACpC,CAAC,CAAC,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,IAAI,CAAC,eAAe,KAAK,mBAAmB,EAAE;gBACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe;qBAChD,uCAAuC,CACtC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAClC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EACjC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EACpC,IAAI,CAAC,eAAe,CAAC,GAAG,EACxB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EACnC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,CACjB;qBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;oBACtB,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBAErB,IAAI,GAAG,CAAC,MAAM,EAAE;wBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;wBAClD,IAAI,CAAC,aAAa,EAAE,CAAC;qBACtB;yBAAM,IAAI,GAAG,CAAC,IAAI,EAAE;wBACnB,IACE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,SAAS;4BACjD,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAC/B;4BACA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACvB,MAAM,aAAa,qBAAG,GAAG,0CAAE,IAAI,0CAAE,mBAAmB,0CAAE,EAAE,CAAC;4BACzD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;yBAC3F;6BAAM;4BACL,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;yBACrC;qBACF;oBACD,IAAI,CAAC,oBAAoB;wBACvB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;4BACpC,CAAC,CAAC,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;aACN;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvB,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;oBACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,kBAAkB,CACtB,IAAI,CAAC,eAAe,EACpB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,eAAe,EACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;YAChE,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;SAC5C;IACH,CAAC;IAED,WAAW;QACT,KAAK,CAAC,uBAAuB,EAAE,CAAC;IAClC,CAAC;IAED,UAAU;;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,qBAAqB,UAAG,IAAI,CAAC,mBAAmB,0CAAE,aAAa,EAChE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;4FAndU,sBAAsB;sGAAtB,sBAAsB;QC9BnC,yEACI;QAAA,yEACI;QAAA,gFAA2N;QAAxD,sKAAgB,6BAAyB,IAAC;QAAC,4DAAa;QAC/N,4DAAM;QAEN,yEACI;QAAA,gFAAiP;QAAvF,sKAAgB,4BAAwB,IAAC,wGAAiB,kBAAc,IAA/B;QAAiC,4DAAa;QACrP,4DAAM;QASN,yEACI;QAAA,yEACI;QAAA,sEACI;QAAA,sEACJ;;QAAA,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,0EACI;QAAA,uEACJ;;QAAA,4DAAM;QAEN,oHACI;QAKJ,0EACI;QAAA,gHAKC;QACD,gHAMI;QAER,4DAAM;QAEN,oHACI;QAOJ,qHACI;QAUJ,2EACI;QAAA,mHACI;QAER,4DAAM;QAEN,sHACI;QAYJ,qHAAkE;QACtE,4DAAM;;QA1FwB,+EAAkB;QACtB,0DAAoC;QAApC,2JAAoC;QAC1C,0DAAqC;QAArC,kGAAqC;QAG/B,0DAAoC;QAApC,2JAAoC;QAC1C,0DAAmC;QAAnC,gGAAmC;QAU7B,0DAAoC;QAApC,2JAAoC;QAGR,0DAAsC;QAAtC,mGAAsC;QAKlE,0DAAoC;QAApC,2JAAoC;QAChB,0DAA2C;QAA3C,wGAA2C;QAGhF,0DAAkB;QAAlB,gFAAkB;QAOhB,0DAKJ;QALI,sNAKJ;QACI,0DAKJ;QALI,uNAKJ;QAKmB,0DAA8B;QAA9B,4FAA8B;QAQvB,0DAAyD;QAAzD,iKAAyD;QAYvD,0DAAoB;QAApB,kFAAoB;QAKtB,0DAAkB;QAAlB,gFAAkB;QAaG,0DAAe;QAAf,6EAAe;;6FD3DxD,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;kBASE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;;;;;;;;;;;;;AExCR;AAAA;AAAA;AAA4E;;AAKrE,MAAM,iBAAiB;IAE5B,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;IAAG,CAAC;IAEtC,QAAQ;QACN,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,SAAS,CAAC,KAAU,EAAE,IAAU;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxE;iBAAM;gBACL,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAGD,MAAM,CAAC,KAAK;QACV,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;YACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7D;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAGD,OAAO,CAAC,KAAK,EAAE,KAAK;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;aACrC;SACF;aAAM;YACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;SAClC;IACH,CAAC;IAEoC,SAAS,CAAC,CAAC;QAC9C,IACE,CAAC,CAAC,GAAG,KAAK,GAAG;YACb,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAC5D;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QAED,IACE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,gBAAgB;YAChB,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,gBAAgB;YAChB,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,gBAAgB;YAChB,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,gBAAgB;YAChB,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9C,gCAAgC;YAChC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EACpC;YACA,mCAAmC;YACnC,OAAO;SACR;QACD,mDAAmD;QACnD,IACE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;YAChD,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,EACnC;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAED,SAAS,CAAC,IAAI;QACZ,IAAI,IAAI,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,cAAc,CAAC;QAC3B,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;SACzC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;;kFA3FU,iBAAiB;iGAAjB,iBAAiB;;;6FAAjB,iBAAiB;cAH7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;aAC1B;;kBAyBE,0DAAY;mBAAC,MAAM,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC;;kBAStD,0DAAY;mBAAC,OAAO,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC;;kBAevD,0DAAY;mBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;ACrDrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;AAKvB,MAAM,oBAAoB;IAE/B,YACU,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IACpC,CAAC;IAEL,cAAc,CAAC,QAAQ,EAAE,MAAM;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;QAKD,EACF,EAAC,QAAQ;YACT,MAAM,EAAC,CACR,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;OAUF,EACD,EAAC,QAAQ;YACP,MAAM;YACN,QAAQ;SACT,CACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;QAGD,EACF,IAAI,CACL,CAAC;IACJ,CAAC;;wFArEU,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB,mBAFnB,MAAM;6FAEP,oBAAoB;cAHhC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACI;AAM9B;AAEe;;;;;;;;;;;;;ICRnC,qEAAwE;;;;IAoD5C,0EACI;IAAA,sFAMkB;IADkD,kWAA+B;IACnG,4DAAkB;IACtB,4DAAM;;;IAPe,0DAKhC;IALgC,0LAKhC;;;;IAhDO,0EACI;IACA,0EACI;IAAA,0EAKI;IAAA,mEAAgC;IAChC,uEACA;IAAA,0EACI;IAAA,uEAAM;IAAA,uDAK1B;;;IAAA,4DAAO;IACS,4DAAM;IACV,4DAAM;IACV,4DAAM;IAGN,2EACI;IAAA,2EAKI;IAAA,oEAAkC;IAClC,wEACA;IAAA,2EACI;IAAA,wEAAM;IAAA,wDAK1B;;;IAAA,4DAAO;IACS,4DAAM;IACV,4DAAM;IACV,4DAAM;IAGN,4HACI;IAQR,4DAAM;;;IAnD4C,4JAAiC;IAGjD,0DAIzC;IAJyC,mJAIzC;IAI6B,0DAK1B;IAL0B,2VAK1B;IAOsC,0DAIzC;IAJyC,iJAIzC;IAI6B,0DAK1B;IAL0B,uVAK1B;IAMuC,0DAA+B;IAA/B,iGAA+B;;;IA+B1D,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;IADD,0DACJ;IADI,4KACJ;;;IACA,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;IADD,0DACJ;IADI,4KACJ;;;IACA,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;IADD,0DACJ;IADI,4KACJ;;;IACA,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;IADD,0DACJ;IADI,6KACJ;;;IACA,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;IADD,0DACJ;IADI,6KACJ;;;IAlCR,0EACI;IACA,0EACI;IAAA,0EAKI;IAAA,mEAAgC;IAChC,uEACA;IAAA,0EACI;IAAA,uEAAM;IAAA,uDAK1B;;;IAAA,4DAAO;IACS,4DAAM;IACV,4DAAM;IAEN,0HACI;IAEJ,0HACI;IAEJ,0HACI;IAEJ,0HACI;IAEJ,0HACI;IAER,4DAAM;IAGN,2EACI;IAAA,2EAKI;IAAA,oEAAgC;IAChC,wEACA;IAAA,2EACI;IAAA,wEAAM;IAAA,wDAK1B;;;IAAA,4DAAO;IACS,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAxD8C,4JAAiC;IAGnD,0DAIzC;IAJyC,sJAIzC;IAI6B,0DAK1B;IAL0B,mWAK1B;IAIgD,0DAAiC;IAAjC,mGAAiC;IAGjC,0DAA0C;IAA1C,4GAA0C;IAG1C,0DAA0C;IAA1C,4GAA0C;IAG1C,0DAAiC;IAAjC,mGAAiC;IAGjC,0DAAiC;IAAjC,mGAAiC;IAO3C,0DAIzC;IAJyC,4JAIzC;IAI6B,0DAK1B;IAL0B,uXAK1B;;;IAMI,yEACI;IAAA,uDACJ;;IAAA,4DAAK;;;IADD,0DACJ;IADI,kLACJ;;;;IAiBlB,6EAKE;IAHA,gUAAoB;IAGpB,uDACF;;IAAA,4DAAS;;;IADP,0DACF;IADE,mLACF;;;;IACA,6EAKE;IAHA,qUAAyB;IAGzB,uDACF;;IAAA,4DAAS;;;IADP,0DACF;IADE,yLACF;;AD/HH,MAAM,sBAAsB;IA+BjC,YACU,MAAc,EACd,gBAAkC,EAClC,oBAA0C,EAC1C,UAA0B,EAC1B,YAAkC;QAJlC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,eAAU,GAAV,UAAU,CAAgB;QAC1B,iBAAY,GAAZ,YAAY,CAAsB;QAnC5C,mBAAc,GAAG,8DAAU,CAAC;QAC5B,eAAU,GAAW,EAAE,CAAC;QAExB,sBAAiB,GAAW,CAAC,CAAC;QAI9B,kBAAa,GAAY,KAAK,CAAC;QAS/B,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;QAEzB,eAAU,GAAY,KAAK,CAAC;QAC5B,qBAAgB,GAAY,KAAK,CAAC;QAGlC,YAAO,GAAW,EAAE,CAAC;QAKrB,gBAAW,GAAY,KAAK,CAAC;IAQ1B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAY,EAAE,EAAE;YACvD,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAgB;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACvC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAS,CAAC;YACrC,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC1B,yDAAU,CAAC,QAAQ;aAGpB,CAAC;YACF,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC5B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,yDAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC;aACrC,CAAC;YACF,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC5B,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;YACF,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC/B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,OAAO,CAChB,yDAAyD,CAC1D;aACF,CAAC;YACF,iBAAiB,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YACtC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAC9D,IAAI,CAAC,wBAAwB,CAC3B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAC5C;YACD,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,QAAyB;QAChD,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,EAC9B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,iBAAiB;aACnB,GAAG,CAAC,WAAW,CAAC;aAChB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yBAAyB,CAAC,KAAsB;QAC9C,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;YAChC,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;SAC/D;IACH,CAAC;IAED,qBAAqB,CAAC,KAAK;QACzB,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;YAChD,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC;IAED,0BAA0B;QACxB,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAChC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;gBACtD,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;aACnD,CAAC;YACF,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,oBAAoB;iBAC3D,cAAc,CACb,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAC3C;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;wBAC/B,CAAC,CAAC,eAAe,CAAC;iBACrB;qBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;iBAC5C;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;SACrC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YAClD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB;aAC5C,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;aAClC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;aAC3D;YACD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;gBAClD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/B,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK;aAClD,CAAC;YAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB;iBAC5C,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;iBAClC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC1D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;wBAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;wBAC/B,CAAC,CAAC,eAAe,CAAC;iBACrB;qBAAM;oBACL,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB;iBAC9C,aAAa,CACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAChD;iBACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBAErB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,mFAAmF,EAAE;wBACjH,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;qBACpC;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;4BAC/C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI;4BAC/B,CAAC,CAAC,eAAe,CAAC;qBACrB;iBACF;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAGD,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,qBAAqB;QACnB,IACE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAC5C,CAAC,IAAI,CAAC,OAAO,EACb;YACA,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,sBAAsB;QACpB,IACE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK;YAC3C,CAAC,IAAI,CAAC,OAAO,EACb;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,qBAAqB;QACnB,IACE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK;YAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;YAC/C,CAAC,IAAI,CAAC,OAAO,EACb;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO;YACjD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED,gCAAgC;QAC9B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAClD,CAAC;IACJ,CAAC;IAED,gCAAgC;QAC9B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAClD,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAClD,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;QACzC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAClD,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACtC,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;SAClD;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;IACH,CAAC;;4FAnZU,sBAAsB;sGAAtB,sBAAsB;QC3BnC,6EACI;QAAA,kHAAkE;QAClE,yEACI;QAAA,wEAAuB;QAAA,uDAA0C;;QAAA,4DAAK;QAEtE,yEACI;QACA,yEACI;QAAA,0EACI;QAAA,yEACI;QAAA,0EACI;QAAA,sHACI;QAoDJ,sHACI;QAyDJ,kHACI;QAER,4DAAM;QACV,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,2EACI;QAAA,2EACI;QAAA,2EACI;QAAA,yEAAgD;QAAnB,0IAAS,YAAQ,IAAC;QAAC,oEACvD;QAAA,wEAAM;QAAA,wDAAgC;;QAAA,4DAAO;QAAA,4DAC/C;QACH,4DAAM;QACN,2EACE;QAAA,2HAKE;QAEF,2HAKE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAU;;QA9J4C,0DAAe;QAAf,6EAAe;QAEtC,0DAA0C;QAA1C,0JAA0C;QAKtC,0DAA+B;QAA/B,4FAA+B;QAGlB,0DAA6B;QAA7B,2FAA6B;QAqD7B,0DAA+B;QAA/B,6FAA+B;QA0DxB,0DAAoB;QAApB,kFAAoB;QAexD,0DAAgC;QAAhC,kJAAgC;QAOvC,0DAA+B;QAA/B,6FAA+B;QAO/B,0DAA+B;QAA/B,6FAA+B;;6FD5H9B,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AE1BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;;;AAMvB,MAAM,eAAe;IAC1B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,mBAAmB,CAAC,KAAK;QACvB,IAAI,EAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAC,GAAG,KAAK,CAAC,aAAa,CAAC;QACzG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kDAAG;;;;;;;;;;;;;;;;;;;;;;;IAuB9B,EAAC,EAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAC,CAAC,CAAC;IACnF,CAAC;IAED,CAAC,CAAC,KAAK,EAAE,QAAQ;QACf,OAAO,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,iBAAiB,CAAC,KAAK;QACrB,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;;;;;;;UAUC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;UAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC;UACtB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;UACvB,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;UAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;;;;;KAKhC,EACC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,KAAK;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,KAAK,CACN,CAAC;IACJ,CAAC;;8EAtEU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAEQ;AAI2B;;;;;;;;;;;ICLnF,qEAAwE;;;IAmF9D,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;;ADzEL,MAAM,kBAAmB,SAAQ,kGAAgB;IAwBtD,YACU,gBAAkC,EAClC,mBAAwC,EACxC,YAAkC;QAE1C,KAAK,EAAE,CAAC;QAJA,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAsB;QAzB5C,YAAO,GAAY,KAAK,CAAC;QACzB,0BAAqB,GAAY,IAAI,CAAC;QAOtC,WAAM,GAAW,IAAI,CAAC;QACtB,aAAQ,GAAW,CAAC,CAAC;QAGrB,aAAQ,GAAY,KAAK,CAAC;QAK1B,YAAO,GAAW,CAAC,CAAC;QAEpB,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;IAQzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mEAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW;gBAC9E,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ;gBACtB,cAAc,EAAE,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC/D,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBACrC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;aAC5B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;IACD,UAAU;QACR,IACE,IAAI,CAAC,YAAY,CAAC,YAAY;YAC9B,IAAI,CAAC,YAAY,CAAC,WAAW;YAC7B,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,YAAY,CAAC,SAAS;YAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,EACxB;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC1D,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAChD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,iBAAiB;;QACf,IAAI,QAAC,IAAI,CAAC,wBAAwB,0CAAE,eAAe;YAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,GAAG,GACP,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,SAAS,CAAC,GAAG;QACX,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,SAAS,CAAC,MAAM;QACd,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,qBAAqB,CAAC,QAAQ;QAC5B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IACD,wBAAwB,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IACxE,CAAC;;oFAtHU,kBAAkB;kGAAlB,kBAAkB;QCb/B,yEACE;QAAA,8GAAkE;QAClE,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,yEACE;QAAA,uEACE;QAAA,sEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACN,0EACE;QAmBA,0EACE;QAAA,2EACE;QAAA,wFAQmB;QAHjB,iKAAY,qBAAiB,IAAC;QAGhC,4DAAmB;QAEnB,wFAOoB;QAFlB,iKAAY,qBAAiB,IAAC;;QAE/B,4DAAmB;QACtB,4DAAM;QAON,2EACE;QAAA,2EACE;QAAA,wEACG;QAAA,wDAC8B;;;QAAA,4DAChC;QACH,4DAAM;QAOR,4DAAM;QAEN,2EACE;QAAA,8EAIE;QAFA,2IAAS,cAAU,IAAC;QAEpB,wDACF;;QAAA,4DAAS;QACT,+GACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QA3F8C,0DAAe;QAAf,6EAAe;QAKzD,0DACF;QADE,gKACF;QAGG,0DAAoB;QAApB,8IAAoB;QAErB,0DACF;QADE,6JACF;QAyBM,0DAAY;QAAZ,qEAAY;QAUZ,0DAAS;QAAT,kEAAS;QAiBN,0DAC8B;QAD9B,yPAC8B;QAgBjC,0DACF;QADE,kKACF;QACuB,0DAAoB;QAApB,kFAAoB;;6FDvE1C,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;AEZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACO;;;;;;;;;;IC2DhD,uEACG;IAAA,uDAA+C;;IAAA,4DACjD;;IADE,0DAA+C;IAA/C,+JAA+C;;;IAElD,uEACG;IAAA,uDAA0C;;IAAA,4DAC5C;;IADE,0DAA0C;IAA1C,0JAA0C;;;IAUjD,0EACE;IAAA,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC7B,4DAAM;;;IADA,0DAAkB;IAAlB,sFAAkB;;;IAQlC,qEAAwE;;;;IAK9E,uFAMoB;IAHlB,uWAA4B,KAAK,IAAC;IAGnC,4DAAmB;;;IALlB,+FAA6B;;;;AD9ExB,MAAM,gCAAgC;IAiB3C,YACU,eAAiC,EACjC,MAAc;QADd,oBAAe,GAAf,eAAe,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QAVxB,YAAO,GAAG,KAAK,CAAC;QAEhB,iBAAY,GAAW,qDAAqD,CAAC;QAE7E,iBAAY,GAAG,EAAE,CAAC;QAElB,oBAAe,GAAG,KAAK,CAAC;IAMrB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SACzC;IACH,CAAC;IAED,4BAA4B;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,wDAAS,CAAC;YACtC,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3D,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,CACzB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CACnD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CACxC,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC1C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACpB,WAAW,EAAE;oBACX;wBACE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;wBAC7C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU;qBACpD;iBACF;gBACD,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBACpC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;gBACjD,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC;SACF,CAAC;IAEJ,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,cAAc,GAAG;YACrB,QAAQ,EAAE;gBACR,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACpB,WAAW,EAAE;oBACX;wBACE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;wBAC7C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU;qBACpD;iBACF;gBACD,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK;gBAC/D,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC;SACF,CAAC;IAEJ,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe;aAC1C,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;aAChD,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;aACzD;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACtC;IACH,CAAC;;gHApJU,gCAAgC;gHAAhC,gCAAgC;QCX7C,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAyC;;QAAA,4DAAK;QAErE,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,wEAOF;;QAAA,4DAAM;QACN,2EACE;QAAA,wEASF;;QAAA,4DAAM;QACN,2EACE;QAAA,8EAKA;QAFE,yJAAS,gBAAY,IAAC;QAExB,wDACA;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,8EAOE;QAFA,yJAAS,qBAAiB,IAAC;QAE3B,oEAA4B;QAC5B,iIACG;QAEH,iIACG;QAEL,4DAAS;QACX,4DAAM;QACN,2EACE;QAAA,8EACE;QADuB,yJAAS,0BAAsB,IAAC;QACvD,oEAA4B;QAC5B,wEAAM;QAAA,wDAAsC;;QAAA,4DAAO;QACrD,4DAAS;QACX,4DAAM;QACN,+HACE;QAEJ,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QAEN,+HAAkE;QACpE,4DAAM;QACR,4DAAO;QACT,4DAAM;QAEN,yJAMC;;QA1F8B,0DAAyC;QAAzC,0JAAyC;QAG1C,0DAA6B;QAA7B,8IAA6B;QAE/C,0DACF;QADE,iKACF;QAMqB,0DAAgC;QAAhC,6FAAgC;QAO3C,0DAAwC;QAAxC,0JAAwC;QASxC,0DAA0C;QAA1C,4JAA0C;QAa5C,0DACA;QADA,iKACA;QAQE,0DAEE;QAFF,8LAEE;QAII,0DAAqD;QAArD,mHAAqD;QAGrD,0DAAsD;QAAtD,oHAAsD;QAQtD,0DAAsC;QAAtC,wJAAsC;QAG1B,0DAAoB;QAApB,kFAAoB;QASF,0DAAe;QAAf,6EAAe;QAOrE,0DAAuB;QAAvB,qFAAuB;;6FD/EZ,gCAAgC;cAL5C,uDAAS;eAAC;gBACT,QAAQ,EAAE,gCAAgC;gBAC1C,WAAW,EAAE,6CAA6C;gBAC1D,SAAS,EAAE,CAAC,6CAA6C,CAAC;aAC3D;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4E;AACrB;AACd;AACc;AACD;AACY;AACiB;;;AAEnF,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;IAClE;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,mEAAgB;QAC3B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kEAAa,EAAE;YAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,8EAAiB,EAAE;YAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,+FAAsB,EAAE;YAC7D,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,wFAAmB,EAAE;SACzD;KACF;CACF,CAAC;AAMK,MAAM,oBAAoB;;mGAApB,oBAAoB;kKAApB,oBAAoB,kBAHtB,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAEX,oBAAoB,uFAFrB,4DAAY;6FAEX,oBAAoB;cAJhC,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;ACzBD;AAAA;AAAA;AAAA;AAAA,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,6CAAqB;IACrB,uCAAe;IACf,6CAAqB;AACvB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,sCAAwB;IACxB,sCAAwB;AAC1B,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,6BAA6B;AAC7B,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yCAAqB;IACrB,qCAAiB;IACjB,uCAAmB;IACnB,yCAAqB;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;;;;;;;;;;;;;ACjBD;AAAA;AAAA;AAA2C;;AAKpC,MAAM,aAAa;IAIxB;IAAgB,CAAC;IAEjB,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,IAAI,GAAC,IAAI;QACd,yBAAyB;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI;IAClB,CAAC;;0EAbU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;;;;;;;;;;IC+EhB,qEAAwE;;;;;ADrEzE,MAAM,kBAAkB;IAsB7B,YACU,WAAwB,EACxB,MAAc,EACd,eAAgC;QAFhC,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QAxB1C,cAAS,GAAW,EAAE,CAAC;QAEvB,gBAAW,GAAY,KAAK,CAAC;QAI7B,0BAAqB,GAAW,CAAC,CAAC;QAQlC,YAAO,GAAY,KAAK,CAAC;IAWtB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IACD,kBAAkB;QAChB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,SAAS,EAAE,YAAY,CAAC,WAAW;aACpC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CACzB,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,EACpC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,EACjC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,CACjC,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;SACrC;IACH,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CACrB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,EAC5B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,eAAe,CAAC,IAAI;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,mBAAmB,CAAC,SAAS;QAC3B,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAC1B,EAAE,CACH,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzC,MAAM,WAAW,SAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,uCAAI,CAAC,GAAC;QACrE,MAAM,uBAAuB,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAE7C,MAAM,SAAS,GAAG;YAChB,WAAW,EAAE;gBACX,EAAE;gBACF,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACxD,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;gBACzC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC5C,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACxD,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACxD,WAAW;gBACX,uBAAuB;aACxB;SACF,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe;aACrC,iBAAiB,CAAC,SAAS,CAAC;aAC5B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACjC;IACH,CAAC;;oFAxJU,kBAAkB;kGAAlB,kBAAkB;QChB/B,yEACE;QAAA,uEACE;QAAA,yEACE;QAAA,yEACE;QAAA,wEAAuB;QAAA,uDAAuC;;QAAA,4DAAK;QACrE,4DAAM;QACN,yEACE;QAAA,uEACE;QAAA,qEAA2C;QAC3C,wDACF;;QAAA,4DAAI;QACN,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAM;QAEN,2EACE;QAWA,2EACE;QAAA,8EAOE;QAFA,2IAAS,kBAAc,CAAC,CAAC,IAAC;QAE1B,wEAAM;QAAA,wDAAmC;;QAAA,4DAAO;QAClD,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,0EACE;QAAA,wDACF;;QAAA,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,wEAMF;;QAAA,4DAAM;QACN,2EAEE;QAAA,4FASuB;QAFrB,qKAAY,oBAAgB,IAAC;;QAE/B,4DAAuB;QACzB,4DAAM;QACN,2EACE;QAAA,wEAOF;;QAAA,4DAAM;QAER,4DAAM;QACR,4DAAM;QAEN,iHAAkE;QACpE,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,2EAIE;QAAA,8EACE;QADuC,2IAAS,cAAU,IAAC;QAC3D,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;;QAtGkB,wFAA2B;QAIpB,0DAAuC;QAAvC,wJAAuC;QAG3D,0DAA4B;QAA5B,8IAA4B;QAE7B,0DACF;QADE,6JACF;QAMI,0DACF;QADE,sKACF;QAiBM,0DAEE;QAFF,6LAEE;QAGI,0DAAmC;QAAnC,qJAAmC;QAQ7C,0DACF;QADE,gKACF;QAOM,0DAA+C;QAA/C,iKAA+C;QAO/C,0DAA0B;QAA1B,uFAA0B;QAc1B,0DAA0C;QAA1C,4JAA0C;QASA,0DAAe;QAAf,6EAAe;QAO7D,0DAA0D;QAA1D,qLAA0D;QAGxD,0DACF;QADE,6JACF;;6FDhFC,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQuB;;;;;;;IC2DnB,qEACE;IAAA,uDACA;;IAAA,uEACG;IAAA,uDAGkC;;;IAAA,4DACpC;IACH,4DAAK;;;IAPH,0DACA;IADA,qKACA;IACG,0DAGkC;IAHlC,4TAGkC;;;;IAGvC,yEAKE;IAFA,0TAAsB;IAEtB,uDACF;;IAAA,4DAAK;;IADH,0DACF;IADE,kKACF;;;;ADnEG,MAAM,mBAAmB;IA2B9B;QAxBS,UAAK,GAAG,KAAK,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;QACjB,qBAAgB,GAAG,KAAK,CAAC;QAMlC,iBAAY,GAAG;YACb,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;YACP,CAAC,EAAE,IAAI;SACR,CAAC;QAMF,YAAO,GAAG,EAAE,CAAC;QAEH,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QACnC,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;IACR,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,MAAM,QAAQ,GAAiB,OAAO,CAAC,QAAQ,CAAC;QAChD,IAAI,QAAQ,EAAE;YACZ,IACE,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS;gBACnC,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC;gBAClC,QAAQ,CAAC,YAAY,KAAK,KAAK,EAC/B;gBACA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,CAAC;QACb,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;YACnD,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;QAED,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;;sFAjGU,mBAAmB;mGAAnB,mBAAmB;QCfhC,yEACE;QAAA,yEAQE;QAAA,yEACE;QAAA,oEAAG;QAAA,8DAAG;QAAA,4DAAI;QACV,2EAWA;QAPE,wLAAqB,0FACX,yBAAqB,IADV,4FAEV,yBAAqB,IAFX,kFAGZ,gBAAY,IAHA;QAJvB,4DAWA;QAAA,yEACE;QAAA,wEAME;QAAA,uDACF;QAAA,4DAAK;QACL,wEAME;QAAA,wDACF;QAAA,4DAAK;QACL,yEAME;QAAA,wDACF;QAAA,4DAAK;QACL,yEAME;QAAA,wDACF;QAAA,4DAAK;QACP,4DAAM;QACR,4DAAM;QACN,6EAMU;QAHR,oJAAa,mBAAe,IAAC,8FACf,kBAAc,IADC,oFAEpB,gBAAY,IAFQ;QAG9B,4DAAS;QACZ,4DAAM;QAEN,0EACE;QAAA,gHACE;QAQF,+GAKE;QAEJ,4DAAM;QACR,4DAAM;;QAjFF,0DAIE;QAJF,iMAIE;QAQE,0DAAqB;QAArB,gFAAqB;QASnB,0DAGE;QAHF,+LAGE;QAEF,0DACF;QADE,iGACF;QAEE,0DAGE;QAHF,+LAGE;QAEF,0DACF;QADE,iGACF;QAEE,0DAGE;QAHF,+LAGE;QAEF,0DACF;QADE,iGACF;QAEE,0DAGE;QAHF,+LAGE;QAEF,0DACF;QADE,iGACF;QAaA,0DAAiD;QAAjD,uHAAiD;QAWnD,0DAAqC;QAArC,uGAAqC;;6FD/D9B,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;kBAGE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,mDAAK;;kBAiBL,oDAAM;;kBACN,oDAAM;;;;;;;;;;;;;;AExCT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACgB;AACR;AAEW;AACN;AACM;AACZ;AACO;AACW;AACb;AAIO;AACS;AAC0B;AACY;AACmB;AAC/D;AAEN;AACG;AACO;AACM;AACK;AACpB;AACsC;AACA;;AAgCzF,MAAM,UAAU;;yFAAV,UAAU;8IAAV,UAAU,mBAFX,CAAC,wDAAQ,CAAC,YAXX;YACP,4DAAY;YACZ,uEAAiB;YACjB,4DAAU;YACV,kEAAY;YACZ,kEAAmB;YACnB,yEAAc;YACd,4EAAe;YACf,yEAAc;YACd,gFAAe;SAChB;mIAGU,UAAU,mBA5BnB,6DAAa;QACb,wEAAe;QACf,kEAAa;QACb,wEAAe;QACf,8EAAiB;QACjB,kFAAkB;QAClB,4GAAsB;QACtB,wHAA0B;QAC1B,2IAA+B;QAC/B,sEAAc;QACd,sFAAgB;QAChB,2FAAqB;QACrB,6GAAuB;QACvB,6GAAuB,aAGvB,4DAAY;QACZ,uEAAiB;QACjB,4DAAU;QACV,kEAAY;QACZ,kEAAmB;QACnB,yEAAc;QACd,4EAAe;QACf,yEAAc;QACd,gFAAe;6FAIN,UAAU;cA9BtB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,6DAAa;oBACb,wEAAe;oBACf,kEAAa;oBACb,wEAAe;oBACf,8EAAiB;oBACjB,kFAAkB;oBAClB,4GAAsB;oBACtB,wHAA0B;oBAC1B,2IAA+B;oBAC/B,sEAAc;oBACd,sFAAgB;oBAChB,2FAAqB;oBACrB,6GAAuB;oBACvB,6GAAuB;iBACxB;gBACD,OAAO,EAAE;oBACP,4DAAY;oBACZ,uEAAiB;oBACjB,4DAAU;oBACV,kEAAY;oBACZ,kEAAmB;oBACnB,yEAAc;oBACd,4EAAe;oBACf,yEAAc;oBACd,gFAAe;iBAChB;gBACD,SAAS,EAAC,CAAC,wDAAQ,CAAC;aACrB;;;;;;;;;;;;;;AC3DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACU;AACoB;AAC+B;AAC7D;AACa;AACf;AACwE;AACA;;AAe9G,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,kBAHhB,CAAC,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,0DAAW,CAAC;mIAGrD,cAAc,mBATvB,qEAAiB;QACjB,yFAAoB;QACpB,wHAAyB;QACzB,iIAA4B;QAC5B,iIAA4B,aAEpB,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,0DAAW,aACrD,wHAAyB;6FAExB,cAAc;cAX1B,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,qEAAiB;oBACjB,yFAAoB;oBACpB,wHAAyB;oBACzB,iIAA4B;oBAC5B,iIAA4B;iBAC7B;gBACD,OAAO,EAAE,CAAC,4DAAY,EAAE,4DAAY,EAAE,yEAAY,EAAE,0DAAW,CAAC;gBAChE,OAAO,EAAE,CAAC,wHAAyB,CAAC;aACrC;;;;;;;;;;;;;;ACvBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;;;AAMvB,MAAM,mBAAmB;IA8C9B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QA7ClD,gBAAW,GAAS,IAAI,IAAI,CAC1B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EACrB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CACrB,CAAC;QAEF,iBAAY,GAAa;YACvB,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QACF,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE;YAC9C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE;YAC/C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE;YAC5C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE;YAC5C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE;YAC1C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE;YAC3C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE;YAC3C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE;YAC7C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE;YAChD,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE;YAC9C;gBACE,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,0BAA0B;aAClC;YACD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE;SACjD,CAAC;QACF,cAAS,GAAG;YACV,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;YAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;SAC/B,CAAC;IAEmD,CAAC;IAEtD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,KAAK;QACvB,MAAM,cAAc,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;YACxC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,KAAK;QACpB,IAAI,eAAe,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChE,IAAI,eAAe,KAAK,CAAC,EAAE;YACzB,eAAe,GAAG,CAAC,CAAC;SACrB;aAAM;YACL,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;SACvC;QACD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,mBAAmB,CAAC,IAAI,EAAE,KAAK;QAC7B,IAAI,eAAe,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChE,MAAM,kBAAkB,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,IAAI,eAAe,KAAK,CAAC,EAAE;YACzB,eAAe,GAAG,CAAC,CAAC;SACrB;aAAM;YACL,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;SACvC;QACD,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KACE,IAAI,CAAC,GAAG,kBAAkB,GAAG,eAAe,GAAG,CAAC,EAChD,CAAC,IAAI,kBAAkB,EACvB,CAAC,EAAE,EACH;YACA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,mBAAmB,CAAC,IAAI,EAAE,KAAK;QAC7B,MAAM,cAAc,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;QACtE,MAAM,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;QAEtD,IAAI,YAAoB,CAAC;QACzB,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE;YACzB,YAAY,GAAG,CAAC,CAAC;SAClB;aAAM;YACL,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SACtC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI;QACnC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,MAAM,cAAc,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,kBAAkB,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEtE,IAAI,OAAO,GAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3D,IAAI,OAAO,KAAK,CAAC,EAAE;YACjB,OAAO,GAAG,CAAC,CAAC;SACb;aAAM;YACL,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;SACvB;QAED,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,cAAc,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;iBAAM;gBACL,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;aAC7C;SACF;QAED,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;iBAAM;gBACL,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC;aACzD;SACF;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,kBAAkB;SACzB,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW;QACpD,MAAM,cAAc,GAAW,IAAI,IAAI,CACrC,WAAW,EACX,YAAY,GAAG,CAAC,EAChB,CAAC,CACF,CAAC,OAAO,EAAE,CAAC;QAEZ,IAAI,WAAW,GAAG,CAAC,GAAG,cAAc,EAAE;YACpC,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,WAAW,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;YAEjD,IAAI,YAAY,GAAG,EAAE,EAAE;gBACrB,YAAY,IAAI,CAAC,CAAC;aACnB;iBAAM;gBACL,YAAY,GAAG,CAAC,CAAC;aAClB;SACF;QAED,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW;QACpD,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE5E,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC,EAAE;YACvB,WAAW,IAAI,CAAC,CAAC;SAClB;aAAM;YACL,WAAW,GAAG,kBAAkB,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;YAErD,IAAI,YAAY,GAAG,CAAC,EAAE;gBACpB,YAAY,IAAI,CAAC,CAAC;aACnB;iBAAM;gBACL,YAAY,GAAG,EAAE,CAAC;aACnB;SACF;QAED,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB,CACjB,OAAa,EACb,OAAa,EACb,IAAa,EACb,KAAc,EACd,GAAY;QAEZ,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE;gBAClE,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClC,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE;gBAChE,OAAO,IAAI,CAAC;aACb;YACD,IACE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,EACnE;gBACA,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE;YACjC,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE;gBAChE,OAAO,IAAI,CAAC;aACb;YACD,IACE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,EAClE;gBACA,OAAO,IAAI,CAAC;aACb;YACD,IACE,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE;gBAC7B,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE;gBAChC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE;oBAC7B,SAAS,KAAK,OAAO,CAAC,QAAQ,EAAE;oBAChC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,EAC3B;gBACA,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;qCAEE,WAAW,sBAC1C,WAAW,GAAG,CAChB;;;;;;;;;;;;;;;KAeC,CAAC,CAAC;IACL,CAAC;;sFAxRU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAoD;;AAK7C,MAAM,6BAA6B;IACxC,SAAS,CAAC,KAAU,EAAE,YAAiB;QACrC,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC;;0GAXU,6BAA6B;4IAA7B,6BAA6B;6FAA7B,6BAA6B;cAHzC,kDAAI;eAAC;gBACJ,IAAI,EAAE,2BAA2B;aAClC;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAkD;;;;ICqC9C,yEACI;IAAA,uEACI;IAAA,obAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,4pBAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAMN,yEACI;IAAA,uEACI;IAAA,6fAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAMN,yEACI;IAAA,uEACI;IAAA,oQACJ;IAAA,4DAAI;IACR,4DAAM;;;IAMN,yEACI;IAAA,uEACI;IAAA,4GAAgD;IAAA,gEAAK;IAAA,gEAAK;IAAA,yHAA8D;IAAA,gEAAK;IAAA,gEAAK;IAAA,8RACjB;IAAA,gEAAK;IAAA,iEAAK;IAAA,sGAA0C;IAAA,iEAAM;IAAA,+JAC/I;IAAA,iEAAK;IAAA,iEAAK;IAAA,2EAEtC;IAAA,iEAAM;IAAA,qlBAGV;IAAA,4DAAI;IACR,4DAAM;;;IAMN,yEACI;IAAA,uEACI;IAAA,0oBAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAON,yEACI;IAAA,uEACI;IAAA,+UACqB;IAAA,gEAAM;IAAA,+MAAmJ;IAAA,gEAAM;IAAA,uUAGxL;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,+WAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,ieAGJ;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,gcACuI;IAAA,gEAAK;IAAA,gEAAM;IAAA,wHAA4D;IAAA,gEAAM;IAAA,iIAC9J;IAAA,gEAAM;IAAA,6MAAiJ;IAAA,iEAAM;IAAA,kHAC5L;IAAA,iEAAK;IAAA,iEAAM;IAAA,0PAEtC;IAAA,4DAAI;IACR,4DAAM;;;IAKN,yEACI;IAAA,uEACI;IAAA,waAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAMN,yEACI;IAAA,uEACI;IAAA,yRAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,uRAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAON,yEACI;IAAA,uEACI;IAAA,kkBAIJ;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,iUAEJ;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,sQAA0M;IAAA,gEAAK;IAAA,gEAAM;IAAA,sIAC1K;IAAA,gEAAM;IAAA,wIAA4E;IAAA,gEACjI;IAAA,4DAAI;IACR,4DAAM;;;IAWN,yEACI;IAAA,uEACI;IAAA,wzBAIJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,mmBAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,wXAC+D;IAAA,gEAAK;IAAA,gEAAM;IAAA,uKAA2G;IAAA,gEAAM;IAAA,oKAC7H;IAAA,gEAAM;IAAA,oYAC8E;IAAA,iEAAM;IAAA,g8BAM5J;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,u5BAKJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,goBAIJ;IAAA,4DAAI;IACR,4DAAM;;;IAON,yEACI;IAAA,uEACI;IAAA,yZAGJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,yIAA6E;IAAA,gEAAK;IAAA,gEAAM;IAAA,2EAAe;IAAA,gEAAM;IAAA,qJAAyF;IAAA,gEAAM;IAAA,wIAGhN;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,o+BAKJ;IAAA,4DAAI;IACR,4DAAM;;;IAQN,yEACI;IAAA,uEACI;IAAA,0cAGJ;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,u+BAG2L;IAAA,gEAAK;IAAA,gEAAM;IAAA,6IACrJ;IAAA,gEAAM;IAAA,2QACnC;IAAA,gEAAM;IAAA,sTACW;IAAA,iEAAM;IAAA,gYACiF;IAAA,iEAAM;IAAA,yYACmF;IAAA,iEAAM;IAAA,gHAG/N;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,oYAGJ;IAAA,4DAAI;IACR,4DAAM;;;IASN,yEACI;IAAA,uEACI;IAAA,oTAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAWN,yEACI;IAAA,uEACI;IAAA,ulBAIJ;IAAA,4DAAI;IACR,4DAAM;;;IAUN,yEACI;IAAA,uEACI;IAAA,qTAAyP;IAAA,gEAAK;IAAA,gEAAiB;IAAA,+HAAmE;IAAA,gEAAM;IAAA,8HAAkE;IAAA,gEAAM;IAAA,uGAEpa;IAAA,4DAAI;IACR,4DAAM;;;IAUN,yEACI;IAAA,uEACI;IAAA,uJAA2F;IAAA,gEAAM;IAAA,gEAAO;IAAA,6EAAiB;IAAA,gEAAO;IAAA,kFAAsB;IAAA,gEAAO;IAAA,mFAAuB;IAAA,iEAAO;IAAA,uEAAU;IAAA,iEAAO;IAAA,oEAC5M;IAAA,iEAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAWN,yEACI;IAAA,uEACI;IAAA,iKAEJ;IAAA,4DAAI;IACR,4DAAM;;;IAON,yEACI;IAAA,uEACI;IAAA,06BAKJ;IAAA,4DAAI;IACR,4DAAM;;AD1fH,MAAM,mBAAmB;IAqC9B;QApCA,WAAM,GAAS,KAAK,CAAC;QACrB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,YAAO,GAAS,KAAK,CAAC;QACtB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;QACvB,aAAQ,GAAS,KAAK,CAAC;IAGP,CAAC;IAEjB,QAAQ;IACR,CAAC;IAED,KAAK;QACP,IAAI,CAAC,MAAM,GAAC,CAAC,IAAI,CAAC,MAAM;IACtB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC9B,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAC,CAAC,IAAI,CAAC,OAAO;IAC5B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IACD,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAC,CAAC,IAAI,CAAC,QAAQ;IAC9B,CAAC;;sFA5KY,mBAAmB;mGAAnB,mBAAmB;QCwBhC,wEAA2D;QAAA,+EAAoB;QAAA,4DAAK;QACpF,sEACI;QAAA,yEACI;QAAA,4EAAyC;QAAjC,2IAAS,WAAO,IAAC;QAAgB,mFAAwB;QAAA,4DAAS;QAC9E,4DAAM;QACN,+GACI;QAQJ,yEACI;QAAA,4EAA0C;QAAlC,2IAAS,YAAQ,IAAC;QAAgB,2GAAgD;QAAA,4DAAS;QACvG,4DAAM;QAEN,iHACI;QAOJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,0FAA8B;QAAA,4DAAS;QACrF,4DAAM;QAEN,iHACI;QAMJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,sEAAU;QAAA,4DAAS;QACjE,4DAAM;QAEN,iHACI;QAKJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,yFAA6B;QAAA,4DAAS;QACpF,4DAAM;QAEN,kHACI;QAWJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,8FAAkC;QAAA,4DAAS;QACzF,4DAAM;QAEN,iHACI;QASJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,uHAA2D;QAAA,4DAAS;QAClH,4DAAM;QACN,iHACI;QAWJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,+FAAmC;QAAA,4DAAS;QAC1F,4DAAM;QACN,iHACI;QAUJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,wGAA4C;QAAA,4DAAS;QACnG,4DAAM;QACN,iHACI;QAWJ,0EACI;QAAA,6EAA0C;QAAlC,4IAAS,YAAQ,IAAC;QAAgB,qGAAyC;QAAA,4DAAS;QAChG,4DAAM;QACN,kHACI;QASJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,mFAAuB;QAAA,4DAAS;QAC/E,4DAAM;QACN,iHACI;QAQJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,4EAAgB;QAAA,4DAAS;QACxE,4DAAM;QACN,iHACI;QASJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,0EAAc;QAAA,4DAAS;QACtE,4DAAM;QACN,iHACI;QAQJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,6EAAiB;QAAA,4DAAS;QACzE,4DAAM;QACN,iHACI;QAYJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,sGAA0C;QAAA,4DAAS;QAClG,4DAAM;QACN,iHACI;QAUJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,6GAAiD;QAAA,4DAAS;QACzG,4DAAM;QACN,iHACI;QAYJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,6EAAiB;QAAA,4DAAS;QACzE,4DAAM;QACN,iHACI;QAWJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,yGAA6C;QAAA,4DAAS;QACrG,4DAAM;QACN,iHACI;QAUJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,qFAAyB;QAAA,4DAAS;QACjF,4DAAM;QACN,kHACI;QAiBJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,oEAAQ;QAAA,4DAAS;QAChE,4DAAM;QACN,iHACI;QAYJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,yGAA6C;QAAA,4DAAS;QACrG,4DAAM;QACN,iHACI;QAUJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,mEAAO;QAAA,4DAAS;QAC/D,4DAAM;QACN,iHACI;QAUJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,qEAAS;QAAA,4DAAS;QACjE,4DAAM;QACN,kHACI;QAUJ,0EACI;QAAA,6EAA2C;QAAnC,4IAAS,aAAS,IAAC;QAAgB,4FAAgC;QAAA,4DAAS;QACxF,4DAAM;QACN,iHACI;QAYJ,0EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,2FAA8B;QAAA,4DAAS;QACtF,4DAAM;QACN,mHACI;QAWJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,mGAAsC;QAAA,4DAAS;QAC9F,4DAAM;QACN,oHACI;QAmBJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,mEAAM;QAAA,4DAAS;QAC9D,4DAAM;QACN,mHACI;QAWJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,0FAA6B;QAAA,4DAAS;QACrF,4DAAM;QACN,mHACI;QAYJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,8FAAiC;QAAA,4DAAS;QACzF,4DAAM;QACN,mHACI;QAaJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,0GAA6C;QAAA,4DAAS;QACrG,4DAAM;QACN,oHACI;QAWJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,iHAAoD;QAAA,4DAAS;QAC5G,4DAAM;QACN,oHACI;QAaJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,2FAA8B;QAAA,4DAAS;QACtF,4DAAM;QACN,mHACI;QAQJ,2EACI;QAAA,8EAA2C;QAAnC,6IAAS,aAAS,IAAC;QAAgB,+EAAkB;QAAA,4DAAS;QAC1E,4DAAM;QACN,mHACI;QASR,4DAAM;;QA/dkD,0DAAc;QAAd,4EAAc;QAad,0DAAe;QAAf,6EAAe;QAYf,0DAAe;QAAf,6EAAe;QAWf,0DAAe;QAAf,6EAAe;QAUf,0DAAe;QAAf,6EAAe;QAgBf,0DAAe;QAAf,6EAAe;QAaf,0DAAe;QAAf,6EAAe;QAef,0DAAe;QAAf,6EAAe;QAcf,0DAAe;QAAf,6EAAe;QAef,0DAAe;QAAf,6EAAe;QAaf,0DAAgB;QAAhB,8EAAgB;QAYhB,0DAAgB;QAAhB,8EAAgB;QAahB,0DAAgB;QAAhB,8EAAgB;QAYhB,0DAAgB;QAAhB,8EAAgB;QAgBhB,0DAAgB;QAAhB,8EAAgB;QAchB,0DAAgB;QAAhB,8EAAgB;QAgBhB,0DAAgB;QAAhB,8EAAgB;QAehB,0DAAgB;QAAhB,8EAAgB;QAchB,0DAAgB;QAAhB,8EAAgB;QAqBhB,0DAAgB;QAAhB,8EAAgB;QAgBhB,0DAAgB;QAAhB,8EAAgB;QAchB,0DAAgB;QAAhB,8EAAgB;QAchB,0DAAgB;QAAhB,8EAAgB;QAchB,0DAAgB;QAAhB,8EAAgB;QAgBhB,0DAAgB;QAAhB,8EAAgB;QAehB,0DAAgB;QAAhB,8EAAgB;QAuBhB,0DAAgB;QAAhB,8EAAgB;QAehB,0DAAgB;QAAhB,8EAAgB;QAgBhB,0DAAgB;QAAhB,8EAAgB;QAiBhB,0DAAgB;QAAhB,8EAAgB;QAehB,0DAAgB;QAAhB,8EAAgB;QAiBhB,0DAAgB;QAAhB,8EAAgB;QAYhB,0DAAgB;QAAhB,8EAAgB;;6FDlf3D,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;AAKvB,MAAM,UAAU;IACrB,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,WAAW,CAAC,IAAI;QACd,qBAAqB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,EAAC,IAAI,EAAC,CACP,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAI;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;;oEAxBU,UAAU;6FAAV,UAAU,WAAV,UAAU,mBAFT,MAAM;6FAEP,UAAU;cAHtB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;ICA7D,6EACE;IAAA,yEACE;IAAA,yEACE;IAAA,oEACE;IAAA,uDACE;;IAAA,uEAAM;IAAA,uDAAkC;IAAA,4DACzC;IAAA,uDACH;;IAAA,4DAAI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAU;;;IANF,0DACE;IADF,sKACE;IAAM,0DAAkC;IAAlC,sGAAkC;IACzC,0DACH;IADG,sKACH;;ADEC,MAAM,cAAc;IASzB,YACU,WAAwB,EACxB,cAA8B;QAD9B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAPxC,wBAAmB,GAAW,MAAM,CAAC;QAiBrC,cAAS,GAAG,GAAG,EAAE;YACf,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;IAbC,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAQD,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB;oBACrD,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI;oBACnC,CAAC,CAAC,KAAK,CAAC;gBACV,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE;oBACnC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;oBAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAExB,IACE,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAChD,IAAI,CAAC,mBAAmB,GAAG,KAAK,EAClC;YACA,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAChD,CAAC;IAED,cAAc;QACZ,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;;4EAtEU,cAAc;8FAAd,cAAc;QCT3B,mHACE;;QADqB,2FAA6B;;6FDSvC,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAA2C;AAEa;;AAKjD,MAAM,aAAa;IAExB;IAAgB,CAAC;IAEV,4BAA4B,CAAC,MAAM,EAAC,OAAuB;QAChE,IAAI,MAAM,GAAG,UAAU,CAAC;QACxB,IAAI,WAAW,GAAG,eAAe,CAAC;QAClC,IAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,WAAW,GAAG,GAAG,WAAW,MAAM,CAAC;QAC1E,IAAG,MAAM,IAAI,qEAAU,CAAC,MAAM;YAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;QAErE,OAAO,MAAM,GAAC,WAAW,CAAC;IAC5B,CAAC;IACM,oBAAoB,CAAC,MAAM,EAAC,OAAuB;QACxD,IAAI,MAAM,GAAG,UAAU,CAAC;QACxB,IAAI,WAAW,GAAG,UAAU,CAAC;QAC7B,IAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,WAAW,GAAG,GAAG,WAAW,MAAM,CAAC;QAC1E,IAAG,MAAM,IAAI,qEAAU,CAAC,MAAM;YAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAC;QAErE,OAAO,MAAM,GAAC,WAAW,CAAC;IAC5B,CAAC;;0EAnBU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAA+E;;;;;;ICC3E,yEAME;IAHA,iWAAwB;IAGxB,uDACF;IAAA,4DAAM;;;;IAHJ,0GAAmC;IAEnC,0DACF;IADE,2FACF;;ADAG,MAAM,iBAAiB;IAa5B,YAAoB,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAPlD,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QAI7C,cAAS,GAAG,EAAE,CAAC;QACf,YAAO,GAAG,CAAC,CAAC;IAEmD,CAAC;IAEhE,QAAQ;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,oBAAoB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,IAAI,QAAc,CAAC;QACnB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAC7B,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CACpD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;IACH,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE;YAChD,SAAS,GAAG,QAAQ,CAAC;SACtB;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACtB,SAAS,GAAG,UAAU,CAAC;SACxB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;;kFArGU,iBAAiB;iGAAjB,iBAAiB;QCR9B,yEACI;QAAA,6GAME;QAEJ,4DAAM;;QANF,0DAA8B;QAA9B,kFAA8B;;6FDKvB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;kBAGE,mDAAK;;kBACL,mDAAK;;kBACL,mDAAK;;kBAEL,oDAAM;;;;;;;;;;;;;;AEdT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;;;;AAQvB,MAAM,WAAW;IAEtB,YACU,MAAc,EACd,OAA8B,EAC9B,kBAAuC,EACvC,mBAAwC;QAHxC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAuB;QAC9B,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAC9C,CAAC;IAEL,uBAAuB,CAAC,IAAI;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,kDAAG;;;;OAIF,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QAC7C,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,CAAC;;sEAzBU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;6FAEP,WAAW;cAHvB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AAMrC;AAEe;AAE8B;;;;;;;;;;;;;;;;ICanE,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,wEACE;IAAA,uDACA;;IAAA,2EACE;IAAA,uDACF;IAAA,4DAAO;IACT,4DAAI;IACN,4DAAM;IACN,0EACE;IAAA,wEACE;IAAA,wDACA;;IAAA,4EAA0B;IAAA,wDAA6B;IAAA,4DAAO;IAChE,4DAAI;IACN,4DAAM;IACN,2EACE;IAAA,yEACE;IAAA,wDACA;;IAAA,4EAA2B;IAAA,wDAA4B;IAAA,4DAAO;IAChE,4DAAI;IACN,4DAAM;IACN,2EACE;IAAA,yEACE;IAAA,wDACA;;IAAA,4EACE;IAAA,wDACF;;IAAA,4DAAO;IACT,4DAAI;IACN,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IA3BE,0DACA;IADA,uKACA;IACE,0DACF;IADE,gHACF;IAKA,0DACA;IADA,qKACA;IAA0B,0DAA6B;IAA7B,iGAA6B;IAKvD,0DACA;IADA,kKACA;IAA2B,0DAA4B;IAA5B,0GAA4B;IAKvD,0DACA;IADA,uKACA;IACE,0DACF;IADE,kMACF;;;;;IAMR,sEACE;IAAA,0EACE;IAAA,0EAIE;IAAA,iFAOc;IADZ,gWAAsC;;IACvC,4DAAa;IAChB,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAZA,0DAAoC;IAApC,+JAAoC;IAGlC,0DAAyD;IAAzD,uKAAyD;;;;IAWjE,wEACE;IAAA,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,sFAakB;IAHhB,oWAA+B;IAGjC,4DAAkB;IACpB,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,qEAAe;;;IAhBL,0DAKC;IALD,8KAKC;;;IAaX,qEAAwE;;;;IAYtE,0EACE;IAAA,6EAgBA;IAdE,0TAAgB;IAclB,uDACA;;IAAA,4DAAS;IACX,4DAAM;;;IAfF,0DAKE;IALF,6OAKE;IAQJ,0DACA;IADA,4JACA;;;;IAEF,0EACE;IAAA,6EAQA;IANE,0TAAgB;IAMlB,uDACA;;IAAA,4DAAS;IACX,4DAAM;;;IAPF,0DAEE;IAFF,yKAEE;IAGJ,0DACA;IADA,2JACA;;;;IAEF,0EACE;IAAA,6EAQA;IANE,0TAAgB;IAMlB,uDACA;;IAAA,4DAAS;IACX,4DAAM;;;IAPF,0DAEE;IAFF,sLAEE;IAGJ,0DACA;IADA,0JACA;;;IAIF,yEACE;IAAA,uDACF;;IAAA,4DAAK;;;IADH,0DACF;IADE,mLACF;;ADjIG,MAAM,oBACX,SAAQ,kFAAY;IA4BpB,YACU,WAAwB,EACxB,gBAAkC,EAClC,mBAAwC,EACxC,mBAAwC,EACxC,UAAsB,EACtB,mBAAwC,EACxC,MAAc,EACd,YAAkC;QAE1C,KAAK,EAAE,CAAC;QATA,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,eAAU,GAAV,UAAU,CAAY;QACtB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAsB;QAlC5C,YAAO,GAAY,KAAK,CAAC;QACzB,SAAI,GAAW,CAAC,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAe1B,SAAS;QACT,sBAAiB,GAAW,uBAAuB,CAAC;QACpD,kBAAa,GAAY,IAAI,CAAC;IAkB9B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,CAAC;QAE3D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CACpE,CAAC,GAAiB,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxC,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC7B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC7B,CAAC;YACF,aAAa,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACjC,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,yDAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC7B,CAAC;YACF,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3B,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EACnC;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAEnD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;gBACzC,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;SACF;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,oDAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB;aAC5C,eAAe,CACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CACrB;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,EAAE,CACH,CAAC;gBACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,IAAI,CAAC,WAAW,GAAG,QAAQ,CACzB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,EAAE,CACH,CAAC;wBACF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;qBACf;yBAAM;wBACL,IAAI,IAAI,CAAC,OAAO,KAAK,kCAAkC,EAAE;4BACvD,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;yBACzC;6BAAM,IACL,IAAI,CAAC,OAAO,KAAK,sCAAsC,EACvD;4BACA,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;yBACtC;6BAAM;4BACL,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;yBACpC;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;QACD,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC3D,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,GAAQ,IAAI,CAAC,YAAY,CAAC;QAElC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;gBAClD,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,SAAS,EAAE,CAAC,CAAC,aAAa;gBAC1B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ;aACnD,CAAC,CAAC,CAAC;SACL;QAED,IAAI,OAAO,GAAQ,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG;oBACpB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS;oBACrC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa;oBAChD,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,EAAE;oBACd,SAAS,EACP,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE;wBAC1C,GAAG;wBACH,IAAI,CAAC,kBAAkB,CAAC,QAAQ;iBACnC,CAAC;aACH;SACF;IACH,CAAC;IAED,SAAS;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB;aACtC,aAAa,CACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,EAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CACtC;aACA,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;aACnD;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,EAAE;oBACxC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;iBAC1D;qBAAM;oBACL,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;iBAC5C;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAe;QAC3B,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,aAAa,CAAC,KAAK;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;SAC/B;IACH,CAAC;IAED,QAAQ;IACR,UAAU;QACR,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;;wFAtRU,oBAAoB;oGAApB,oBAAoB;QC5BjC,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,sEAQF;;QAAA,4DAAM;QACN,yEACE;QAAA,sEAQF;;QAAA,4DAAM;QACR,4DAAM;QACN,kHACE;QAgCF,iHACE;QAiBF,oIACE;QAsBF,kHAAkE;QAClE,0EACE;QAAA,0EACE;QAAA,8EAME;QAJA,6IAAS,UAAM,IAAC;QAIhB,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACN,mHACE;QAmBF,mHACE;QAWF,mHACE;QAWJ,4DAAM;QACN,2EACE;QAAA,iHACE;QAEJ,4DAAM;QACR,4DAAM;;QA/JwB,sFAAyB;QACzB,0DAAoC;QAApC,2JAAoC;QAM1D,0DAA8C;QAA9C,+JAA8C;QAU9C,0DAAmD;QAAnD,oKAAmD;QAMvB,0DAAkC;QAAlC,oGAAkC;QAiC/D,0DAAkC;QAAlC,oGAAkC;QAkBzB,0DAAiB;QAAjB,+EAAiB;QAuBmB,0DAAe;QAAf,6EAAe;QAM3D,0DAAuB;QAAvB,oFAAuB;QAGvB,0DACF;QADE,6JACF;QAE4B,0DAAkB;QAAlB,gFAAkB;QAoBlB,0DAAkB;QAAlB,gFAAkB;QAYlB,0DAAkB;QAAlB,gFAAkB;QAcrB,0DAAoB;QAApB,kFAAoB;;6FD/HtC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AE3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;;;;AAOvB,MAAM,sBAAsB;IACjC,YACU,OAA8B,EAC9B,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAuB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;IACzB,CAAC;IAEJ,iBAAiB,CAAC,SAAU,EAAE,OAAQ,EAAE,aAAc;QACpD,IAAI,MAAM,CAAC;QACX,IAAI,SAAS,IAAI,OAAO,IAAI,aAAa,EAAE;YACzC,MAAM,GAAG,gBAAgB,SAAS,gBAAgB,OAAO,sBAAsB,aAAa,IAAI,CAAC;SAClG;aAAM,IAAI,CAAC,aAAa,EAAE;YACzB,IAAI,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,MAAM,GAAG,gBAAgB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC9C,aAAa,EACb,YAAY,CACb,gBAAgB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC;SACzE;aAAM;YACL,MAAM,GAAG,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;wBAGX,MAAM;;;;;;;;;;;;;;;;KAgBzB,CAAC,CAAC;IACL,CAAC;IACD,6BAA6B,CAAC,aAAa;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;0CAGO,aAAa;;;;;KAKlD,CAAC,CAAC;IACL,CAAC;;4FApDU,sBAAsB;yGAAtB,sBAAsB,WAAtB,sBAAsB,mBAFrB,MAAM;6FAEP,sBAAsB;cAHlC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACb;AACS;;;AAOhC,MAAM,iBAAiB;IAS5B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAR3C,aAAQ,GAAG,IAAI,oDAAe,CAAgB,IAAI,CAAC,CAAC;QACpD,oBAAe,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QACtD,yBAAoB,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QAEvD,UAAK,GAAG,IAAI,oDAAe,CAAc,IAAI,CAAC,CAAC;QAC/C,iBAAY,GAAG,IAAI,oDAAe,CAAU,IAAI,CAAC,CAAC;QAClD,sBAAiB,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;IAEN,CAAC;IAEtD,aAAa,CAAC,MAAM;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;6BAGN,MAAM;;;;;;;;KAQ9B,CAAC,CAAC;IACL,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;KAW9B,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,MAAM;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,aAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,2CAAG,OAAO,CAAC,CAAC;aACzD;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAC,GAAG,0CAAE,IAAI,0CAAE,UAAU,0CAAE,QAAQ,CAAC,CAAC;aACrD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;;YACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,aAAC,GAAG,0CAAE,MAAM,CAAC,CAAC,2CAAG,OAAO,CAAC,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAC,GAAG,0CAAE,IAAI,0CAAE,UAAU,0CAAE,KAAK,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;kFAhEU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;6FAEP,iBAAiB;cAH7B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACoB;;;;;;;;;IC+B/E,yEACE;IAAA,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,iGACF;;;IAYA,qEAAwE;;ADnCnE,MAAM,+BAA+B;IAa1C,YACU,WAAwB,EACxB,eAAiC,EACjC,MAAc;QAFd,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAkB;QACjC,WAAM,GAAN,MAAM,CAAQ;QATxB,YAAO,GAAG,KAAK,CAAC;QAEhB,sBAAiB,GAAG,EAAE,CAAC;QAEvB,iBAAY,GAAG,EAAE,CAAC;IAMf,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC/C,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC/B,UAAU,EAAE;oBACV,yDAAU,CAAC,QAAQ;oBACnB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC;iBACnD;aACF,CAAC;YACF,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB;aAC5C,GAAG,CAAC,aAAa,CAAC;aAClB,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,WAAW;QAC1B,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC7C;YACA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe;iBAC5C,wBAAwB,CAAC,WAAW,CAAC;iBACrC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBAEvB,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBAC1C;oBACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,qBAAqB,CAAC,KAAe;QACnC,OAAO,CAAC,KAAkB,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAK;QACpB,IACE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAC1C;YACA,OAAO,WAAW,CAAC;SACpB;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvD,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;IACH,CAAC;IAED,oBAAoB,CAAC,IAAe;QACjC,MAAc,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACtD,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,WAAW,EAAE;oBACX;wBACE,OAAO,EAAE,GAAG;wBACZ,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE;qBAC1E;iBACF;gBACD,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,EAAE;gBACb,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK;aAClD;SACF,CAAC;IAEJ,CAAC;IAED,WAAW;QACT,IAAG,IAAI,CAAC,gBAAgB,EAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;SACxC;QACD,IAAG,IAAI,CAAC,cAAc,EAAC;YACrB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACnC;IACH,CAAC;;8GAlIU,+BAA+B;+GAA/B,+BAA+B;QCX5C,0EACE;QAAA,yEACE;QAAA,wEAAgC;QAAA,uDAAqD;;QAAA,4DAAK;QAC5F,4DAAM;QAEN,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,sEASF;;QAAA,4DAAM;QACN,0EACE;QAAA,uEAOF;;QAAA,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,4HACE;QAGF,2EACE;QAAA,2EACE;QAAA,2EACE;QAAA,8EACE;QAD8C,wJAAS,gBAAY,IAAC;QACpE,kEACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,8HAAkE;QACpE,4DAAO;;QA/CD,6FAAgC;QAEF,0DAAqD;QAArD,qKAAqD;QAU7E,0DAA0C;QAA1C,4JAA0C;QAW1C,0DAAwC;QAAxC,0JAAwC;QASM,0DAAoB;QAApB,kFAAoB;QAc1B,0DAAe;QAAf,6EAAe;;6FDnCtD,+BAA+B;cAL3C,uDAAS;eAAC;gBACT,QAAQ,EAAE,+BAA+B;gBACzC,WAAW,EAAE,4CAA4C;gBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;aAC1D;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAyC;AACc;;;AAEvD,MAAM,MAAM,GAAW,EAAE,CAAC;AAMnB,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBAHlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;6FAEX,gBAAgB;cAJ5B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAkD;;;AAO3C,MAAM,sBAAsB;IALnC;QAOE,UAAK,GAAM,IAAI,IAAI,EAAE,CAAC;KAUvB;IARQ,OAAO,CAAC,QAAQ;QACrB,IAAI,OAAO,GAAG,qBAAqB,CAAC;QACpC,IAAI,QAAQ,KAAK,KAAK,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,OAAO,GAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC1C;aAAM,IAAG,QAAQ,IAAE,OAAO,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAC,0BAA0B,EAAC,QAAQ,CAAC,CAAC;SAC1D;IACH,CAAC;;4FAXU,sBAAsB;sGAAtB,sBAAsB;QCPnC,4EACI;QAAA,yEACI;QAAA,wEACI;QAAA,qEACI;QAAA,uEAA4B;QAAzB,yIAAS,YAAQ,KAAK,CAAC,IAAC;QAAC,uDAA+B;;QAAA,4DAAI;QACnE,4DAAK;QACL,qEAEI;QAAA,uEAAuD;QAAA,wEAE/D;QAAA,4DAAI;QAIA,4DAAK;QACT,4DAAK;QAEL,qEAAG;QAAA,wDAA0C;QAAA,4DAAI;QAEjD,0EACI;QAAA,wEAAgH;QAAA,mEACrH;QAAA,4DAAI;QAEC,wEAAyH;QAAA,mEAC9H;QAAA,4DAAI;QACH,4DAAM;QACV,4DAAM;QACV,4DAAS;;QAvBmC,0DAA+B;QAA/B,+IAA+B;QAahE,0DAA0C;QAA1C,uHAA0C;;6FDVxC,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACE;AACE;AACiB;AACS;AACA;AACA;AACA;AACY;AAC7B;AAC4C;AACT;AAChD;AACmD;AACxC;AACQ;AACwB;AACG;AACH;AACiB;;AA4BpG,MAAM,UAAU;;yFAAV,UAAU;8IAAV,UAAU,kBARZ;YACP,4DAAY;YACZ,0EAAY;YACZ,6DAAY;YACZ,wEAAa;YACb,2DAAW;YACX,mEAAmB;SAAC;mIAEX,UAAU,mBAxBnB,6DAAa;QACb,+DAAY;QACZ,gFAAiB;QACjB,yFAAoB;QACpB,uGAAsB;QACtB,0GAAuB;QACvB,yFAAoB;QACpB,yFAAoB;QACpB,yFAAoB;QACpB,qGAAwB;QACxB,qHAAwB;QACxB,4GAAqB;QACrB,+GAAsB;QACtB,uGAAoB;QACpB,wHAAyB,aAGzB,4DAAY;QACZ,0EAAY;QACZ,6DAAY;QACZ,wEAAa;QACb,2DAAW;QACX,mEAAmB;6FAEV,UAAU;cA1BtB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,6DAAa;oBACb,+DAAY;oBACZ,gFAAiB;oBACjB,yFAAoB;oBACpB,uGAAsB;oBACtB,0GAAuB;oBACvB,yFAAoB;oBACpB,yFAAoB;oBACpB,yFAAoB;oBACpB,qGAAwB;oBACxB,qHAAwB;oBACxB,4GAAqB;oBACrB,+GAAsB;oBACtB,uGAAoB;oBACpB,wHAAyB;iBAC1B;gBACD,OAAO,EAAE;oBACP,4DAAY;oBACZ,0EAAY;oBACZ,6DAAY;oBACZ,wEAAa;oBACb,2DAAW;oBACX,mEAAmB;iBAAC;aACvB;;;;;;;;;;;;;;AC/CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAEb;AACuB;;;AAM9C,MAAM,mBAAmB;IAgB9B,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;QAblD,wBAAmB,GAA6B,IAAI,oDAAe,CACjE,KAAK,CACN,CAAC;QACF,6BAAwB,GAA4B,IAAI,oDAAe,CACrE,EAAE,CACH,CAAC;QACF,iBAAY,GAAkC,IAAI,oDAAe,CAC/D,SAAS,CACV,CAAC;QACF,uBAAkB,GAAkC,IAAI,oDAAe,CACrE,SAAS,CACV,CAAC;IAEmD,CAAC;IAEtD,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kDAAG;;;;;;;;;;;;;;;;;;;;;KAqB9B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CACvD,CAAC,GAAyB,EAAO,EAAE;YACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,IAAI,GAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAE3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACvE;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,oDAAe,CAAe,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,oDAAe,CAAe,SAAS,CAAC,CAAC;SACxE;QACD,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxC;IACH,CAAC;;sFAvEU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACd;;;;;;;ICIlC,qFAKwB;;;IAHtB,yFAAuB;;ADEpB,MAAM,wBAAwB;IAOnC,YACU,mBAAwC,EACxC,QAAkB;QADlB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAU;QAJpB,SAAI,GAAG,IAAI,iDAAY,EAAE,CAAC;IAK/B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IACO,OAAO;QACb,IAAI,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAgB,EAAE,EAAE;YACnE,IAAG,YAAY,IAAI,YAAY,CAAC,MAAM,EAAC;gBACvC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;aAClD;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;gGAjCU,wBAAwB;wGAAxB,wBAAwB;QCVrC,yEACE;QAAA,yEACE;QAAA,wEACE;QAAA,uDACF;;QAAA,4DAAK;QACP,4DAAM;QACN,sJAKC;QACH,4DAAM;;QATA,0DACF;QADE,+KACF;QAGA,0DAAqB;QAArB,mFAAqB;;6FDGZ,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAElB;AAED,2EAAwB,gBAAgB,CAAC,0DAAU;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;ACZpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,qC","file":"main-es2015.js","sourcesContent":["import { Component, OnChanges, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ModalWithTextService } from \"./modal-with-text.service\";\r\n\r\n@Component({\r\n selector: \"app-modal-with-text\",\r\n templateUrl: \"./modal-with-text.component.html\",\r\n styleUrls: [\"./modal-with-text.component.scss\"],\r\n})\r\nexport class ModalWithTextComponent implements OnInit {\r\n public modalTextSub: Subscription;\r\n public modalText: string = \"\";\r\n\r\n private modalClosedSub: Subscription;\r\n private modalClosed: boolean;\r\n\r\n private modalErrorTextSub: Subscription;\r\n public modalErrorText: string;\r\n constructor(private modalService: ModalWithTextService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.modalService.modalClosed.value) {\r\n this.modalService.modalClosed.next(false);\r\n }\r\n this.modalTextSub = this.modalService.modalText.subscribe((res: string) => {\r\n this.modalText = res;\r\n });\r\n this.modalClosedSub = this.modalService.modalClosed.subscribe(\r\n (res: boolean) => {\r\n this.modalClosed = res;\r\n }\r\n );\r\n this.modalErrorTextSub = this.modalService.modalErrorText.subscribe(\r\n (res: string) => {\r\n this.modalErrorText = res;\r\n }\r\n );\r\n }\r\n\r\n public closeModal(): void {\r\n if (this.modalErrorText) {\r\n this.modalService.modalErrorText.next(\"\");\r\n } else {\r\n this.modalService.modalText.next(\"\");\r\n this.modalService.modalClosed.next(true);\r\n this.modalService.modalClosed.next(false);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
X
\r\n
\r\n

{{modalText}}

\r\n

{{modalErrorText}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CalendarDataService } from 'src/app/shared/services/calendar/calendarData.service';\r\nimport { CalendarService } from './calendar.service';\r\n\r\n@Component({\r\n selector: \"app-calendar\",\r\n templateUrl: \"./calendar.component.html\",\r\n styleUrls: [\"./calendar.component.scss\"],\r\n})\r\nexport class CalendarComponent implements OnInit, OnDestroy {\r\n eventsLoading = true;\r\n\r\n notificationsSub: Subscription;\r\n notifications: Notification[];\r\n\r\n loadingSelectMonthText: string = \"Loading\"\r\n\r\n formattedNotifications: Notification[];\r\n\r\n viewStyle = \"monthly\";\r\n\r\n currentDate: Date;\r\n\r\n weekDayNames: string[];\r\n\r\n monthNames: any;\r\n\r\n selectedMonth: any;\r\n\r\n selectedMonthDates: number[];\r\n prevMonthPadding: number[];\r\n nextMonthPadding: number[];\r\n\r\n selectedMonthDatesWeekly: {};\r\n\r\n notificationsFilter: string | number = \"all\";\r\n\r\n showDeleteEventPrompt = false;\r\n\r\n notificationToDelete;\r\n deleteNotification$;\r\n deletingNotification = false;\r\n\r\n constructor(\r\n private calendarDataService: CalendarDataService,\r\n private calendarService: CalendarService,\r\n public router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.currentDate = this.calendarDataService.getCurrentDate();\r\n this.weekDayNames = this.calendarDataService.getWeekDayNames();\r\n this.getAndPrepMonthNamesForSelect();\r\n\r\n\r\n this.pickTodaysDate();\r\n this.fetchNotifications();\r\n\r\n }\r\n\r\n getAndPrepMonthNamesForSelect(){\r\n this.monthNames = this.calendarDataService.getMonthNames().map((x: any) => ({\r\n id: x.value,\r\n mainTitle: x.label,\r\n }));\r\n }\r\n\r\n pickView(viewStyle) {\r\n this.viewStyle = viewStyle;\r\n }\r\n\r\n initializeCalendar() {\r\n this.selectedMonthDates = this.calendarDataService.getDatesArray(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth()\r\n );\r\n this.prevMonthPadding = this.calendarDataService.getPrevMonthPadding(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth()\r\n );\r\n this.nextMonthPadding = this.calendarDataService.getNextMonthPadding(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth()\r\n );\r\n }\r\n\r\n initializeWeeklyCalendar() {\r\n this.selectedMonthDatesWeekly = this.calendarDataService.getDatesArrayWeekly(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate()\r\n );\r\n }\r\n\r\n pickMonth(month) {\r\n this.currentDate.setMonth(month.id);\r\n this.initializeCalendar();\r\n this.initializeWeeklyCalendar();\r\n this.selectedMonth = this.monthNames[this.currentDate.getMonth()];\r\n }\r\n\r\n pickDate(data) {\r\n let currentMonth = this.currentDate.getMonth();\r\n\r\n if (data.month === \"previous\") {\r\n if (currentMonth !== 0) {\r\n currentMonth--;\r\n }\r\n this.currentDate.setMonth(currentMonth);\r\n } else if (data.month === \"next\") {\r\n if (currentMonth !== 11) {\r\n currentMonth++;\r\n }\r\n this.currentDate.setMonth(currentMonth);\r\n }\r\n\r\n this.currentDate.setDate(data.date);\r\n\r\n this.pickMonth(this.monthNames[this.currentDate.getMonth()]);\r\n }\r\n\r\n pickTodaysDate() {\r\n const currentDate = new Date();\r\n this.pickMonth(this.monthNames[currentDate.getMonth()]);\r\n this.pickDate({\r\n month: currentDate.getMonth(),\r\n date: currentDate.getDate(),\r\n });\r\n }\r\n\r\n prevButton() {\r\n if (this.viewStyle === \"monthly\") {\r\n let currentMonth = this.currentDate.getMonth();\r\n\r\n if (currentMonth !== 0) {\r\n currentMonth--;\r\n }\r\n this.currentDate.setMonth(currentMonth);\r\n } else if (this.viewStyle === \"weekly\") {\r\n this.currentDate = this.calendarDataService.getPrevWeekDate(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate()\r\n );\r\n }\r\n\r\n this.pickMonth(this.monthNames[this.currentDate.getMonth()]);\r\n }\r\n\r\n nextButton() {\r\n if (this.viewStyle === \"monthly\") {\r\n let currentMonth = this.currentDate.getMonth();\r\n\r\n if (currentMonth !== 11) {\r\n currentMonth++;\r\n }\r\n this.currentDate.setMonth(currentMonth);\r\n } else if (this.viewStyle === \"weekly\") {\r\n this.currentDate = this.calendarDataService.getNextWeekDate(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate()\r\n );\r\n }\r\n\r\n this.pickMonth(this.monthNames[this.currentDate.getMonth()]);\r\n }\r\n\r\n formatDateForNotifications() {\r\n const notificationsArray = this.notifications;\r\n\r\n if (notificationsArray) {\r\n this.formattedNotifications = notificationsArray.map((notification: any) => {\r\n\r\n const dateTimeString = notification.eventDate;\r\n const dateString = dateTimeString.split(\"T\")[0];\r\n const dateArray = dateString.split('-');\r\n const year = Number(dateArray[0]);\r\n const month = Number(dateArray[1]) - 1;\r\n const day = Number(dateArray[2]);\r\n\r\n const newDate = new Date(year, month, day);\r\n\r\n return {\r\n ...notification,\r\n eventDate: newDate,\r\n };\r\n });\r\n }\r\n }\r\n\r\n setNotificationsFilter(type) {\r\n this.notificationsFilter = type;\r\n }\r\n\r\n fetchNotifications() {\r\n this.notificationsSub = this.calendarDataService\r\n .fetchNotifications()\r\n .subscribe((res) => {\r\n this.notifications = res[\"data\"][\"calendarEvents\"];\r\n this.eventsLoading = false;\r\n this.formatDateForNotifications();\r\n });\r\n }\r\n\r\n showHideNotification(notification) {\r\n const notificationDate: Date = notification.eventDate;\r\n if (notificationDate.getTime() === this.currentDate.getTime()) {\r\n if (\r\n notification.eventTypeId === this.notificationsFilter ||\r\n this.notificationsFilter === \"all\"\r\n ) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n goToEditNotification(notification) {\r\n console.log(notification);\r\n this.router.navigateByUrl(\"/calendar/edit-event\", {\r\n state: { notification },\r\n });\r\n }\r\n\r\n goToAddNotificationPage() {\r\n const date = new Date();\r\n this.router.navigateByUrl(\"/calendar/add-event\", { state: { date } });\r\n }\r\n\r\n deleteNotification() {\r\n const notification = this.notificationToDelete;\r\n this.deletingNotification = true;\r\n this.deleteNotification$ = this.calendarService\r\n .deleteCalendarEvent({ calendarEventId: notification.id })\r\n .subscribe((res) => {\r\n this.deletingNotification = false;\r\n this.showDeleteEventPrompt = false;\r\n if (res.data[\"deleteCalendarEvent\"]) {\r\n for (let i = 0; i < this.formattedNotifications.length; i++) {\r\n if (this.formattedNotifications[i][\"id\"] === notification.id) {\r\n this.formattedNotifications.splice(1, i);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSub.unsubscribe();\r\n if (this.deleteNotification$) {\r\n this.deleteNotification$.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
<
\r\n
>
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {{ \"CALENDAR.MONTHLY\" | translate }}\r\n \r\n \r\n {{ \"CALENDAR.WEEKLY\" | translate }}\r\n \r\n
\r\n
\r\n\r\n
    \r\n
  • \r\n {{ (\"CALENDAR.DAYS.\" + weekDayName | translate).charAt(0) }}\r\n
  • \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{ \"CALENDAR.EVENTS\" | translate }}

\r\n
\r\n
\r\n \r\n {{ \"GENERAL.ALL\" | translate }}\r\n \r\n \r\n {{ \"CALENDAR.LOAN\" | translate }}\r\n \r\n \r\n \r\n {{ \"CALENDAR.CUSTOM\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{\r\n notification.eventDate.toDateString()\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"GENERAL.NAME\" | translate }}\r\n {{ notification.eventName }}\r\n
\r\n
\r\n {{ \"GENERAL.DATE\" | translate }}\r\n {{ notification.eventDate.toDateString() }}\r\n
\r\n
\r\n {{\r\n \"GENERAL.AMOUNT\" | translate\r\n }}\r\n {{ notification.amount | moneyFormat }} ZMW\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoanInfoService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n loanInfoQuery() {\r\n return this.graphQL.request(gql`\r\n {\r\n loans {\r\n approvedAmount\r\n outstandingPrincipal\r\n branchId\r\n contractN\r\n currency\r\n currencyId\r\n id\r\n isActive\r\n loanBalance\r\n loanBalanceEqu\r\n loanEndDate\r\n loanSize\r\n loanValueDate\r\n loanYearPercent\r\n nextPaymentAmount\r\n nextPaymentDate\r\n nextPaymentFee\r\n nextPaymentInterest\r\n nextPaymentPrincipal\r\n product\r\n productId\r\n relatedAccount\r\n }\r\n }\r\n `);\r\n }\r\n\r\n loanScheduleInfoQuery(contractN: string) {\r\n return this.graphQL.request(gql`\r\n {\r\n loans (contractN: \"${contractN}\"){\r\n schedule{\r\n balance\r\n currency\r\n date\r\n fee\r\n interest\r\n overdueInterest\r\n overduePrincipal\r\n penalty\r\n principal\r\n totalAmount\r\n }\r\n }\r\n }`);\r\n }\r\n\r\n loanDetailsInfoQuery(contractN: string) {\r\n return this.graphQL.request(gql`\r\n {\r\n loans (contractN: \"${contractN}\"){\r\n nextPaymentFee\r\n nextPaymentDate\r\n nextPaymentAmount\r\n nextPaymentInterest\r\n nextPaymentPrincipal\r\n statement{\r\n balance\r\n date\r\n fee\r\n interest\r\n penalty\r\n principal\r\n }\r\n }\r\n }`);\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Subscription, BehaviorSubject } from \"rxjs\";\r\nimport {\r\n loanInfo,\r\n loanInfoResponse,\r\n accountsInfo,\r\n accountsInfoResponse,\r\n} from \"src/app/shared/models/models\";\r\nimport { LoanInfoService } from \"src/app/shared/services/loan-info.service\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport { eventNames } from \"process\";\r\n\r\n@Component({\r\n selector: \"app-products\",\r\n templateUrl: \"./products.component.html\",\r\n styleUrls: [\"./products.component.scss\"],\r\n})\r\nexport class ProductsComponent extends accountsInfoBase implements OnInit {\r\n loading = true;\r\n activeTab = \"\";\r\n currentItem;\r\n data;\r\n\r\n accountsSub: Subscription;\r\n\r\n // loans\r\n loanSub: Subscription;\r\n loanErrorMessage: any = \"\";\r\n loans: loanInfo;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private loanInfoservic: LoanInfoService,\r\n private accountsInfoService: AccountsInfoService\r\n ) {\r\n super();\r\n }\r\n\r\n routerSub: Subscription;\r\n\r\n ngOnInit(): void {\r\n this.fetchAccounts()\r\n this.catchRouteParams();\r\n this.detectRoute();\r\n\r\n this.onloadTnx();\r\n }\r\n\r\n fetchCurrentProductList() {\r\n if (this.activeTab === \"accounts\") {\r\n this.fetchAccounts();\r\n } else if (this.activeTab === \"loans\" || this.activeTab === \"loan\") {\r\n if (!this.loans) {\r\n this.fetchLoans();\r\n } else {\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n\r\n fetchAccounts() {\r\n if (!this.accountsInfo) {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n }\r\n this.accountsSub = this.accountsInfoService.accountsInfoLoading.subscribe(\r\n (res) => {\r\n if (!res) {\r\n this.loading = res;\r\n }\r\n }\r\n );\r\n }\r\n\r\n fetchLoans() {\r\n this.loading = true;\r\n this.loanSub = this.loanInfoservic\r\n .loanInfoQuery()\r\n .subscribe((res: loanInfoResponse) => {\r\n if (res.errors) {\r\n this.loanErrorMessage = res.errors[0].message;\r\n }\r\n\r\n if (res.data) {\r\n this.loans = res.data.loans;\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n onloadTnx() {\r\n // this.activeTab = this.route.snapshot.params.type;\r\n // this.data =this.accountsInfoService.accountsInfo\r\n\r\n // console.log(this.data)\r\n // if (this.route.snapshot.params.id) {\r\n // this.currentItem = this.route.snapshot.params.id;\r\n // console.log(this.currentItem);\r\n // } else {\r\n // this.currentItem = \"\";\r\n // }\r\n // this.fetchCurrentProductList();\r\n }\r\n\r\n catchRouteParams() {\r\n this.activeTab = this.route.snapshot.params.type;\r\n\r\n if (this.route.snapshot.params.id) {\r\n this.currentItem = this.route.snapshot.params.id;\r\n\r\n } else {\r\n this.currentItem = \"\";\r\n }\r\n this.fetchCurrentProductList();\r\n }\r\n\r\n detectRoute() {\r\n this.routerSub = this.router.events.subscribe((val) => {\r\n this.catchRouteParams();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.unsubscribeAccountsInfo();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"PRODUCTS.MY_PRODUCTS\" | translate }}

\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { RegisterService } from \"./register.service\";\r\nimport {\r\n registrationCheckCustomerResponse,\r\n validateRegistrationOTPResponse,\r\n} from \"src/app/shared/models/models\";\r\nimport { clientType } from \"src/app/shared/enums/enums\";\r\nimport { FunctionsService } from \"src/app/shared/functions/functions.service\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n ValidationErrors,\r\n ValidatorFn,\r\n} from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { DateFormatPipe } from \"src/app/shared/pipes/date-format.pipe\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { LandingService } from \"../landing.service\";\r\nimport { HelperService } from \"./helper.service\";\r\n\r\n@Component({\r\n selector: \"app-register\",\r\n templateUrl: \"./register.component.html\",\r\n styleUrls: [\"./register.component.scss\"],\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n\r\n // ------------------------------------------\r\n clientTypeEnum = clientType;\r\n clientType: string = \"\";\r\n\r\n registrationStep: number = 1;\r\n\r\n registrationForm: FormGroup;\r\n\r\n disabledClass: boolean = false;\r\n\r\n // for datepicker\r\n minDate: Date;\r\n maxDate: Date;\r\n pickedDate: Date;\r\n\r\n registrationCheckCustomerSub: Subscription;\r\n\r\n errorMessage: string = \"\";\r\n loading: boolean = false;\r\n\r\n otpLoading: boolean = false;\r\n resendBtnHovered: boolean = false;\r\n generateOtpSub: Subscription;\r\n validateOtpSub: Subscription;\r\n otpCode: string = \"\";\r\n guid: Guid;\r\n\r\n checkingUsername: boolean = false;\r\n checkUserNameSub: Subscription;\r\n inValidUsernames: string[] = [];\r\n invalidAgreement: boolean = false;\r\n invalidPassword: string;\r\n\r\n registerCustomerSub: Subscription;\r\n modalClosedSub: Subscription;\r\n\r\n constructor(\r\n public helper:HelperService,\r\n private router: Router,\r\n private functionsService: FunctionsService,\r\n private registerService: RegisterService,\r\n private dateFormat: DateFormatPipe,\r\n private modalService: ModalWithTextService,\r\n private landingService: LandingService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initParametersForDatePicker();\r\n this.initializeForm();\r\n this.modalClosedSub = this.modalService.modalClosed.subscribe(\r\n (res: boolean) => {\r\n if (res === true) {\r\n // this.finishRegistration();\r\n }\r\n }\r\n );\r\n }\r\n\r\n pickClientType(type: clientType) {\r\n this.clientType = type;\r\n }\r\n finishRegistration() {\r\n this.loading = true;\r\n this.landingService\r\n .authorizeUser(\r\n this.registrationForm.controls.username.value,\r\n this.registrationForm.controls.password.value\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.token && res.token != undefined && res.token != \"undefined\") {\r\n this.landingService.setToken(res.token);\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n },(err:any)=>{\r\n this.loading = false;\r\n this.modalService.generateErrorModal(err.error.errorCode??\"ERROR_CODES.AUTH_ERROR\");\r\n });\r\n }\r\n\r\n goBack() {\r\n if (!this.clientType) {\r\n this.router.navigateByUrl(\"/landing\");\r\n } else if (this.registrationStep === 1 || this.registrationStep === 2) {\r\n this.clientType = \"\";\r\n this.initializeForm();\r\n this.otpLoading = false;\r\n this.resendBtnHovered = false;\r\n this.otpCode = \"\";\r\n this.registrationStep = 1;\r\n } else if (this.registrationStep === 3) {\r\n this.registrationStep = 1;\r\n this.registrationForm.get(\"smsCode\").setValue(\"\");\r\n this.registrationForm.get(\"username\").setValue(\"\");\r\n this.registrationForm.get(\"password\").setValue(\"\");\r\n this.registrationForm.get(\"name\").setValue(\"\");\r\n this.registrationForm.get(\"address\").setValue(\"\");\r\n this.registrationForm.get(\"email\").setValue(\"\");\r\n this.registrationForm.get(\"agreement\").setValue(\"\");\r\n }\r\n }\r\n\r\n nextStep() {\r\n if (this.registrationStep === 1) {\r\n this.submitForm();\r\n } else if (this.registrationStep === 2) {\r\n this.registrationForm.get(\"smsCode\").markAsTouched();\r\n if (this.registrationForm.get(\"smsCode\").valid) {\r\n this.validateOtp();\r\n }\r\n\r\n }\r\n }\r\n\r\n initializeForm() {\r\n this.registrationForm = new FormGroup({\r\n // Validators.pattern(\"[0-9]*\")\r\n personalN: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(5),\r\n Validators.maxLength(12)\r\n ]),\r\n // this.mobileCheck\r\n mobile: new FormControl(\"\", [Validators.required]),\r\n birthDate: new FormControl(\"\", Validators.required),\r\n fiscalNumber: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(6),\r\n Validators.maxLength(11),\r\n ]),\r\n companyName: new FormControl(\"\", Validators.required),\r\n // statNumber: new FormControl(\"\", Validators.required),\r\n smsCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.pattern(\"[0-9]*\"),\r\n Validators.maxLength(4),\r\n Validators.minLength(4),\r\n ]),\r\n username: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(32),\r\n this.usernameValidation(this.inValidUsernames),\r\n ]),\r\n password: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.pattern(\r\n \"^(?=.*[A-Z])(?=.*[!@#^$&*])(?=.*[0-9])(?=.*[a-z]).{8,}$\"\r\n ),\r\n ]),\r\n name: new FormControl(\"\", Validators.required),\r\n address: new FormControl(\"\", Validators.required),\r\n email: new FormControl(\"\"),\r\n agreement: new FormControl(false, Validators.required),\r\n });\r\n this.errorMessage = \"\";\r\n this.pickedDate = undefined;\r\n }\r\n\r\n usernameValidation(array: string[]) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n return array.includes(value) ? { usernameExists: true } : null;\r\n };\r\n }\r\n\r\n mobileCheck(c: FormControl) {\r\n let value = c.value;\r\n if (value.substring(0, 3) == \"261\" && value.length === 12) {\r\n return;\r\n } else if (value.substring(0, 1) == \"0\" && value.length === 10) {\r\n return;\r\n }\r\n return { mobileCheck: false };\r\n }\r\n\r\n initParametersForDatePicker() {\r\n this.minDate = new Date(\r\n new Date().getFullYear() - 100,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n this.maxDate = new Date(\r\n new Date().getFullYear() - 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n }\r\n\r\n pickDate(date: Date) {\r\n this.registrationForm\r\n .get(\"birthDate\")\r\n .setValue(this.dateFormat.transform(date));\r\n this.pickedDate = date;\r\n }\r\n\r\n giveClassesToCustomInputs(input: AbstractControl) {\r\n if (this.registrationStep === 2) {\r\n return \"disabled\";\r\n } else {\r\n return this.functionsService.giveClassesToCustomInputs(input);\r\n }\r\n }\r\n\r\n // if we got name, address and email value than disable\r\n checkInputToGiveClass(input) {\r\n if (this.registrationForm.controls[input].value) {\r\n return \"disabled\";\r\n }\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupAsTouched();\r\n this.registrationCheckCustomer();\r\n }\r\n\r\n markFormGroupAsTouched() {\r\n this.registrationForm.get(\"birthDate\").markAsTouched();\r\n this.registrationForm.get(\"personalN\").markAsTouched();\r\n this.registrationForm.get(\"mobile\").markAsTouched();\r\n\r\n if (this.clientType === this.clientTypeEnum.Entity) {\r\n this.registrationForm.get(\"fiscalNumber\").markAsTouched();\r\n // this.registrationForm.get(\"statNumber\").markAsTouched();\r\n this.registrationForm.get(\"companyName\").markAsTouched();\r\n }\r\n }\r\n\r\n registrationCheckCustomer() {\r\n this.invalidAgreement = false;\r\n if (this.formIsValidForCustomerChcking()) {\r\n this.loading = true;\r\n this.registrationCheckCustomerSub = this.registerService\r\n .checkPerson(\r\n this.clientType === this.clientTypeEnum.Entity ? true : false,\r\n this.registrationForm.get(\"personalN\").value,\r\n this.registrationForm.get(\"birthDate\").value,\r\n this.registrationForm.get(\"mobile\").value,\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"fiscalNumber\").value\r\n : null,\r\n // this.clientType === this.clientTypeEnum.Entity\r\n // ? this.registrationForm.get(\"statNumber\").value\r\n // : null,\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"companyName\").value\r\n : null\r\n )\r\n .subscribe((res: registrationCheckCustomerResponse) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n if (res.errors[0].extensions.code === \"NOT_FOUND\") {\r\n this.errorMessage = \"NOT_FOUND_USERNAME\";\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n } else {\r\n this.setDetailValues(res);\r\n }\r\n });\r\n } else {\r\n this.errorMessage = \"INVALID_INPUT\";\r\n if (!this.registrationForm.get(\"agreement\").value) {\r\n this.invalidAgreement = true;\r\n }\r\n }\r\n }\r\n\r\n setDetailValues(values: registrationCheckCustomerResponse) {\r\n this.registrationForm\r\n .get(\"name\")\r\n .setValue(\r\n values.data.registrationCheckCustomer.firstName.toString() +\r\n \" \" +\r\n values.data.registrationCheckCustomer.lastName.toString()\r\n );\r\n if (values.data.registrationCheckCustomer.address) {\r\n this.registrationForm\r\n .get(\"address\")\r\n .setValue(values.data.registrationCheckCustomer.address);\r\n this.generateOtp();\r\n } else {\r\n this.errorMessage = \"ADDRESS_NOT_FOUND\";\r\n }\r\n\r\n if (values.data.registrationCheckCustomer.email) {\r\n this.registrationForm\r\n .get(\"email\")\r\n .setValue(values.data.registrationCheckCustomer.email);\r\n }\r\n }\r\n\r\n formIsValidForCustomerChcking() {\r\n if (\r\n this.registrationForm.get(\"birthDate\").valid &&\r\n this.registrationForm.get(\"personalN\").valid &&\r\n this.registrationForm.get(\"mobile\").valid\r\n ) {\r\n if (this.clientType === this.clientTypeEnum.Entity) {\r\n if (\r\n this.registrationForm.get(\"fiscalNumber\").valid &&\r\n // this.registrationForm.get(\"statNumber\").valid &&\r\n this.registrationForm.get(\"companyName\").valid\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n getSmsCode(code) {\r\n this.registrationForm.get(\"smsCode\").setValue(code);\r\n }\r\n\r\n generateGUID() {\r\n this.guid = Guid.create();\r\n }\r\n\r\n generateOtp() {\r\n this.errorMessage = \"\";\r\n this.generateGUID();\r\n this.loading = true;\r\n this.otpLoading = false;\r\n\r\n let data = {\r\n personalN: encodeURIComponent(this.registrationForm.get(\"personalN\").value),\r\n birthDate: this.registrationForm.get(\"birthDate\").value,\r\n mobile: this.registrationForm.get(\"mobile\").value,\r\n sessionId: this.guid.toString(),\r\n fiscalNumber:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"fiscalNumber\").value\r\n : \"\",\r\n companyName:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"companyName\").value\r\n : \"\",\r\n isLegalEntity:\r\n this.clientType === this.clientTypeEnum.Entity ? true : false,\r\n };\r\n\r\n // statNumber:\r\n // this.clientType === this.clientTypeEnum.Entity\r\n // ? this.registrationForm.get(\"statNumber\").value\r\n // : \"\",\r\n\r\n this.generateOtpSub = this.registerService\r\n .generateRegistrationOTP({ data })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n this.otpLoading = false;\r\n if (res.errors) {\r\n this.registrationStep = 2;\r\n this.errorMessage = \"RESEND_CODE\";\r\n this.otpLoading = true;\r\n this.resendBtnHovered = true;\r\n this.registrationForm.controls.smsCode.markAsUntouched();\r\n } else {\r\n this.registrationStep = 2;\r\n }\r\n });\r\n }\r\n\r\n validateOtp() {\r\n this.errorMessage = \"\";\r\n this.loading = true;\r\n this.otpLoading = true;\r\n\r\n let data = {\r\n personalN: this.registrationForm.get(\"personalN\").value,\r\n birthDate: this.registrationForm.get(\"birthDate\").value,\r\n mobile: this.registrationForm.get(\"mobile\").value,\r\n sessionId: this.guid.toString(),\r\n otpCode: this.registrationForm.get(\"smsCode\").value,\r\n fiscalNumber:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"fiscalNumber\").value\r\n : \"\",\r\n companyName:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"companyName\").value\r\n : \"\",\r\n isLegalEntity:\r\n this.clientType === this.clientTypeEnum.Entity ? true : false,\r\n };\r\n\r\n // statNumber:\r\n // this.clientType === this.clientTypeEnum.Entity\r\n // ? this.registrationForm.get(\"statNumber\").value\r\n // : \"\",\r\n\r\n this.validateOtpSub = this.registerService\r\n .validateRegistrationOTP({ data })\r\n .subscribe((res: validateRegistrationOTPResponse) => {\r\n this.otpLoading = false;\r\n this.loading = false;\r\n\r\n if (res.data.validateRegistrationOTP) {\r\n this.registrationStep = 3;\r\n } else {\r\n this.registrationForm.controls.smsCode.markAsUntouched();\r\n this.errorMessage = \"WRONG_OTP\";\r\n }\r\n });\r\n }\r\n\r\n checkUsernameValidity() {\r\n this.errorMessage = \"\";\r\n const username = this.registrationForm.get(\"username\");\r\n if (username.value && username.valid) {\r\n this.checkingUsername = true;\r\n this.registrationForm.get(\"username\").disable();\r\n this.checkUserNameSub = this.registerService\r\n .checkExistingUsername(username.value)\r\n .subscribe((res: any) => {\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n this.inValidUsernames.push(\r\n this.registrationForm.controls.username.value\r\n );\r\n } else {\r\n this.errorMessage = \"\";\r\n }\r\n this.checkingUsername = false;\r\n\r\n this.registrationForm.get(\"username\").enable();\r\n });\r\n }\r\n }\r\n\r\n checkPasswordValidity() {\r\n this.errorMessage = \"\";\r\n if (this.registrationForm.get(\"password\").errors) {\r\n let errors = this.registrationForm.get(\"password\").errors;\r\n if (errors[\"minlength\"]) {\r\n this.errorMessage = \"INVALID_PASSWORD_LENGTH\";\r\n } else if (errors[\"pattern\"]) {\r\n this.errorMessage = \"INVALID_PASSWORD_SYMBOLS\";\r\n } else {\r\n this.errorMessage = \"INVALID_PASSWORD_FORMAT\";\r\n }\r\n }\r\n }\r\n\r\n registerNewUser() {\r\n if (!this.loading) {\r\n this.errorMessage = \"\";\r\n\r\n this.registrationForm.get(\"username\").markAsTouched();\r\n this.registrationForm.get(\"password\").markAsTouched();\r\n this.registrationForm.get(\"address\").markAsTouched();\r\n this.registrationForm.get(\"agreement\").markAsTouched();\r\n\r\n if (this.checkRegistrationForm()) {\r\n this.loading = true;\r\n\r\n let data = {\r\n isLegalEntity:\r\n this.clientType === this.clientTypeEnum.Entity ? true : false,\r\n companyName:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"companyName\").value\r\n : \"\",\r\n fiscalNumber:\r\n this.clientType === this.clientTypeEnum.Entity\r\n ? this.registrationForm.get(\"fiscalNumber\").value\r\n : \"\",\r\n personalN: encodeURIComponent(this.registrationForm.get(\"personalN\").value),\r\n birthDate: this.registrationForm.get(\"birthDate\").value,\r\n mobile: this.registrationForm.get(\"mobile\").value,\r\n username: this.registrationForm.get(\"username\").value,\r\n password: this.registrationForm.get(\"password\").value,\r\n };\r\n\r\n // statNumber:\r\n // this.clientType === this.clientTypeEnum.Entity\r\n // ? this.registrationForm.get(\"statNumber\").value\r\n // : \"\",\r\n\r\n this.registerCustomerSub = this.registerService\r\n .registerCustomer({ data })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n this.modalService.generateModal(\r\n \"LANDING.REGISTER.REGISTRATION_COMPLETE\"\r\n );\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkRegistrationForm(){\r\n if(this.clientType === this.clientTypeEnum.Entity){\r\n if(\r\n this.registrationForm.get(\"companyName\").valid &&\r\n this.registrationForm.get(\"fiscalNumber\").valid &&\r\n // this.registrationForm.get(\"statNumber\").valid &&\r\n this.registrationForm.get(\"personalN\").valid &&\r\n this.registrationForm.get(\"birthDate\").valid &&\r\n this.registrationForm.get(\"mobile\").valid &&\r\n this.registrationForm.get(\"username\").valid &&\r\n this.registrationForm.get(\"password\").valid &&\r\n this.registrationForm.get(\"agreement\").value\r\n ){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n } else{\r\n if(\r\n this.registrationForm.get(\"personalN\").valid &&\r\n this.registrationForm.get(\"birthDate\").valid &&\r\n this.registrationForm.get(\"mobile\").valid &&\r\n this.registrationForm.get(\"username\").valid &&\r\n this.registrationForm.get(\"password\").valid &&\r\n this.registrationForm.get(\"agreement\").value\r\n ){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n\r\n resendSMSCode() {\r\n this.resendBtnHovered = false;\r\n this.generateOtp();\r\n }\r\n\r\n openAgreementOnNewTab() {\r\n window.open(\r\n \"../../../assets/files/Terms and Conditions.pdf\",\r\n \"_blank\"\r\n );\r\n }\r\n checkAgreementBox(e) {\r\n e.preventDefault();\r\n this.invalidAgreement = false;\r\n this.registrationForm\r\n .get(\"agreement\")\r\n .setValue(!this.registrationForm.get(\"agreement\").value);\r\n }\r\n\r\n returnAddressSpan() {\r\n if (this.clientType === this.clientTypeEnum.Entity) {\r\n return \"LANDING.COMPANY_ADDRESS\";\r\n } else {\r\n return \"LANDING.ADDRESS\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.registrationCheckCustomerSub) {\r\n this.registrationCheckCustomerSub.unsubscribe();\r\n }\r\n if (this.generateOtpSub) {\r\n this.generateOtpSub.unsubscribe();\r\n }\r\n if (this.validateOtpSub) {\r\n this.validateOtpSub.unsubscribe();\r\n }\r\n if (this.checkUserNameSub) {\r\n this.checkUserNameSub.unsubscribe();\r\n }\r\n if (this.registerCustomerSub) {\r\n this.registerCustomerSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

{{ \"LANDING.REGISTER.REGISTER\" | translate }}

\r\n\r\n
\r\n \r\n
\r\n \r\n {{ \"LANDING.REGISTER.RETAIL_C\" | translate }}\r\n \r\n \r\n {{ \"LANDING.REGISTER.ENTITY_C\" | translate }}\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{helper.returnNRCPlaceHolder(clientType,registrationForm.controls.personalN) | translate}}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.mobile.invalid &&\r\n registrationForm.controls.mobile.touched\r\n ? (\"LANDING.MOBILE_INV\" | translate)\r\n : (\"LANDING.MOBILE\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.fiscalNumber.invalid &&\r\n registrationForm.controls.fiscalNumber.touched\r\n ? (\"LANDING.FISC_NUM_INV\" | translate)\r\n : (\"LANDING.FISC_NUM\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.companyName.invalid &&\r\n registrationForm.controls.companyName.touched\r\n ? (\"LANDING.COMPANY_NAME_INV\" | translate)\r\n : (\"LANDING.COMPANY_NAME\" | translate)\r\n }}\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.username.invalid &&\r\n registrationForm.controls.username.touched\r\n ? (\"LANDING.USERNAME_INV\" | translate)\r\n : (\"LANDING.USERNAME\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.password.invalid &&\r\n registrationForm.controls.password.touched\r\n ? (\"LANDING.PASSWORD_INV\" | translate)\r\n : (\"LANDING.PASSWORD\" | translate)\r\n }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.name.invalid &&\r\n registrationForm.controls.name.touched\r\n ? (\"LANDING.FULL_NAME\" | translate)\r\n : (\"LANDING.FULL_NAME\" | translate)\r\n }}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.address.invalid &&\r\n registrationForm.controls.address.touched\r\n ? (returnAddressSpan() | translate)\r\n : (returnAddressSpan() | translate)\r\n }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{\r\n registrationForm.controls.email.invalid &&\r\n registrationForm.controls.email.touched\r\n ? (\"LANDING.EMAIL\" | translate)\r\n : (\"LANDING.EMAIL\" | translate)\r\n }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{\r\n \"GENERAL.AGREE_TO_TERMS\" | translate\r\n }}\r\n
\r\n \r\n\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-weekly-view\",\r\n templateUrl: \"./weekly-view.component.html\",\r\n styleUrls: [\"./weekly-view.component.scss\"],\r\n})\r\nexport class WeeklyViewComponent implements OnInit {\r\n @Input() currentDate;\r\n\r\n @Input() selectedMonthDates;\r\n\r\n @Input() notifications;\r\n\r\n @Output() givePickedDate = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n pickDate(month, date) {\r\n const data = {\r\n month,\r\n date,\r\n };\r\n this.givePickedDate.emit(data);\r\n }\r\n\r\n pickedDateClass(day) {\r\n return this.currentDate.getDate() === day ? \"picked\" : \"\";\r\n }\r\n\r\n showHideDot(date) {\r\n const classes = [];\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n if (!classes.includes(\"type\" + notification.eventTypeId)) {\r\n classes.push(\"type\" + notification.eventTypeId);\r\n }\r\n }\r\n }\r\n }\r\n const classesString = classes.toString().replace(/,/g, \" \");\r\n return classesString;\r\n }\r\n\r\n showFirstNotification(date) {\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n return notification.eventName;\r\n }\r\n }\r\n }\r\n }\r\n\r\n firstNotificationClass(date) {\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n return \"type\" + notification.eventTypeId;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n {{ padding }}\r\n
\r\n\r\n \r\n

{{ day }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{ showFirstNotification(day) }}\r\n
\r\n\r\n \r\n +\r\n \r\n \r\n\r\n \r\n {{ padding }}\r\n \r\n\r\n","/* (ignored) */","import { Injectable } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ModalWithTextService {\r\n public modalText: BehaviorSubject = new BehaviorSubject(null);\r\n public modalErrorText:BehaviorSubject = new BehaviorSubject(null);\r\n public modalClosed: BehaviorSubject = new BehaviorSubject(\r\n false\r\n );\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n public generateModal(modalText) {\r\n this.translateService.get(modalText).subscribe((translatedString: any) => {\r\n this.modalText.next(translatedString ? translatedString : modalText);\r\n this.modalClosed.next(false);\r\n });\r\n }\r\n public generateErrorModal(modalText){\r\n this.translateService.get(modalText).subscribe((translatedString:any)=>{\r\n this.modalErrorText.next(translatedString ? translatedString : modalText);\r\n })\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LandingService {\r\n constructor(private httpClient: HttpClient) {}\r\n\r\n showPopupOnLanding: boolean = false;\r\n\r\n authorizeUser(username, password, sessionId?, code?) {\r\n return this.httpClient.post(`${environment.loginApiUrl}`, {\r\n userName: username,\r\n password: password,\r\n sessionId: sessionId,\r\n code: code,\r\n });\r\n }\r\n\r\n setToken(token) {\r\n sessionStorage.setItem(\"token\", `${token}`);\r\n }\r\n\r\n rememberUsername(username) {\r\n localStorage.setItem(\"username\", `${username}`);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class RegisterService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n checkPerson(\r\n isLegalEntity: boolean,\r\n personalN: string,\r\n birthDate: string,\r\n mobile: string,\r\n fiscalNumber?: string,\r\n // statNumber?: string,\r\n companyName?: string\r\n ) {\r\n // personalN\r\n // firstName\r\n // lastName\r\n // address\r\n // birthDate\r\n\r\n // branch\r\n // mobile\r\n // username\r\n // founded\r\n // fiscalNumber\r\n // statNumber\r\n // companyName\r\n // companyPhone\r\n // companyAddress\r\n // companyCustomerId\r\n // companyTaxtNumber\r\n // companyEmailAddress\r\n // companyBranch\r\n // __typename\r\n // statNumber: \"${statNumber}\",\r\n\r\n // NRC: 795804/11/1\r\n // Mobile: 0977307314\r\n // Birth Date: 12/08/1982\r\n\r\n // NRC for authorized signatory: 934761/11/1\r\n // TPN: 1002230632\r\n // Mobile: 0968449638\r\n // Birth Date for authorized signatory: 02/01/1986\r\n // company name: ROVERLINE MARKETING & LOGISTICS LIMITED\r\n\r\n return this.graphQL.request(gql`{\r\n registrationCheckCustomer(\r\n isLegalEntity: ${isLegalEntity},\r\n personalN: \"${encodeURIComponent(personalN)}\",\r\n birthDate: \"${birthDate}\",\r\n mobile: \"${mobile}\",\r\n fiscalNumber: \"${fiscalNumber}\",\r\n companyName: \"${companyName}\") {\r\n firstName\r\n lastName\r\n isLegalEntity\r\n personalN\r\n birthDate\r\n mobile\r\n address\r\n }\r\n }`);\r\n }\r\n\r\n generateRegistrationOTP(data) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: RegisterCustomerGenerateOTPInput!) {\r\n generateRegistrationOTP(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n\r\n validateRegistrationOTP(data) {\r\n return this.graphQL.request(gql`{\r\n validateRegistrationOTP(\r\n personalN: \"${encodeURIComponent(data.data.personalN)}\"\r\n birthDate: \"${data.data.birthDate}\"\r\n mobile: \"${data.data.mobile}\"\r\n id: \"${data.data.sessionId}\"\r\n otpCode: \"${data.data.otpCode}\"\r\n fiscalNumber: \"${data.data.fiscalNumber}\"\r\n companyName: \"${data.data.companyName}\"\r\n isLegalEntity: ${data.data.isLegalEntity}\r\n )\r\n }`);\r\n }\r\n\r\n checkExistingUsername(username: string) {\r\n return this.graphQL.request(gql`{\r\n validateUsername(username:\"${username}\")\r\n }`);\r\n }\r\n\r\n registerCustomer(data) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: RegisterCustomerModel!) {\r\n registerCustomer(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[digitOnly]\",\r\n})\r\nexport class DigitOnlyDirective {\r\n private navigationKeys = [\r\n \"Backspace\",\r\n \"Delete\",\r\n \"Tab\",\r\n \"Escape\",\r\n \"Enter\",\r\n \"Home\",\r\n \"End\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Clear\",\r\n \"Copy\",\r\n \"Paste\",\r\n ];\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.code === \"KeyA\" && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.code === \"KeyC\" && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.code === \"KeyV\" && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.code === \"KeyX\" && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.code === \"KeyA\" && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.code === \"KeyC\" && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.code === \"KeyX\" && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.code === \"KeyX\" && e.metaKey === true) // Allow: Cmd+X (Mac)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (isNaN(Number(e.key)) || e.key === \" \") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener(\"paste\", [\"$event\"])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n const pastedInput: string = event.clipboardData\r\n .getData(\"text/plain\")\r\n .replace(/\\D/g, \"\"); // get a digit-only string\r\n document.execCommand(\"insertText\", false, pastedInput);\r\n }\r\n\r\n @HostListener(\"drop\", [\"$event\"])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n const textData = event.dataTransfer.getData(\"text\").replace(/\\D/g, \"\");\r\n this.inputElement.focus();\r\n document.execCommand(\"insertText\", false, textData);\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AdSlider } from \"src/app/shared/models/models\";\r\n\r\n@Component({\r\n selector: \"app-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.scss\"],\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n sliderData: AdSlider[];\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.fillSliderData();\r\n }\r\n private fillSliderData(): void {\r\n this.sliderData = [\r\n {\r\n background: \"../../../assets/images/banners/home-1.jpg\",\r\n },\r\n {\r\n background: \"../../../assets/images/banners/home-2.jpg\",\r\n },\r\n {\r\n background: \"../../../assets/images/banners/home-3.jpg\",\r\n },\r\n {\r\n background: \"../../../assets/images/banners/home-4.jpg\",\r\n },\r\n {\r\n background: \"../../../assets/images/banners/home-5.jpg\",\r\n },\r\n ];\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { selectType } from \"src/app/shared/models/models\";\r\nimport { CalendarService } from \"../calendar.service\";\r\n\r\n@Component({\r\n selector: \"app-add-event\",\r\n templateUrl: \"./add-event.component.html\",\r\n styleUrls: [\"./add-event.component.scss\"],\r\n})\r\nexport class AddEventComponent implements OnInit, OnDestroy {\r\n eventType = \"custom\";\r\n\r\n repeatEvent = false;\r\n\r\n currentDate: Date;\r\n\r\n eventName = \"\";\r\n amount: number;\r\n\r\n repeatArray: Array = [];\r\n pickedRepeatfrequency: selectType;\r\n loadingSelectRepeatFrequencyText: string = \"Select currency\";\r\n newEventForm: FormGroup;\r\n\r\n addEventSub: Subscription;\r\n\r\n loading = false;\r\n minDate: Date;\r\n maxDate: Date;\r\n\r\n errorMessage: string;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private calendarService: CalendarService,\r\n private datePipe: DatePipe\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n this.newMaxMin();\r\n this.currentDate = window.history.state.date??new Date();\r\n this.generateRepeatArray();\r\n }\r\n\r\n initializeForm() {\r\n this.newEventForm = this.formBuilder.group({\r\n eventName: new FormControl(\"\", [Validators.required]),\r\n amount: new FormControl(\"\", [Validators.required]),\r\n currency: new FormControl(\"MGA\", [Validators.required]),\r\n eventType: new FormControl(\"\", [Validators.required]),\r\n repeatEvent: new FormControl(false),\r\n });\r\n }\r\n\r\n newMaxMin() {\r\n this.minDate = new Date(\r\n new Date().getFullYear() - 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n this.maxDate = new Date(\r\n new Date().getFullYear() + 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n }\r\n\r\n pickEventType(type) {\r\n this.newEventForm.controls.eventType.setValue(type);\r\n }\r\n\r\n eventRepeatType(type) {\r\n this.repeatEvent = type;\r\n }\r\n\r\n pickRepeatFrequency(frequency) {\r\n this.pickedRepeatfrequency = frequency;\r\n }\r\n\r\n pickDate(date: Date) {\r\n this.currentDate = date;\r\n this.generateRepeatArray();\r\n }\r\n\r\n generateRepeatArray() {\r\n const count = 12 - this.currentDate.getMonth();\r\n const array = [];\r\n for (let i = 2; i <= count; i++) {\r\n array.push({\r\n mainTitle: \"for \" + i + \" months\",\r\n id: i,\r\n });\r\n }\r\n\r\n this.repeatArray = array;\r\n\r\n this.pickedRepeatfrequency = array.length ? array[0] : undefined;\r\n }\r\n\r\n onSubmit() {\r\n this.markFormGroupTouched(this.newEventForm);\r\n\r\n if (this.newEventForm.valid) {\r\n this.addEvent();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n addEvent() {\r\n this.loading = true;\r\n const eventName = this.newEventForm.controls.eventName.value;\r\n const amount = +this.newEventForm.controls.amount.value;\r\n const eventDate = new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate(),\r\n 12\r\n );\r\n const currency = \"ZMW\";\r\n const eventTypeId = this.newEventForm.controls.eventType.value??4;\r\n const eventTriggeringQuantity = this.newEventForm.controls.repeatEvent.value\r\n ? this.pickedRepeatfrequency.id\r\n : 1;\r\n const newEvent = {\r\n calendarEvent: {\r\n eventName,\r\n amount,\r\n eventDate,\r\n currency,\r\n eventTypeId,\r\n eventTriggeringQuantity,\r\n },\r\n };\r\n this.addEventSub = this.calendarService\r\n .createCalendarEvent(newEvent)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n if (!res.errors) {\r\n this.router.navigate([\"/calendar\"]);\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.newEventForm.get(input).invalid &&\r\n this.newEventForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.addEventSub) {\r\n this.addEventSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-are-you-sure\",\r\n templateUrl: \"./are-you-sure.component.html\",\r\n styleUrls: [\"./are-you-sure.component.scss\"],\r\n})\r\nexport class AreYouSureComponent implements OnInit {\r\n @Input() questionText: string;\r\n @Input() loading: boolean;\r\n @Input() error: string;\r\n\r\n @Output() cancel = new EventEmitter();\r\n @Output() confirm = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n }\r\n\r\n closePopup(event) {\r\n if (!this.loading) {\r\n if (\r\n event.target.className === \"cancel\" ||\r\n event.target.className === \"are-you-sure-container\"\r\n ) {\r\n this.cancel.emit();\r\n }\r\n }\r\n }\r\n\r\n confirmPopup() {\r\n this.confirm.emit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n

{{error ? error : questionText}}

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { NgModule } from \"@angular/core\";\r\nimport { ApolloModule, APOLLO_OPTIONS } from \"apollo-angular\";\r\nimport { HttpLinkModule, HttpLink } from \"apollo-angular-link-http\";\r\nimport { InMemoryCache } from \"apollo-cache-inmemory\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { ApolloLink, concat } from \"apollo-link\";\r\n\r\nconst uri = environment.apiUrl; // <-- add the URL of the GraphQL server here\r\n\r\nconst defaultOptions = {\r\n watchQuery: {\r\n fetchPolicy: \"no-cache\",\r\n errorPolicy: \"ignore\",\r\n },\r\n query: {\r\n fetchPolicy: \"no-cache\",\r\n errorPolicy: \"all\",\r\n },\r\n};\r\n\r\nexport function createApollo(httpLink: HttpLink) {\r\n const http = httpLink.create({ uri });\r\n\r\n const authMiddleware = new ApolloLink((operation, forward) => {\r\n // add the authorization to the headers\r\n let token = sessionStorage.getItem(\"token\");\r\n\r\n operation.setContext({\r\n headers: token\r\n ? new HttpHeaders().set(\"Authorization\", `Bearer ${token}`)\r\n : new HttpHeaders(),\r\n });\r\n\r\n return forward(operation);\r\n });\r\n\r\n return {\r\n link: concat(authMiddleware, http),\r\n cache: new InMemoryCache(),\r\n defaultOptions,\r\n };\r\n}\r\n\r\n@NgModule({\r\n exports: [ApolloModule, HttpLinkModule],\r\n providers: [\r\n {\r\n provide: APOLLO_OPTIONS,\r\n useFactory: createApollo,\r\n deps: [HttpLink],\r\n },\r\n ],\r\n})\r\nexport class GraphQLModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from 'src/app/graph-ql-request.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport gql from 'graphql-tag';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TemplatesService {\r\n constructor(\r\n private graphQL: GraphQLRequestService,\r\n private http: HttpClient\r\n ) {}\r\n\r\n fetchAccountTemplates() {\r\n return this.graphQL.request(gql`\r\n {\r\n template {\r\n transfer {\r\n id\r\n bankBicCode\r\n bankName\r\n beneficiaryAccountNumber\r\n imageName\r\n isFavorite\r\n name\r\n type\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchMobileTemplates() {\r\n return this.graphQL.request(gql`\r\n {\r\n template {\r\n mobile {\r\n id\r\n identifiers {\r\n fieldId\r\n fieldValue\r\n }\r\n isFavorite\r\n name\r\n serviceId\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchDocumentTemplates() {\r\n return this.graphQL.request(gql`\r\n {\r\n template {\r\n document {\r\n documentNumber\r\n id\r\n isFavorite\r\n name\r\n type\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchTemplates(showBankInfo?: boolean) {\r\n return this.graphQL.request(gql`\r\n {\r\n template {\r\n transfer {\r\n bankBicCode\r\n bankName\r\n beneficiaryAccountNumber\r\n id\r\n imageName\r\n isFavorite\r\n name\r\n type\r\n }\r\n document {\r\n documentNumber\r\n id\r\n isFavorite\r\n name\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n // fetchUtilityTemplates() {\r\n // return this.graphQL.request(gql`\r\n // {\r\n // template {\r\n // utility {\r\n // id\r\n // identifiers {\r\n // fieldId\r\n // fieldValue\r\n // }\r\n // isFavorite\r\n // name\r\n // serviceId\r\n // }\r\n // }\r\n // }\r\n // `);\r\n // }\r\n\r\n\r\n\r\n // addUtilityTemplate(template) {\r\n // return this.graphQL.mutate(\r\n // gql`\r\n // mutation($template: TemplateUtilityInput!) {\r\n // createUtilityTemplate(template: $template) {\r\n // id\r\n // isFavorite\r\n // name\r\n // type\r\n // }\r\n // }\r\n // `,\r\n // template\r\n // );\r\n // }\r\n\r\n // updateUtilityTemplate(template) {\r\n // return this.graphQL.mutate(\r\n // gql`\r\n // mutation($template: TemplateUtilityInput!) {\r\n // updateUtilityTemplate(template: $template) {\r\n // id\r\n // isFavorite\r\n // name\r\n // type\r\n // }\r\n // }\r\n // `,\r\n // template\r\n // );\r\n // }\r\n\r\n addTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateInput!) {\r\n createTemplate(template: $template) {\r\n identifier\r\n isFavorite\r\n name\r\n type\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n addTransferTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateTransferInput!) {\r\n createTransferTemplate(template: $template) {\r\n id\r\n isFavorite\r\n name\r\n type\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n updateTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateInput!) {\r\n updateTemplate(template: $template) {\r\n identifier\r\n isFavorite\r\n name\r\n type\r\n id\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n updateAccountTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateTransferInput!) {\r\n updateTransferTemplate(template: $template) {\r\n isFavorite\r\n name\r\n id\r\n type\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n deleteTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($templateId: Int!) {\r\n deleteTemplate(templateId: $templateId)\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n checkAccountNumberInfo(accountNumber) {\r\n return this.graphQL.request(gql`\r\n {\r\n customer(accountNumber: \"${accountNumber}\") {\r\n firstNameLat\r\n lastNameLat\r\n }\r\n }\r\n `);\r\n }\r\n\r\n checkPhoneNumberProvider(phoneNumber) {\r\n return this.graphQL.request(gql`{\r\n utilityPayment{\r\n recognizeMobileProvider(mobileNumber:\"${phoneNumber}\")\r\n {\r\n id,\r\n nameEn,\r\n name,\r\n category,\r\n categoryId,\r\n email\r\n }\r\n }\r\n }`);\r\n }\r\n\r\n checkMobilePhoneValidity(phoneNumber) {\r\n return this.graphQL.request(gql`\r\n {\r\n validateMobile(mobile:\"${phoneNumber}\") {\r\n code,\r\n isValid\r\n }\r\n }\r\n `);\r\n }\r\n\r\n addMobileOrPnTemplate(template) {\r\n template.template.documentNumber = encodeURIComponent(template.template.documentNumber);\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateDocumentInput!) {\r\n createDocumentTemplate(template: $template) {\r\n name\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n\r\n updateMobileOrPnTemplate(template) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($template: TemplateDocumentInput!) {\r\n updateDocumentTemplate(template: $template) {\r\n id\r\n isFavorite\r\n name\r\n type\r\n }\r\n }\r\n `,\r\n template\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-product-menu',\r\n templateUrl: './product-menu.component.html',\r\n styleUrls: ['./product-menu.component.scss']\r\n})\r\nexport class ProductMenuComponent implements OnInit {\r\n\r\n activeTab = '';\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) { }\r\n router$: any;\r\n\r\n ngOnInit(): void {\r\n this.catchRouteParams();\r\n this.detectRoute();\r\n }\r\n\r\n detectRoute() {\r\n this.router$ = this.router.events.subscribe((val) => {\r\n this.catchRouteParams();\r\n });\r\n }\r\n\r\n catchRouteParams() {\r\n this.activeTab = this.route.snapshot.params.type;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.router$.unsubscribe();\r\n }\r\n\r\n}\r\n","","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { TemplatesService } from \"./templates.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n TemplateTypeResponse,\r\n TemplateType,\r\n TemplateMobileInfo,\r\n TemplateTransferInfo,\r\n} from \"src/app/shared/models/models\";\r\n\r\n@Component({\r\n selector: \"app-templates\",\r\n templateUrl: \"./templates.component.html\",\r\n styleUrls: [\"./templates.component.scss\"],\r\n})\r\nexport class TemplatesComponent implements OnInit, OnDestroy {\r\n templates;\r\n favouriteTemplates;\r\n templatesSub: Subscription;\r\n templatesErrors: any;\r\n\r\n accountTemplates: TemplateTransferInfo;\r\n mobilePhoneTemplates: TemplateMobileInfo;\r\n mobileOrPnTemplates: TemplateMobileInfo;\r\n\r\n showFavouritesOnly: false;\r\n\r\n toggleFavourite$: Subscription;\r\n\r\n filterInput = undefined;\r\n\r\n showDeletePopup = false;\r\n templateToDelete;\r\n\r\n deleteTemplate$: Subscription;\r\n\r\n loading = false;\r\n\r\n errorMessage = \"\";\r\n\r\n questionText: string = \"Are you sure that you want to delete this template?\";\r\n\r\n constructor(\r\n private templatesService: TemplatesService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.fetchTemplates();\r\n }\r\n\r\n fetchTemplates() {\r\n this.loading = true;\r\n this.templatesSub = this.templatesService\r\n .fetchTemplates()\r\n .subscribe((res: TemplateTypeResponse) => {\r\n this.loading = false;\r\n this.templates = res.data.template;\r\n this.categorizeTemplates();\r\n });\r\n }\r\n categorizeTemplates() {\r\n if (this.showFavouritesOnly) {\r\n // this.mobilePhoneTemplates = this.templates.mobile.filter(\r\n // (item) => item.isFavorite === true\r\n // );\r\n this.accountTemplates = this.templates.transfer.filter(\r\n (item) => item.isFavorite === true\r\n );\r\n this.mobileOrPnTemplates = this.templates.document.filter(\r\n (item) => item.isFavorite === true\r\n );\r\n } else {\r\n // this.mobilePhoneTemplates = this.templates.mobile;\r\n this.accountTemplates = this.templates.transfer;\r\n this.mobileOrPnTemplates = this.templates.document;\r\n }\r\n }\r\n\r\n deleteTemplatePrompt(template) {\r\n this.templateToDelete = template;\r\n this.showDeletePopup = true;\r\n }\r\n\r\n deleteTemplate() {\r\n this.showDeletePopup = false;\r\n this.loading = true;\r\n this.deleteTemplate$ = this.templatesService\r\n .deleteTemplate({ templateId: this.templateToDelete.id })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n\r\n if (res.data.deleteTemplate) {\r\n this.templates.transfer = this.templates.transfer.filter(\r\n (item) => item.id !== this.templateToDelete.id\r\n );\r\n // this.templates.mobile = this.templates.mobile.filter(\r\n // (item) => item.id !== this.templateToDelete.id\r\n // );\r\n this.templates.document = this.templates.document.filter(\r\n (item) => item.id !== this.templateToDelete.id\r\n );\r\n this.categorizeTemplates();\r\n }\r\n });\r\n }\r\n\r\n toggleFavourite(template, templateType) {\r\n this.loading = true;\r\n\r\n if (templateType === \"account\") {\r\n const templateToGive = {\r\n template: {\r\n id: template.id,\r\n beneficiaryAccountNumber: template.beneficiaryAccountNumber,\r\n isFavorite: !template.isFavorite,\r\n name: template.name,\r\n },\r\n };\r\n\r\n this.toggleFavourite$ = this.templatesService\r\n .updateAccountTemplate(templateToGive)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n\r\n if (!res.errors) {\r\n for (const accountTemplate of this.templates.transfer) {\r\n if (accountTemplate.id === template.id) {\r\n accountTemplate.isFavorite = !accountTemplate.isFavorite;\r\n }\r\n }\r\n this.categorizeTemplates();\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n });\r\n }\r\n\r\n // if (templateType === \"mobile\") {\r\n // const templateToGive = {\r\n // template: {\r\n // id: template.id,\r\n // identifiers: [\r\n // {\r\n // fieldId: template.identifiers[0].fieldId,\r\n // fieldValue: template.identifiers[0].fieldValue,\r\n // },\r\n // ],\r\n // type: \"MOBILE\",\r\n // isFavorite: !template.isFavorite,\r\n // name: template.name,\r\n // serviceId: template.serviceId,\r\n // },\r\n // };\r\n\r\n // this.toggleFavourite$ = this.templatesService\r\n // .updateUtilityTemplate(templateToGive)\r\n // .subscribe((res) => {\r\n // this.loading = false;\r\n\r\n // if (!res.errors) {\r\n // for (const mobileTemplate of this.templates.mobile) {\r\n // if (mobileTemplate.id === template.id) {\r\n // mobileTemplate.isFavorite = !mobileTemplate.isFavorite;\r\n // }\r\n // }\r\n // this.categorizeTemplates();\r\n // } else {\r\n // this.errorMessage = res.errors[0].extensions.code;\r\n // }\r\n // });\r\n // }\r\n\r\n if (templateType === \"mobileOrPn\") {\r\n const templateToGive = {\r\n template: {\r\n id: template.id,\r\n documentNumber: template.documentNumber,\r\n isFavorite: !template.isFavorite,\r\n name: template.name,\r\n },\r\n };\r\n\r\n this.toggleFavourite$ = this.templatesService\r\n .updateMobileOrPnTemplate(templateToGive)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n\r\n if (!res.errors) {\r\n for (const mobileOrPnTemplate of this.templates.document) {\r\n if (mobileOrPnTemplate.id === template.id) {\r\n mobileOrPnTemplate.isFavorite = !mobileOrPnTemplate.isFavorite;\r\n }\r\n }\r\n this.categorizeTemplates();\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n });\r\n }\r\n }\r\n\r\n generateAvatarInitials(template) {\r\n const splitted = template?.name?.split(\" \");\r\n\r\n if (splitted) {\r\n if (splitted?.length > 1) {\r\n return splitted[0]?.charAt(0) + \".\" + splitted[1]?.charAt(0);\r\n } else {\r\n return splitted[0]?.charAt(0);\r\n }\r\n }\r\n }\r\n getDecodedDocumentNumber(documentNumber){\r\n return decodeURIComponent(documentNumber);\r\n }\r\n goToEditTemplatePage(template, templateType) {\r\n this.router.navigateByUrl(\"/templates/edit-\" + templateType + \"-template\", {\r\n state: { template },\r\n });\r\n }\r\n\r\n goToTransferPageAndPassTemplateId(template, url: string) {\r\n this.router.navigateByUrl(url, {\r\n state: { pickedTemplateId: template.id },\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.templatesSub.unsubscribe();\r\n if (this.toggleFavourite$) {\r\n this.toggleFavourite$.unsubscribe();\r\n }\r\n if (this.deleteTemplate$) {\r\n this.deleteTemplate$.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TEMPLATES_C.TEMPLATES\" | translate }}

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.ADD_NEW_TEMP\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n {{ \"TEMPLATES_C.ACCOUNT_NUMBERS\" | translate }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{{ generateAvatarInitials(template) }}
\r\n
\r\n {{ template.name }}\r\n {{\r\n template.beneficiaryAccountNumber\r\n }}\r\n \r\n {{ \"TEMPLATES_C.TRANSFER\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n {{ \"TEMPLATES_C.PNS\" | translate }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
{{ generateAvatarInitials(template) }}
\r\n
\r\n {{ template?.name }}\r\n {{ getDecodedDocumentNumber(template?.documentNumber)}}\r\n \r\n {{ \"TEMPLATES_C.TRANSFER\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n

{{ errorMessage }}

\r\n\r\n\r\n\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { UserInfo, userInfo } from \"os\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport { accountsInfo, customerInfo, selectType } from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { CalendarDataService } from \"src/app/shared/services/calendar/calendarData.service\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { OtpService } from \"src/app/shared/services/otp.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { TransferBase } from \"../transfers-base\";\r\nimport { TransfersService } from \"../transfers.service\";\r\n\r\n@Component({\r\n selector: \"app-utility\",\r\n templateUrl: \"./utility.component.html\",\r\n styleUrls: [\"./utility.component.scss\"],\r\n})\r\nexport class UtilityComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy {\r\n loading: boolean = false;\r\n step: number = 1;\r\n errorMessage: string = \"\";\r\n\r\n customerInfoSub:Subscription;\r\n customerInfo: customerInfo;\r\n\r\n utilityForm: FormGroup;\r\n\r\n monthNames;\r\n\r\n checkJiramaBillSub: Subscription;\r\n jiramaDetails: any;\r\n jiramaMonth: number;\r\n\r\n payJiramaSub: Subscription;\r\n\r\n // select\r\n loadingSelectText: string = \"Select account number\";\r\n loadinfSelect: boolean = true;\r\n selectedAccountFrom?: selectType;\r\n accountsArray: selectType;\r\n defaultAccount: selectType;\r\n\r\n\r\n guid: Guid;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private transfersService: TransfersService,\r\n private calendarDataService: CalendarDataService,\r\n private accountsInfoService: AccountsInfoService,\r\n private router: Router,\r\n private otpService: OtpService,\r\n private customerInfoService: CustomerInfoService,\r\n private modalService: ModalWithTextService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n\r\n this.monthNames = this.calendarDataService.getMonthNames();\r\n this.modalService.modalClosed.subscribe((res:boolean)=>{\r\n if(res===true){\r\n this.onPopupClosed();\r\n }\r\n })\r\n this.getCustomerInfo();\r\n }\r\n\r\n getCustomerInfo(){\r\n this.customerInfoSub = this.customerInfoService.customerInfo.subscribe(\r\n (res: customerInfo) => {\r\n this.customerInfo = res;\r\n }\r\n )}\r\n\r\n initializeForm() {\r\n this.utilityForm = this.formBuilder.group({\r\n compteEnc: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.maxLength(6),\r\n Validators.pattern(\r\n \"[0-9]*\"\r\n ),\r\n ]),\r\n numeroFacture: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(14),\r\n Validators.pattern(\r\n \"[0-9]*\"\r\n ),\r\n ]),\r\n account: new FormControl(\"\", Validators.required),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n back() {\r\n if (this.step === 2) {\r\n this.step = 1;\r\n this.emptyInputs();\r\n } else if (this.step === 3) {\r\n this.step = 2;\r\n this.selectedAccountFrom = null;\r\n this.utilityForm.get(\"account\").setValue(\"\");\r\n this.utilityForm.get(\"otpCode\").setValue(\"\");\r\n }\r\n }\r\n\r\n emptyInputs() {\r\n this.utilityForm.get(\"compteEnc\").setValue(\"\");\r\n this.utilityForm.get(\"numeroFacture\").setValue(\"\");\r\n this.utilityForm.get(\"account\").setValue(\"\");\r\n this.utilityForm.get(\"otpCode\").setValue(\"\");\r\n }\r\n\r\n next() {\r\n if (this.step === 1) {\r\n this.utilityForm.get(\"compteEnc\").markAllAsTouched();\r\n this.utilityForm.get(\"numeroFacture\").markAllAsTouched();\r\n this.checkUtility();\r\n } else if (this.step === 2) {\r\n this.utilityForm.get(\"account\").markAllAsTouched();\r\n this.step = 3;\r\n } else if (this.step === 3) {\r\n this.utilityForm.get(\"otpCode\").markAllAsTouched();\r\n\r\n if (this.utilityForm.get(\"otpCode\").valid) {\r\n this.payJirama();\r\n }\r\n }\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.utilityForm.get(input).invalid &&\r\n this.utilityForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n checkUtility() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n this.guid = Guid.create();\r\n\r\n this.checkJiramaBillSub = this.transfersService\r\n .checkJiramaBill(\r\n this.utilityForm.get(\"compteEnc\").value,\r\n this.utilityForm.get(\"numeroFacture\").value,\r\n this.guid.toString()\r\n )\r\n .subscribe((res: any) => {\r\n let data = res.data.checkJiramaBill;\r\n this.loading = false;\r\n\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n if (data) {\r\n if (!data.code && !data.message) {\r\n this.jiramaDetails = data;\r\n this.jiramaMonth = parseInt(\r\n this.jiramaDetails.moisFacture.substring(5, 7),\r\n 10\r\n );\r\n this.prepareAccounts();\r\n this.errorMessage = \"\";\r\n this.step = 2;\r\n } else {\r\n if(data.message === \"Facture introuvable chez Jirama.\"){\r\n this.errorMessage = \"INVOICE_NOT_FOUND\"\r\n }else if(data.message === \"Ce site n'est pas encore disponible.\"){\r\n this.errorMessage = \"SITE_NOT_FOUND\"\r\n }\r\n else{\r\n this.errorMessage = \"ALREADY_PAID\";\r\n }\r\n\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n prepareAccounts() {\r\n if (!this.accountsInfo) {\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n }\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = true;\r\n this.errorMessage = \"SOMETHING_WENT_WRONG\";\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForSelect();\r\n }\r\n });\r\n }\r\n\r\n prepareAccountsForSelect() {\r\n let temp: any = this.accountsInfo;\r\n\r\n if (temp) {\r\n this.accountsArray = temp.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n selectAccount(acc: selectType) {\r\n this.selectedAccountFrom = acc;\r\n this.utilityForm.get(\"account\").setValue(acc.mainTitle);\r\n }\r\n\r\n payJirama() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n\r\n this.payJiramaSub = this.transfersService\r\n .payJiramaBill(\r\n this.utilityForm.get(\"account\").value,\r\n this.utilityForm.get(\"compteEnc\").value,\r\n this.utilityForm.get(\"numeroFacture\").value,\r\n this.guid.toString(),\r\n this.utilityForm.get(\"otpCode\").value\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.\"+res.errors[0].extensions.code);\r\n } else {\r\n if (res.data.payJiramaBill.code == \"200\") {\r\n this.modalService.generateModal(\"GENERAL.SUCC_TRANSFER\");\r\n } else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.\"+res.errors[0].extensions.code);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n getSmsCode(event) {\r\n this.utilityForm.get(\"otpCode\").setValue(event);\r\n }\r\n resendSMSCode(event) {\r\n this.checkUtility();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.checkJiramaBillSub) {\r\n this.checkJiramaBillSub.unsubscribe;\r\n }\r\n if (this.payJiramaSub) {\r\n this.payJiramaSub.unsubscribe;\r\n }\r\n\r\n }\r\n\r\n // popup\r\n closeClick() {\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"TRANSFERS.UTILITY\" | translate }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.COMPTE_ENC\" | translate }}\r\n
\r\n \r\n
\r\n {{ \"TRANSFERS.NUMERO_FACTURE\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
= 2\">\r\n
\r\n
\r\n {{\r\n \"TRANSFERS.NUMERO_FACTURE\" | translate\r\n }}\r\n \r\n {{ jiramaDetails.numeroFacture }}\r\n \r\n
\r\n
\r\n {{ \"TRANSFERS.NOM_CLIENT\" | translate }}\r\n {{ jiramaDetails.nomClient }}\r\n
\r\n
\r\n {{ \"TRANSFERS.MONTANT\" | translate }}\r\n \r\n {{ jiramaDetails.montant }}\r\n \r\n
\r\n
\r\n {{\r\n \"TRANSFERS.JIRAMA_MONTH\" | translate\r\n }}\r\n \r\n {{ monthNames[jiramaMonth - 1].label | translate }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
= 2\">\r\n
\r\n

\r\n {{ \"TRANSFERS.SELECT_ACC_JIRAMA\" | translate }}\r\n

\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n = 3\">\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
= 2\">\r\n \r\n {{ \"GENERAL.BACK\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.CHECK\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.NEXT\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.PAY\" | translate }}\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\nimport { HttpClient , HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TransfersService {\r\n\r\n getToken:string=\"\";\r\n\r\n\r\n\r\n constructor(private graphQL: GraphQLRequestService,private http: HttpClient) {\r\n this.getToken = sessionStorage.getItem(\"token\");\r\n }\r\n // private httpOptions = {\r\n\r\n // headers: new HttpHeaders({\r\n // 'Authorization': 'Bearer '+this.getToken,\r\n\r\n\r\n // })\r\n // };\r\n prepareTransfer(\r\n amount: number,\r\n currency: string,\r\n type: string,\r\n otpGuid: string\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: TransferDataBaseInput!) {\r\n prepareTransfer(data: $data) {\r\n amount\r\n authType\r\n currency\r\n fee\r\n type\r\n }\r\n }\r\n `,\r\n {\r\n data: {\r\n amount,\r\n type,\r\n currency,\r\n channelTypeId: 508,\r\n otpGuid,\r\n },\r\n }\r\n );\r\n }\r\n\r\n transferToOwnAccountConfirm(\r\n senderAccountNumber: string,\r\n receiverAccountNumber: string,\r\n currency: string,\r\n amount: number,\r\n comment: string,\r\n fee: number,\r\n otpGuid: string\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: InternalTransferInput!) {\r\n addInternalTransfer(data: $data) {\r\n id\r\n rejectReason\r\n rejectCode\r\n status\r\n }\r\n }\r\n `,\r\n {\r\n data: {\r\n amount,\r\n senderAccountNumber,\r\n receiverAccountNumber,\r\n comment,\r\n currency,\r\n channelTypeId: 0,\r\n fee,\r\n otpCode: null,\r\n otpGuid,\r\n isBeetweenOwnAccounts: true,\r\n },\r\n }\r\n );\r\n }\r\n\r\n fetchAccountsByMobileOrPn(searchValue) {\r\n searchValue = encodeURIComponent(searchValue);\r\n return this.graphQL.request(gql`{\r\n accounts(searchValue: \"${searchValue}\")\r\n {\r\n account,\r\n accountNumber,\r\n accountId,\r\n currency\r\n }\r\n }`);\r\n }\r\n\r\n transferToSomeoneInternalAccountConfirm(\r\n senderAccountNumber: string,\r\n currency: string,\r\n amount: number,\r\n fee: number,\r\n otpGuid: string,\r\n otpCode: string,\r\n isBeetweenOwnAccounts: boolean,\r\n receiverAccountId?: number,\r\n receiverAccountNumber?: string,\r\n receiverPerson?: string,\r\n comment?: string,\r\n senderPerson?:string,\r\n ownersCount?:number\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: InternalTransferInput!) {\r\n addInternalTransfer(data: $data) {\r\n id\r\n rejectReason\r\n rejectCode\r\n status\r\n externalId\r\n }\r\n }\r\n `,\r\n {\r\n data: {\r\n amount,\r\n senderAccountNumber,\r\n receiverAccountNumber,\r\n comment,\r\n currency,\r\n channelTypeId: 508,\r\n fee,\r\n receiverPerson,\r\n receiverAccountId,\r\n otpCode,\r\n otpGuid,\r\n isBeetweenOwnAccounts,\r\n senderPerson,\r\n ownersCount\r\n\r\n },\r\n }\r\n );\r\n }\r\n\r\n transferToSomeoneExternalAccountConfirm(\r\n senderAccountNumber: string,\r\n receiverAccountNumber: string,\r\n currency: string,\r\n amount: number,\r\n comment: string,\r\n fee: number,\r\n receiverPerson: string,\r\n otpGuid: string,\r\n otpCode: string,\r\n receiverBankSwift: string,\r\n branch:string,\r\n senderPerson:string,\r\n receiverBank:string,\r\n ownersCount:number\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: ExternalTransferInput!) {\r\n addExternalTransfer(data: $data) {\r\n id\r\n rejectReason\r\n rejectCode\r\n status\r\n externalId\r\n }\r\n }\r\n `,\r\n {\r\n data: {\r\n amount,\r\n senderAccountNumber,\r\n receiverAccountNumber,\r\n comment,\r\n currency,\r\n channelTypeId: 508,\r\n fee,\r\n receiverPerson,\r\n otpCode,\r\n otpGuid,\r\n receiverBankSwift,\r\n branch,\r\n senderPerson,\r\n receiverBank,\r\n ownersCount\r\n\r\n },\r\n }\r\n\r\n );\r\n\r\n }\r\n\r\n sendAprove(tnxId){\r\n // console.log(this.getToken);\r\n\r\n let headers = new HttpHeaders()\r\n .set('Authorization', 'Bearer ' + this.getToken)\r\n .set('Content-Type', 'application/json')\r\n .set('InstanceName', 'ORISSA');\r\n return this.http.put('http://172.17.11.166:8052/api/v1/transfer/UpdateTransfer/'+tnxId+'/123/Approved',{}, { headers: headers });\r\n }\r\n\r\n\r\n reject(tnxId){\r\n // console.log(this.getToken);\r\n\r\n let headers = new HttpHeaders()\r\n .set('Authorization', 'Bearer ' + this.getToken)\r\n .set('Content-Type', 'application/json')\r\n .set('InstanceName', 'ORISSA');\r\n return this.http.put('http://172.17.11.166:8052/api/v1/transfer/RejectTransfer/'+tnxId+'/123/Reject',{}, { headers: headers });\r\n }\r\n checkJiramaBill(compteEnc: number, numeroFacture: number, otpGuid: any) {\r\n return this.graphQL.request(gql`{\r\n checkJiramaBill(\r\n checkInvoiceRequest:{\r\n compteEnc: \"${compteEnc}\",\r\n numeroFacture: \"${numeroFacture}\",\r\n otpGuid: \"${otpGuid}\"\r\n }){\r\n code\r\n message\r\n moisFacture\r\n montant\r\n nomClient\r\n numeroClient\r\n numeroFacture\r\n numeroSession\r\n refPortefeuille\r\n }\r\n }\r\n `);\r\n }\r\n\r\n payJiramaBill(\r\n compteClient: string,\r\n compteEnc: string,\r\n numeroFacture: string,\r\n otpGuid: string,\r\n code: string\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: PayInvoiceRequestGType!) {\r\n payJiramaBill(payInvoiceRequest: $data) {\r\n code\r\n message\r\n }\r\n }\r\n `,\r\n {\r\n data: {\r\n compteClient,\r\n compteEnc,\r\n numeroFacture,\r\n otpGuid,\r\n code,\r\n },\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\nimport { Subscription, BehaviorSubject } from \"rxjs\";\r\nimport {\r\n customerInfo,\r\n customerInfoResponse,\r\n generalBalanceInfo,\r\n generalBalanceInfoResponse,\r\n} from \"../../shared/models/models\";\r\nimport { Console } from \"console\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CustomerInfoService {\r\n // Custmer Info variables\r\n customerInfoSub: Subscription;\r\n customerInfoLoading: BehaviorSubject = new BehaviorSubject(\r\n false\r\n );\r\n customerInfoErrorMessage: BehaviorSubject = new BehaviorSubject(\r\n \"\"\r\n );\r\n customerInfo: BehaviorSubject = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n // General Balance Info variables\r\n generalBalanceInfoSub: Subscription;\r\n generalBalanceInfoLoading: BehaviorSubject = new BehaviorSubject(\r\n false\r\n );\r\n generalBalanceInfoErrorMessage: BehaviorSubject = new BehaviorSubject(\r\n \"\"\r\n );\r\n generalBalanceInfo: BehaviorSubject = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private graphQL: GraphQLRequestService) {\r\n\r\n }\r\n\r\n customerInfoQuery() {\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n user\r\n email\r\n mobile\r\n lastName\r\n personalN\r\n birthDate\r\n firstName\r\n fullAddress\r\n lastNameLat\r\n firstNameLat\r\n hasTempPassword\r\n fullLegalAddress\r\n companyName\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchCustomerInfo() {\r\n this.customerInfoLoading.next(true);\r\n\r\n this.customerInfoSub = this.customerInfoQuery().subscribe(\r\n (res: customerInfoResponse): any => {\r\n this.customerInfoLoading.next(false);\r\n if (res.errors) {\r\n this.customerInfoErrorMessage.next(res.errors[0].extensions.code);\r\n } else {\r\n this.customerInfoErrorMessage.next(\"\");\r\n this.customerInfo.next(res.data.customer);\r\n\r\n let fullname = res.data.customer.companyName?? res.data.customer.firstName+\" \"+res.data.customer.lastName\r\n localStorage.setItem('fullname', fullname.toLowerCase());\r\n\r\n\r\n }\r\n }\r\n );\r\n }\r\n\r\n generalBalanceInfoQuery() {\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n totalDebt\r\n totalBalance\r\n totalBalanceZMW\r\n totalBalanceEUR\r\n totalBalanceUSD\r\n }\r\n }\r\n `);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n PendingTransfers(\r\n sendPerson\r\n ) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation pendingTransfer($senderPerson: String!) {\r\n pendingTransfer(senderPerson: $senderPerson) {\r\n\r\n id\r\n userId\r\n externalId\r\n amount\r\n currency\r\n senderAccountNumber\r\n receiverAccountNumber\r\n transmissionDateTime\r\n provider\r\n comment\r\n fee\r\n receiverBankSwift\r\n receiverPerson\r\n transferType\r\n channelCode\r\n ownersCount\r\n voucherNumber\r\n status\r\n rejectReason\r\n rejectCode\r\n receiverBank\r\n senderPerson\r\n branch\r\n\r\n }\r\n }\r\n `,\r\n {\r\n senderPerson: sendPerson\r\n // senderPerson: \"michael chitembo\"\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n\r\ngetPendingTransfers(){\r\n var sendPerson = localStorage.getItem('fullname');\r\n this.PendingTransfers(sendPerson).subscribe(\r\n (res): any => {\r\n\r\n if (res.errors) {\r\n console.log(res);\r\n\r\n\r\n } else {\r\n console.log(res.data['pendingTransfer']);\r\n }\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n fetchGeneralBalanceInfo() {\r\n this.generalBalanceInfoLoading.next(true);\r\n\r\n this.generalBalanceInfoSub = this.generalBalanceInfoQuery().subscribe(\r\n (res: generalBalanceInfoResponse): any => {\r\n this.generalBalanceInfoLoading.next(false);\r\n if (res.errors) {\r\n this.generalBalanceInfoErrorMessage.next(\r\n res.errors[0].extensions.code\r\n );\r\n } else {\r\n this.generalBalanceInfoErrorMessage.next(\"\");\r\n this.generalBalanceInfo.next(res.data.customer);\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearCustomerInfo() {\r\n if (this.customerInfo) {\r\n this.customerInfo = null;\r\n this.customerInfo = new BehaviorSubject(undefined);\r\n }\r\n if (this.generalBalanceInfo) {\r\n this.generalBalanceInfo = null;\r\n this.generalBalanceInfo = new BehaviorSubject(\r\n undefined\r\n );\r\n }\r\n if(this.customerInfoErrorMessage){\r\n this.customerInfoErrorMessage.next(\"\");\r\n }\r\n if(this.generalBalanceInfoErrorMessage){\r\n this.generalBalanceInfoErrorMessage.next(\"\");\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AddEventComponent } from \"./add-event/add-event.component\";\r\nimport { EditEventComponent } from \"./edit-event/edit-event.component\";\r\nimport { MonthlyViewComponent } from \"./monthly-view/monthly-view.component\";\r\nimport { WeeklyViewComponent } from \"./weekly-view/weekly-view.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { CalendarService } from \"./calendar.service\";\r\nimport { CalendarComponent } from \"./calendar.component\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { MoneyFormatPipe } from \"src/app/shared/pipes/money-format.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CalendarComponent,\r\n AddEventComponent,\r\n EditEventComponent,\r\n MonthlyViewComponent,\r\n WeeklyViewComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n CommonModule,\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n providers: [CalendarService],\r\n})\r\nexport class CalendarModule {}\r\n","import { Component, OnInit, Input, OnChanges } from \"@angular/core\";\r\nimport { TransactionListService } from \"../../services/transaction-list.service\";\r\nimport { transactionResponse } from \"../../models/models\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { ModalWithTextService } from \"../popups/modal-with-text/modal-with-text.service\";\r\n\r\n@Component({\r\n selector: \"app-transaction-list\",\r\n templateUrl: \"./transaction-list.component.html\",\r\n styleUrls: [\"./transaction-list.component.scss\"],\r\n})\r\nexport class TransactionListComponent implements OnInit, OnChanges {\r\n constructor(\r\n public transactionListService: TransactionListService,\r\n private datePipe: DatePipe,\r\n private modalService: ModalWithTextService\r\n ) {}\r\n\r\n @Input() startDate: Date;\r\n @Input() endDate: Date;\r\n @Input() accountNumber;\r\n\r\n transactionSub: Subscription;\r\n transactionResponse: transactionResponse;\r\n\r\n transactionLoading = false;\r\n transactionErrorMessage = \"\";\r\n transaction: any;\r\n\r\n loading = true;\r\n\r\n ngOnInit(): void {\r\n // this.setDefaultTransactionDates();\r\n this.fetchTransactions();\r\n }\r\n\r\n ngOnChanges(): void {\r\n this.fetchTransactions();\r\n }\r\n\r\n private setDefaultTransactionDates(): void {\r\n this.startDate = this.startDate ?? null;\r\n this.endDate = this.endDate ?? null;\r\n }\r\n // get transactions\r\n fetchTransactions() {\r\n this.transaction = \"\";\r\n this.loading = true;\r\n this.transactionSub = this.transactionListService\r\n .fetchTransactions(this.startDate, this.endDate, this.accountNumber)\r\n .subscribe(\r\n (res: any) => {\r\n this.loading = false;\r\n this.transactionLoading = false;\r\n if (res?.data?.customer && res?.data?.customer?.transactions) {\r\n this.transaction = res.data.customer.transactions.length\r\n ? res.data.customer.transactions\r\n : null;\r\n } else {\r\n this.transaction = null;\r\n }\r\n },\r\n (err: any) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n exportTransactionDetailsToPdf(transaction): void {\r\n this.loading = true;\r\n this.transactionListService\r\n .exportTransactionDetailsToPdf(transaction.voucherNumber)\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n `ERROR_CODES.${res.errors[0].extensions.code}`\r\n );\r\n } else {\r\n this.exportBase64ToPdf(\r\n res?.data?.customer?.transaction?.printForm,\r\n transaction?.transactionValueDate\r\n );\r\n }\r\n });\r\n }\r\n exportBase64ToPdf(base64: string, transactionDate) {\r\n const linkSource = `data:application/pdf;base64,${base64}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = `Transaction Details (${this.datePipe.transform(\r\n transactionDate,\r\n \"dd/MM/yyyy\"\r\n )}).pdf`;\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n}\r\n","

\r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n

\r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {{ item.transactionValueDate | date: \"dd-MM-yyyy\" }}\r\n \r\n
    \r\n
    \r\n {{\r\n item.description1\r\n }}\r\n
    \r\n
    \r\n {{\r\n item.transactionType\r\n }}\r\n
    \r\n\r\n
    \r\n 0,\r\n red: !(item.amount > 0)\r\n }\"\r\n >{{ item.amount > 0 ? \"+\" : \"\" }}{{ item.amount | moneyFormat }}\r\n \r\n
    \r\n
    \r\n \r\n {{ item.balance | moneyFormat }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { customerInfo } from \"../../shared/models/models\";\r\nimport { CustomerInfoBase } from \"src/app/shared/component-bases/customer-info-base\";\r\nimport { CoreService } from 'src/app/shared/services/core.service';\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.scss\"],\r\n})\r\nexport class HeaderComponent extends CustomerInfoBase\r\n implements OnInit, OnDestroy {\r\n @Input() menuIsOpen: boolean;\r\n @Output() toggleMenu = new EventEmitter();\r\n\r\n constructor(\r\n\r\n private customerInfoService: CustomerInfoService,\r\n private coreService:CoreService\r\n ) {\r\n\r\n super();\r\n this.gettransfers();\r\n }\r\n transfers =[];\r\n arrayCount:number =0\r\n\r\n ngOnInit(): void {\r\n this.customerInfo = null\r\n super.loadCustomerInfo(this.customerInfoService);\r\n }\r\n\r\n logOut() {\r\n this.coreService.logOut();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.unsubscribe();\r\n }\r\n\r\n toggleMenuState() {\r\n this.toggleMenu.emit(!this.menuIsOpen);\r\n }\r\n gettransfers(){\r\n var sendPerson = localStorage.getItem('fullname');\r\n this.customerInfoService.PendingTransfers(sendPerson).subscribe(\r\n (response)=>{\r\n // console.log(response.data['pendingTransfer'])\r\n this.transfers = response.data['pendingTransfer'];\r\n let count = this.transfers.length;\r\n this.arrayCount=count\r\n\r\n },\r\n (error)=>{\r\n console.log(error);\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n
","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate, CanActivateChild {\r\n\r\n constructor(\r\n private router: Router\r\n ) {}\r\n\r\n tokenExists(): boolean {\r\n if (sessionStorage.getItem(\"token\")) return true;\r\n this.router.navigateByUrl('landing/auth');\r\n return false;\r\n }\r\n\r\n canActivateChild(\r\n childRoute: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ) {\r\n return this.tokenExists();\r\n }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.tokenExists();\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n\r\n //Credo Test Environment For Development.\r\n // apiUrl: \"http://10.195.105.201:8051/graphql\",\r\n // loginApiUrl: \"http://10.195.105.201:8051/api/Auth\",\r\n\r\n //ABZ Test Environment\r\n // apiUrl: \"http://172.17.11.166:8081/graphql\",\r\n // loginApiUrl: \"http://172.17.11.166:8081/api/Auth\",\r\n\r\n // UAT SSL\r\n //apiUrl: \"https://uatob.abbank.co.zm:3443/graphql\",\r\n //loginApiUrl: \"https://uatob.abbank.co.zm:3443/api/Auth\",\r\n\r\n // apiUrl: \"https://172.17.151.166:3443/graphql\",\r\n // loginApiUrl: \"https://172.17.151.166:3443/api/Auth\",\r\n\r\n\r\n // apiUrl: \"https://ob.abbank.co.zm:3443/graphql\",\r\n // loginApiUrl: \"https://ob.abbank.co.zm:3443/api/Auth\",\r\n\r\n\r\n //live\r\n apiUrl: \"https://ob.abbank.co.zm:3443/graphql\",\r\n loginApiUrl: \"https://ob.abbank.co.zm:3443/api/Auth\",\r\n\r\n\r\n\r\n\r\n};\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { CustomerInfoService } from \"../../shared/services/customer-info.service\";\r\nimport { CustomerInfoBase } from \"src/app/shared/component-bases/customer-info-base\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { FunctionsService } from \"src/app/shared/functions/functions.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CoreService } from \"src/app/shared/services/core.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: \"app-settings\",\r\n templateUrl: \"./settings.component.html\",\r\n styleUrls: [\"./settings.component.scss\"],\r\n})\r\nexport class SettingsComponent\r\n extends CustomerInfoBase\r\n implements OnInit, OnDestroy {\r\n errorMessage: string = \"\";\r\n loading: boolean = false;\r\n changePasswordSub: Subscription;\r\n\r\n //#region Variables\r\n public changePasswordOpen: boolean = false;\r\n public changePasswordForm: FormGroup;\r\n\r\n //#endregion\r\n\r\n //#region LifeCycle hook\r\n\r\n constructor(\r\n private customerInfoService: CustomerInfoService,\r\n private changePasswordFormBuilder: FormBuilder,\r\n public sharedFunctions: FunctionsService,\r\n private coreService: CoreService,\r\n private router: Router,\r\n private modalService: ModalWithTextService,\r\n private datePipe:DatePipe\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n });\r\n this.loadCustomerInfo();\r\n this.changePasswordFormInit();\r\n this.giveCustomValidators();\r\n }\r\n\r\n //#region Methods\r\n\r\n //Show or Hide Dropdown\r\n public toggleChangePassword(): void {\r\n if (this.changePasswordOpen) {\r\n this.changePasswordOpen = false;\r\n } else {\r\n this.changePasswordOpen = true;\r\n }\r\n }\r\n\r\n // Calling Parent's Method\r\n protected loadCustomerInfo(): void {\r\n super.loadCustomerInfo(this.customerInfoService);\r\n }\r\n\r\n public get customerBirthDate(){\r\n return this.datePipe.transform(this.customerInfo.birthDate,'dd/MM/yyyy');\r\n }\r\n public get NRCNumber(){\r\n return decodeURIComponent(this.customerInfo.personalN);\r\n }\r\n\r\n private changePasswordFormInit(): void {\r\n this.changePasswordForm = this.changePasswordFormBuilder.group({\r\n oldPassword: [\"\", Validators.required],\r\n newPassword: [\r\n \"\",\r\n [\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.pattern(/(?=.*[A-Z])(?=.*\\d)(?!.*[ა-ჰ]).{8,}/),\r\n ],\r\n ],\r\n repeatPassword: [\"\"],\r\n });\r\n }\r\n\r\n // Costum Validator - check if repeated password dont match\r\n private matchPassword(repeatPassword: AbstractControl): any {\r\n return (newPassword: FormControl) => {\r\n return newPassword.value !== repeatPassword.value\r\n ? { passwordsDontMatch: true }\r\n : null;\r\n };\r\n }\r\n\r\n // Set Costum Validator for repeat password\r\n private giveCustomValidators(): void {\r\n this.changePasswordForm.controls.repeatPassword.setValidators([\r\n this.matchPassword(this.changePasswordForm.controls.newPassword),\r\n Validators.required,\r\n ]);\r\n }\r\n\r\n public onSubmit(): void {\r\n this.markFormGroupTouched(this.changePasswordForm);\r\n\r\n if (this.changePasswordForm.valid) {\r\n this.changePassword();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n changePassword() {\r\n this.loading = true;\r\n this.changePasswordForm.disable();\r\n\r\n const passwordsData = {\r\n data: {\r\n confirmNewPassword: this.changePasswordForm.controls.repeatPassword\r\n .value,\r\n newPassword: this.changePasswordForm.controls.newPassword.value,\r\n oldPassword: this.changePasswordForm.controls.oldPassword.value,\r\n },\r\n };\r\n\r\n this.changePasswordSub = this.coreService\r\n .changeTemporaryPassword(passwordsData)\r\n .subscribe(\r\n (res: any) => {\r\n this.loading = false;\r\n this.changePasswordForm.enable();\r\n if (res.data?.changePassword) {\r\n this.modalService.generateModal(\r\n \"SETTINGS_P.CHANGE_P.PASSWORD_CHANGED\"\r\n );\r\n this.changePasswordFormInit();\r\n } else if (res.errors || !res.data?.changePassword) {\r\n this.modalService.generateErrorModal(\r\n `ERROR_CODES.${\r\n res.errors[0].extensions.code\r\n ? res.errors[0].extensions.code\r\n : \"GENERAL_ERROR\"\r\n }`\r\n );\r\n }\r\n },\r\n (err: any) => {\r\n this.loading = false;\r\n this.modalService.generateModal(`ERROR_CODES.GENERAL_ERROR`);\r\n }\r\n );\r\n }\r\n\r\n //#endregion\r\n\r\n ngOnDestroy(): void {\r\n super.unsubscribe();\r\n\r\n if (this.changePasswordSub) {\r\n this.changePasswordSub.unsubscribe();\r\n }\r\n }\r\n\r\n // popup\r\n closeClick() {\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"SETTINGS_P.SETTINGS\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n

\r\n {{ \"SETTINGS_P.PERSONAL_INFO\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n

\r\n {{ \"SETTINGS_P.CHANGE_P.CHANGE_P\" | translate }}\r\n

\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{\r\n sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.oldPassword\r\n )\r\n ? sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.oldPassword\r\n )\r\n : (\"SETTINGS_P.CHANGE_P.OLD_PASS\" | translate)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{\r\n sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.newPassword\r\n )\r\n ? sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.newPassword\r\n )\r\n : (\"SETTINGS_P.CHANGE_P.NEW_PASS\" | translate)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{\r\n sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.repeatPassword\r\n )\r\n ? sharedFunctions.giveValidationMessagesToCustomInputs(\r\n this.changePasswordForm.controls.repeatPassword\r\n )\r\n : (\"SETTINGS_P.CHANGE_P.REPEAT_NEW_PASS\" | translate)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ \"SETTINGS_P.CHANGE_P.CHANGE_P\" | translate }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n\r\n","import { Subscription } from \"rxjs\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport { Bank, Branch } from \"src/app/shared/models/models\";\r\nimport { DictionaryService } from \"src/app/shared/services/dictionary.service\";\r\n\r\nexport class TransferBase extends accountsInfoBase {\r\n\r\n prepareTransferLoading: boolean = true;\r\n loading: boolean = false;\r\n prepareTransfer: any;\r\n prepareTransferSub: Subscription;\r\n prepareTransferError: any;\r\n errorMessage: string;\r\n\r\n prepareForTransfer(\r\n transfersService,\r\n amount: number,\r\n currency: string,\r\n otpGuid: string,\r\n type: string,\r\n nextStep\r\n ) {\r\n this.prepareTransferLoading = true;17\r\n this.unsubscribePrepareTransfer();\r\n this.prepareTransferSub = transfersService\r\n .prepareTransfer(+amount, currency, type, otpGuid)\r\n .subscribe((res) => {\r\n this.prepareTransferLoading = false;\r\n this.prepareTransferError = res[\"errors\"];\r\n if (!this.prepareTransferError) {\r\n nextStep();\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n this.prepareTransfer = res[\"data\"] && res[\"data\"][\"prepareTransfer\"];\r\n });\r\n }\r\n\r\n unsubscribePrepareTransfer() {\r\n if (this.prepareTransferSub) {\r\n this.prepareTransferSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-landing-header',\r\n templateUrl: './landing-header.component.html',\r\n styleUrls: ['./landing-header.component.scss']\r\n})\r\nexport class LandingHeaderComponent {\r\n\r\n public goToaccesBankPage():void{\r\n const url = \"https://www.abbank.co.zm/\";\r\n window.open(url,\"_blank\");\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Bank, Branch, selectType } from \"../../models/models\";\r\nimport { DictionaryService } from \"../../services/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"app-bank-select-for-transfers\",\r\n templateUrl: \"./bank-select-for-transfers.component.html\",\r\n styleUrls: [\"./bank-select-for-transfers.component.scss\"],\r\n})\r\nexport class BankSelectForTransfersComponent implements OnInit,OnDestroy {\r\n\r\n @Input() selectWidth: string = \"100%\";\r\n\r\n public selectBankPlaceHolder = 'GENERAL.SELECT_BANK';\r\n public choosenBank: selectType;\r\n public banksForSelect: Array;\r\n\r\n public selectBranchPlaceHolder = 'GENERAL.SELECT_BRANCH';\r\n public choosenBranch: selectType;\r\n public branchesForSelect: Array;\r\n\r\n public branches: Array;\r\n public branchesError: string;\r\n public branchesLoading: boolean;\r\n\r\n public banks: Array;\r\n public banksError: string;\r\n public banksLoading: boolean;\r\n\r\n private subs = new Subscription();\r\n\r\n @Output() chooseIndustryNumber = new EventEmitter();\r\n @Output() chooseBranchCode = new EventEmitter();\r\n\r\n constructor(private dictionaryService: DictionaryService) {}\r\n\r\n ngOnInit(): void {\r\n this.subscribe();\r\n this.dictionaryService.fetchBanks();\r\n }\r\n ngOnDestroy():void{\r\n this.subs.unsubscribe();\r\n }\r\n\r\n public prepareBanksForSelect() {\r\n let temp: any = this.banks;\r\n if (temp) {\r\n this.banksForSelect = temp.map((x: Bank) => ({\r\n id: x.id,\r\n mainTitle: x.bankName,\r\n }));\r\n }\r\n }\r\n public prepareBranchesForSelect() {\r\n let temp: any = this.branches;\r\n if (temp) {\r\n this.branchesForSelect = temp.map((x: Branch) => ({\r\n id: x.id,\r\n mainTitle: x.branchName,\r\n }));\r\n }\r\n }\r\n\r\n public selectBank(bank: selectType) {\r\n this.choosenBank = bank;\r\n this.emitBankCode(bank.id);\r\n // this.fetchBranches(bank.id);\r\n // this.selectBranch(null);\r\n }\r\n private emitBankCode(id):void{\r\n const selectedBank = this.banks.find(bank => bank.id === id);\r\n this.chooseIndustryNumber.emit(selectedBank.industryNumber);\r\n }\r\n // public selectBranch(branch: selectType) {\r\n // this.choosenBranch = branch;\r\n // this.emitBranchCode(branch?.id);\r\n // }\r\n private emitBranchCode(id):void{\r\n const selectedBranch = this.branches?.find(branch => branch?.id === id);\r\n this.chooseBranchCode.emit(selectedBranch?.code??null);\r\n }\r\n public fetchBranches(bankId): void {\r\n this.dictionaryService.fetchBranches(bankId);\r\n }\r\n public fetchBanks(): void {\r\n this.dictionaryService.fetchBanks();\r\n }\r\n public subscribe(): void {\r\n // this.subs.add(this.branchesSub);\r\n // this.subs.add(this.branchesErrorSub);\r\n // this.subs.add(this.branchesLoadingSub);\r\n\r\n this.subs.add(this.banksSub);\r\n this.subs.add(this.banksErrorSub);\r\n this.subs.add(this.banksLoadingSub);\r\n }\r\n public unsubscribe(): void {\r\n this.subs.unsubscribe();\r\n }\r\n // private get branchesSub(): Subscription {\r\n // return this.dictionaryService.branches.subscribe((branches) => {\r\n // if(!branches) return;\r\n // this.branches = branches;\r\n // this.prepareBranchesForSelect();\r\n // });\r\n // }\r\n // private get branchesLoadingSub(): Subscription {\r\n // return this.dictionaryService.branchesLoading.subscribe((branches) => {\r\n // this.branchesLoading = branches;\r\n // });\r\n // }\r\n // private get branchesErrorSub(): Subscription {\r\n // return this.dictionaryService.branchesErrorMessage.subscribe((error) => {\r\n // this.branchesError = error;\r\n // if(error) this.selectBranchPlaceHolder = 'ERROR_CODES.SELECT_BRANCH_ERROR';\r\n // });\r\n // }\r\n private get banksSub(): Subscription {\r\n return this.dictionaryService.banks.subscribe((banks) => {\r\n if(!banks) return;\r\n this.banks = banks;\r\n this.prepareBanksForSelect();\r\n\r\n });\r\n }\r\n private get banksLoadingSub(): Subscription {\r\n return this.dictionaryService.banksLoading.subscribe((banks) => {\r\n this.banksLoading = banks;\r\n });\r\n }\r\n private get banksErrorSub(): Subscription {\r\n return this.dictionaryService.banksErrorMessage.subscribe((error) => {\r\n this.banksError = error;\r\n if(error) this.selectBankPlaceHolder = 'ERROR_CODES.SELECT_BANK_ERROR';\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-monthly-view\",\r\n templateUrl: \"./monthly-view.component.html\",\r\n styleUrls: [\"./monthly-view.component.scss\"],\r\n})\r\nexport class MonthlyViewComponent implements OnInit {\r\n\r\n @Input() currentDate;\r\n\r\n @Input() selectedMonthDates;\r\n @Input() prevMonthPadding;\r\n @Input() nextMonthPadding;\r\n\r\n @Input() notifications;\r\n\r\n @Output() givePickedDate = new EventEmitter();\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n pickDate(month, date) {\r\n const data = {\r\n month,\r\n date,\r\n };\r\n this.givePickedDate.emit(data);\r\n }\r\n\r\n pickedDateClass(day) {\r\n return this.currentDate.getDate() === day ? \"picked\" : \"\";\r\n }\r\n\r\n showHideDot(date) {\r\n const classes = [];\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n if (!classes.includes(\"type\" + notification.eventTypeId)) {\r\n classes.push(\"type\" + notification.eventTypeId);\r\n }\r\n }\r\n }\r\n }\r\n const classesString = classes.toString().replace(/,/g, \" \");\r\n return classesString;\r\n }\r\n\r\n showFirstNotification(date) {\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n return notification.eventName;\r\n }\r\n }\r\n }\r\n }\r\n\r\n firstNotificationClass(date) {\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() ===\r\n new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n date\r\n ).getTime()\r\n ) {\r\n return \"type\" + notification.eventTypeId;\r\n }\r\n }\r\n }\r\n }\r\n\r\n goToAddNotificationPage() {\r\n const date = this.currentDate;\r\n this.router.navigateByUrl(\"/calendar/add-event\", { state: { date } });\r\n }\r\n}\r\n","
\r\n \r\n {{ day }}\r\n
\r\n\r\n \r\n {{ day }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{ showFirstNotification(day) }}\r\n
\r\n\r\n \r\n \r\n\r\n \r\n {{ day }}\r\n \r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FormControl, FormGroup, AbstractControl } from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FunctionsService {\r\n constructor(private translateService:TranslateService){\r\n\r\n }\r\n //#region [OtherPrimary] Inputs\r\n //Gives classes to costum-inputs. EXAMPLE :
\r\n public giveClassesToCustomInputs(input: AbstractControl): string {\r\n let classes = \"\";\r\n if (!input.value) {\r\n classes += \"empty \";\r\n }\r\n\r\n if (input.touched && input.invalid) {\r\n classes += \"invalid \";\r\n }\r\n\r\n if (input.disabled) {\r\n classes += \"disabled \";\r\n }\r\n return classes;\r\n }\r\n\r\n // Check input errors and return message depending on what was invalid\r\n public giveValidationMessagesToCustomInputs(input: AbstractControl): string {\r\n let validationMessage = \"\";\r\n if (input.errors) {\r\n if (input.errors.minlength) {\r\n validationMessage = this.translateService.instant(\"SETTINGS_P.CHANGE_P.MINIAL_LENGTH\")+\" \"+ input.errors.minlength.requiredLength;\r\n } else if (input.errors.pattern) {\r\n validationMessage = this.translateService.instant(\"SETTINGS_P.CHANGE_P.PASS_UPPERCASE\");\r\n } else if(input.errors.passwordsDontMatch){\r\n validationMessage = this.translateService.instant(\"SETTINGS_P.CHANGE_P.PASS_DONT_MATCH\");\r\n }\r\n }\r\n return validationMessage;\r\n }\r\n\r\n //#endregion\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport { Overdraft } from \"src/app/shared/models/models\";\r\nimport { OverdraftService } from \"src/app/shared/services/overdraft.service\";\r\n\r\n@Component({\r\n selector: \"app-product-list-accounts\",\r\n templateUrl: \"./product-list-accounts.component.html\",\r\n styleUrls: [\"./product-list-accounts.component.scss\"],\r\n})\r\nexport class ProductListAccountsComponent implements OnInit {\r\n @Input() accounts: Array;\r\n @Input() currentItem?;\r\n @Input() accountsLoading;\r\n\r\n isTransactions = true;\r\n activeTab = \"\";\r\n\r\n tempStDate;\r\n tempEnDate;\r\n\r\n currentAccount;\r\n\r\n public overdraft: Overdraft;\r\n public overdraftLoading:boolean;\r\n\r\n constructor(private overdraftService: OverdraftService) {\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n // console.log(this.currentAccount)\r\n\r\n // this.clickAccount(this.currentAccount);\r\n\r\n}\r\n\r\n public fetchOverdraft(): void {\r\n this.overdraftLoading = true;\r\n this.overdraft = null;\r\n this.overdraftService\r\n .fetchAccountOverdraft(this.currentAccount?.accountNumber)\r\n .subscribe(\r\n (res: any) => {\r\n this.overdraftLoading = false;\r\n this.overdraft = res?.data?.overdrafts[0];\r\n },\r\n (err: any) => {\r\n this.overdraftLoading = false;\r\n }\r\n );\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes && this.currentItem && this.accounts) {\r\n let tempAcc: any = this.accounts;\r\n this.currentAccount = tempAcc.filter(\r\n (acc) => acc.accountId === this.currentItem\r\n )[0];\r\n }\r\n }\r\n\r\n onClickMenu(isTransactions) {\r\n this.isTransactions = isTransactions;\r\n }\r\n\r\n clickAccount(acc) {\r\n\r\n this.currentAccount = acc;\r\n this.fetchOverdraft();\r\n }\r\n\r\n isActive(acc: any) {\r\n if (this.currentAccount) {\r\n if (acc.accountId === this.currentAccount.accountId) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n

\r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n

\r\n
","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n FormBuilder,\r\n} from \"@angular/forms\";\r\nimport { TemplatesService } from \"../../templates.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: \"app-edit-account-number-template\",\r\n templateUrl: \"./edit-account-number-template.component.html\",\r\n styleUrls: [\"./edit-account-number-template.component.scss\"],\r\n})\r\nexport class EditAccountNumberTemplateComponent implements OnInit, OnDestroy {\r\n template;\r\n\r\n accountTemplateForm: FormGroup;\r\n\r\n editTemplate$: Subscription;\r\n toggleFavourite$: Subscription;\r\n deleteTemplate$: Subscription;\r\n\r\n loading = false;\r\n\r\n errorMessage = \"\";\r\n\r\n questionText: string = \"Are you sure that you want to delete this template?\";\r\n\r\n showDeletePopup = false;\r\n\r\n constructor(\r\n private templateService: TemplatesService,\r\n private router: Router,\r\n private formBuilder: FormBuilder\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializAccountTemplateForm();\r\n\r\n if (window.history.state.template) {\r\n this.template = window.history.state.template;\r\n this.loadTemplate();\r\n } else {\r\n this.router.navigateByUrl(\"/templates\");\r\n }\r\n }\r\n\r\n initializAccountTemplateForm() {\r\n this.accountTemplateForm = this.formBuilder.group({\r\n accountNumber: new FormControl(\r\n { value: \"\", disabled: true },\r\n {\r\n validators: [\r\n Validators.required,\r\n Validators.minLength(23),\r\n Validators.maxLength(23),\r\n ],\r\n }\r\n ),\r\n name: new FormControl(\"\", { validators: [Validators.required] }),\r\n isFavorite: new FormControl(\"\"),\r\n });\r\n }\r\n\r\n loadTemplate() {\r\n this.accountTemplateForm.controls.accountNumber.setValue(\r\n this.template.beneficiaryAccountNumber\r\n );\r\n this.accountTemplateForm.controls.name.setValue(this.template.name);\r\n this.accountTemplateForm.controls.isFavorite.setValue(\r\n this.template.isFavorite\r\n );\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.accountTemplateForm);\r\n\r\n if (this.accountTemplateForm.valid) {\r\n this.editTemplate();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n editTemplate() {\r\n this.loading = true;\r\n\r\n const templateToGive = {\r\n template: {\r\n id: this.template.id,\r\n beneficiaryAccountNumber: this.template.beneficiaryAccountNumber,\r\n isFavorite: this.accountTemplateForm.controls.isFavorite.value,\r\n name: this.accountTemplateForm.controls.name.value,\r\n },\r\n };\r\n\r\n this.editTemplate$ = this.templateService\r\n .updateAccountTemplate(templateToGive)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n\r\n if (!res.errors) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n toggleFavourite() {\r\n this.loading = true;\r\n\r\n const templateToGive = {\r\n template: {\r\n id: this.template.id,\r\n beneficiaryAccountNumber: this.template.beneficiaryAccountNumber,\r\n isFavorite: !this.accountTemplateForm.controls.isFavorite.value,\r\n name: this.template.name,\r\n },\r\n };\r\n\r\n this.toggleFavourite$ = this.templateService\r\n .updateAccountTemplate(templateToGive)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n\r\n if (!res.errors) {\r\n this.accountTemplateForm.controls.isFavorite.setValue(\r\n !this.accountTemplateForm.controls.isFavorite.value\r\n );\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n deleteTemplatePrompt() {\r\n this.showDeletePopup = true;\r\n }\r\n\r\n deleteTemplate() {\r\n this.showDeletePopup = false;\r\n this.loading = true;\r\n this.deleteTemplate$ = this.templateService\r\n .deleteTemplate({ templateId: this.template.id })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n\r\n if (res.data.deleteTemplate) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.accountTemplateForm.get(input).invalid &&\r\n this.accountTemplateForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.editTemplate$) {\r\n this.editTemplate$.unsubscribe();\r\n }\r\n if (this.toggleFavourite$) {\r\n this.toggleFavourite$.unsubscribe();\r\n }\r\n if (this.deleteTemplate$) {\r\n this.deleteTemplate$.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.SAVE\" | translate }}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{ \"TEMPLATES_C.REMOVE_FROM_FAV\" | translate }}\r\n {{ \"TEMPLATES_C.ADD_TO_FAV\" | translate }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ errorMessage }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Console } from 'console';\r\nimport { CustomerInfoBase } from 'src/app/shared/component-bases/customer-info-base';\r\nimport { error } from './../../../shared/models/models';\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FunctionsService } from \"src/app/shared/functions/functions.service\";\r\nimport {\r\n accountsInfo,\r\n selectType,\r\n TemplateTransferInfo,\r\n TransferInfo,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { TransferBase } from \"../transfers-base\";\r\nimport { TransfersService } from \"../transfers.service\";\r\nimport { TemplatesService } from \"../../templates/templates.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Template } from \"@angular/compiler/src/render3/r3_ast\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { SharedService } from '../shared.service';\r\n\r\n@Component({\r\n selector: 'app-resend-transfer',\r\n templateUrl: './resend-transfer.component.html',\r\n styleUrls: ['./resend-transfer.component.scss']\r\n})\r\nexport class ResendTransferComponent extends TransferBase\r\nimplements OnInit, OnDestroy {\r\n\r\n transferToSomeoneForm: FormGroup;\r\n formSubscription: Subscription;\r\n\r\n\r\n//resend variable\r\n\r\n resend_data: any;\r\n resend_amount: any;\r\n resend_channelCode: any;\r\n resend_branch: any;\r\n resend_comment: any;\r\n resend_currency: any;\r\n resend_externalId: any;\r\n resend_fee: any;\r\n resend_ownersCount: any;\r\n resend_provider: any;\r\n resend_receiverAccountNumber: any;\r\n resend_receiverBank: any;\r\n resend_receiverBankSwift: any;\r\n resend_receiverPerson: any;\r\n resend_rejectCode: any;\r\n resend_rejectReason: any;\r\n resend_senderAccountNumber: any;\r\n resend_senderPerson: any;\r\n resend_status: any;\r\n resend_transferType: any;\r\n resend_transmissionDateTime: any;\r\n resend_userId: any;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n guid: Guid;\r\n step: number = 1;\r\n\r\n amount = 0;\r\n description = \"\";\r\n otpCode: string = \"\";\r\n branchName: string=\"\";\r\n resendBtnHovered: boolean = false;\r\n\r\n loading: boolean = true;\r\n prepareLoading: boolean = false;\r\n\r\n loadingFromSelect: boolean = true;\r\n loadingToSelect: boolean = true;\r\n owersCount:number =0;\r\n tnx_id:number=0;\r\n\r\n\r\n // templates\r\n templates: TemplateTransferInfo;\r\n templateArr: selectType;\r\n selectedTemplate: TemplateTransferInfo;\r\n pickedTemplateId: string;\r\n showAddTemplateBlock: boolean = false;\r\n\r\n addTemplateSub: Subscription;\r\n\r\n transactionType: string = \"EXTERNAL_TRANSFER\";\r\n\r\n isBetween: boolean = false;\r\n receiverAccountId:number;\r\n\r\n showTransferInfoModal = false;\r\n\r\n makeTemplateFavourite = false;\r\n\r\n // variables for select\r\n defaultAccount: selectType;\r\n accountsFrom: selectType;\r\n accountsTo: selectType;\r\n selectedAccountTo?: selectType;\r\n selectedAccountFrom?: selectType;\r\n\r\n\r\n // transfer\r\n transferConfirmationSub: Subscription;\r\n transferConfirmationLoading = false;\r\n transferConfirmationError: any;\r\n transferConfirmation: TransferInfo;\r\n\r\n checkAccountSub: Subscription;\r\n wrongAccountNumbersList = [];\r\n errorMessage: string = \"\";\r\n\r\n receiverBank: string = \"\";\r\n senderPerson: string = \"\";\r\n\r\n isTransferTemplateSelected: boolean;\r\n customerDataAmount:any\r\n\r\n constructor(\r\n private customerInfoService: CustomerInfoService,\r\n private route: ActivatedRoute,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private accountsInfoService: AccountsInfoService,\r\n private functionsService: FunctionsService,\r\n private transferService: TransfersService,\r\n private templateService: TemplatesService,\r\n private modalService: ModalWithTextService,\r\n private translateService: TranslateService,\r\n private shared: SharedService\r\n ) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.customerInfoService.fetchGeneralBalanceInfo();\r\n this.subscribeToGeneralBalanceInfo();\r\n\r\n // this.selectedAccountFrom = null;\r\n this.selectedAccountTo = null;\r\n this.errorMessage = null;\r\n this.initializeForm();\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = true;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n\r\n\r\n this.resend_data = this.shared.getData()\r\n // console.log(this.resend_data.currency)\r\n // this.route.queryParams.subscribe(params => {\r\n this.resend_senderPerson = this.resend_data.senderPerson;\r\n this.resend_currency= this.resend_data.currency;\r\n this.resend_fee= this.resend_data.fee;\r\n this.resend_amount = this.resend_data.amount;\r\n this.resend_receiverBank = this.resend_data.receiverBank;\r\n this.resend_receiverBankSwift = this.resend_data.receiverBankSwift;\r\n this.resend_senderAccountNumber = this.resend_data.senderAccountNumber;\r\n this.resend_comment = this.resend_data.comment;\r\n this.resend_receiverAccountNumber = this.resend_data.receiverAccountNumber;\r\n this.resend_receiverPerson = this.resend_data.receiverPerson;\r\n this.resend_branch= this.resend_data.branch;\r\n this.resend_ownersCount = this.resend_data.ownersCount;\r\n this.tnx_id = this.resend_data.id;\r\n\r\n // // { param1: 'value1', param2: 'value2' }\r\n // });\r\n\r\n\r\n\r\n this.fetchTemplates();\r\n this.checkIfShouldAddAsNewTemplate();\r\n this.checkIfTemplateIsPicked();\r\n this.subscribeToForm();\r\n this.getfullName();\r\n }\r\n\r\n initializeForm() {\r\n this.transferToSomeoneForm = this.formBuilder.group({\r\n accountNumber: new FormControl(),\r\n bank: new FormControl(),\r\n branchName: new FormControl(),\r\n // branch: new FormControl(\"\", [Validators.required]),\r\n name: new FormControl(),\r\n amount: new FormControl(),\r\n description: new FormControl(),\r\n addToFavourites: new FormControl(false),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n subscribeToForm() {\r\n this.formSubscription = this.transferToSomeoneForm\r\n .get(\"accountNumber\")\r\n .valueChanges.subscribe((accNumber) => {\r\n this.checkAccountInfo(accNumber);\r\n });\r\n }\r\n\r\n// sendWithoutOtp(){\r\n\r\n// console.log(\"this.resend_amount\")\r\n// console.log(this.resend_amount)\r\n// console.log(this.resend_receiverBank)\r\n// console.log(this.resend_receiverBankSwift)\r\n// console.log(this.resend_senderAccountNumber)\r\n// console.log(this.resend_receiverAccountNumber)\r\n\r\n// console.log(this.resend_receiverPerson)\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n checkAccountInfo(accNumber) {\r\n if (\r\n accNumber.length === 23 &&\r\n !this.wrongAccountNumbersList.includes(accNumber)\r\n ) {\r\n this.checkIfInternalAccount();\r\n if (this.transactionType === \"INTERNAL_TRANSFER\") {\r\n this.loading = true;\r\n\r\n this.checkAccountSub = this.templateService\r\n .checkAccountNumberInfo(accNumber)\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (\r\n (res.data[\"customer\"] && res.data[\"customer\"][\"firstNameLat\"]) ||\r\n (res.data[\"customer\"] && res.data[\"customer\"][\"lastNameLat\"])\r\n ) {\r\n const name =\r\n res.data[\"customer\"][\"firstNameLat\"] +\r\n \" \" +\r\n res.data[\"customer\"][\"lastNameLat\"];\r\n this.transferToSomeoneForm.controls.name.setValue(name);\r\n } else if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n if (!this.wrongAccountNumbersList.includes(accNumber)) {\r\n this.wrongAccountNumbersList.push(accNumber);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\ngetfullName(){\r\n var userfullname = localStorage.getItem('fullname');\r\n this.senderPerson=userfullname\r\n\r\n}\r\n\r\n\r\n setBankname(){\r\n const choosenBankCode = this.transferToSomeoneForm.controls.bank.value;\r\n if(choosenBankCode==='ABBAK'){\r\n this.receiverBank = \"AB BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='BOZBK'){\r\n this.receiverBank = \"BANK OF ZAMBIA\"\r\n }\r\n else if(choosenBankCode==='ACCES'){\r\n this.receiverBank = \"ACCESS BANK ZAMBIA LIMITED\"\r\n }\r\n\r\n else if(choosenBankCode==='BOCBK'){\r\n this.receiverBank = \"BANK OF CHINA\"\r\n }\r\n else if(choosenBankCode==='BBZZM'){\r\n this.receiverBank = \"ABSA BANK ZAMBIA PLC\"\r\n }\r\n else if(choosenBankCode==='CITIB'){\r\n this.receiverBank = \"CITIBANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='ECOBK'){\r\n this.receiverBank = \"ECOBANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='FABZM'){\r\n this.receiverBank = \"FIRST ALLIANCE BANK ZAMBIA LIMITED\"\r\n }\r\n\r\n else if(choosenBankCode==='INDOZ'){\r\n this.receiverBank = \"INDO-ZAMBIA BANK LIMITED\"\r\n }\r\n else if(choosenBankCode==='ZICBK'){\r\n this.receiverBank = \"ZAMBIA INDUSTRIAL COMMERCIAL BANK\"\r\n }\r\n\r\n else if(choosenBankCode==='ITBBK'){\r\n this.receiverBank = \"INVESTRUST BANK PLC\"\r\n }\r\n else if(choosenBankCode==='STBBK'){\r\n this.receiverBank = \"STANBIC BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='SCBZM'){\r\n this.receiverBank = \"STANDARD CHARTERED BANK PLC\"\r\n }\r\n else if(choosenBankCode==='UBABK'){\r\n this.receiverBank = \"UNITED BANK FOR AFRICA ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='ZNCBK'){\r\n this.receiverBank = \"ZAMBIA NATIONAL COMMERCIAL BANK PLC\"\r\n }\r\n else if(choosenBankCode==='STBBK'){\r\n this.receiverBank = \"FIRST CAPITAL BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='FNBZM'){\r\n this.receiverBank = \"FIRST NATIONAL BANK\"\r\n }\r\n else{\r\n this.receiverBank = \"NO BANK SELECTED\"\r\n }\r\n }\r\n\r\n\r\n\r\n checkIfInternalAccount() {\r\n const choosenBankCode = this.transferToSomeoneForm.controls.bank.value;\r\n const zambiaBankCode = \"ABBAK\";\r\n if (choosenBankCode === zambiaBankCode) {\r\n this.transactionType = \"INTERNAL_TRANSFER\";\r\n } else {\r\n this.transactionType = \"EXTERNAL_TRANSFER\";\r\n }\r\n }\r\n checkIfSavingAccount(accNumber) {\r\n return accNumber.substring(10, 12) === \"21\";\r\n }\r\n\r\n prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n let accsWithoutSaving = temp.filter((element) => {\r\n let isSavingAccount = this.checkIfSavingAccount(element.accountNumber);\r\n if (!isSavingAccount) {\r\n return element;\r\n }\r\n });\r\n if (accsWithoutSaving) {\r\n this.accountsFrom = accsWithoutSaving.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n prepareTemplatesForToSelect() {\r\n let temp: any = this.templates;\r\n this.templateArr = temp.map((x: TemplateTransferInfo) => ({\r\n id: x.id,\r\n mainTitle: x.name,\r\n rightInfo: x.beneficiaryAccountNumber,\r\n }));\r\n this.prepareTransferLoading = true;\r\n }\r\n\r\n //templates\r\n fetchTemplates() {\r\n this.templateService.fetchAccountTemplates().subscribe((res: any) => {\r\n this.loading = false;\r\n this.prepareTransferLoading = false;\r\n this.templates = res.data.template.transfer;\r\n this.prepareTemplatesForToSelect();\r\n });\r\n }\r\n\r\n checkIfShouldAddAsNewTemplate() {\r\n if (window.history.state && window.history.state.addNewTemplate) {\r\n this.prepNewTemplate();\r\n }\r\n }\r\n checkIfTemplateIsPicked() {\r\n if (window.history.state && window.history.state.pickedTemplateId) {\r\n this.pickedTemplateId = window.history.state.pickedTemplateId;\r\n }\r\n }\r\n\r\n prepNewTemplate() {\r\n this.selectedAccountTo = {\r\n mainTitle: \"Add new template\",\r\n id: null,\r\n imgId: null,\r\n imgName: null,\r\n aboveTitle: null,\r\n underTitle: null,\r\n rightInfo: null,\r\n };\r\n this.showAddTemplateBlock = true;\r\n }\r\n\r\n accountNumberValidation(array: string[]) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n return array.includes(value) ? { wrongAccountNumber: true } : null;\r\n };\r\n }\r\n\r\n selectAccountFrom(accFrom: selectType) {\r\n this.selectedAccountFrom = accFrom;\r\n // this.selectAccountFrom = this.resend_senderAccountNumber\r\n this.setMaxAmountBasedOnChoosenAccount(this.selectedAccountFrom);\r\n }\r\n setMaxAmountBasedOnChoosenAccount(account) {\r\n const accounts: any = this.accountsInfo;\r\n const choosenAccount = accounts.find(\r\n (x) => x.accountNumber === account.mainTitle\r\n );\r\n let maxAmount = choosenAccount.balance;\r\n if (maxAmount > 100000) maxAmount = 100000;\r\n this.transferToSomeoneForm.controls.amount.setValidators([\r\n Validators.required,\r\n Validators.max(maxAmount),\r\n ]);\r\n }\r\n selectAccountTo(accTo: selectType) {\r\n let temp: any = this.templates;\r\n this.selectedTemplate = temp.filter(\r\n (v: TemplateTransferInfo) => v.id.toString() === accTo.id.toString()\r\n )[0];\r\n if (this.isTemplateIsSelected(this.selectedTemplate)) {\r\n this.setTemplateAsSelected(this.selectedTemplate.bankBicCode);\r\n }\r\n this.selectedAccountTo = accTo;\r\n this.showAddTemplateBlock = false;\r\n }\r\n isTemplateIsSelected(template): boolean {\r\n if (\r\n template &&\r\n template.beneficiaryAccountNumber &&\r\n template.bankBicCode &&\r\n template.type == \"TRANSFER\"\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n setTemplateAsSelected(industryNumber): void {\r\n this.isTransferTemplateSelected = true;\r\n this.transferToSomeoneForm.controls.bank.setValue(industryNumber);\r\n }\r\n\r\n // getEmittedBranchCode(branchCode: string) {\r\n // if (branchCode) {\r\n // this.transferToSomeoneForm.get(\"branch\").setValue(branchCode);\r\n // } else {\r\n // this.transferToSomeoneForm.get(\"branch\").setValue(null);\r\n // }\r\n // }\r\n getEmittedIndustryNumber(bankCode: string) {\r\n this.transferToSomeoneForm.get(\"bank\").setValue(bankCode);\r\n }\r\n giveInputClasses(input) {\r\n if (\r\n this.transferToSomeoneForm.get(input).invalid &&\r\n this.transferToSomeoneForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n formValidForTransfer() {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.valid &&\r\n this.transferToSomeoneForm.controls.description.valid\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n formValidForSavingTemplateAndTransfer() {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.valid &&\r\n this.transferToSomeoneForm.controls.description.valid &&\r\n this.transferToSomeoneForm.controls.name.valid &&\r\n this.transferToSomeoneForm.controls.accountNumber.valid\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n prepare() {\r\n this.checkIfInternalIsBetweenOwn();\r\n if (this.isBetween) {\r\n this.transactionType = \"TRANSFER_BETWEEN_OWN_ACCOUNTS\";\r\n }\r\n\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transferService,\r\n +this.transferToSomeoneForm.value.amount,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n this.guid.toString(),\r\n this.transactionType,\r\n () => (this.step = 2)\r\n );\r\n }\r\n\r\n gotoFirstStep() {\r\n this.step = 1;\r\n this.emptySmsCode();\r\n }\r\n\r\n emptySmsCode() {\r\n this.transferToSomeoneForm.controls.otpCode.setValue(\"\");\r\n }\r\n\r\n isDisabledFirstStep() {\r\n return this.step === 2;\r\n }\r\n\r\n submitForm(saveTemplate) {\r\n\r\n if(this.step==1){\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transferService,\r\n +this.resend_amount,\r\n this.resend_currency,\r\n this.guid.toString(),\r\n this.transactionType,\r\n () => (this.step = 2)\r\n );\r\n\r\n }else{\r\n\r\n\r\n\r\nif(this.resend_receiverBankSwift==null){\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneInternalAccountConfirm(\r\n this.resend_senderAccountNumber,\r\n this.resend_currency,\r\n Number(this.resend_amount),\r\n Number(this.resend_fee),\r\n this.guid.toString(),\r\n this.otpCode,\r\n this.isBetween,\r\n this.receiverAccountId,\r\n this.resend_receiverAccountNumber,\r\n this.resend_receiverPerson,\r\n this.resend_comment,\r\n this.resend_senderPerson,\r\n Number(this.resend_ownersCount)\r\n\r\n\r\n // this.resend_receiverBankSwift,\r\n // this.resend_branch,\r\n\r\n // this.resend_receiverBank,\r\n\r\n\r\n\r\n\r\n )\r\n .subscribe((res: any) => {\r\n\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n } else if (res.data) {\r\n if (\r\n res?.data?.addInternalTransfer?.status === \"SUCCESS\" &&\r\n res?.data.addInternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res.data.addInternalTransfer.id;\r\n // console.log(voucherNumber)\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n res.data.addExternalTransfer.status === \"PENDING\" &&\r\n res.data.addExternalTransfer.externalId\r\n\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n }\r\n\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n\r\n\r\n\r\n\r\n this.approveTnx(this.tnx_id)\r\n\r\n\r\n\r\n}else{\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneExternalAccountConfirm(\r\n this.resend_senderAccountNumber,\r\n this.resend_receiverAccountNumber,\r\n this.resend_currency,\r\n Number(this.resend_amount),\r\n this.resend_comment,\r\n Number(this.resend_fee),\r\n this.resend_receiverPerson,\r\n this.guid.toString(),\r\n this.otpCode,\r\n this.resend_receiverBankSwift,\r\n this.resend_branch,\r\n this.resend_senderPerson,\r\n this.resend_receiverBank,\r\n Number(this.resend_ownersCount)\r\n\r\n\r\n\r\n )\r\n .subscribe((res: any) => {\r\n\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n } else if (res.data) {\r\n if (\r\n res.data.addExternalTransfer.status === \"SUCCESS\" &&\r\n res.data.addExternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addExternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n res.data.addExternalTransfer.status === \"PENDING\" &&\r\n res.data.addExternalTransfer.externalId\r\n\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n }\r\n\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n\r\n\r\n\r\n\r\n this.approveTnx(this.tnx_id)\r\n\r\n}\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // this.markFormGroupTouched(this.transferToSomeoneForm);\r\n // if (this.selectedTemplate) {\r\n // if (this.step === 1) {\r\n // if (this.formValidForTransfer()) {\r\n // this.checkIfInternalAccount();\r\n\r\n // this.prepare();\r\n // }\r\n // } else {\r\n // if (this.transferToSomeoneForm.controls.otpCode.valid) {\r\n // this.transferToSomeoneAccountConfirm();\r\n // }\r\n // }\r\n // } else {\r\n // // save template and then transfer\r\n // if (this.step === 1) {\r\n // if (this.formValidForSavingTemplateAndTransfer()) {\r\n // this.checkIfInternalAccount();\r\n\r\n // this.prepare();\r\n // }\r\n // } else {\r\n // if (this.transferToSomeoneForm.controls.otpCode.valid) {\r\n // if (saveTemplate) {\r\n // let temp: any = this.templates;\r\n // let filteredTemp = temp.filter((obj: TemplateTransferInfo) => {\r\n // return (\r\n // obj.beneficiaryAccountNumber ===\r\n // this.transferToSomeoneForm.controls.accountNumber.value\r\n // );\r\n // });\r\n // if (filteredTemp.length > 0) {\r\n // this.loading = false;\r\n // this.errorMessage = \"ALREADY_EXISTS\";\r\n // } else {\r\n // this.addTemplate();\r\n // }\r\n // } else {\r\n // this.transferToSomeoneAccountConfirm();\r\n // }\r\n // }\r\n // }\r\n // }\r\n }\r\n\r\n approveTnx(tnxId){\r\n\r\n\r\n return this.transferService.sendAprove(tnxId).subscribe((res: any) => {\r\n if(res.error){\r\n // console.log('err: '+res)\r\n }else{\r\n // console.log(res)\r\n }\r\n })\r\n }\r\n reject(){\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n this.tnx_id\r\n return this.transferService.reject(this.tnx_id).subscribe((res: any) => {\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if(res.error){\r\n this.modalService.generateModal(\"Error Occured try again\");\r\n }else{\r\n this.modalService.generateModal(\"Successfully rejected\");\r\n }\r\n })\r\n }\r\n\r\n\r\n subscribeToGeneralBalanceInfo() {\r\n this.customerInfoService.generalBalanceInfo.subscribe(\r\n (res) => {\r\n this.customerDataAmount = res.totalBalanceZMW\r\n // console.log(this.customerDataAmount);\r\n\r\n }\r\n );\r\n\r\n // this.customerInfoService.generalBalanceInfoLoading.subscribe(\r\n // (res: boolean) => {\r\n // console.log(res);\r\n // }\r\n // );\r\n\r\n // this.customerInfoService.generalBalanceInfoErrorMessage.subscribe(\r\n // (res: string) => {\r\n // console.log(res);\r\n // }\r\n // );\r\n }\r\n\r\n\r\n\r\n\r\n\r\n transferToSomeoneAccountConfirm() {\r\n this.unsubscribeTransferConfirmation();\r\n this.transferConfirmation = undefined;\r\n this.errorMessage = \"\";\r\n\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n\r\n if (\r\n this.transactionType === \"INTERNAL_TRANSFER\" ||\r\n this.transactionType === \"TRANSFER_BETWEEN_OWN_ACCOUNTS\"\r\n ) {\r\n this.checkIfInternalIsBetweenOwn();\r\n\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneInternalAccountConfirm(\r\n this.selectedAccountFrom.mainTitle,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n +this.transferToSomeoneForm.value.amount,\r\n this.prepareTransfer.fee,\r\n this.guid.toString(),\r\n this.transferToSomeoneForm.controls.otpCode.value,\r\n this.isBetween,\r\n null,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.beneficiaryAccountNumber\r\n : this.transferToSomeoneForm.controls.accountNumber.value,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.name\r\n : this.transferToSomeoneForm.controls.name.value,\r\n this.transferToSomeoneForm.value.description\r\n )\r\n .subscribe((res: any) => {\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n\r\n if (res.data.addInternalTransfer) {\r\n if (\r\n res.data.addInternalTransfer.status === \"SUCESS\" &&\r\n res.data.addInternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addInternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n\r\n res.data.addInternalTransfer.status === \"PENDING\" &&\r\n res.data.addInternalTransfer.externalId\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n\r\n }\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n } else if (this.transactionType === \"EXTERNAL_TRANSFER\") {\r\n this.setBankname();\r\n // console.log(this.receiverBank);\r\n // console.log(this.senderPerson);\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneExternalAccountConfirm(\r\n this.selectedAccountFrom.mainTitle,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.beneficiaryAccountNumber\r\n : this.transferToSomeoneForm.controls.accountNumber.value,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n +this.transferToSomeoneForm.value.amount,\r\n this.transferToSomeoneForm.value.description,\r\n this.prepareTransfer.fee,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.name\r\n : this.transferToSomeoneForm.controls.name.value,\r\n this.guid.toString(),\r\n this.transferToSomeoneForm.controls.otpCode.value,\r\n this.transferToSomeoneForm.controls.bank.value,\r\n this.transferToSomeoneForm.controls.branchName.value,\r\n this.senderPerson,\r\n this.receiverBank,\r\n this.owersCount\r\n\r\n )\r\n .subscribe((res: any) => {\r\n\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n } else if (res.data) {\r\n if (\r\n res.data.addExternalTransfer.status === \"SUCCESS\" &&\r\n res.data.addExternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addExternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n res.data.addExternalTransfer.status === \"PENDING\" &&\r\n res.data.addExternalTransfer.externalId\r\n\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n }\r\n\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n }\r\n }\r\n\r\n checkIfInternalIsBetweenOwn() {\r\n let temp: any = this.accountsFrom;\r\n if (this.selectedTemplate?.beneficiaryAccountNumber) {\r\n temp.forEach((element) => {\r\n if (element.id === this.selectedTemplate.beneficiaryAccountNumber) {\r\n this.isBetween = true;\r\n }\r\n });\r\n } else if (this.transferToSomeoneForm.controls.accountNumber.value) {\r\n temp.forEach((element) => {\r\n if (\r\n element.id === this.transferToSomeoneForm.controls.accountNumber.value\r\n ) {\r\n this.isBetween = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n unsubscribeTransferConfirmation() {\r\n if (this.transferConfirmationSub) {\r\n this.transferConfirmationSub.unsubscribe();\r\n }\r\n }\r\n\r\n resetTransfer() {\r\n this.amount = 0;\r\n this.description = \"\";\r\n this.step = 1;\r\n }\r\n\r\n clickMakeTemplateFavourite() {\r\n this.makeTemplateFavourite = this.makeTemplateFavourite ? false : true;\r\n this.transferToSomeoneForm\r\n .get(\"addToFavourites\")\r\n .setValue(this.makeTemplateFavourite);\r\n }\r\n\r\n addTemplate() {\r\n this.loading = true;\r\n const template = {\r\n template: {\r\n beneficiaryAccountNumber:\r\n this.transferToSomeoneForm.controls.accountNumber.value,\r\n name: this.transferToSomeoneForm.controls.name.value,\r\n isFavorite: this.transferToSomeoneForm.controls.addToFavourites.value,\r\n },\r\n };\r\n this.addTemplateSub = this.templateService\r\n .addTransferTemplate(template)\r\n .subscribe((res) => {\r\n if (!res.errors) {\r\n this.transferToSomeoneAccountConfirm();\r\n } else {\r\n this.loading = false;\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n this.gotoFirstStep();\r\n }\r\n });\r\n }\r\n\r\n getSmsCode(event) {\r\n this.otpCode = event;\r\n this.transferToSomeoneForm.controls.otpCode.setValue(event);\r\n }\r\n resendSMSCode(event) {\r\n this.prepare();\r\n }\r\n\r\n checkNotEmpty() {\r\n if (this.showAddTemplateBlock) {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.value &&\r\n this.transferToSomeoneForm.controls.accountNumber.valid &&\r\n this.transferToSomeoneForm.controls.name.value &&\r\n this.transferToSomeoneForm.controls.bank.value\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.value &&\r\n this.transferToSomeoneForm.controls.bank.value\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n super.unsubscribeAccountsInfo();\r\n super.unsubscribePrepareTransfer();\r\n this.unsubscribeTransferConfirmation();\r\n if (this.formSubscription) {\r\n this.formSubscription.unsubscribe();\r\n }\r\n if (this.checkAccountSub) {\r\n this.checkAccountSub.unsubscribe();\r\n }\r\n if (this.addTemplateSub) {\r\n this.addTemplateSub.unsubscribe();\r\n }\r\n }\r\n\r\n closeClick() {\r\n this.router.navigateByUrl(\r\n \"/products/accounts/\" + this.resend_senderAccountNumber\r\n );\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n Approve pending Transfer\r\n

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Account would you like to transfer from\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n corresponding bank and Bank code\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ \"GENERAL.NAME\" | translate }}\r\n {{ selectedTemplate.name }}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Amount and Description

\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n

Receiver Account number and Receiver name

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

Branch

\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n

\r\n {{ \"GENERAL.FEE\" | translate }}\r\n {{ prepareTransfer?.fee | moneyFormat }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ads-right',\r\n templateUrl: './ads-right.component.html',\r\n styleUrls: ['./ads-right.component.scss']\r\n})\r\nexport class AdsRightComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
Fast loan up to 4,000 GEL
\r\n

Check your credit limit & get loan in 15 mins

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Apply\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CalendarDataService } from 'src/app/shared/services/calendar/calendarData.service';\r\n\r\n@Component({\r\n selector: 'app-pick-month',\r\n templateUrl: './pick-month.component.html',\r\n styleUrls: ['./pick-month.component.scss']\r\n})\r\nexport class PickMonthComponent implements OnInit {\r\n\r\n @Input() pickedDate: Date;\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n\r\n monthsList = [];\r\n counter = 0;\r\n\r\n @Output() giveMonth = new EventEmitter();\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private calendarDataService: CalendarDataService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.generateMonths(this.pickedDate);\r\n }\r\n\r\n generateMonths(monthPickedDate?: Date) {\r\n this.pickedDate = monthPickedDate;\r\n\r\n if (this.monthsList.length == 0) {\r\n this.counter = 0;\r\n for (let i = 1; i <= 12; i++) {\r\n this.monthsList[this.counter] = {\r\n valid: true,\r\n value: i + \"/1\" + \"/2019\",\r\n };\r\n this.counter++;\r\n }\r\n this.counter = 0;\r\n }\r\n this.checkdate();\r\n }\r\n\r\n checkdate() {\r\n let testDate: Date;\r\n testDate = this.pickedDate;\r\n this.monthsList.forEach((temp) => {\r\n let month = Number(temp.value.split(\"/\")[0]) - 1;\r\n this.monthsList[\r\n this.monthsList.indexOf(temp)\r\n ].valid = this.calendarDataService.checkDateValidation(\r\n this.minDate,\r\n this.maxDate,\r\n testDate.getFullYear(),\r\n month.toString()\r\n );\r\n });\r\n }\r\n\r\n pickMonth(date) {\r\n const month = Number(date.value.split(\"/\")[0]) - 1;\r\n if (date.valid) {\r\n this.giveMonth.emit(month);\r\n }\r\n }\r\n\r\n giveClassAndCheck(date) {\r\n let month = Number(date.value.split(\"/\")[0]) - 1;\r\n let className = \"\";\r\n\r\n if (this.pickedDate.getMonth() === month && date.valid) {\r\n className = \"active\";\r\n } else if (!date.valid) {\r\n className = \"disabled\";\r\n }\r\n\r\n return className;\r\n }\r\n}\r\n","
\r\n \r\n {{ date.value | date: \"MMM\":undefined:translate.currentLang }}\r\n
\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\",\r\n styleUrls: [\"./footer.component.scss\"],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n today: Date = new Date();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n public openPdf(fileName): void {\r\n let baseUrl = \"../../assets/files/\";\r\n if (fileName === \"FAQ\") {\r\n window.open(baseUrl+\"FAQ.pdf\", '_blank');\r\n } else if(fileName==\"TERMS\") {\r\n window.open(baseUrl+\"Terms and Conditions.pdf\",'_blank');\r\n }\r\n }\r\n}\r\n","\r\n","import { Subscription } from \"rxjs\";\r\nimport { CustomerInfoService } from \"../services/customer-info.service\";\r\nimport { customerInfo } from \"../models/models\";\r\n\r\nexport class CustomerInfoBase {\r\n\r\n //#region Variables\r\n // Customer Info\r\n public customerInfoSub: Subscription;\r\n public customerInfo: customerInfo;\r\n \r\n // Customer Info Loading\r\n public customerInfoLoadingSub: Subscription;\r\n public customerInfoLoading: boolean;\r\n\r\n\r\n // Customer INfo Errors\r\n public customerInfoErrorSub: Subscription;\r\n public customerInfoError: string;\r\n \r\n //#endregion\r\n\r\n //#region Methods\r\n\r\n protected loadCustomerInfo(customerInfoService: CustomerInfoService): void {\r\n this.customerInfoLoadingSub = customerInfoService.customerInfoLoading.subscribe(\r\n (res: boolean) => {\r\n this.customerInfoLoading = res;\r\n }\r\n );\r\n this.customerInfoErrorSub = customerInfoService.customerInfoErrorMessage.subscribe(\r\n (res: string) => {\r\n this.customerInfoError = res;\r\n }\r\n );\r\n\r\n this.customerInfoSub = customerInfoService.customerInfo.subscribe(\r\n (res: customerInfo) => {\r\n this.customerInfo = res;\r\n }\r\n );\r\n }\r\n\r\n //UNSUBSCRIBE\r\n protected unsubscribe(): void {\r\n if (this.customerInfoLoadingSub) {\r\n this.customerInfoLoadingSub.unsubscribe();\r\n }\r\n\r\n if (this.customerInfoErrorSub) {\r\n this.customerInfoErrorSub.unsubscribe();\r\n }\r\n\r\n if (this.customerInfoSub) {\r\n this.customerInfoSub.unsubscribe();\r\n }\r\n }\r\n //#endregion\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { customerInfo } from \"../../shared/models/models\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CoreService } from \"src/app/shared/services/core.service\";\r\n\r\n@Component({\r\n selector: \"app-menu\",\r\n templateUrl: \"./menu.component.html\",\r\n styleUrls: [\"./menu.component.scss\"],\r\n})\r\nexport class MenuComponent implements OnInit {\r\n @Input() menuIsOpen: boolean;\r\n @Output() toggleMenu = new EventEmitter();\r\n\r\n customerInfoSub: Subscription;\r\n customerInfo: customerInfo;\r\n customerInfoLoadingSub: Subscription;\r\n customerInfoLoading: boolean;\r\n\r\n constructor(\r\n private customerInfoService: CustomerInfoService,\r\n private router: Router,\r\n private coreService: CoreService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscribeToCustomerInfoData();\r\n }\r\n\r\n subscribeToCustomerInfoData() {\r\n this.customerInfoSub = this.customerInfoService.customerInfo.subscribe(\r\n (res: customerInfo): any => {\r\n this.customerInfo = res;\r\n }\r\n );\r\n this.customerInfoLoadingSub = this.customerInfoService.customerInfoLoading.subscribe(\r\n (res: boolean): any => {\r\n this.customerInfoLoading = res;\r\n }\r\n );\r\n }\r\n\r\n giveClasses(menuItem, limited) {\r\n const url = this.router.url.split(\"/\");\r\n let classes = \"\";\r\n if (url.includes(menuItem)) {\r\n classes = classes + \" active\";\r\n }\r\n\r\n\r\n return classes;\r\n }\r\n logOut() {\r\n this.coreService.logOut();\r\n }\r\n toggleMenuState() {\r\n this.toggleMenu.emit(!this.menuIsOpen);\r\n }\r\n\r\n closeMenu() {\r\n this.toggleMenu.emit(false);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { LandingService } from \"./landing.service\";\r\n\r\n@Component({\r\n selector: \"app-landing\",\r\n templateUrl: \"./landing.component.html\",\r\n styleUrls: [\"./landing.component.scss\"],\r\n})\r\nexport class LandingComponent implements OnInit {\r\n constructor(public landingService: LandingService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n closeInactivityPopup() {\r\n this.landingService.showPopupOnLanding = false;\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

{{ \"LANDING.MAIN_HEADING\" | translate }}

\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n

\r\n {{ \"POPUPS.INACTIVITY_TEXT_3\" | translate }}\r\n

\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { LanguageModel } from \"../../models/models\";\r\n\r\n@Component({\r\n selector: \"app-language-switcher\",\r\n templateUrl: \"./language-switcher.component.html\",\r\n styleUrls: [\"./language-switcher.component.scss\"],\r\n})\r\nexport class LanguageSwitcherComponent implements OnInit {\r\n //#region Variables\r\n\r\n //language chooser dropdown condition\r\n public dropdown: boolean = false;\r\n\r\n // list of languages of application with codes and images\r\n public languageList: Array = [\r\n {\r\n name: \"English\",\r\n code: \"en\",\r\n image: \"../../../assets/images/icons/flags/uk.svg\",\r\n },\r\n {\r\n name: \"French\",\r\n code: \"fr\",\r\n image: \"../../../assets/images/icons/flags/fr.svg\",\r\n }\r\n ];\r\n\r\n // here we store and show choosen language\r\n public currentLanguage: LanguageModel;\r\n //#endregion\r\n\r\n //#region Lifecycle Hook\r\n\r\n constructor(public translate: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n this.detectPickedLanguage();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Methods\r\n\r\n public toggle(): void {\r\n if (this.dropdown) {\r\n this.dropdown = false;\r\n } else {\r\n this.dropdown = true;\r\n }\r\n }\r\n\r\n public selectLanguage(item: LanguageModel): void {\r\n this.currentLanguage = item;\r\n switch (item.code) {\r\n case \"en\":\r\n this.translate.use(\"en\");\r\n localStorage.setItem(\"choosenLanguage\", \"en\");\r\n break;\r\n case \"fr\":\r\n this.translate.use(\"fr\");\r\n localStorage.setItem(\"choosenLanguage\", \"fr\");\r\n break;\r\n default:\r\n this.translate.use(\"en\");\r\n break;\r\n }\r\n this.toggle();\r\n }\r\n\r\n private detectPickedLanguage(): void {\r\n const currentLang = this.translate.currentLang;\r\n for (let i = 0; i < this.languageList.length; i++) {\r\n if (this.languageList[i].code == currentLang) {\r\n this.currentLanguage = this.languageList[i];\r\n }\r\n }\r\n }\r\n //#endregion\r\n}\r\n","
\r\n
\r\n

{{ currentLanguage.code.toUpperCase()}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{ item.name }}

\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Apollo } from \"apollo-angular\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GraphQLRequestService {\r\n constructor(private apollo: Apollo, private router: Router) {}\r\n\r\n responseMiddleware(res) {\r\n let { errors } = res;\r\n if (errors) {\r\n let unauthorized = errors.some(\r\n (err) => err.extensions && err.extensions.code === \"UNAUTHORIZED\"\r\n );\r\n let errorModal = errors.some(\r\n (err) => err.extensions && err.extensions.code.includes(\"MODAL\")\r\n );\r\n\r\n if (unauthorized) {\r\n sessionStorage.removeItem(\"token\");\r\n this.router.navigate([\"/landing/auth\"]);\r\n }\r\n }\r\n\r\n return { errors };\r\n }\r\n\r\n request(query, variables?) {\r\n return this.apollo\r\n .watchQuery({ query, errorPolicy: \"all\", variables })\r\n .valueChanges.pipe(\r\n map((res) => {\r\n const { errors } = this.responseMiddleware(res);\r\n return { data: res.data, errors };\r\n })\r\n );\r\n }\r\n\r\n mutate(mutation, variables) {\r\n return this.apollo\r\n .mutate({\r\n mutation,\r\n variables,\r\n errorPolicy: \"all\",\r\n })\r\n .pipe(\r\n map((res) => {\r\n const { errors } = this.responseMiddleware(res);\r\n return { data: res.data, errors };\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { LoanInfoService } from \"src/app/shared/services/loan-info.service\";\r\nimport { loanInfoResponse, loanInfo } from \"src/app/shared/models/models\";\r\n\r\n@Component({\r\n selector: \"app-loan-list-mini\",\r\n templateUrl: \"./loan-list-mini.component.html\",\r\n styleUrls: [\"./loan-list-mini.component.scss\"],\r\n})\r\nexport class LoanListMiniComponent implements OnInit {\r\n loanSub: Subscription;\r\n\r\n loanErrorMessage = \"\";\r\n loanNoDataMessage = \"\";\r\n\r\n loans: Array;\r\n\r\n loanLoading = true;\r\n\r\n constructor(public loanInfoservic: LoanInfoService) {}\r\n\r\n ngOnInit(): void {\r\n this.fetchLoanInfo();\r\n }\r\n\r\n fetchLoanInfo() {\r\n this.loanSub = this.loanInfoservic\r\n .loanInfoQuery()\r\n .subscribe((res: loanInfoResponse) => {\r\n if (res.errors) {\r\n this.loanErrorMessage = res.errors[0].extensions.code;\r\n }\r\n if (res.data) {\r\n let temp: any = res.data.loans;\r\n this.loans = temp;\r\n if(this.loans?.length === 0){\r\n this.loanNoDataMessage = \"NO_ACTIVE_LOANS\";\r\n }\r\n }\r\n\r\n this.loanLoading = false;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ loan.product }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ \"HOME.PRODUCT_BOX.NEAREST_PAY\" | translate }}
    \r\n {{ loan.nextPaymentDate | moneyFormat }} {{ loan.currency }}\r\n
    \r\n
    \r\n
    {{ \"GENERAL.END_DATE\" | translate }}
    \r\n {{ loan.loanEndDate | date:\"dd-MM-yyyy\" }}\r\n
    \r\n\r\n
    \r\n
    {{ \"HOME.PRODUCT_BOX.REMAINING_PRINCIPLE\" | translate }}
    \r\n {{ loan.outstandingPrincipal?loan.outstandingPrincipal:0 | moneyFormat }} {{ loan.currency }}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + loanErrorMessage | translate}}\r\n

\r\n

\r\n {{ \"ERROR_CODES.\" + loanNoDataMessage | translate}}\r\n

\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CustomerInfoService } from 'src/app/shared/services/customer-info.service';\r\nimport { Router } from '@angular/router';\r\nimport { SharedService } from '../shared.service';\r\n\r\n@Component({\r\n selector: 'app-peding-transfer',\r\n templateUrl: './peding-transfer.component.html',\r\n styleUrls: ['./peding-transfer.component.scss']\r\n})\r\nexport class PedingTransferComponent implements OnInit {\r\n\r\n constructor(\r\n private fetchpending: CustomerInfoService,\r\n private router: Router,\r\n private shared: SharedService\r\n ) {\r\n // this.senderPerson= localStorage.getItem('fullname');\r\n this.gettransfers();\r\n\r\n }\r\n\r\n transfers =[];\r\n // senderPerson:String='';\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n\r\n getData(\r\n // id,\r\n // amount,\r\n // channelCode,\r\n // branch,\r\n // comment,\r\n // currency,\r\n // externalId,\r\n // fee,\r\n // ownersCount,\r\n // provider,\r\n // receiverAccountNumber,\r\n // receiverBank,\r\n // receiverBankSwift,\r\n // receiverPerson,\r\n // rejectCode,\r\n // rejectReason,\r\n // senderAccountNumber,\r\n // senderPerson,\r\n // status,\r\n // transferType,\r\n // transmissionDateTime,\r\n // userId\r\n data\r\n ){\r\n this.shared.setData(data)\r\n this.router.navigate(['transfer/approve'])\r\n\r\n // this.router.navigate(['transfer/approve'], { queryParams: {\r\n // id: id,\r\n // amount: amount,\r\n // channelCode: channelCode,\r\n // branch: branch,\r\n // comment: comment,\r\n // currency: currency,\r\n // externalId: externalId,\r\n // fee: fee,\r\n // ownersCount: ownersCount,\r\n // provider: provider,\r\n // receiverAccountNumber: receiverAccountNumber,\r\n // receiverBank: receiverBank,\r\n // receiverBankSwift: receiverBankSwift,\r\n // receiverPerson: receiverPerson,\r\n // rejectCode: rejectCode,\r\n // rejectReason: rejectReason,\r\n // senderAccountNumber: senderAccountNumber,\r\n // senderPerson: senderPerson,\r\n // status: status,\r\n // transferType: transferType,\r\n // transmissionDateTime: transmissionDateTime,\r\n // userId: userId\r\n\r\n\r\n // } });\r\n\r\n\r\n\r\n }\r\n\r\n gettransfers(){\r\n var sendPerson = localStorage.getItem('fullname');\r\n this.fetchpending.PendingTransfers(sendPerson).subscribe(\r\n (response)=>{\r\n // console.log(response.data['pendingTransfer'])\r\n this.transfers = response.data['pendingTransfer'];\r\n\r\n },\r\n (error)=>{\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Pending Transfers\r\n \r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n
AmountReceiver Bank Receiver Acc No CommentView
{{transfer.amount}}{{transfer.receiverBank}}{{transfer.receiverAccountNumber}}{{transfer.comment}}


\r\n

Kindly note that you cannot approve an amount bigger than your Account Balance

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
","import { PedingTransferComponent } from './transfers/peding-transfer/peding-transfer.component';\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CoreComponent } from \"./core.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { SettingsComponent } from \"./settings/settings.component\";\r\nimport { ProductsComponent } from \"./products/products.component\";\r\nimport { TransfersComponent } from \"./transfers/transfers.component\";\r\nimport { TransferToOwnComponent } from \"./transfers/transfer-to-own/transfer-to-own.component\";\r\nimport { TransferWithMobileOrPnComponent } from \"./transfers/transfer-with-mobile-or-pn/transfer-with-mobile-or-pn.component\";\r\nimport { TransferToSomeoneComponent } from \"./transfers/transfer-to-someone/transfer-to-someone.component\";\r\nimport { TemplatesComponent } from \"./templates/templates.component\";\r\nimport { AddTemplateComponent } from \"./templates/add-template/add-template.component\";\r\nimport { EditPhoneNumberTemplateComponent } from \"./templates/edit-templates/edit-phone-number-template/edit-phone-number-template.component\";\r\nimport { EditAccountNumberTemplateComponent } from \"./templates/edit-templates/edit-account-number-template/edit-account-number-template.component\";\r\nimport { EditMobileOrPnTemplateComponent } from \"./templates/edit-templates/edit-mobile-or-pn-template/edit-mobile-or-pn-template.component\";\r\nimport { CalendarComponent } from \"./calendar/calendar.component\";\r\nimport { AddEventComponent } from \"./calendar/add-event/add-event.component\";\r\nimport { EditEventComponent } from \"./calendar/edit-event/edit-event.component\";\r\nimport { TakeALoanComponent } from \"./take-a-loan/take-a-loan.component\";\r\nimport { UtilityComponent } from './transfers/utility/utility.component';\r\nimport { TransactionsComponent } from \"./transactions/transactions.component\";\r\nimport { AuthGuardService } from \"../shared/services/auth-guard.service\";\r\nimport { ResendTransferComponent } from './transfers/resend-transfer/resend-transfer.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: CoreComponent,\r\n canActivateChild: [AuthGuardService],\r\n canActivate: [AuthGuardService],\r\n children: [\r\n { path: \"\", component: HomeComponent },\r\n /* Settings Block */\r\n { path: \"settings\", component: SettingsComponent },\r\n // product box\r\n { path: \"products/:type\", component: ProductsComponent },\r\n { path: \"products/:type/:id\", component: ProductsComponent },\r\n // transfer box\r\n {\r\n path: \"transfer\",\r\n component: TransfersComponent,\r\n },\r\n {\r\n path: \"transfer/to-own-account\",\r\n component: TransferToOwnComponent,\r\n },\r\n {\r\n path: \"transfer/by-mobile-or-pn\",\r\n component: TransferWithMobileOrPnComponent,\r\n },\r\n {\r\n path: \"transfer/to-someones-account\",\r\n component: TransferToSomeoneComponent,\r\n },\r\n {\r\n path: \"transfer/approve\",\r\n component: ResendTransferComponent,\r\n },\r\n {\r\n path: \"transfer/pending\",\r\n component: PedingTransferComponent,\r\n },\r\n {\r\n path: \"transfer/utility\",\r\n component: UtilityComponent,\r\n },\r\n // template block\r\n {\r\n path: \"templates/edit-mobile-template\",\r\n component: EditPhoneNumberTemplateComponent,\r\n },\r\n {\r\n path: \"templates/edit-account-template\",\r\n component: EditAccountNumberTemplateComponent,\r\n },\r\n {\r\n path: \"templates/edit-mobile-or-pn-template\",\r\n component: EditMobileOrPnTemplateComponent,\r\n },\r\n { path: \"templates/add/:tab\", component: AddTemplateComponent },\r\n { path: \"templates/add\", component: AddTemplateComponent },\r\n { path: \"templates\", component: TemplatesComponent },\r\n // calendar block\r\n { path: \"calendar\", component: CalendarComponent },\r\n { path: \"calendar/add-event\", component: AddEventComponent },\r\n { path: \"calendar/edit-event\", component: EditEventComponent },\r\n // Take a loan\r\n { path: \"take-a-loan\", component: TakeALoanComponent },\r\n // { path: \"take-a-loan/loans-list\", component: LoansListComponent },\r\n // {\r\n // path: \"take-a-loan/unfinished-loans-list\",\r\n // component: ShopAppsListComponent,\r\n // },\r\n {path:\"transactions\",component:TransactionsComponent}\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 CoreRoutingModule {}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-monthly-view-box',\r\n templateUrl: './monthly-view.component.html',\r\n styleUrls: ['./monthly-view.component.scss']\r\n})\r\nexport class MonthlyViewBoxComponent implements OnInit {\r\n @Input() notifications;\r\n\r\n @Input() weekDayNames;\r\n\r\n @Input() selectedDate;\r\n\r\n @Input() prevMonthPadding;\r\n @Input() selectedMonthDates;\r\n @Input() nextMonthPadding;\r\n\r\n @Output() givePickedDate = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getCurrentDateClass(date) {\r\n if (date === this.selectedDate.getDate()) {\r\n return 'selected';\r\n }\r\n }\r\n\r\n pickDate(date) {\r\n this.selectedDate = new Date(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), date);\r\n this.givePickedDate.emit(date);\r\n }\r\n\r\n showHideDot(date) {\r\n const classes = [];\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() === new Date(\r\n this.selectedDate.getFullYear(), this.selectedDate.getMonth(), date\r\n ).getTime()\r\n ) {\r\n if (! classes.includes('type' + notification.eventTypeId)) {\r\n classes.push('type' + notification.eventTypeId);\r\n }\r\n }\r\n }\r\n }\r\n const classesString = classes.toString().replace(/,/g, ' ');\r\n return classesString;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • {{ ('CALENDAR.DAYS.' + weekDayName | translate).charAt(0) }}
  • \r\n
\r\n\r\n
\r\n
{{ padding }}
\r\n
\r\n {{ selectedMonthDate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ padding }}
\r\n
\r\n
\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Apollo } from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport { OtpService } from \"src/app/shared/services/otp.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TwoFaService {\r\n private guid: Guid;\r\n private mobile;\r\n private code: string;\r\n\r\n constructor(\r\n private otpService: OtpService,\r\n private graphQL: GraphQLRequestService,\r\n private apollo: Apollo\r\n ) {}\r\n\r\n getCustomerMobile(userName,password) {\r\n\r\n console.log('getCustomerMobile is being called');\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($userName: String!, $password: String!) {\r\n customerMobile(userName: $userName, password: $password)\r\n }\r\n `,\r\n { userName,password} \r\n );\r\n }\r\n\r\n\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\n\r\n@Pipe({\r\n name: \"moneyFormat\",\r\n})\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MoneyFormatPipe extends DecimalPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n if (typeof value === \"number\") {\r\n const step1 = value.toFixed(2);\r\n\r\n if (step1.split(\".\")[1]) {\r\n return this.addCommas(step1.split(\".\")[0] + \".\" + step1.split(\".\")[1]);\r\n } else {\r\n return this.addCommas(step1.split(\".\")[0]);\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n addCommas(nStr) {\r\n nStr += \"\";\r\n const x = nStr.split(\".\");\r\n let x1 = x[0];\r\n const x2 = x.length > 1 ? \".\" + x[1] : \"\";\r\n const rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, \"$1\" + \",\" + \"$2\");\r\n }\r\n return x1 + x2;\r\n }\r\n}\r\n","import { Component, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-modal\",\r\n templateUrl: \"./modal.component.html\",\r\n styleUrls: [\"./modal.component.scss\"],\r\n})\r\nexport class ModalComponent {\r\n @Output() closeModal = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n closeModalWindow() {\r\n this.closeModal.emit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { TransfersService } from \"src/app/core/transfers/transfers.service\";\r\nimport { TemplatesService } from \"../../templates.service\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-add-mobile-or-pn-template\",\r\n templateUrl: \"./add-mobile-or-pn-template.component.html\",\r\n styleUrls: [\"./add-mobile-or-pn-template.component.scss\"],\r\n})\r\nexport class AddMobileOrPnTemplateComponent implements OnInit {\r\n step = 1;\r\n\r\n form: FormGroup;\r\n formSub: Subscription;\r\n fetchAccountsSub: Subscription;\r\n saveTemplateSub: Subscription;\r\n\r\n loading: boolean = false;\r\n errorMessage: string = \"\";\r\n\r\n constructor(\r\n private transfersService: TransfersService,\r\n private templateService: TemplatesService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n\r\n this.formSub = this.form.controls.mobileOrPn.valueChanges.subscribe(\r\n (value) => {\r\n this.backToStepOne();\r\n }\r\n );\r\n }\r\n\r\n initializeForm() {\r\n this.form = new FormGroup({\r\n mobileOrPn: new FormControl(\"\", [Validators.required]),\r\n name: new FormControl(\"\", Validators.required),\r\n });\r\n }\r\n\r\n checkIdentifier() {\r\n this.form.controls.mobileOrPn.markAsTouched();\r\n if (this.form.controls.mobileOrPn.valid) {\r\n this.fetchAccountsByMobileOrPn();\r\n }\r\n }\r\n\r\n fetchAccountsByMobileOrPn() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n this.fetchAccountsSub = this.transfersService\r\n .fetchAccountsByMobileOrPn(this.form.controls.mobileOrPn.value.toString())\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n if (res.data && res.data.accounts && !res.data.accounts.length) {\r\n this.errorMessage = \"NO_ACCOUNTS\";\r\n } else {\r\n this.step = 2;\r\n if (res.data.accounts[0].account) {\r\n this.form.controls.name.setValue(res.data.accounts[0].account);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n backToStepOne() {\r\n this.step = 1;\r\n this.form.controls.name.setValue(\"\");\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.form);\r\n\r\n if (this.form.valid) {\r\n this.addTemplate();\r\n }\r\n }\r\n\r\n addTemplate() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n const template = {\r\n template: {\r\n documentNumber: this.form.controls.mobileOrPn.value.toString(),\r\n isFavorite: false,\r\n name: this.form.controls.name.value.toString(),\r\n },\r\n };\r\n\r\n this.saveTemplateSub = this.templateService\r\n .addMobileOrPnTemplate(template)\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n this.router.navigateByUrl(\"/templates\");\r\n }\r\n });\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (this.form.get(input).invalid && this.form.get(input).touched) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.formSub.unsubscribe();\r\n if (this.fetchAccountsSub) {\r\n this.fetchAccountsSub.unsubscribe();\r\n }\r\n if (this.saveTemplateSub) {\r\n this.saveTemplateSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{ \"TEMPLATES_C.ADD_PN_TEMP\" | translate }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n {{ \"ERROR_CODES.\"+errorMessage | translate }}\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n {{\"GENERAL.CHECK\" | translate}}\r\n \r\n
\r\n
\r\n \r\n {{\"TEMPLATES_C.SAVE\" | translate}}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { generalBalanceInfo } from \"src/app/shared/models/models\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { productsBoxActiveTab } from \"../../../shared/enums/enums\";\r\n\r\n@Component({\r\n selector: \"app-products-box\",\r\n templateUrl: \"./products-box.component.html\",\r\n styleUrls: [\"./products-box.component.scss\"],\r\n})\r\nexport class ProductsBoxComponent implements OnInit {\r\n // Main Variables\r\n activeTabType = productsBoxActiveTab;\r\n activeTab: string = this.activeTabType.Accounts;\r\n\r\n // General Balance info Variables\r\n generalBalanceInfoSub: Subscription;\r\n generalBalanceInfo: generalBalanceInfo;\r\n\r\n generalBalanceInfoLoadingSub: Subscription;\r\n generalBalanceInfoLoading: boolean;\r\n\r\n generalBalanceInfoErrorMessageSub: Subscription;\r\n generalBalanceInfoErrorMessage: string;\r\n\r\n\r\n\r\n\r\n constructor(private customerInfoService: CustomerInfoService) {}\r\n\r\n ngOnInit(): void {\r\n this.customerInfoService.fetchGeneralBalanceInfo();\r\n\r\n this.subscribeToGeneralBalanceInfo();\r\n }\r\n\r\n subscribeToGeneralBalanceInfo() {\r\n this.generalBalanceInfoSub = this.customerInfoService.generalBalanceInfo.subscribe(\r\n (res: generalBalanceInfo) => {\r\n this.generalBalanceInfo = res;\r\n }\r\n );\r\n\r\n this.generalBalanceInfoLoadingSub = this.customerInfoService.generalBalanceInfoLoading.subscribe(\r\n (res: boolean) => {\r\n this.generalBalanceInfoLoading = res;\r\n }\r\n );\r\n\r\n this.generalBalanceInfoErrorMessageSub = this.customerInfoService.generalBalanceInfoErrorMessage.subscribe(\r\n (res: string) => {\r\n this.generalBalanceInfoErrorMessage = res;\r\n }\r\n );\r\n }\r\n\r\n setActiveTab(product) {\r\n this.activeTab = this.activeTabType[product];\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n {{ \"HOME.PRODUCT_BOX.kwacha\" | translate }}\r\n {{ generalBalanceInfo.totalBalanceZMW | moneyFormat }}\r\n
\r\n\r\n
\r\n {{ \"HOME.PRODUCT_BOX.Dollar\" | translate }}\r\n {{ generalBalanceInfo.totalBalanceUSD | moneyFormat }}\r\n
\r\n\r\n
\r\n {{ \"HOME.PRODUCT_BOX.Euro\" | translate }}\r\n {{ generalBalanceInfo.totalBalanceEUR | moneyFormat }}\r\n
\r\n
\r\n {{ \"HOME.PRODUCT_BOX.MY_LIABILITIES\" | translate }}\r\n {{ generalBalanceInfo.totalDebt | moneyFormat }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
","import { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dateFormat'\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n let formatedDate: string;\r\n let day: string;\r\n let month: string;\r\n let year: string;\r\n if (value.getDate() < 10) {\r\n day = \"0\" + value.getDate().toString();\r\n } else {\r\n day = value.getDate().toString();\r\n }\r\n // transform month from programing to human language\r\n let tempMonth = value.getMonth() + 1;\r\n if (value.getMonth() < 9) {\r\n month = \"0\" + tempMonth.toString();\r\n } else {\r\n month = tempMonth.toString();\r\n }\r\n year = value.getFullYear().toString();\r\n\r\n formatedDate = day + month + year;\r\n return formatedDate;\r\n }\r\n\r\n}\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AdSlider } from '../../models/models';\r\n\r\n@Component({\r\n selector: 'app-ad-slider',\r\n templateUrl: './ad-slider.component.html',\r\n styleUrls: ['./ad-slider.component.scss']\r\n})\r\nexport class AdSliderComponent implements OnInit {\r\n\r\n @Input()sliderContentArray:AdSlider[];\r\n \r\n // slider\r\n sliderTimeInterval;\r\n time: number = 0;\r\n activeSlide: number = 1;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.startSlider();\r\n }\r\n\r\n\r\n startSlider() {\r\n this.sliderTimeInterval = setInterval(() => {\r\n this.time++;\r\n\r\n if (this.time > 4) {\r\n if (this.activeSlide !== this.sliderContentArray.length) {\r\n this.activeSlide++;\r\n } else {\r\n this.activeSlide = 1;\r\n }\r\n\r\n this.time = 0;\r\n }\r\n }, 1000);\r\n }\r\n\r\n}\r\n\r\n","
\r\n \r\n \r\n \r\n
\r\n

{{ slide.text | translate }}

\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule, DatePipe } from \"@angular/common\";\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\nimport { TransactionListComponent } from \"./shared-components/transaction-list/transaction-list.component\";\r\nimport { LanguageSwitcherComponent } from \"./shared-components/language-switcher/language-switcher.component\";\r\nimport { ModalComponent } from \"./shared-components/modal/modal.component\";\r\nimport { ClickOutsideDirective } from \"./directives/click-outside.directive\";\r\nimport { SelectComponent } from \"./shared-components/select/select.component\";\r\nimport { FullDatePickerComponent } from \"./shared-components/full-date-picker/full-date-picker.component\";\r\nimport { PickDateComponent } from \"./shared-components/full-date-picker/pick-date/pick-date.component\";\r\nimport { PickMonthComponent } from \"./shared-components/full-date-picker/pick-month/pick-month.component\";\r\nimport { PickYearComponent } from \"./shared-components/full-date-picker/pick-year/pick-year.component\";\r\nimport { SmsRequestComponent } from \"./shared-components/sms-request/sms-request.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { DigitOnlyDirective } from \"./directives/digit-only.directive\";\r\nimport { UsernamePatternDirective } from \"./directives/username-pattern.directive\";\r\nimport { CurrencyDirective } from \"./directives/currency.directive\";\r\nimport { AreYouSureComponent } from \"./shared-components/popups/are-you-sure/are-you-sure.component\";\r\nimport { MobileTemplatesFilterPipe } from \"./pipes/mobile-templates-filter.pipe\";\r\nimport { MobileOrPnTemplatesFilterPipe } from \"./pipes/mobile-or-pn-templates-filter.pipe\";\r\nimport { AccountTemplatesFilterPipe } from \"./pipes/account-templates-filter.pipe\";\r\nimport { MoneyFormatPipe } from './pipes/money-format.pipe';\r\nimport { DateFormatPipe } from './pipes/date-format.pipe';\r\nimport { RangePickerComponent } from './shared-components/range-picker/range-picker.component';\r\nimport { ModalWithTextComponent } from './shared-components/popups/modal-with-text/modal-with-text.component';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { AdSliderComponent } from './shared-components/ad-slider/ad-slider.component';\r\nimport { AccountOverdraftComponent } from './shared-components/account-overdraft/account-overdraft.component';\r\nimport { BankSelectForTransfersComponent } from './shared-components/bank-select-for-transfers/bank-select-for-transfers.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n LanguageSwitcherComponent,\r\n TransactionListComponent,\r\n ModalComponent,\r\n ClickOutsideDirective,\r\n SelectComponent,\r\n FullDatePickerComponent,\r\n PickDateComponent,\r\n PickMonthComponent,\r\n PickYearComponent,\r\n SmsRequestComponent,\r\n DigitOnlyDirective,\r\n UsernamePatternDirective,\r\n CurrencyDirective,\r\n AreYouSureComponent,\r\n MobileTemplatesFilterPipe,\r\n MobileOrPnTemplatesFilterPipe,\r\n AccountTemplatesFilterPipe,\r\n MoneyFormatPipe,\r\n DateFormatPipe,\r\n RangePickerComponent,\r\n ModalWithTextComponent,\r\n TooltipComponent,\r\n AdSliderComponent,\r\n AccountOverdraftComponent,\r\n BankSelectForTransfersComponent\r\n ],\r\n imports: [CommonModule, FormsModule, TranslateModule],\r\n exports: [\r\n TranslateModule,\r\n LanguageSwitcherComponent,\r\n TransactionListComponent,\r\n ModalComponent,\r\n ClickOutsideDirective,\r\n SelectComponent,\r\n FullDatePickerComponent,\r\n SmsRequestComponent,\r\n DigitOnlyDirective,\r\n CurrencyDirective,\r\n MobileTemplatesFilterPipe,\r\n MobileOrPnTemplatesFilterPipe,\r\n AccountTemplatesFilterPipe,\r\n AreYouSureComponent,\r\n MoneyFormatPipe,\r\n DateFormatPipe,\r\n RangePickerComponent,\r\n ModalWithTextComponent,\r\n TooltipComponent,\r\n AdSliderComponent,\r\n AccountOverdraftComponent,\r\n BankSelectForTransfersComponent\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AddTemplateComponent } from \"./add-template/add-template.component\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { TemplatesService } from \"./templates.service\";\r\nimport { TemplatesComponent } from \"./templates.component\";\r\nimport { EditPhoneNumberTemplateComponent } from './edit-templates/edit-phone-number-template/edit-phone-number-template.component';\r\nimport { EditAccountNumberTemplateComponent } from './edit-templates/edit-account-number-template/edit-account-number-template.component';\r\nimport { EditMobileOrPnTemplateComponent } from './edit-templates/edit-mobile-or-pn-template/edit-mobile-or-pn-template.component';\r\nimport { AddAccountNumberTemplateComponent } from './add-template/add-account-number-template/add-account-number-template.component';\r\nimport { AddMobileOrPnTemplateComponent } from './add-template/add-mobile-or-pn-template/add-mobile-or-pn-template.component';\r\nimport { AddPhoneNumberTemplateComponent } from './add-template/add-phone-number-template/add-phone-number-template.component';\r\n\r\n@NgModule({\r\n declarations: [TemplatesComponent, AddTemplateComponent, EditPhoneNumberTemplateComponent, EditAccountNumberTemplateComponent, EditMobileOrPnTemplateComponent, AddAccountNumberTemplateComponent, AddMobileOrPnTemplateComponent, AddPhoneNumberTemplateComponent],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SharedModule,\r\n ],\r\n providers: [TemplatesService],\r\n})\r\nexport class TemplatesModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class OverdraftService {\r\n\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n public fetchAccountOverdraft(accountNumber) {\r\n return this.graphQL.request(gql`\r\n {\r\n overdrafts(accountNumber:\"${accountNumber}\") {\r\n amountGranted\r\n amountUsed\r\n currency\r\n customerName\r\n customerNumber\r\n productType\r\n overdraftStatus\r\n loanOfficer\r\n productType\r\n expiryDate\r\n }\r\n }\r\n `);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TakeALoanService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n calculateLoan(\r\n amount: number,\r\n rate: number,\r\n duration: number,\r\n aplicationFee: number\r\n ) {\r\n if (aplicationFee) {\r\n aplicationFee /= 100;\r\n amount += amount * aplicationFee;\r\n }\r\n\r\n let t = this.mathRound(rate / 100 / 12, 4);\r\n let numerator = t * amount;\r\n let monthlyRate = 1 + t;\r\n monthlyRate = this.mathRound(monthlyRate ** (-1 * duration), 4);\r\n let denominator = this.mathRound(1 - monthlyRate, 4);\r\n let monthly = Math.floor(numerator / denominator);\r\n\r\n return monthly;\r\n }\r\n\r\n mathRound(number, dig) {\r\n return Math.round(number * Math.pow(10, dig)) / Math.pow(10, dig);\r\n }\r\n\r\n cardAgreement(cardAgreement) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($cardAgreement: NewCardGType!) {\r\n getCardAgreement(cardAgreement: $cardAgreement)\r\n }\r\n `,\r\n cardAgreement\r\n );\r\n }\r\n\r\n sendMail(loanCalculatedData) {\r\n const { amount, fullName, period, personalNumber, phoneNumber, to } =\r\n loanCalculatedData;\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($loanCalculatedData: LoanCalculatedDataInputGType!) {\r\n sendLoanCalculatedData(loanCalculatedData: $loanCalculatedData)\r\n }\r\n `,\r\n {\r\n loanCalculatedData: {\r\n amount,\r\n fullName,\r\n period,\r\n personalNumber,\r\n phoneNumber,\r\n to,\r\n },\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport { Deposit } from \"../models/models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DepositsService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n public depositsLoading = new BehaviorSubject(false);\r\n public depositsError = new BehaviorSubject(\"\");\r\n public deposits = new BehaviorSubject>([]);\r\n\r\n fetchDepositsQuery() {\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n deposits {\r\n accountId\r\n account\r\n accountNumber\r\n currency\r\n categoryId\r\n category\r\n hasCard\r\n status\r\n statusId\r\n balance\r\n availableBalance\r\n blockedAmount\r\n currencyPriority\r\n availableBalanceEqu\r\n minimumBalance\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchDeposits() {\r\n this.depositsLoading.next(true);\r\n this.fetchDepositsQuery().subscribe((res: any): any => {\r\n this.depositsLoading.next(false);\r\n if (res.errors) {\r\n this.depositsError.next(res.errors[0].extensions.code);\r\n return;\r\n }\r\n if (res.data.customer.deposits.length === 0) {\r\n this.depositsError.next(\"NO_DEPOSITS\");\r\n return;\r\n }\r\n this.depositsError.next(\"\");\r\n this.deposits.next(res.data.customer.deposits);\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CustomerInfoService } from \"../shared/services/customer-info.service\";\r\n@Component({\r\n selector: \"app-core\",\r\n templateUrl: \"./core.component.html\",\r\n styleUrls: [\"./core.component.scss\"],\r\n})\r\nexport class CoreComponent implements OnInit {\r\n menuIsOpen: boolean = false;\r\n\r\n constructor(\r\n private customerInfoService: CustomerInfoService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.customerInfoService.fetchCustomerInfo();\r\n }z\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss']\r\n})\r\nexport class TooltipComponent implements OnInit {\r\n\r\n @ViewChild(\"tref\", { read: ElementRef }) tref: ElementRef;\r\n\r\n @Input() tooltipText: string;\r\n\r\n parentHeight: any;\r\n parentWidth: any;\r\n parentTop: number;\r\n parentLeft: number;\r\n\r\n tooltipWidth: number;\r\n tooltipHeight: number;\r\n tooltipTop: number;\r\n\r\n tooltipPosTop;\r\n tooltipPosLeft;\r\n tooltipArrowPosLeft;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit(): void {\r\n this.getParentParameters();\r\n }\r\n\r\n getParentParameters() {\r\n this.tref.nativeElement.parentElement.parentElement.onmouseover = () => {\r\n let parent = this.tref.nativeElement.parentElement.parentElement;\r\n this.parentHeight = parent.getBoundingClientRect().height;\r\n this.parentWidth = parent.getBoundingClientRect().width;\r\n this.parentTop = parent.getBoundingClientRect().top;\r\n this.parentLeft = parent.getBoundingClientRect().left;\r\n\r\n this.setPosition();\r\n };\r\n }\r\n\r\n setPosition() {\r\n const windowWidth = window.innerWidth;\r\n const windowHeight = window.innerHeight;\r\n\r\n this.tooltipWidth = this.tref.nativeElement.getBoundingClientRect().width;\r\n this.tooltipHeight = this.tref.nativeElement.getBoundingClientRect().height;\r\n this.tooltipTop = this.tref.nativeElement.getBoundingClientRect().top;\r\n\r\n this.tooltipPosTop = this.parentTop + this.parentHeight + 5;\r\n\r\n this.tooltipPosLeft =\r\n this.parentLeft + this.parentWidth / 2 - this.tooltipWidth / 2;\r\n\r\n if (this.tooltipPosLeft < 10) {\r\n this.tooltipPosLeft = 10;\r\n }\r\n if (this.tooltipPosLeft > windowWidth - (this.tooltipWidth + 10)) {\r\n this.tooltipPosLeft = windowWidth - this.tooltipWidth - 10;\r\n }\r\n if (this.tooltipTop + this.tooltipHeight > windowHeight) {\r\n this.tooltipPosTop = this.parentTop - this.tooltipHeight - 5;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n

{{tooltipText}}

\r\n
\r\n ","import { ChangeDetectorRef, Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport {\r\n accountsInfo,\r\n customerInfo,\r\n generalBalanceInfo,\r\n selectType,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport html2canvas from \"html2canvas\";\r\nimport * as jspdf from \"jspdf\";\r\nimport { TransactionListService } from \"src/app/shared/services/transaction-list.service\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { MoneyFormatPipe } from \"src/app/shared/pipes/money-format.pipe\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { TransactionsService } from \"./transactions.service\";\r\n\r\n@Component({\r\n selector: \"app-transactions\",\r\n templateUrl: \"./transactions.component.html\",\r\n template: \"\",\r\n styleUrls: [\"./transactions.component.scss\"],\r\n})\r\nexport class TransactionsComponent extends accountsInfoBase implements OnInit {\r\n //Component view\r\n view = \"default\";\r\n\r\n downloadPdfLoading: boolean = false;\r\n\r\n //Inputs for transaction List\r\n startDate;\r\n endDate;\r\n accountNumber;\r\n\r\n //For Account Select\r\n accounts: Array;\r\n account: selectType;\r\n accountsLoading: boolean;\r\n\r\n errorMessage: string;\r\n\r\n //For Period Select\r\n periodOptions = [\r\n {\r\n id: \"1\",\r\n mainTitle: this.translateService.instant(\"TRANSACTIONS.LAST_3_MONTH\"),\r\n },\r\n {\r\n id: \"2\",\r\n mainTitle: this.translateService.instant(\"TRANSACTIONS.LAST_6_MONTH\"),\r\n },\r\n {\r\n id: \"3\",\r\n mainTitle: this.translateService.instant(\"TRANSACTIONS.CUSTOM\"),\r\n },\r\n ];\r\n periodArray: selectType;\r\n selectedPeriod;\r\n customPeriod: boolean = false;\r\n pdfLink;\r\n\r\n //Inputs for datepicker\r\n minDate = new Date(1950, 0, 1);\r\n todaysDate = new Date();\r\n\r\n advancedSearchForm: FormGroup;\r\n\r\n constructor(\r\n private accountsInfoService: AccountsInfoService,\r\n private formBuilder: FormBuilder,\r\n private translateService: TranslateService,\r\n private transactionListService: TransactionListService,\r\n private modalService: ModalWithTextService,\r\n private customerInfoService: CustomerInfoService,\r\n private moneyFormat: MoneyFormatPipe,\r\n private datePipe: DatePipe,\r\n private cdr: ChangeDetectorRef,\r\n private transactionService: TransactionsService\r\n ) {\r\n super();\r\n }\r\n\r\n private initadvancedSearchForm(): void {\r\n this.advancedSearchForm = this.formBuilder.group({\r\n accountNumber: [\"\", Validators.required],\r\n startDate: [\"\", Validators.required],\r\n endDate: [\"\", Validators.required],\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.account = null;\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.preparePeriodForSelect();\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n if (res) {\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.accountsLoading = false;\r\n if (res) {\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n this.initadvancedSearchForm();\r\n }\r\n //#region ExportStatement\r\n generateData(transactions) {\r\n let dates = transactions.map((item) => {\r\n return this.datePipe.transform(\r\n item.transactionExecutionTime,\r\n \"yyyy-MMM-dd\"\r\n );\r\n });\r\n let dateValues = transactions.map((item) => {\r\n return this.datePipe.transform(item.transactionValueDate, \"yyyy-MMM-dd\");\r\n });\r\n let description = transactions.map((item) => {\r\n return item.description1;\r\n });\r\n let credits = transactions.map((item) => {\r\n return item.amount > 0\r\n ? this.moneyFormat.transform(item.amount).toString()\r\n : \"0\";\r\n });\r\n let debits = transactions.map((item) => {\r\n return item.amount < 0\r\n ? this.moneyFormat.transform(item.amount).toString()\r\n : \"0\";\r\n });\r\n let balance = transactions.map((item) => {\r\n return this.moneyFormat.transform(item.balance).toString();\r\n });\r\n\r\n var result = [];\r\n for (var i = 0; i < transactions.length; i += 1) {\r\n const temp = {\r\n Date: dates[i],\r\n DateValue: dateValues[i],\r\n Description: description[i],\r\n Credit: credits[i],\r\n Debit: debits[i],\r\n Balance: balance[i],\r\n };\r\n temp[\"id\"] = (i + 1).toString();\r\n result.push(Object.assign({}, temp));\r\n }\r\n return result;\r\n }\r\n\r\n createHeaders(keys) {\r\n var result = [];\r\n for (var i = 0; i < keys.length; i += 1) {\r\n result.push({\r\n id: keys[i],\r\n name: keys[i],\r\n prompt: keys[i],\r\n width: 65,\r\n align: \"center\",\r\n padding: 0,\r\n });\r\n }\r\n return result;\r\n }\r\n exportStatementToPdf(): void {\r\n if (this.advancedSearchForm.valid) {\r\n this.downloadPdfLoading = true;\r\n let headers = this.createHeaders([\r\n \"Date\",\r\n \"DateValue\",\r\n \"Description\",\r\n \"Credit\",\r\n \"Debit\",\r\n \"Balance\",\r\n ]);\r\n let doc = new jspdf.jsPDF(\"l\", \"mm\", \"a4\", true);\r\n this.transactionListService\r\n .fetchTransactions(\r\n this.returnDateString(\r\n this.advancedSearchForm.controls.startDate.value\r\n ),\r\n this.returnDateString(this.advancedSearchForm.controls.endDate.value),\r\n this.advancedSearchForm.controls.accountNumber.value\r\n )\r\n .subscribe((res: any) => {\r\n let x = 20;\r\n let startingY = 20;\r\n const imgData = \"../../../assets/images/logo.png\";\r\n doc?.addImage(imgData, \"PNG\", x + 72, 10, 110, 25, \"\", \"FAST\");\r\n doc?.setFontSize(22);\r\n doc?.text(\"Breakdown of transactions\", x + 85, startingY + 30);\r\n this.customerInfoService.customerInfo.subscribe(\r\n (res: customerInfo) => {\r\n doc?.setFontSize(14);\r\n doc?.text(\r\n `${\r\n res.companyName\r\n ? res.companyName\r\n : res.firstNameLat + \" \" + res.lastNameLat\r\n }`,\r\n x,\r\n startingY + 50\r\n );\r\n doc?.text(\r\n `${res.companyName ? res.fullLegalAddress : res.fullAddress}`,\r\n x,\r\n startingY + 60\r\n );\r\n }\r\n );\r\n let accountsInfo: any = this.accountsInfo;\r\n let choosenAccount = accountsInfo.filter((item) => {\r\n if (\r\n item.accountNumber ==\r\n this.advancedSearchForm.controls.accountNumber.value\r\n ) {\r\n return item;\r\n }\r\n });\r\n doc?.text(\r\n `Balance: ${this.moneyFormat.transform(choosenAccount[0].balance)}`,\r\n x,\r\n startingY + 70\r\n );\r\n doc?.text(\r\n `Available balance: ${this.moneyFormat.transform(\r\n choosenAccount[0].availableBalance\r\n )}`,\r\n x,\r\n startingY + 80\r\n );\r\n doc?.text(\r\n `Account number: ${this.advancedSearchForm.controls.accountNumber.value}`,\r\n x,\r\n startingY + 90\r\n );\r\n doc?.text(\r\n `${this.datePipe.transform(\r\n this.advancedSearchForm.controls.startDate.value,\r\n \"yyyy-MMM-dd\"\r\n )}/${this.datePipe.transform(\r\n this.advancedSearchForm.controls.endDate.value,\r\n \"yyyy-MMM-dd\"\r\n )}`,\r\n x,\r\n startingY + 100\r\n );\r\n doc?.table(\r\n 2,\r\n startingY + 130,\r\n this.generateData(res.data.customer.transactions),\r\n headers,\r\n { autoSize: false }\r\n );\r\n doc?.save(\r\n `${this.returnDateString(\r\n this.advancedSearchForm.controls.startDate.value\r\n )}/${this.returnDateString(\r\n this.advancedSearchForm.controls.endDate.value\r\n )}-Transactions.pdf`\r\n );\r\n this.downloadPdfLoading = false;\r\n });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n public setFilterDateFrom(date): void {\r\n this.advancedSearchForm.controls.startDate.setValue(date);\r\n }\r\n public setFilterDateTo(date): void {\r\n this.advancedSearchForm.controls.endDate.setValue(date);\r\n }\r\n\r\n //Switch view 'default' or 'advanced'\r\n public switchView(viewType: string): void {\r\n this.view = viewType;\r\n }\r\n public selectAccount(account: selectType): void {\r\n this.account = account;\r\n this.advancedSearchForm.controls.accountNumber.setValue(this.account.id);\r\n }\r\n public selectPeriod(period: selectType): void {\r\n this.selectedPeriod = period;\r\n var currentDate = new Date();\r\n switch (this.selectedPeriod.id) {\r\n case \"1\":\r\n currentDate.setMonth(currentDate.getMonth() - 3);\r\n this.advancedSearchForm.controls.startDate.setValue(currentDate);\r\n this.advancedSearchForm.controls.endDate.setValue(this.todaysDate);\r\n this.customPeriod = false;\r\n break;\r\n case \"2\":\r\n currentDate.setMonth(currentDate.getMonth() - 6);\r\n this.advancedSearchForm.controls.startDate.setValue(currentDate);\r\n this.advancedSearchForm.controls.endDate.setValue(this.todaysDate);\r\n this.customPeriod = false;\r\n break;\r\n case \"3\":\r\n this.customPeriod = true;\r\n break;\r\n }\r\n }\r\n public filterTransactions(): void {\r\n if (this.advancedSearchForm.valid) {\r\n this.startDate = this.returnDateString(\r\n this.advancedSearchForm.controls.startDate.value\r\n );\r\n this.endDate = this.returnDateString(\r\n this.advancedSearchForm.controls.endDate.value\r\n );\r\n this.accountNumber = this.advancedSearchForm.controls.accountNumber.value;\r\n }\r\n }\r\n private returnDateString(date: Date): string {\r\n const formattedDate = this.datePipe.transform(date, \"yyyy-MM-dd\");\r\n return formattedDate;\r\n }\r\n private prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n\r\n if (temp) {\r\n this.accounts = temp.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n underTitle: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n }\r\n private preparePeriodForSelect(): void {\r\n let temp: any = this.periodOptions;\r\n\r\n this.periodArray = temp.map((x: any) => ({\r\n id: x.id,\r\n mainTitle: x.mainTitle,\r\n }));\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n

\r\n {{ \"TRANSACTIONS.SEARCH\" | translate }}\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{ \"TRANSACTIONS.FILTER\" | translate }}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n {{ \"TRANSACTIONS.DOWNLOAD\" | translate }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

\r\n {{ \"TRANSACTIONS.TRANSACTION_HISTORY\" | translate }}\r\n

\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","import { Component } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"],\r\n})\r\nexport class AppComponent {\r\n title = \"mycredo-front-abz\";\r\n\r\n constructor(translate: TranslateService) {\r\n translate.addLangs([\"en\", \"fr\"]);\r\n\r\n if (localStorage.getItem(\"choosenLanguage\")) {\r\n translate.setDefaultLang(localStorage.getItem(\"choosenLanguage\"));\r\n translate.use(localStorage.getItem(\"choosenLanguage\"));\r\n } else {\r\n translate.setDefaultLang(\"en\");\r\n translate.use(\"en\");\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import { Subscription } from \"rxjs\";\r\nimport { accountsInfo } from \"../models/models\";\r\nimport { AccountsInfoService } from \"../services/accounts-info.service\";\r\n\r\nexport class accountsInfoBase {\r\n accountsInfoSub: Subscription;\r\n accountsInfo: accountsInfo;\r\n\r\n defaultAccountInfo: accountsInfo;\r\n defaultAccountInfoSub: Subscription;\r\n\r\n accountsInfoLoadingSub: Subscription;\r\n accountsInfoLoading: boolean;\r\n\r\n accountsInfoErrorMessageSub: Subscription;\r\n accountsInfoErrorMessage: string;\r\n\r\n subscribeToAccountsInfo(accountsInfoService: AccountsInfoService) {\r\n this.accountsInfoSub = accountsInfoService.accountsInfo.subscribe(\r\n (res: accountsInfo): any => {\r\n this.accountsInfo = res;\r\n }\r\n );\r\n\r\n this.defaultAccountInfoSub = accountsInfoService.defaultAccountInfo.subscribe(\r\n (res: accountsInfo): any => {\r\n this.defaultAccountInfo = res;\r\n }\r\n )\r\n\r\n this.accountsInfoLoadingSub = accountsInfoService.accountsInfoLoading.subscribe(\r\n (res: boolean): any => {\r\n this.accountsInfoLoading = res;\r\n }\r\n );\r\n\r\n this.accountsInfoErrorMessageSub = accountsInfoService.accountsInfoErrorMessage.subscribe(\r\n (res: string): any => {\r\n this.accountsInfoErrorMessage = res;\r\n }\r\n );\r\n }\r\n\r\n unsubscribeAccountsInfo() {\r\n if (this.accountsInfoSub) {\r\n this.accountsInfoSub.unsubscribe();\r\n }\r\n if (this.accountsInfoLoadingSub) {\r\n this.accountsInfoLoadingSub.unsubscribe();\r\n }\r\n if (this.accountsInfoErrorMessageSub) {\r\n this.accountsInfoErrorMessageSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { LandingComponent } from \"./landing.component\";\r\nimport { LandingRoutingModule } from \"./landing-routing-module\";\r\nimport { AuthComponent } from \"./auth/auth.component\";\r\nimport { LandingHeaderComponent } from \"./landing-header/landing-header.component\";\r\nimport { LandingFooterComponent } from \"./landing-footer/landing-footer.component\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { TwoFaComponent } from './auth/two-fa/two-fa.component';\r\nimport { TermsOfUseComponent } from './terms-of-use/terms-of-use.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n LandingComponent,\r\n AuthComponent,\r\n LandingHeaderComponent,\r\n LandingFooterComponent,\r\n RegisterComponent,\r\n ResetPasswordComponent,\r\n TwoFaComponent,\r\n TermsOfUseComponent\r\n ],\r\n imports: [CommonModule, LandingRoutingModule, ReactiveFormsModule, SharedModule],\r\n})\r\nexport class LandingModule {}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { TemplatesService } from \"../../templates.service\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-add-account-number-template\",\r\n templateUrl: \"./add-account-number-template.component.html\",\r\n styleUrls: [\"./add-account-number-template.component.scss\"],\r\n})\r\nexport class AddAccountNumberTemplateComponent implements OnInit, OnDestroy {\r\n accountTemplateForm: FormGroup;\r\n\r\n formSub: Subscription;\r\n\r\n checkAccountSub: Subscription;\r\n addTemplateSub: Subscription;\r\n\r\n loading = false;\r\n\r\n wrongAccountNumbersList = [];\r\n\r\n errorMessage = \"\";\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private templateService: TemplatesService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n // this.subscribeToForm();\r\n }\r\n\r\n initializeForm() {\r\n this.accountTemplateForm = this.formBuilder.group({\r\n accountNumber: new FormControl(\"\", {\r\n validators: [\r\n Validators.required,\r\n this.accountNumberValidation(this.wrongAccountNumbersList),\r\n ],\r\n }),\r\n name: new FormControl(\"\", { validators: [Validators.required] }),\r\n bank: new FormControl(\"\", { validators: [Validators.required] }),\r\n });\r\n }\r\n\r\n // subscribeToForm() {\r\n // this.formSub = this.accountTemplateForm\r\n // .get(\"accountNumber\")\r\n // .valueChanges.subscribe((accNumber) => {\r\n // this.errorMessage = \"\";\r\n // this.checkAccountNumber(accNumber);\r\n // });\r\n // }\r\n\r\n // checkAccountNumber(accNumber) {\r\n // if (!this.wrongAccountNumbersList.includes(accNumber)) {\r\n // this.loading = true;\r\n // this.checkAccountSub = this.templateService\r\n // .checkAccountNumberInfo(accNumber)\r\n // .subscribe((res) => {\r\n // this.loading = false;\r\n\r\n // if (\r\n // res.data[\"customer\"] &&\r\n // (res.data[\"customer\"][\"firstNameLat\"] ||\r\n // res.data[\"customer\"][\"lastNameLat\"])\r\n // ) {\r\n // const name =\r\n // res.data[\"customer\"][\"firstNameLat\"] +\r\n // \" \" +\r\n // res.data[\"customer\"][\"lastNameLat\"];\r\n // this.accountTemplateForm.controls.name.setValue(name);\r\n // } else if (res.errors) {\r\n // this.accountTemplateForm.controls.name.setValue(\"\");\r\n // if (res.errors[0].extensions.code === \"BAD_REQUEST\") {\r\n // this.errorMessage = \"WRONG_IBAN\";\r\n // if (!this.wrongAccountNumbersList.includes(accNumber)) {\r\n // this.wrongAccountNumbersList.push(accNumber);\r\n // this.accountTemplateForm.controls.accountNumber.setValue(\"\");\r\n // this.accountTemplateForm.controls.accountNumber.setValue(\r\n // accNumber\r\n // );\r\n // }\r\n // }\r\n // if (res.errors[0].extensions.code === \"NOT_FOUND\") {\r\n // this.errorMessage = \"NOT_FOUND\";\r\n // }\r\n // }\r\n // });\r\n // }\r\n // }\r\n getEmittedIndustryNumber(event) {\r\n this.accountTemplateForm.controls.bank.setValue(event);\r\n }\r\n accountNumberValidation(array: string[]) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n return array.includes(value) ? { wrongAccountNumber: true } : null;\r\n };\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.accountTemplateForm);\r\n if (this.accountTemplateForm.valid) {\r\n this.addTemplate();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n addTemplate() {\r\n this.loading = true;\r\n const template = {\r\n template: {\r\n beneficiaryAccountNumber:this.accountTemplateForm.controls.accountNumber.value,\r\n name: this.accountTemplateForm.controls.name.value,\r\n isFavorite: false,\r\n bankBicCode: this.accountTemplateForm.controls.bank.value,\r\n },\r\n };\r\n\r\n this.addTemplateSub = this.templateService\r\n .addTransferTemplate(template)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n if (!res.errors) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.accountTemplateForm.get(input).invalid &&\r\n this.accountTemplateForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // if(this.formSub){\r\n // this.formSub.unsubscribe();\r\n // }\r\n if (this.checkAccountSub) {\r\n this.checkAccountSub.unsubscribe();\r\n }\r\n if (this.addTemplateSub) {\r\n this.addTemplateSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{ \"TEMPLATES_C.ADD_ACC_NUM_TEMP\" | translate }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"TEMPLATES_C.CHOOSE_BANK\" | translate }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.SAVE\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Deposit } from \"src/app/shared/models/models\";\r\nimport { DepositsService } from \"src/app/shared/services/deposits.service\";\r\n\r\n@Component({\r\n selector: \"app-deposits-list-mini\",\r\n templateUrl: \"./deposits-list-mini.component.html\",\r\n styleUrls: [\"./deposits-list-mini.component.scss\"],\r\n})\r\nexport class DepositsListMiniComponent implements OnInit, OnDestroy {\r\n public depositErrorMessage: string;\r\n public deposits: Array = [];\r\n public isDepositsLoading: boolean;\r\n\r\n private subs = new Subscription();\r\n\r\n constructor(private depositsService: DepositsService) {}\r\n\r\n ngOnInit(): void {\r\n this.depositsService.fetchDeposits();\r\n this.subscribe();\r\n }\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n private subscribe(): void {\r\n this.subToDeposits();\r\n this.subToDepositsError();\r\n this.subToDepositsLoading();\r\n }\r\n\r\n private subToDepositsError(): void {\r\n this.subs.add(\r\n this.depositsService.depositsError.subscribe((error: string) => {\r\n this.depositErrorMessage = error;\r\n })\r\n );\r\n }\r\n private subToDeposits(): void {\r\n this.subs.add(\r\n this.depositsService.deposits.subscribe((deposits: Array) => {\r\n this.deposits = deposits;\r\n })\r\n );\r\n }\r\n private subToDepositsLoading(): void {\r\n this.subs.add(\r\n this.depositsService.depositsLoading.subscribe((isLoading: boolean) => {\r\n this.isDepositsLoading = isLoading;\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

\r\n {{ \"ERROR_CODES.\" + depositErrorMessage | translate }}\r\n

\r\n
\r\n
    \r\n
  • \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.ACCOUNT_NUMBER\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.AVAILABLE_AMOUNT\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.CURRENCY\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.CATEGORY\" | translate }}\r\n
    \r\n
  • \r\n \r\n
    \r\n {{ deposit.accountNumber }}\r\n
    \r\n
    \r\n {{ deposit.availableBalance | moneyFormat }}\r\n
    \r\n
    \r\n {{ deposit.currency }}\r\n
    \r\n
    \r\n {{ deposit.category }}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy, SimpleChanges } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Router } from \"@angular/router\";\r\nimport { TransferInfo } from \"../../../../app/shared/models/models\";\r\nimport { accountsInfo, selectType } from \"../../../../app/shared/models/models\";\r\nimport { AccountsInfoService } from \"../../../../app/shared/services/accounts-info.service\";\r\nimport { accountsInfoBase } from \"../../../../app/shared/component-bases/accounts-info-base\";\r\nimport { FunctionsService } from \"../../../../app/shared/functions/functions.service\";\r\nimport { TransfersService } from \"../transfers.service\";\r\nimport { TransferBase } from \"../transfers-base\";\r\nimport { loadavg } from \"os\";\r\nimport { SelectService } from \"src/app/shared/shared-components/select/select.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-transfer-to-own\",\r\n templateUrl: \"./transfer-to-own.component.html\",\r\n styleUrls: [\"./transfer-to-own.component.scss\"],\r\n})\r\nexport class TransferToOwnComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n\r\n step: number = 1;\r\n guid: Guid;\r\n\r\n amount: number;\r\n description: string = \"\";\r\n\r\n loading: boolean = true;\r\n\r\n loadingFromSelect: boolean = true;\r\n loadingToSelect: boolean = true;\r\n defaultAccount: selectType;\r\n\r\n accountsFrom: Array;\r\n accountFromLoadingText = \"TRANSFERS.FROM_ACC_PLACEHOLDER\";\r\n accountsTo: selectType;\r\n accountToLoadingText = \"TRANSFERS.TO_ACC_PLACEHOLDER\";\r\n selectedAccountTo?: selectType;\r\n selectedAccountFrom?: selectType;\r\n\r\n transferConfirmation$: any;\r\n transferConfirmationLoading = false;\r\n transferConfirmationError: any;\r\n transferConfirmation: TransferInfo;\r\n\r\n showTransferInfoModal = false;\r\n\r\n confirmErrorMessage: string;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private accountsInfoService: AccountsInfoService,\r\n private functionsService: FunctionsService,\r\n private transfersService: TransfersService,\r\n private modalService: ModalWithTextService,\r\n private translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedAccountFrom = null;\r\n this.selectedAccountTo = null;\r\n this.initializeForm();\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n }\r\n\r\n initializeForm() {\r\n this.form = this.formBuilder.group({\r\n accountFrom: new FormControl(\"\", [Validators.required]),\r\n accountTo: new FormControl(\"\", [Validators.required]),\r\n amount: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.max(100000),\r\n ]),\r\n description: new FormControl(\"\", [Validators.required]),\r\n });\r\n }\r\n\r\n prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n\r\n this.accountsFrom = temp.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n prepareAccountsForToSelect(accountFrom: selectType) {\r\n let accounts: any = this.accountsInfo;\r\n let choosenAccount = accounts.find(\r\n (x: accountsInfo) => x.accountId === accountFrom.id\r\n );\r\n accounts = accounts.filter(\r\n (x: accountsInfo) => x.accountId !== choosenAccount.accountId\r\n );\r\n accounts = accounts.filter(\r\n (x: accountsInfo) => x.currency === choosenAccount.currency\r\n );\r\n this.accountsTo = accounts.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n this.loadingToSelect = false;\r\n }\r\n selectAccountFrom(accFrom: selectType) {\r\n this.selectedAccountFrom = accFrom;\r\n this.form.get(\"accountFrom\").setValue(this.selectedAccountFrom.mainTitle);\r\n this.setMaxAmountBasedOnChoosenAccount(this.selectedAccountFrom);\r\n this.prepareAccountsForToSelect(this.selectedAccountFrom);\r\n }\r\n setMaxAmountBasedOnChoosenAccount(account) {\r\n const accounts:any = this.accountsInfo;\r\n const choosenAccount = accounts.find((x)=> x.accountNumber === account.mainTitle);\r\n let maxAmount = choosenAccount.balance;\r\n if(maxAmount > 100000) maxAmount = 100000;\r\n this.form.controls.amount.setValidators([\r\n Validators.required,\r\n Validators.max(maxAmount),\r\n ]);\r\n }\r\n\r\n selectAccountTo(accTo: selectType) {\r\n this.selectedAccountTo = accTo;\r\n this.form.get(\"accountTo\").setValue(this.selectedAccountTo.mainTitle);\r\n this.step = 2;\r\n }\r\n\r\n prepareForTransfer() {\r\n this.markFormGroupTouched(this.form);\r\n if (this.form.valid) {\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transfersService,\r\n this.form.controls.amount.value,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n this.guid.toString(),\r\n \"TRANSFER_BETWEEN_OWN_ACCOUNTS\",\r\n () => (this.step = 3)\r\n );\r\n this.loadingFromSelect = true;\r\n this.loadingToSelect = true;\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n isDisabledFirstStep() {\r\n return this.step === 3;\r\n }\r\n\r\n gotoFirstStep() {\r\n this.step = 1;\r\n this.loadingFromSelect = false;\r\n this.loadingToSelect = false;\r\n this.prepareTransfer = false;\r\n this.selectedAccountTo = null;\r\n this.form.get(\"amount\").setValue(null);\r\n this.form.get(\"description\").setValue(null);\r\n }\r\n\r\n transferToOwnAccountConfirm() {\r\n this.unsubscribeTransferConfirmation();\r\n this.transferConfirmationLoading = true;\r\n this.transferConfirmation = undefined;\r\n this.loading = true;\r\n\r\n this.transferConfirmation$ = this.transfersService\r\n .transferToOwnAccountConfirm(\r\n this.selectedAccountFrom.mainTitle,\r\n this.selectedAccountTo.mainTitle,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n +this.form.get(\"amount\").value,\r\n this.form.get(\"description\").value,\r\n this.prepareTransfer.fee,\r\n this.guid.toString()\r\n )\r\n .subscribe((res: any) => {\r\n this.showTransferInfoModal = true;\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if (res.data?.addInternalTransfer) {\r\n if (\r\n res.data.addInternalTransfer.status === \"SUCCESS\" &&\r\n res.data.addInternalTransfer.id\r\n ) {\r\n this.transferConfirmationError = undefined;\r\n const voucherNumber = res.data.addInternalTransfer.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n } else {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n }\r\n\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addInternalTransfer\"]\r\n ? res[\"data\"][\"addInternalTransfer\"]\r\n : {};\r\n });\r\n }\r\n\r\n unsubscribeTransferConfirmation() {\r\n if (this.transferConfirmation$) {\r\n this.transferConfirmation$.unsubscribe();\r\n }\r\n }\r\n\r\n giveInputClasses(input: AbstractControl) {\r\n if (this.step !== 2) {\r\n return \"disabled\";\r\n } else {\r\n return this.functionsService.giveClassesToCustomInputs(input);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.unsubscribeAccountsInfo();\r\n }\r\n\r\n closeClick() {\r\n this.router.navigateByUrl(\r\n \"/products/accounts/\" + this.selectedAccountFrom.mainTitle\r\n );\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TRANSFERS.BETWEEN_OWN\" | translate }}

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.FROM_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.TO_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n\r\n
\r\n

{{ \"GENERAL.DETAILS\" | translate }}

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.INSUFFICIENT_FUNDS\" | translate }}\r\n

\r\n

= 100000\r\n \">\r\n Please Note That You Can Only Transfer An Amount of Up to ZMW {{ \"GENERAL.AMOUNT\" | translate }}:{{ 100000 | moneyFormat }} , For All Transfers Above ZMW 100,000.00, and International Transfers, Kindly Visit Your Nearest Branch\r\n

\r\n
\r\n\r\n

\r\n {{ \"GENERAL.FEE\" | translate }}:\r\n {{ prepareTransfer?.fee | moneyFormat }}\r\n {{ prepareTransfer?.currency }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{ \"GENERAL.NEXT\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.BACK\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.TRANSFER\" | translate }}\r\n \r\n
\r\n
\r\n

\r\n {{ transferConfirmationError }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-add-template',\r\n templateUrl: './add-template.component.html',\r\n styleUrls: ['./add-template.component.scss']\r\n})\r\nexport class AddTemplateComponent implements OnInit, OnDestroy {\r\n ADD_ACCOUNT = \"account\";\r\n ADD_MOBILE_OR_PN = \"mobileOrPn\";\r\n ADD_PHONE = \"mobile\";\r\n ADD_UTILITY_BILLS = \"utility\";\r\n\r\n activeTab: string;\r\n routeSub: Subscription;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.routeSub = this.route.params.subscribe((data) => {\r\n switch (data.tab) {\r\n case this.ADD_ACCOUNT:\r\n this.activeTab = this.ADD_ACCOUNT;\r\n break;\r\n case this.ADD_PHONE:\r\n this.activeTab = this.ADD_PHONE;\r\n break;\r\n case this.ADD_UTILITY_BILLS:\r\n this.activeTab = this.ADD_UTILITY_BILLS;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n\r\n giveActiveTabClass(type) {\r\n return type === this.activeTab ? \"active\" : \"\";\r\n }\r\n\r\n isActiveMenuElement(tab: string) {\r\n return this.activeTab === tab;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.routeSub.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TEMPLATES_C.ADD_NEW_TEMP\" | translate }}

\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{\r\n \"TEMPLATES_C.ADD_ACCOUNT_NUMBER_TEMP\" | translate\r\n }}\r\n
\r\n \r\n \r\n \r\n {{ \"TEMPLATES_C.ADD_PN_TEMP\" | translate }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\nimport { NgModule } from \"@angular/core\";\r\n\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { LandingModule } from \"./landing/landing.module\";\r\nimport { CoreModule } from \"./core/core.module\";\r\nimport { GraphQLModule } from \"./graphql.module\";\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { HttpClientModule, HttpClient } from \"@angular/common/http\";\r\n\r\n//Translation\r\nimport { TranslateModule, TranslateLoader } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { DateFormatPipe } from \"./shared/pipes/date-format.pipe\";\r\nimport { registerLocaleData } from \"@angular/common\";\r\nimport localeKa from \"@angular/common/locales/ka\";\r\nimport localeFr from \"@angular/common/locales/fr\";\r\nimport localeMg from \"@angular/common/locales/mg\";\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent,],\r\n imports: [\r\n BrowserModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n defaultLanguage: \"en\",\r\n }),\r\n LandingModule,\r\n CoreModule,\r\n SharedModule,\r\n AppRoutingModule,\r\n GraphQLModule,\r\n HttpClientModule,\r\n ],\r\n providers: [DateFormatPipe],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {\r\n constructor() {\r\n registerLocaleData(localeKa, \"ka\");\r\n registerLocaleData(localeFr, \"fr\");\r\n registerLocaleData(localeMg, \"mg\");\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { selectType } from \"../../models/models\";\r\nimport { MoneyFormatPipe } from \"../../pipes/money-format.pipe\";\r\n\r\n@Component({\r\n selector: \"app-select\",\r\n templateUrl: \"./select.component.html\",\r\n styleUrls: [\"./select.component.scss\"],\r\n})\r\nexport class SelectComponent implements OnInit {\r\n selectState = \"closed\";\r\n invalid = false;\r\n\r\n @Input() loadingtext: string;\r\n @Input() loading: boolean = true;\r\n @Input() choseElement: selectType;\r\n @Input() inputArray: Array;\r\n @Input() newItem: boolean;\r\n @Input() showDropIcon: boolean = false;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() newItemClick = new EventEmitter();\r\n\r\n displayItem: selectType; \r\n\r\n dropArrow: boolean = true;\r\n\r\n\r\n constructor(private moneyFormat: MoneyFormatPipe) {}\r\n\r\n ngOnInit() {\r\n }\r\n formatMoney(): void {\r\n this.inputArray?.forEach((element) => {\r\n for (const [key, value] of Object.entries(element)) {\r\n if (value?.toString().includes(\"MGA\") && !value.toString().includes(\",\")) {\r\n let amount = element[key].replace(\"MGA\", \"\").trim();\r\n if (amount != \"\") {\r\n amount = parseFloat(amount);\r\n let transformedAmount = this.moneyFormat.transform(amount);\r\n element[key] = `${transformedAmount} MGA`;\r\n }\r\n }\r\n }\r\n });\r\n this.displayItem = null;\r\n }\r\n ngOnChanges(changes): void {\r\n if (this.inputArray) {\r\n if (this.choseElement) {\r\n this.displayItem = this.choseElement;\r\n }else{\r\n this.formatMoney();\r\n }\r\n }\r\n }\r\n close() {\r\n this.selectState = \"closed\";\r\n }\r\n\r\n toggleState() {\r\n if (this.selectState === \"open\") {\r\n this.selectState = \"closed\";\r\n } else {\r\n this.selectState = \"open\";\r\n }\r\n }\r\n\r\n select(account) {\r\n this.selectedItem.emit(account);\r\n this.displayItem = account;\r\n }\r\n\r\n disableSelect() {\r\n if (this.loading) {\r\n return true;\r\n } else if (this.inputArray) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

{{ displayItem.mainTitle | translate }}

\r\n
\r\n

\r\n {{ displayItem.rightInfo | translate }}\r\n

\r\n
\r\n
\r\n

\r\n {{ loadingtext | translate }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n

    {{\"GENERAL.NEW_BENEFICIARY\" | translate }}

    \r\n
    \r\n
    \r\n \"plus\"\r\n
    \r\n
    \r\n
  • \r\n
  • \r\n\r\n
    \r\n
    \r\n

    \r\n {{ item.aboveTitle | translate }}\r\n

    \r\n

    {{ item.mainTitle | translate }}

    \r\n

    {{ item.underTitle | translate }}

    \r\n
    \r\n
    \r\n

    {{ item.rightInfo | translate }}

    \r\n
    \r\n
    \r\n \r\n
  • \r\n
    \r\n
\r\n \r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\r\nimport { CalendarDataService } from '../../../services/calendar/calendarData.service'\r\n\r\n@Component({\r\n selector: 'app-pick-date',\r\n templateUrl: './pick-date.component.html',\r\n styleUrls: ['./pick-date.component.scss']\r\n})\r\nexport class PickDateComponent implements OnInit {\r\n\r\n @Input() pickedDate;\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n\r\n paddingDaysList = [];\r\n\r\n daysList = [];\r\n daysList2 = [];\r\n\r\n @Output() giveDate = new EventEmitter();\r\n\r\n constructor(\r\n private calendarDataService: CalendarDataService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.generateDates(this.pickedDate);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n }\r\n\r\n generateDates(parentPickedDate?: Date) {\r\n this.pickedDate = parentPickedDate;\r\n this.paddingDaysList = this.calendarDataService.getPadding(\r\n this.pickedDate.getFullYear(),\r\n this.pickedDate.getMonth()\r\n );\r\n this.daysList = this.calendarDataService.getDatesArray(\r\n this.pickedDate.getFullYear(),\r\n this.pickedDate.getMonth()\r\n );\r\n\r\n this.daysList2 = [];\r\n let counter = 0;\r\n while(this.daysList.length != this.daysList2.length){\r\n this.daysList2[counter] = {valid: true, value: this.daysList[counter]};\r\n counter++;\r\n }\r\n counter = 0;\r\n\r\n this.checkdate()\r\n }\r\n\r\n checkdate(){\r\n let testDate: Date;\r\n testDate = this.pickedDate;\r\n this.daysList2.forEach((temp) => {\r\n this.daysList2[\r\n this.daysList2.indexOf(temp)\r\n ].valid = this.calendarDataService.checkDateValidation(\r\n this.minDate,\r\n this.maxDate,\r\n testDate.getFullYear(),\r\n testDate.getMonth().toString(),\r\n temp.value\r\n );\r\n });\r\n }\r\n\r\n pickDate(date) {\r\n if(date.valid){\r\n this.giveDate.emit(date.value);\r\n }\r\n }\r\n\r\n giveClassAndCheck(day) {\r\n let className = \"\";\r\n\r\n if (day.value === this.pickedDate.getDate() && day.valid) {\r\n className = \"active\";\r\n }else if(!day.valid){\r\n className = \"disabled\";\r\n }\r\n return className;\r\n }\r\n}\r\n","
    \r\n
  • {{ \"CALENDAR.DAYS.MON_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.TUE_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.WED_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.THU_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.FRI_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.SAT_SHORT\" | translate }}
  • \r\n
  • {{ \"CALENDAR.DAYS.SUN_SHORT\" | translate }}
  • \r\n
\r\n \r\n
\r\n
\r\n \r\n {{ day.value }}\r\n
\r\n \r\n ","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"accountTemplatesFilter\",\r\n})\r\nexport class AccountTemplatesFilterPipe implements PipeTransform {\r\n transform(array: any, searchQuerry: any): any {\r\n if (searchQuerry === undefined) {\r\n return array;\r\n }\r\n\r\n return array.filter(\r\n (item) =>\r\n item.name.toLowerCase().includes(searchQuerry.toLowerCase()) ||\r\n item.beneficiaryAccountNumber\r\n .toLowerCase()\r\n .includes(searchQuerry.toLowerCase())\r\n );\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Deposit } from \"src/app/shared/models/models\";\r\nimport { DepositsService } from \"src/app/shared/services/deposits.service\";\r\n\r\n@Component({\r\n selector: \"app-product-list-deposits\",\r\n templateUrl: \"./product-list-deposits.component.html\",\r\n styleUrls: [\"./product-list-deposits.component.scss\"],\r\n})\r\nexport class ProductListDepositsComponent implements OnInit, OnDestroy {\r\n public depositErrorMessage: string;\r\n public deposits: Array = [];\r\n public isDepositsLoading: boolean;\r\n\r\n private subs = new Subscription();\r\n\r\n constructor(private depositsService: DepositsService) {}\r\n\r\n ngOnInit(): void {\r\n this.depositsService.fetchDeposits();\r\n this.subscribe();\r\n }\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n private subscribe(): void {\r\n this.subToDeposits();\r\n this.subToDepositsError();\r\n this.subToDepositsLoading();\r\n }\r\n\r\n private subToDepositsError(): void {\r\n this.subs.add(\r\n this.depositsService.depositsError.subscribe((error: string) => {\r\n this.depositErrorMessage = error;\r\n })\r\n );\r\n }\r\n private subToDeposits(): void {\r\n this.subs.add(\r\n this.depositsService.deposits.subscribe((deposits: Array) => {\r\n this.deposits = deposits;\r\n })\r\n );\r\n }\r\n private subToDepositsLoading(): void {\r\n this.subs.add(\r\n this.depositsService.depositsLoading.subscribe((isLoading: boolean) => {\r\n this.isDepositsLoading = isLoading;\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n

\r\n {{ \"ERROR_CODES.\" + depositErrorMessage | translate }}\r\n

\r\n
\r\n
    \r\n
  • \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.ACCOUNT_NUMBER\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.AVAILABLE_AMOUNT\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.CURRENCY\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.DEPOSITS.CATEGORY\" | translate }}\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n {{ deposit.accountNumber }}\r\n
    \r\n
    \r\n {{ deposit.availableBalance | moneyFormat }}\r\n
    \r\n
    \r\n {{ deposit.currency }}\r\n
    \r\n
    \r\n {{ deposit.category }}\r\n
    \r\n
  • \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-exchange-box',\r\n templateUrl: './exchange-box.component.html',\r\n styleUrls: ['./exchange-box.component.scss']\r\n})\r\nexport class ExchangeBoxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n $\r\n \r\n
\r\n
\r\n \r\n 3,444\r\n
\r\n
\r\n\r\n
\r\n
\r\n 1 EUR = 1.13266 USD\r\n
\r\n
\r\n 1 USD = 0.882878 EUR\r\n
\r\n
\r\n\r\n Currency List\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-ads',\r\n templateUrl: './ads.component.html',\r\n styleUrls: ['./ads.component.scss']\r\n})\r\nexport class AdsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n განვადება\r\n
გააკეთე განაცხადი
\r\n
\r\n \r\n
\r\n\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { Overdraft } from \"../../models/models\";\r\nimport { OverdraftService } from \"../../services/overdraft.service\";\r\n\r\n@Component({\r\n selector: \"app-account-overdraft\",\r\n templateUrl: \"./account-overdraft.component.html\",\r\n styleUrls: [\"./account-overdraft.component.scss\"],\r\n})\r\nexport class AccountOverdraftComponent implements OnInit {\r\n // @Input() accountNumber: string;\r\n @Input() public overdraft: Overdraft;\r\n // public loading: boolean;\r\n\r\n constructor(private overdraftService: OverdraftService) {}\r\n\r\n ngOnInit(): void {\r\n // this.fetchOverdraft();\r\n }\r\n\r\n // public fetchOverdraft(): void {\r\n // this.overdraft = null;\r\n // this.loading = true;\r\n // this.overdraftService.fetchAccountOverdraft(this.accountNumber).subscribe(\r\n // (res: any) => {\r\n // this.loading = false;\r\n // this.overdraft = res?.data?.overdrafts[0];\r\n // },\r\n // (err: any) => {\r\n // this.loading = false;\r\n // }\r\n // );\r\n // }\r\n}\r\n","

\r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n

\r\n\r\n\r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_GRANTED\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_USED\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_LEFT\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.CURRENCY\" | translate }}\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_GRANTED\" | translate }}\r\n
    \r\n {{ overdraft.amountGranted | moneyFormat }}\r\n
    \r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_USED\" | translate }}\r\n
    \r\n {{ overdraft.amountUsed | moneyFormat }}\r\n
    \r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.AMOUNT_LEFT\" | translate }}\r\n
    \r\n {{ (overdraft.amountGranted - overdraft.amountUsed) | moneyFormat }}\r\n
    \r\n
    \r\n
    \r\n {{ \"PRODUCTS.OVERDRAFT.CURRENCY\" | translate }}\r\n
    \r\n {{ overdraft.currency }}\r\n
    \r\n
  • \r\n
    \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-range-picker\",\r\n templateUrl: \"./range-picker.component.html\",\r\n styleUrls: [\"./range-picker.component.scss\"],\r\n})\r\nexport class RangePickerComponent implements OnInit {\r\n @Input() min: number;\r\n @Input() max: number;\r\n @Input() value: number;\r\n @Input() step: number;\r\n @Input() type: string;\r\n\r\n @Output() getValue = new EventEmitter();\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if(!this.min || !this.max){\r\n this.min=this.value;\r\n this.max=this.value;\r\n }\r\n }\r\n\r\n valueChange(event) {\r\n this.getValue.emit(event);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ value | moneyFormat }} {{ type }}\r\n {{ value + \" \" + type }}\r\n \r\n
\r\n

\r\n {{ min | moneyFormat }} - {{ max | moneyFormat }}\r\n {{ min + \" - \" + max }}\r\n

\r\n
\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from \"@angular/core\";\r\nimport { NgModel } from \"@angular/forms\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Subject, Subscription } from \"rxjs\";\r\nimport { OtpService } from \"src/app/shared/services/otp.service\";\r\nimport { TwoFaService } from \"./two-fa.service\";\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Component({\r\n selector: \"app-two-fa\",\r\n templateUrl: \"./two-fa.component.html\",\r\n styleUrls: [\"./two-fa.component.scss\"],\r\n})\r\nexport class TwoFaComponent implements OnInit, OnDestroy {\r\n @Input() userName;\r\n @Input() password;\r\n @Input() twoFaStarted = new Subject();\r\n\r\n @Output() otpFilledEmitter = new EventEmitter();\r\n @Output() errorEmitter = new EventEmitter();\r\n\r\n @Output() responseReceived = new EventEmitter();\r\n\r\n\r\n isStarted = false;\r\n\r\n public showTwoFa = true;\r\n\r\n public mobileNumber;\r\n public guid: Guid;\r\n public otpCode: NgModel;\r\n\r\n \r\n\r\n public isOtpLoading;\r\n public isOtpSent;\r\n\r\n private subs = new Subscription();\r\n\r\n\r\n private readonly key = CryptoJS.enc.Utf8.parse('0123456789abcdef0123456789abcdef');\r\n private readonly iv = CryptoJS.enc.Utf8.parse('MyIV123456789012');\r\n\r\n\r\n\r\n\r\n public encryptedValue: string;\r\n public decryptedValue: string;\r\n\r\n customerMobileReceived = false;\r\n\r\n\r\n\r\n\r\n constructor(\r\n private otpService: OtpService,\r\n private twoFaService: TwoFaService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subToTwoFaStart();\r\n }\r\n ngOnDestroy(): void {\r\n this.subs.unsubscribe();\r\n }\r\n\r\n // public getCustomerMobile(sendOtpFunction) {\r\n // this.isOtpLoading = true;\r\n // this.isStarted = false; // Initially set isStarted to false\r\n \r\n // this.twoFaService.getCustomerMobile(this.userName,this.password).subscribe((res: any) => {\r\n // this.isOtpLoading = false;\r\n // if (res.errors) {\r\n // this.errorEmitter.emit(\r\n // res.errors[0].extensions.code ?? \"GENERAL_ERROR\"\r\n // );\r\n // this.showTwoFa = false;\r\n // return;\r\n // } else if (res?.data?.customerMobile == null) {\r\n // this.errorEmitter.emit(\r\n // \"INVALID_USERNAME12\"\r\n // );\r\n // // reload page\r\n // this.isStarted = false;\r\n // this.showTwoFa = false;\r\n // return;\r\n // } else {\r\n // this.mobileNumber = res?.data?.customerMobile;\r\n // sendOtpFunction();\r\n // this.sendSMSCode();\r\n // this.twoFaStarted.next(true);\r\n // this.isStarted = true; // Set isStarted to true after successful execution\r\n // // After receiving the response, set customerMobileReceived to true\r\n // this.customerMobileReceived = true;\r\n // }\r\n // });\r\n // }\r\n\r\n\r\n public getCustomerMobile(sendOtpFunction) {\r\n this.isOtpLoading = true;\r\n sendOtpFunction();\r\n this.isOtpLoading = false;\r\n // this.twoFaService.getCustomerMobile(this.userName).subscribe((res: any) => {\r\n // this.isOtpLoading = false;\r\n // if (res.errors) {\r\n // this.errorEmitter.emit(\r\n // res.errors[0].extensions.code ?? \"GENERAL_ERROR\"\r\n // );\r\n // return;\r\n // }\r\n // // this.mobileNumber = res?.data?.customerMobile;\r\n // sendOtpFunction();\r\n // });\r\n }\r\n\r\n\r\n public sendSMSCode() {\r\n const AES_KEY = '0123456789abcdef0123456789abcdef';\r\n const encrypted = CryptoJS.AES.encrypt(this.userName, this.key, { iv: this.iv });\r\n this.encryptedValue = encrypted.toString();\r\n // console.log(\"encrypted \"+this.encryptedValue)\r\n this.isOtpLoading = true;\r\n this.guid = Guid.create();\r\n this.otpService\r\n .generateOtp({\r\n sessionId: this.guid.toString(),\r\n mobile: this.encryptedValue,\r\n })\r\n .subscribe((res: any) => {\r\n this.isOtpLoading = false;\r\n // console.log(res.errors)\r\n if (res.errors) {\r\n this.errorEmitter.emit(\r\n \"INVALID_USERNAME12\"\r\n );\r\n return;\r\n }\r\n this.isStarted = true;\r\n this.isOtpSent = true;\r\n });\r\n }\r\n public resendSMSCode() {\r\n this.sendSMSCode();\r\n }\r\n public getSmsCode(code) {\r\n this.otpCode = code;\r\n if (code.length == 4) {\r\n this.otpFilledEmitter.emit({\r\n sessionId: this.guid.toString(),\r\n code: code,\r\n });\r\n }\r\n }\r\n\r\n private subToTwoFaStart() {\r\n this.subs.add(\r\n this.twoFaStarted.subscribe((isStart) => {\r\n if (isStart) {\r\n\r\n console.log(\"isStart \"+isStart)\r\n this.getCustomerMobile(this.sendSMSCode.bind(this));\r\n this.isStarted = isStart;\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","\r\n \r\n\r\n \r\n \r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\n\r\n@Component({\r\n selector: \"app-account-list-mini\",\r\n templateUrl: \"./account-list-mini.component.html\",\r\n styleUrls: [\"./account-list-mini.component.scss\"],\r\n})\r\nexport class AccountListMiniComponent extends accountsInfoBase\r\n implements OnInit {\r\n constructor(private accountsInfoService: AccountsInfoService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.unsubscribeAccountsInfo();\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n {{ account.category }}\r\n {{ account.accountNumber }}\r\n
\r\n
\r\n
\r\n\r\n {{ account.availableBalance | moneyFormat }} {{ account.currency }}\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n {{ \"ERROR_CODES.\" + accountsInfoErrorMessage | translate}}\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { LandingService } from \"../landing.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FunctionsService } from \"src/app/shared/functions/functions.service\";\r\nimport { AdSlider } from \"src/app/shared/models/models\";\r\nimport { OtpService } from \"src/app/shared/services/otp.service\";\r\nimport { Subject } from \"rxjs\";\r\n// i want to import a 2fa component\r\n\r\n\r\nimport { TwoFaService } from \"./two-fa/two-fa.service\";\r\n\r\n\r\n@Component({\r\n selector: \"app-auth\",\r\n templateUrl: \"./auth.component.html\",\r\n styleUrls: [\"./auth.component.scss\"],\r\n})\r\nexport class AuthComponent implements OnInit {\r\n authForm: FormGroup;\r\n sliderData: AdSlider[];\r\n auth: any;\r\n\r\n constructor(\r\n public sharedFunctions: FunctionsService,\r\n private landingService: LandingService,\r\n private router: Router,\r\n private otpService: OtpService,\r\n private twoFaService: TwoFaService\r\n ) {}\r\n\r\n loadingAuthentication = false;\r\n errorMessage: string = \"\";\r\n\r\n passwordInputType: string = \"password\";\r\n\r\n isTwoFaStarted = new Subject();\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n this.checkIfUsernameIsRemembered();\r\n this.fillSliderData();\r\n }\r\n\r\n private fillSliderData(): void {\r\n this.sliderData = [\r\n {\r\n background: \"../../../assets/images/banners/landing-1.jpg\",\r\n // background: \"../../../assets/images/logo.png\"\r\n },\r\n {\r\n background: \"../../../assets/images/banners/landing-2.jpg\",\r\n // background: \"../../../assets/images/logo.png\"\r\n },\r\n {\r\n background: \"../../../assets/images/banners/landing-3.jpg\",\r\n // background: \"../../../assets/images/logo.png\"\r\n },\r\n {\r\n background: \"../../../assets/images/banners/landing-4.jpg\",\r\n // background: \"../../../assets/images/logo.png\"\r\n },\r\n ];\r\n }\r\n initializeForm() {\r\n this.authForm = new FormGroup({\r\n username: new FormControl(\"\", Validators.required),\r\n password: new FormControl(\"\", Validators.required),\r\n remembeUsername: new FormControl(false),\r\n });\r\n }\r\n\r\n checkIfUsernameIsRemembered() {\r\n const username = localStorage.getItem(\"username\");\r\n\r\n if (username) {\r\n this.authForm.get(\"username\").setValue(username);\r\n this.authForm.get(\"remembeUsername\").setValue(true);\r\n } else {\r\n this.authForm.get(\"username\").setValue(\"\");\r\n }\r\n }\r\n\r\n submitForm($event) {\r\n if (!this.loadingAuthentication) {\r\n this.checkFormValidity($event);\r\n this.errorMessage = \"\";\r\n }\r\n }\r\n\r\n checkFormValidity($event) {\r\n this.markFormGroupTouched(this.authForm);\r\n\r\n if (\r\n this.authForm.controls.username.valid &&\r\n this.authForm.controls.password.valid\r\n ) {\r\n this.authorizeUser($event);\r\n }\r\n }\r\n\r\n markFormGroupTouched(authForm: FormGroup) {\r\n (Object as any).values(authForm.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n \r\n initiateTwoFaAuth() {\r\n\r\n const {\r\n value: { username, password },\r\n } = this.authForm;\r\n\r\n this.isTwoFaStarted.next(true);\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n }\r\n getErrorFromTwoFa(errorMessage) {\r\n this.errorMessage = errorMessage;\r\n }\r\n authorizeUser($event) {\r\n this.loadingAuthentication = true;\r\n const {\r\n value: { username, password },\r\n } = this.authForm;\r\n\r\n this.auth = this.landingService\r\n .authorizeUser(username, password, $event.sessionId, $event.code)\r\n .subscribe(\r\n (res: any) => {\r\n this.loadingAuthentication = false;\r\n // console.log(res)\r\n\r\n if (res.token && res.token != undefined && res.token != \"undefined\") {\r\n if (this.authForm.get(\"remembeUsername\")) {\r\n this.landingService.rememberUsername(\r\n this.authForm.get(\"username\").value\r\n );\r\n }\r\n\r\n this.landingService.setToken(res.token);\r\n\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n },\r\n (err) => {\r\n this.loadingAuthentication = false;\r\n this.errorMessage = err.error.errorCode;\r\n }\r\n );\r\n }\r\n\r\n togglePasswordInputType() {\r\n if (this.passwordInputType === \"text\") {\r\n this.passwordInputType = \"password\";\r\n } else {\r\n this.passwordInputType = \"text\";\r\n }\r\n }\r\n\r\n public mouseup() {\r\n this.passwordInputType = \"password\";\r\n }\r\n\r\n public mousedown() {\r\n this.passwordInputType = \"text\";\r\n }\r\n\r\n public openLocationMap() {\r\n const url =\r\n \"https://www.google.com/maps/place/AB+Bank+Zambia+Limited/@-15.4225643,28.2757211,15z/data=!4m5!3m4!1s0x0:0xbfbbc2d8259f3413!8m2!3d-15.4229159!4d28.2835695\";\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.auth) {\r\n this.auth.unsubscribe();\r\n }\r\n }\r\n\r\n public getCustomerMobile(username: string, password: string) {\r\n this.isTwoFaStarted.next(true);\r\n\r\n\r\n\r\n\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ \"LANDING.LOGIN\" | translate }}

\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ \"LANDING.USERNAME\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{\r\n authForm.controls.password.invalid &&\r\n authForm.controls.password.touched\r\n ? (\"LANDING.PASSWORD\" | translate)\r\n : (\"LANDING.PASSWORD\" | translate)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ \"LANDING.RESET_PASS\" | translate }}\r\n \r\n \r\n {{\r\n loadingAuthentication ? \"\" : (\"LANDING.LOGIN\" | translate)\r\n }}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{ \"LANDING.NEW_MEMBER\" | translate }}

\r\n

\r\n {{ \"LANDING.CREATE_WALLET\" | translate }}\r\n

\r\n
\r\n {{\r\n \"LANDING.REGISTRATION\" | translate\r\n }}\r\n
\r\n
\r\n
\r\n {{ \"LANDING.NEED_HELP\" | translate }}\r\n
\r\n\r\n
\r\n \r\n 888\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { selectType } from 'src/app/shared/models/models';\r\nimport { CalendarDataService } from 'src/app/shared/services/calendar/calendarData.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-calendar-box',\r\n templateUrl: './calendar-box.component.html',\r\n styleUrls: ['./calendar-box.component.scss']\r\n})\r\nexport class CalendarBoxComponent implements OnInit, OnDestroy {\r\n loadingNotifications = false;\r\n\r\n notificationsSub: Subscription;\r\n notifications: Notification[];\r\n\r\n formattedNotifications: Notification[];\r\n\r\n viewStyle = 'monthly';\r\n\r\n currentDate: Date;\r\n\r\n weekDayNames: string[];\r\n\r\n loadingSelectMonthText: string = \"Loading\"\r\n selectedMonth: any;\r\n monthNames: any;\r\n\r\n yearsList;\r\n\r\n selectedMonthDates: number[];\r\n prevMonthPadding: number[];\r\n nextMonthPadding: number[];\r\n\r\n selectedMonthDatesWeekly: {};\r\n\r\n constructor(private calendarDataService: CalendarDataService) { }\r\n\r\n ngOnInit() {\r\n this.fetchNotifications();\r\n this.currentDate = this.calendarDataService.getCurrentDate();\r\n\r\n this.weekDayNames = this.calendarDataService.getWeekDayNames();\r\n this.getAndPrepMonthNamesForSelect();\r\n this.yearsList = this.calendarDataService.getYears();\r\n\r\n this.initializeCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth());\r\n\r\n this.initializeWeeklyCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate());\r\n }\r\n\r\n getAndPrepMonthNamesForSelect(){\r\n this.monthNames = this.calendarDataService.getMonthNames().map((x: any) => ({\r\n id: x.value,\r\n mainTitle: x.label,\r\n }));\r\n }\r\n\r\n pickView(viewStyle) {\r\n this.viewStyle = viewStyle;\r\n }\r\n\r\n initializeCalendar(year, month) {\r\n this.selectedMonth = this.monthNames[month];\r\n this.selectedMonthDates = this.calendarDataService.getDatesArray(year, month);\r\n this.prevMonthPadding = this.calendarDataService.getPrevMonthPadding(year, month);\r\n this.nextMonthPadding = this.calendarDataService.getNextMonthPadding(year, month);\r\n }\r\n\r\n initializeWeeklyCalendar(year, month, date) {\r\n this.selectedMonthDatesWeekly = this.calendarDataService.getDatesArrayWeekly(year, month, date);\r\n }\r\n\r\n pickMonth(month) {\r\n this.currentDate.setMonth(month.id);\r\n this.initializeCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth());\r\n\r\n this.initializeWeeklyCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate());\r\n this.selectedMonth = month;\r\n }\r\n\r\n pickDate(date) {\r\n this.currentDate = new Date(this.currentDate.getFullYear(), this.selectedMonth.id, date);\r\n this.initializeWeeklyCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate());\r\n }\r\n\r\n showNextWeek() {\r\n this.currentDate = this.calendarDataService.getNextWeekDate(\r\n this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate()\r\n );\r\n\r\n this.selectedMonth = this.monthNames[this.currentDate.getMonth()];\r\n this.initializeCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth());\r\n this.initializeWeeklyCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate());\r\n }\r\n\r\n showPrevWeek() {\r\n this.currentDate = this.calendarDataService.getPrevWeekDate(\r\n this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate()\r\n );\r\n\r\n this.selectedMonth = this.monthNames[this.currentDate.getMonth()];\r\n this.initializeCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth());\r\n this.initializeWeeklyCalendar(this.currentDate.getFullYear(), this.currentDate.getMonth(), this.currentDate.getDate());\r\n }\r\n\r\n fetchNotifications() {\r\n this.loadingNotifications = true;\r\n this.notificationsSub = this.calendarDataService.fetchNotifications().subscribe(res => {\r\n this.notifications = res['data']['calendarEvents'];\r\n this.formatDateForNotifications();\r\n this.loadingNotifications = false;\r\n });\r\n }\r\n\r\n formatDateForNotifications() {\r\n const notificationsArray = this.notifications;\r\n\r\n if (notificationsArray) {\r\n this.formattedNotifications = notificationsArray.map((notification: any) => {\r\n const dateTimeString = notification.eventDate;\r\n const dateString = dateTimeString.split(\"T\")[0];\r\n const dateArray = dateString.split('-');\r\n const year = Number(dateArray[0]);\r\n const month = Number(dateArray[1]) - 1;\r\n const day = Number(dateArray[2]);\r\n\r\n const newDate = new Date(year, month, day);\r\n return {\r\n ...notification,\r\n eventDate: newDate\r\n };\r\n });\r\n }\r\n }\r\n\r\n showHideNotification(notification) {\r\n const notificationDate: Date = notification.eventDate;\r\n return notificationDate.getTime() === this.currentDate.getTime() ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.notificationsSub.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n {{ \"CALENDAR.MONTHLY\" | translate }}\r\n \r\n \r\n {{ \"CALENDAR.WEEKLY\" | translate }}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
    \r\n \r\n
  • {{ \"CALENDAR.LOAN\" | translate }}
  • \r\n
  • {{ \"CALENDAR.CUSTOM\" | translate }}
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{ notification.eventName }}

\r\n

{{ notification.eventDate.toDateString() }}

\r\n\r\n
\r\n
\r\n

Title

\r\n
{{ notification.eventName }}
\r\n
\r\n\r\n
\r\n

Due Date

\r\n
{{ notification.eventDate.toDateString() }}
\r\n
\r\n\r\n
\r\n

Amount

\r\n
{{ notification.amount + ' ZMW' }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {{\r\n \"CALENDAR.VIEW_CALENDAR\" | translate\r\n }}\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-weekly-view-box',\r\n templateUrl: './weekly-view.component.html',\r\n styleUrls: ['./weekly-view.component.scss']\r\n})\r\nexport class WeeklyViewBoxComponent implements OnInit {\r\n @Input() notifications;\r\n\r\n @Input() weekDayNames;\r\n\r\n @Input() selectedDate;\r\n\r\n @Input() selectedMonthDates;\r\n\r\n @Output() givePickedDate = new EventEmitter();\r\n @Output() nextWeek = new EventEmitter();\r\n @Output() prevWeek = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getCurrentDateClass(date) {\r\n if (date === this.selectedDate.getDate()) {\r\n return 'selected';\r\n }\r\n }\r\n\r\n pickDate(date) {\r\n this.givePickedDate.emit(date);\r\n }\r\n\r\n showNextWeek() {\r\n this.nextWeek.emit();\r\n }\r\n\r\n showPrevWeek() {\r\n this.prevWeek.emit();\r\n }\r\n\r\n showHideDot(date) {\r\n const classes = [];\r\n if (this.notifications) {\r\n for (const notification of this.notifications) {\r\n if (\r\n (notification.eventDate as Date).getTime() === new Date(\r\n this.selectedDate.getFullYear(), this.selectedDate.getMonth(), date\r\n ).getTime()\r\n ) {\r\n if (! classes.includes('type' + notification.eventTypeId)) {\r\n classes.push('type' + notification.eventTypeId);\r\n }\r\n }\r\n }\r\n }\r\n const classesString = classes.toString().replace(/,/g, ' ');\r\n return classesString;\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
    \r\n
  • {{ ('CALENDAR.DAYS.' + weekDayName | translate).charAt(0) }}
  • \r\n
\r\n\r\n\r\n
\r\n
{{ padding }}
\r\n
\r\n {{ date }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ padding }}
\r\n
\r\n
\r\n\r\n \r\n
","import { Directive, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[usernamePattern]\",\r\n})\r\nexport class UsernamePatternDirective {\r\n private navigationKeys = [\r\n \"Backspace\",\r\n \"Delete\",\r\n \"Tab\",\r\n \"Escape\",\r\n \"Enter\",\r\n \"Home\",\r\n \"End\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Clear\",\r\n \"Copy\",\r\n \"Paste\",\r\n ];\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.code === \"KeyA\" && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.code === \"KeyC\" && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.code === \"KeyV\" && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.code === \"KeyX\" && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.code === \"KeyA\" && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.code === \"KeyC\" && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.code === \"KeyX\" && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.code === \"KeyX\" && e.metaKey === true) // Allow: Cmd+X (Mac)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (/[^a-zA-Z0-9]/g.test(e.key)) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener(\"paste\", [\"$event\"])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n const pastedInput: string = event.clipboardData\r\n .getData(\"text/plain\")\r\n .replace(/[^a-zA-Z0-9]/g, \"\"); // get a digit-only string\r\n document.execCommand(\"insertText\", false, pastedInput);\r\n }\r\n\r\n @HostListener(\"drop\", [\"$event\"])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n const textData = event.dataTransfer\r\n .getData(\"text\")\r\n .replace(/[^a-zA-Z0-9]/g, \"\");\r\n this.inputElement.focus();\r\n document.execCommand(\"insertText\", false, textData);\r\n }\r\n\r\n @HostListener(\"input\", [\"$event\"])\r\n onInput(event) {\r\n const regex = RegExp(/[^a-zA-Z0-9]/g);\r\n if (regex.test(event.data)) {\r\n const target = event.target as HTMLTextAreaElement;\r\n target.value = target.value.replace(event.data, \"\");\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n loanInfo,\r\n LoanScheduleInfo,\r\n loanStatementInfo,\r\n loanDetailsInfo,\r\n} from \"src/app/shared/models/models\";\r\nimport { LoanInfoService } from \"src/app/shared/services/loan-info.service\";\r\n\r\n@Component({\r\n selector: \"app-product-list-loans\",\r\n templateUrl: \"./product-list-loans.component.html\",\r\n styleUrls: [\"./product-list-loans.component.scss\"],\r\n})\r\nexport class ProductListLoansComponent implements OnInit {\r\n\r\n @Input() loans;\r\n @Input() currentItem?: loanInfo;\r\n @Input() loading;\r\n\r\n localLoans;\r\n localCurrentItem;\r\n currentLoan;\r\n\r\n SCHEDULE = \"SCHEDULE\";\r\n HISTORY = \"HISTORY\";\r\n DETAILS = \"DETAILS\";\r\n activeTab = \"\";\r\n\r\n schedulesLoading = false;\r\n schedules$: Subscription;\r\n schedulesErrors: any;\r\n schedules: Array;\r\n\r\n detailsLoading = false;\r\n details$: Subscription;\r\n detailsError: any;\r\n details: loanDetailsInfo;\r\n statements: Array;\r\n\r\n\r\n constructor(private loanInfoService: LoanInfoService) {}\r\n\r\n ngOnInit(): void {\r\n this.setStatus(this.SCHEDULE);\r\n }\r\n\r\n ngOnChanges(changes: any) {\r\n if (changes.currentItem) {\r\n this.localCurrentItem = changes.currentItem.currentValue;\r\n }\r\n if (changes.loans) {\r\n this.localLoans = changes.loans.currentValue;\r\n }\r\n\r\n if (this.localCurrentItem && this.localLoans) {\r\n this.setCurentLoan(this.localCurrentItem, this.localLoans);\r\n }\r\n }\r\n\r\n setCurentLoan(item: any, loans) {\r\n if (item && loans) {\r\n let tempLoans: any = this.loans;\r\n this.currentLoan = tempLoans.filter((loan) => loan.id === item)[0];\r\n this.fetchLoanScheduleInfo(this.currentLoan.contractN);\r\n this.fetchloanDetailsInfo(this.currentLoan.contractN);\r\n }\r\n\r\n }\r\n\r\n fetchLoanScheduleInfo(contractN: string) {\r\n this.schedules = [];\r\n this.schedulesLoading = true;\r\n this.schedules$ = this.loanInfoService\r\n .loanScheduleInfoQuery(contractN)\r\n .subscribe((res) => {\r\n this.schedules =\r\n res[\"data\"] && res[\"data\"][\"loans\"]\r\n ? res[\"data\"][\"loans\"][0][\"schedule\"]\r\n : [];\r\n this.schedulesErrors = res[\"errors\"];\r\n this.schedulesLoading = false;\r\n this.schedules = null ? [] : this.schedules;\r\n });\r\n }\r\n\r\n fetchloanDetailsInfo(contractN: string) {\r\n this.statements = [];\r\n\r\n\r\n this.detailsLoading = true;\r\n this.details$ = this.loanInfoService\r\n .loanDetailsInfoQuery(contractN)\r\n .subscribe((res) => {\r\n\r\n this.details =\r\n res[\"data\"] && res[\"data\"][\"loans\"] ? res[\"data\"][\"loans\"][0] : [];\r\n this.statements =\r\n res[\"data\"] && res[\"data\"][\"loans\"]\r\n ? res[\"data\"][\"loans\"][0][\"statement\"]\r\n : [];\r\n this.detailsError = res[\"errors\"];\r\n\r\n this.detailsLoading = false;\r\n this.statements = null ? [] : this.statements;\r\n\r\n });\r\n }\r\n\r\n getDate(date) {\r\n return new Date(date);\r\n }\r\n\r\n isActive(loan: any) {\r\n if (this.currentLoan) {\r\n if (loan.id === this.currentLoan.id) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n clickLoan(loan) {\r\n if(this.currentLoan === loan){\r\n\r\n this.currentLoan = null;\r\n\r\n }\r\n this.currentLoan = loan;\r\n this.fetchLoanScheduleInfo(this.currentLoan.contractN);\r\n this.fetchloanDetailsInfo(this.currentLoan.contractN);\r\n this.setStatus(this.SCHEDULE);\r\n\r\n }\r\n\r\n setStatus(status: string) {\r\n this.activeTab = status;\r\n\r\n }\r\n\r\n}\r\n","
\r\n
    \r\n
  • \r\n
    {{ \"PRODUCTS.LOAN_TYPE\" | translate }}
    \r\n
    \r\n {{ \"PRODUCTS.CONTRACT_NUMBER\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.END_DATE\" | translate }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.REMAINING_PRINCIPLE\" | translate }}\r\n
    \r\n
     
    \r\n
  • \r\n \r\n
  • \r\n
    \r\n
    \r\n
    \r\n {{ loan.product }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ \"PRODUCTS.CONTRACT_NUMBER\" | translate }}\r\n
    \r\n {{ loan.contractN }}\r\n
    \r\n
    \r\n
    {{ \"PRODUCTS.END_DATE\" | translate }}
    \r\n {{ getDate(loan?.loanEndDate) | date: \"dd.MM.yyyy\" }}\r\n
    \r\n\r\n
    \r\n
    \r\n {{ \"PRODUCTS.REMAINING_PRINCIPLE\" | translate }}\r\n
    \r\n {{ loan?.outstandingPrincipal ? loan?.outstandingPrincipal : 0 }}\r\n {{ loan?.currency }}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n
    \r\n
      \r\n
    • \r\n {{ \"PRODUCTS.SCHEDULE\" | translate }}\r\n
    • \r\n
    • \r\n {{ \"PRODUCTS.HISTORY\" | translate }}\r\n
    • \r\n
    • \r\n {{ \"PRODUCTS.DETAILS\" | translate }}\r\n
    • \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
      \r\n
    • \r\n
      {{ \"PRODUCTS.DATE\" | translate }}
      \r\n
      \r\n {{ \"PRODUCTS.PRINCIPAL_AMOUNT\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.INTEREST\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.COMMISSION_FEE\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.AMOUNT_TO_PAY\" | translate }}\r\n
      \r\n
    • \r\n\r\n
    • \r\n
      \r\n
      \r\n {{ \"PRODUCTS.DATE\" | translate }}\r\n
      \r\n {{\r\n getDate(schedule.date) | date: \"dd.MM.yyyy\"\r\n }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.PRINCIPAL_AMOUNT\" | translate }}\r\n
      \r\n {{ schedule.principal }} {{ schedule.currency }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.INTEREST\" | translate }}\r\n
      \r\n {{ schedule.interest }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.COMMISSION_FEE\" | translate }}\r\n
      \r\n {{ schedule.fee }} {{ schedule.currency }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.AMOUNT_TO_PAY\" | translate }}\r\n
      \r\n {{ schedule.totalAmount }}\r\n {{ schedule.currency }}\r\n
      \r\n
    • \r\n
    \r\n \r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n \r\n
    \r\n\r\n \r\n \r\n
      \r\n
    • \r\n
      {{ \"PRODUCTS.DATE\" | translate }}
      \r\n
      \r\n {{ \"PRODUCTS.PRINCIPAL_AMOUNT\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.INTEREST\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.COMMISSION_FEE\" | translate }}\r\n
      \r\n
      \r\n {{ \"PRODUCTS.PENALTY\" | translate }}\r\n
      \r\n
    • \r\n\r\n
    • \r\n
      \r\n
      \r\n {{ \"PRODUCTS.DATE\" | translate }\r\n
      \r\n {{\r\n getDate(history?.date) | date: \"MMM dd / yyyy\"\r\n }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.PRINCIPAL_AMOUNT\" | translate }\r\n
      \r\n {{ history?.principal }}\r\n {{ currentLoan.currency }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.INTEREST\" | translate }}\r\n
      \r\n {{ history?.interest }}\r\n {{ currentLoan.currency }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.COMMISSION_FEE\" | translate }}\r\n
      \r\n {{ history?.fee }} {{ currentLoan.currency }}\r\n
      \r\n
      \r\n
      \r\n {{ \"PRODUCTS.PENALTY\" | translate }}\r\n
      \r\n {{ history.penalty }} {{ currentLoan.currency }}\r\n
      \r\n
    • \r\n
    \r\n \r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n \r\n
    \r\n\r\n \r\n
    0\">\r\n
    \r\n 0 || detailsLoading\"\r\n >\r\n
    \r\n {{ \"PRODUCTS.LOAN_TYPE\" | translate }}\r\n {{ currentLoan.product }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.INTEREST_RATE\" | translate }}\r\n {{ currentLoan.loanYearPercent }} %\r\n
    \r\n
    \r\n {{ \"PRODUCTS.NEAREST_PAY\" | translate }}\r\n {{\r\n getDate(details.nextPaymentDate) | date: \"dd.MM.yyyy\"\r\n }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.LOAN_AMOUNT\" | translate }}\r\n {{ currentLoan.loanSize }}\r\n {{ currentLoan.currency }}\r\n
    \r\n
    \r\n {{\r\n \"PRODUCTS.REMAINING_PRINCIPLE\" | translate\r\n }}\r\n {{\r\n currentLoan.outstandingPrincipal\r\n ? currentLoan.outstandingPrincipal\r\n : 0\r\n }}\r\n {{ currentLoan.currency }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.ISSUE_DATE\" | translate }}\r\n {{\r\n getDate(currentLoan.loanValueDate) | date: \"dd.MM.yyyy\"\r\n }}\r\n
    \r\n
    \r\n {{ \"PRODUCTS.MATURITY_DATE\" | translate }}\r\n {{\r\n getDate(currentLoan.loanEndDate) | date: \"dd.MM.yyyy\"\r\n }}\r\n
    \r\n
    \r\n \r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n \r\n
    \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n

\r\n {{ \"GENERAL.NO_DATA\" | translate }}\r\n

\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TakeALoanComponent } from \"./take-a-loan.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { SharedModule } from \"src/app/shared/shared.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { TakeALoanService } from \"./take-a-loan.service\";\r\n\r\n@NgModule({\r\n declarations: [TakeALoanComponent],\r\n imports: [CommonModule, RouterModule, SharedModule, ReactiveFormsModule],\r\n providers: [TakeALoanService],\r\n})\r\nexport class TakeALoanModule {}\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { TransfersService } from 'src/app/core/transfers/transfers.service';\r\nimport { TemplatesService } from '../../templates.service';\r\n\r\n@Component({\r\n selector: \"app-edit-mobile-or-pn-template\",\r\n templateUrl: \"./edit-mobile-or-pn-template.component.html\",\r\n styleUrls: [\"./edit-mobile-or-pn-template.component.scss\"],\r\n})\r\nexport class EditMobileOrPnTemplateComponent implements OnInit, OnDestroy {\r\n step = 2;\r\n template;\r\n\r\n form: FormGroup;\r\n\r\n formSub: Subscription;\r\n fetchAccountsSub: Subscription;\r\n editTemplateSub: Subscription;\r\n deleteTemplateSub: Subscription;\r\n\r\n showDeletePopup: boolean = false;\r\n\r\n loading: boolean = false;\r\n\r\n questionText: string = \"Are you sure that you want to delete this template?\";\r\n\r\n errorMessage: string = \"\";\r\n\r\n constructor(\r\n private router: Router,\r\n private transfersService: TransfersService,\r\n private templateService: TemplatesService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n\r\n if (window.history.state.template) {\r\n this.template = window.history.state.template;\r\n this.loadTemplate();\r\n } else {\r\n this.router.navigateByUrl(\"/templates\");\r\n }\r\n\r\n this.formSub = this.form.controls.mobileOrPn.valueChanges.subscribe(\r\n (value) => {\r\n this.backToStepOne();\r\n }\r\n );\r\n }\r\n\r\n initializeForm() {\r\n this.form = new FormGroup({\r\n mobileOrPn: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(9),\r\n Validators.maxLength(11),\r\n ]),\r\n name: new FormControl(\"\", Validators.required),\r\n isFavorite: new FormControl(\"\"),\r\n });\r\n }\r\n\r\n loadTemplate() {\r\n this.form.controls.mobileOrPn.setValue(decodeURIComponent(this.template.documentNumber));\r\n this.form.controls.name.setValue(this.template.name);\r\n this.form.controls.isFavorite.setValue(this.template.isFavorite);\r\n }\r\n\r\n checkIdentifier() {\r\n this.form.controls.mobileOrPn.markAsTouched();\r\n if (this.form.controls.mobileOrPn.valid) {\r\n this.fetchAccountsByMobileOrPn();\r\n }\r\n }\r\n\r\n fetchAccountsByMobileOrPn() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n\r\n this.fetchAccountsSub = this.transfersService\r\n .fetchAccountsByMobileOrPn(this.form.controls.mobileOrPn.value.toString())\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n if (res.data && res.data.accounts && !res.data.accounts.length) {\r\n this.errorMessage = \"NO_ACCOUNTS\";\r\n } else {\r\n this.step = 2;\r\n if (res.data.accounts[0].account) {\r\n this.form.controls.name.setValue(res.data.accounts[0].account);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n backToStepOne() {\r\n this.step = 1;\r\n this.form.controls.name.setValue(\"\");\r\n this.form.controls.isFavorite.setValue(false);\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.form);\r\n\r\n if (this.form.valid) {\r\n this.editTemplate();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n editTemplate() {\r\n const templateToGive = {\r\n template: {\r\n id: this.template.id,\r\n documentNumber: this.form.controls.mobileOrPn.value,\r\n isFavorite: this.form.controls.isFavorite.value,\r\n name: this.form.controls.name.value,\r\n },\r\n };\r\n this.loading = true;\r\n this.editTemplateSub = this.templateService\r\n .updateMobileOrPnTemplate(templateToGive)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n if (!res.errors) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n toggleFavourite() {\r\n this.form.controls.isFavorite.setValue(\r\n !this.form.controls.isFavorite.value\r\n );\r\n }\r\n\r\n deleteTemplatePrompt() {\r\n this.showDeletePopup = true;\r\n }\r\n\r\n deleteTemplate() {\r\n this.showDeletePopup = false;\r\n this.loading = true;\r\n this.deleteTemplateSub = this.templateService\r\n .deleteTemplate({ templateId: this.template.id })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.data.deleteTemplate) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (this.form.get(input).invalid && this.form.get(input).touched) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.formSub) {\r\n this.formSub.unsubscribe();\r\n }\r\n if (this.deleteTemplateSub) {\r\n this.deleteTemplateSub.unsubscribe();\r\n }\r\n if (this.editTemplateSub) {\r\n this.editTemplateSub.unsubscribe();\r\n }\r\n if (this.fetchAccountsSub) {\r\n this.fetchAccountsSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TEMPLATES_C.TEMPLATES\" | translate }}

\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.CHECK\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.SAVE\" | translate }}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {{ \"TEMPLATES_C.REMOVE_FROM_FAV\" | translate }}\r\n \r\n \r\n {{ \"TEMPLATES_C.ADD_TO_FAV\" | translate }}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ errorMessage }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { selectType, accountsInfo } from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { accountsInfoBase } from \"src/app/shared/component-bases/accounts-info-base\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { TemplatesService } from '../../templates/templates.service';\r\n\r\n@Component({\r\n selector: \"app-transfer-box\",\r\n templateUrl: \"./transfer-box.component.html\",\r\n styleUrls: [\"./transfer-box.component.scss\"],\r\n})\r\nexport class TransferBoxComponent extends accountsInfoBase implements OnInit {\r\n\r\n currentTab = \"TRANSFER_TO_SOMEONE\";\r\n\r\n loading: boolean = true;\r\n\r\n utilityTemplatesSub: Subscription;\r\n utilityTemplates: Array;\r\n utilityTemplatesLoading: boolean = false;\r\n utilityTemplatesError: any;\r\n\r\n templatesLoading: boolean = false;\r\n templatesSub: Subscription;\r\n templates;\r\n templatesErrors;\r\n\r\n constructor(private templateService: TemplatesService) {\r\n super();\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.fetchAccountTemplates(this.templateService);\r\n }\r\n\r\n fetchAccountTemplates(templateService, pickSelectedtemplate?) {\r\n this.templatesLoading = true;\r\n this.templatesSub = templateService\r\n .fetchAccountTemplates()\r\n .subscribe((res) => {\r\n this.templatesLoading = false;\r\n this.templates =\r\n res[\"data\"] &&\r\n res[\"data\"][\"template\"] &&\r\n res[\"data\"][\"template\"][\"transfer\"]\r\n ? res[\"data\"][\"template\"][\"transfer\"]\r\n : [];\r\n this.templatesErrors = res[\"errors\"];\r\n\r\n if (pickSelectedtemplate) {\r\n pickSelectedtemplate();\r\n }\r\n });\r\n }\r\n\r\n setTab(tab: string) {\r\n this.currentTab = tab;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.templatesSub.unsubscribe();\r\n if (this.utilityTemplatesSub) {\r\n this.utilityTemplatesSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n {{\"TRANSFERS.TRANSFERS\" | translate}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"mobileTemplatesFilter\",\r\n})\r\nexport class MobileTemplatesFilterPipe implements PipeTransform {\r\n transform(array: any, searchQuerry: any): any {\r\n if (searchQuerry === undefined) {\r\n return array;\r\n }\r\n\r\n return array.filter(\r\n (item) =>\r\n item.name.toLowerCase().includes(searchQuerry.toLowerCase()) ||\r\n item.identifiers[0].fieldValue\r\n .toLowerCase()\r\n .includes(searchQuerry.toLowerCase())\r\n );\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FunctionsService } from \"src/app/shared/functions/functions.service\";\r\nimport {\r\n accountsInfo,\r\n selectType,\r\n TemplateTransferInfo,\r\n TransferInfo,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { TransferBase } from \"../transfers-base\";\r\nimport { TransfersService } from \"../transfers.service\";\r\nimport { TemplatesService } from \"../../templates/templates.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Template } from \"@angular/compiler/src/render3/r3_ast\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-transfer-to-someone\",\r\n templateUrl: \"./transfer-to-someone.component.html\",\r\n styleUrls: [\"./transfer-to-someone.component.scss\"],\r\n})\r\nexport class TransferToSomeoneComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy\r\n{\r\n transferToSomeoneForm: FormGroup;\r\n formSubscription: Subscription;\r\n\r\n guid: Guid;\r\n step: number = 1;\r\n\r\n amount = 0;\r\n description = \"\";\r\n otpCode: string = \"\";\r\n branchName: string=\"\";\r\n resendBtnHovered: boolean = false;\r\n\r\n loading: boolean = true;\r\n prepareLoading: boolean = false;\r\n\r\n loadingFromSelect: boolean = true;\r\n loadingToSelect: boolean = true;\r\n\r\n // templates\r\n templates: TemplateTransferInfo;\r\n templateArr: selectType;\r\n selectedTemplate: TemplateTransferInfo;\r\n pickedTemplateId: string;\r\n showAddTemplateBlock: boolean = false;\r\n\r\n addTemplateSub: Subscription;\r\n\r\n transactionType: string = \"EXTERNAL_TRANSFER\";\r\n\r\n isBetween: boolean = false;\r\n\r\n showTransferInfoModal = false;\r\n\r\n makeTemplateFavourite = false;\r\n\r\n // variables for select\r\n defaultAccount: selectType;\r\n accountsFrom: selectType;\r\n accountsTo: selectType;\r\n selectedAccountTo?: selectType;\r\n selectedAccountFrom?: selectType;\r\n\r\n // transfer\r\n transferConfirmationSub: Subscription;\r\n transferConfirmationLoading = false;\r\n transferConfirmationError: any;\r\n transferConfirmation: TransferInfo;\r\n\r\n checkAccountSub: Subscription;\r\n wrongAccountNumbersList = [];\r\n errorMessage: string = \"\";\r\n\r\n receiverBank: string = \"\";\r\n senderPerson: string = \"\";\r\n ownersCount:number=0;\r\n branches=[];\r\n\r\n isTransferTemplateSelected: boolean;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private accountsInfoService: AccountsInfoService,\r\n private functionsService: FunctionsService,\r\n private transferService: TransfersService,\r\n private templateService: TemplatesService,\r\n private modalService: ModalWithTextService,\r\n private translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n this.selectedAccountFrom = null;\r\n this.selectedAccountTo = null;\r\n this.errorMessage = null;\r\n this.initializeForm();\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = true;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n\r\n this.fetchTemplates();\r\n this.checkIfShouldAddAsNewTemplate();\r\n this.checkIfTemplateIsPicked();\r\n this.subscribeToForm();\r\n this.getfullName();\r\n }\r\n\r\n initializeForm() {\r\n this.transferToSomeoneForm = this.formBuilder.group({\r\n accountNumber: new FormControl(\"\", {\r\n validators: [\r\n Validators.required,\r\n // Validators.minLength(23),\r\n // Validators.maxLength(23),\r\n this.accountNumberValidation(this.wrongAccountNumbersList),\r\n ],\r\n }),\r\n bank: new FormControl(\"\", [Validators.required]),\r\n branchName: new FormControl(\"\", [Validators.required]),\r\n // branch: new FormControl(\"\", [Validators.required]),\r\n name: new FormControl(\"\", [Validators.required]),\r\n amount: new FormControl(null, [\r\n Validators.required,\r\n Validators.max(100000),\r\n ]),\r\n description: new FormControl(\"\", [Validators.required]),\r\n addToFavourites: new FormControl(false),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n subscribeToForm() {\r\n this.formSubscription = this.transferToSomeoneForm\r\n .get(\"accountNumber\")\r\n .valueChanges.subscribe((accNumber) => {\r\n this.checkAccountInfo(accNumber);\r\n });\r\n }\r\n\r\n checkAccountInfo(accNumber) {\r\n if (\r\n accNumber.length === 23 &&\r\n !this.wrongAccountNumbersList.includes(accNumber)\r\n ) {\r\n this.checkIfInternalAccount();\r\n if (this.transactionType === \"INTERNAL_TRANSFER\") {\r\n this.loading = true;\r\n\r\n this.checkAccountSub = this.templateService\r\n .checkAccountNumberInfo(accNumber)\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (\r\n (res.data[\"customer\"] && res.data[\"customer\"][\"firstNameLat\"]) ||\r\n (res.data[\"customer\"] && res.data[\"customer\"][\"lastNameLat\"])\r\n ) {\r\n const name =\r\n res.data[\"customer\"][\"firstNameLat\"] +\r\n \" \" +\r\n res.data[\"customer\"][\"lastNameLat\"];\r\n this.transferToSomeoneForm.controls.name.setValue(name);\r\n } else if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n if (!this.wrongAccountNumbersList.includes(accNumber)) {\r\n this.wrongAccountNumbersList.push(accNumber);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\ngetfullName(){\r\n var userfullname = localStorage.getItem('fullname');\r\n this.senderPerson=userfullname\r\n\r\n}\r\n\r\n\r\n setBankname(){\r\n const choosenBankCode = this.transferToSomeoneForm.controls.bank.value;\r\n if(choosenBankCode==='ABBAK'){\r\n this.receiverBank = \"AB BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='BOZBK'){\r\n this.receiverBank = \"BANK OF ZAMBIA\"\r\n }\r\n else if(choosenBankCode==='ACCES'){\r\n this.receiverBank = \"ACCESS BANK ZAMBIA LIMITED\"\r\n }\r\n\r\n else if(choosenBankCode==='BOCBK'){\r\n this.receiverBank = \"BANK OF CHINA\"\r\n }\r\n else if(choosenBankCode==='BBZZM'){\r\n this.receiverBank = \"ABSA BANK ZAMBIA PLC\"\r\n }\r\n else if(choosenBankCode==='CITIB'){\r\n this.receiverBank = \"CITIBANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='ECOBK'){\r\n this.receiverBank = \"ECOBANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='FABZM'){\r\n this.receiverBank = \"FIRST ALLIANCE BANK ZAMBIA LIMITED\"\r\n }\r\n\r\n else if(choosenBankCode==='INDOZ'){\r\n this.receiverBank = \"INDO-ZAMBIA BANK LIMITED\"\r\n }\r\n else if(choosenBankCode==='ZICBK'){\r\n this.receiverBank = \"ZAMBIA INDUSTRIAL COMMERCIAL BANK\"\r\n }\r\n\r\n else if(choosenBankCode==='ITBBK'){\r\n this.receiverBank = \"INVESTRUST BANK PLC\"\r\n }\r\n else if(choosenBankCode==='STBBK'){\r\n this.receiverBank = \"STANBIC BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='SCBZM'){\r\n this.receiverBank = \"STANDARD CHARTERED BANK PLC\"\r\n }\r\n else if(choosenBankCode==='UBABK'){\r\n this.receiverBank = \"UNITED BANK FOR AFRICA ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='ZNCBK'){\r\n this.receiverBank = \"ZAMBIA NATIONAL COMMERCIAL BANK PLC\"\r\n }\r\n else if(choosenBankCode==='STBBK'){\r\n this.receiverBank = \"FIRST CAPITAL BANK ZAMBIA LIMITED\"\r\n }\r\n else if(choosenBankCode==='FNBZM'){\r\n this.receiverBank = \"FIRST NATIONAL BANK\"\r\n }\r\n else if(choosenBankCode==='ABCBK'){\r\n this.receiverBank = \"Atlas Mara\"\r\n }\r\n else{\r\n this.receiverBank = \"NO BANK SELECTED\"\r\n }\r\n }\r\n\r\n\r\n\r\n checkIfInternalAccount() {\r\n const choosenBankCode = this.transferToSomeoneForm.controls.bank.value;\r\n const zambiaBankCode = \"ABBAK\";\r\n if (choosenBankCode === zambiaBankCode) {\r\n this.transactionType = \"INTERNAL_TRANSFER\";\r\n } else {\r\n this.transactionType = \"EXTERNAL_TRANSFER\";\r\n }\r\n }\r\n checkIfSavingAccount(accNumber) {\r\n return accNumber.substring(10, 12) === \"21\";\r\n }\r\n\r\n prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n let accsWithoutSaving = temp.filter((element) => {\r\n let isSavingAccount = this.checkIfSavingAccount(element.accountNumber);\r\n if (!isSavingAccount) {\r\n return element;\r\n }\r\n });\r\n if (accsWithoutSaving) {\r\n this.accountsFrom = accsWithoutSaving.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n prepareTemplatesForToSelect() {\r\n let temp: any = this.templates;\r\n this.templateArr = temp.map((x: TemplateTransferInfo) => ({\r\n id: x.id,\r\n mainTitle: x.name,\r\n rightInfo: x.beneficiaryAccountNumber,\r\n }));\r\n this.prepareTransferLoading = true;\r\n }\r\n\r\n //templates\r\n fetchTemplates() {\r\n this.templateService.fetchAccountTemplates().subscribe((res: any) => {\r\n this.loading = false;\r\n this.prepareTransferLoading = false;\r\n this.templates = res.data.template.transfer;\r\n this.prepareTemplatesForToSelect();\r\n });\r\n }\r\n\r\n checkIfShouldAddAsNewTemplate() {\r\n if (window.history.state && window.history.state.addNewTemplate) {\r\n this.prepNewTemplate();\r\n }\r\n }\r\n checkIfTemplateIsPicked() {\r\n if (window.history.state && window.history.state.pickedTemplateId) {\r\n this.pickedTemplateId = window.history.state.pickedTemplateId;\r\n }\r\n }\r\n\r\n prepNewTemplate() {\r\n this.selectedAccountTo = {\r\n mainTitle: \"Add new template\",\r\n id: null,\r\n imgId: null,\r\n imgName: null,\r\n aboveTitle: null,\r\n underTitle: null,\r\n rightInfo: null,\r\n };\r\n this.showAddTemplateBlock = true;\r\n }\r\n\r\n accountNumberValidation(array: string[]) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n return array.includes(value) ? { wrongAccountNumber: true } : null;\r\n };\r\n }\r\n\r\n selectAccountFrom(accFrom: selectType) {\r\n this.selectedAccountFrom = accFrom;\r\n this.setMaxAmountBasedOnChoosenAccount(this.selectedAccountFrom);\r\n }\r\n setMaxAmountBasedOnChoosenAccount(account) {\r\n const accounts: any = this.accountsInfo;\r\n const choosenAccount = accounts.find(\r\n (x) => x.accountNumber === account.mainTitle\r\n );\r\n let maxAmount = choosenAccount.balance;\r\n if (maxAmount > 100000) maxAmount = 100000;\r\n this.transferToSomeoneForm.controls.amount.setValidators([\r\n Validators.required,\r\n Validators.max(maxAmount),\r\n ]);\r\n }\r\n selectAccountTo(accTo: selectType) {\r\n let temp: any = this.templates;\r\n this.selectedTemplate = temp.filter(\r\n (v: TemplateTransferInfo) => v.id.toString() === accTo.id.toString()\r\n )[0];\r\n if (this.isTemplateIsSelected(this.selectedTemplate)) {\r\n this.setTemplateAsSelected(this.selectedTemplate.bankBicCode);\r\n }\r\n this.selectedAccountTo = accTo;\r\n this.showAddTemplateBlock = false;\r\n }\r\n isTemplateIsSelected(template): boolean {\r\n if (\r\n template &&\r\n template.beneficiaryAccountNumber &&\r\n template.bankBicCode &&\r\n template.type == \"TRANSFER\"\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n setTemplateAsSelected(industryNumber): void {\r\n this.isTransferTemplateSelected = true;\r\n this.transferToSomeoneForm.controls.bank.setValue(industryNumber);\r\n }\r\n\r\n // getEmittedBranchCode(branchCode: string) {\r\n // if (branchCode) {\r\n // this.transferToSomeoneForm.get(\"branch\").setValue(branchCode);\r\n // } else {\r\n // this.transferToSomeoneForm.get(\"branch\").setValue(null);\r\n // }\r\n // }\r\n getEmittedIndustryNumber(bankCode: string) {\r\n this.transferToSomeoneForm.get(\"bank\").setValue(bankCode);\r\n // console.log(this.transferToSomeoneForm.controls.bank.value)\r\n this.getBranches(this.transferToSomeoneForm.controls.bank.value)\r\n\r\n }\r\ngetBranches(bankCode){\r\n this.http.get('assets/jsons/branches.json').subscribe(data => {\r\n // Populate the numbers array with the data from the JSON file\r\n // if (data.odd) {\r\n this.branches = data[bankCode];\r\n // }\r\n // console.log(this.branches);\r\n });\r\n}\r\n\r\n\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.transferToSomeoneForm.get(input).invalid &&\r\n this.transferToSomeoneForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n formValidForTransfer() {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.valid &&\r\n this.transferToSomeoneForm.controls.description.valid\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n formValidForSavingTemplateAndTransfer() {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.valid &&\r\n this.transferToSomeoneForm.controls.description.valid &&\r\n this.transferToSomeoneForm.controls.name.valid &&\r\n this.transferToSomeoneForm.controls.accountNumber.valid\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n prepare() {\r\n this.checkIfInternalIsBetweenOwn();\r\n if (this.isBetween) {\r\n this.transactionType = \"TRANSFER_BETWEEN_OWN_ACCOUNTS\";\r\n }\r\n\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transferService,\r\n +this.transferToSomeoneForm.value.amount,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n this.guid.toString(),\r\n this.transactionType,\r\n () => (this.step = 2)\r\n );\r\n }\r\n\r\n gotoFirstStep() {\r\n this.step = 1;\r\n this.emptySmsCode();\r\n }\r\n\r\n emptySmsCode() {\r\n this.transferToSomeoneForm.controls.otpCode.setValue(\"\");\r\n }\r\n\r\n isDisabledFirstStep() {\r\n return this.step === 2;\r\n }\r\n\r\n submitForm(saveTemplate) {\r\n this.markFormGroupTouched(this.transferToSomeoneForm);\r\n if (this.selectedTemplate) {\r\n if (this.step === 1) {\r\n if (this.formValidForTransfer()) {\r\n this.checkIfInternalAccount();\r\n\r\n this.prepare();\r\n }\r\n } else {\r\n if (this.transferToSomeoneForm.controls.otpCode.valid) {\r\n this.transferToSomeoneAccountConfirm();\r\n }\r\n }\r\n } else {\r\n // save template and then transfer\r\n if (this.step === 1) {\r\n if (this.formValidForSavingTemplateAndTransfer()) {\r\n this.checkIfInternalAccount();\r\n\r\n this.prepare();\r\n }\r\n } else {\r\n if (this.transferToSomeoneForm.controls.otpCode.valid) {\r\n if (saveTemplate) {\r\n let temp: any = this.templates;\r\n let filteredTemp = temp.filter((obj: TemplateTransferInfo) => {\r\n return (\r\n obj.beneficiaryAccountNumber ===\r\n this.transferToSomeoneForm.controls.accountNumber.value\r\n );\r\n });\r\n if (filteredTemp.length > 0) {\r\n this.loading = false;\r\n this.errorMessage = \"ALREADY_EXISTS\";\r\n } else {\r\n this.addTemplate();\r\n }\r\n } else {\r\n this.transferToSomeoneAccountConfirm();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n transferToSomeoneAccountConfirm() {\r\n this.unsubscribeTransferConfirmation();\r\n this.transferConfirmation = undefined;\r\n this.errorMessage = \"\";\r\n\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n\r\n if (\r\n this.transactionType === \"INTERNAL_TRANSFER\" ||\r\n this.transactionType === \"TRANSFER_BETWEEN_OWN_ACCOUNTS\"\r\n ) {\r\n this.checkIfInternalIsBetweenOwn();\r\n\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneInternalAccountConfirm(\r\n this.selectedAccountFrom.mainTitle,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n +this.transferToSomeoneForm.value.amount,\r\n this.prepareTransfer.fee,\r\n this.guid.toString(),\r\n this.transferToSomeoneForm.controls.otpCode.value,\r\n this.isBetween,\r\n null,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.beneficiaryAccountNumber\r\n : this.transferToSomeoneForm.controls.accountNumber.value,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.name\r\n : this.transferToSomeoneForm.controls.name.value,\r\n this.transferToSomeoneForm.value.description\r\n )\r\n .subscribe((res: any) => {\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n\r\n if (res.data.addInternalTransfer) {\r\n if (\r\n res.data.addInternalTransfer.status === \"SUCESS\" &&\r\n res.data.addInternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addInternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n\r\n res.data.addInternalTransfer.status === \"PENDING\" &&\r\n res.data.addInternalTransfer.externalId\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n\r\n }\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n } else if (this.transactionType === \"EXTERNAL_TRANSFER\") {\r\n this.setBankname();\r\n // console.log(this.receiverBank);\r\n // console.log(this.senderPerson);\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneExternalAccountConfirm(\r\n this.selectedAccountFrom.mainTitle,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.beneficiaryAccountNumber\r\n : this.transferToSomeoneForm.controls.accountNumber.value,\r\n this.selectedAccountFrom.rightInfo.substring(\r\n this.selectedAccountFrom.rightInfo.length - 3\r\n ),\r\n +this.transferToSomeoneForm.value.amount,\r\n this.transferToSomeoneForm.value.description,\r\n this.prepareTransfer.fee,\r\n this.selectedTemplate\r\n ? this.selectedTemplate.name\r\n : this.transferToSomeoneForm.controls.name.value,\r\n this.guid.toString(),\r\n this.transferToSomeoneForm.controls.otpCode.value,\r\n this.transferToSomeoneForm.controls.bank.value,\r\n this.transferToSomeoneForm.controls.branchName.value,\r\n this.senderPerson,\r\n this.receiverBank,\r\n this.ownersCount\r\n\r\n )\r\n .subscribe((res: any) => {\r\n\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n if (res.errors) {\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n this.gotoFirstStep();\r\n } else if (res.data) {\r\n if (\r\n res.data.addExternalTransfer.status === \"SUCCESS\" &&\r\n res.data.addExternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addExternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else if (\r\n res.data.addExternalTransfer.status === \"PENDING\" &&\r\n res.data.addExternalTransfer.externalId\r\n\r\n ){\r\n this.errorMessage = \"\";\r\n const externalId = res?.data?.addExternalTransfer?.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n }\r\n\r\n else {\r\n this.modalService.generateErrorModal(\"ERROR_CODES.GENERAL_ERROR\");\r\n }\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n }\r\n }\r\n\r\n checkIfInternalIsBetweenOwn() {\r\n let temp: any = this.accountsFrom;\r\n if (this.selectedTemplate?.beneficiaryAccountNumber) {\r\n temp.forEach((element) => {\r\n if (element.id === this.selectedTemplate.beneficiaryAccountNumber) {\r\n this.isBetween = true;\r\n }\r\n });\r\n } else if (this.transferToSomeoneForm.controls.accountNumber.value) {\r\n temp.forEach((element) => {\r\n if (\r\n element.id === this.transferToSomeoneForm.controls.accountNumber.value\r\n ) {\r\n this.isBetween = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n unsubscribeTransferConfirmation() {\r\n if (this.transferConfirmationSub) {\r\n this.transferConfirmationSub.unsubscribe();\r\n }\r\n }\r\n\r\n resetTransfer() {\r\n this.amount = 0;\r\n this.description = \"\";\r\n this.step = 1;\r\n }\r\n\r\n clickMakeTemplateFavourite() {\r\n this.makeTemplateFavourite = this.makeTemplateFavourite ? false : true;\r\n this.transferToSomeoneForm\r\n .get(\"addToFavourites\")\r\n .setValue(this.makeTemplateFavourite);\r\n }\r\n\r\n addTemplate() {\r\n this.loading = true;\r\n const template = {\r\n template: {\r\n beneficiaryAccountNumber:\r\n this.transferToSomeoneForm.controls.accountNumber.value,\r\n name: this.transferToSomeoneForm.controls.name.value,\r\n isFavorite: this.transferToSomeoneForm.controls.addToFavourites.value,\r\n },\r\n };\r\n this.addTemplateSub = this.templateService\r\n .addTransferTemplate(template)\r\n .subscribe((res) => {\r\n if (!res.errors) {\r\n this.transferToSomeoneAccountConfirm();\r\n } else {\r\n this.loading = false;\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n this.gotoFirstStep();\r\n }\r\n });\r\n }\r\n\r\n getSmsCode(event) {\r\n this.otpCode = event;\r\n this.transferToSomeoneForm.controls.otpCode.setValue(event);\r\n }\r\n resendSMSCode(event) {\r\n this.prepare();\r\n }\r\n\r\n checkNotEmpty() {\r\n if (this.showAddTemplateBlock) {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.value &&\r\n this.transferToSomeoneForm.controls.accountNumber.valid &&\r\n this.transferToSomeoneForm.controls.name.value &&\r\n this.transferToSomeoneForm.controls.bank.value\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n this.transferToSomeoneForm.controls.amount.value &&\r\n this.transferToSomeoneForm.controls.bank.value\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n super.unsubscribeAccountsInfo();\r\n super.unsubscribePrepareTransfer();\r\n this.unsubscribeTransferConfirmation();\r\n if (this.formSubscription) {\r\n this.formSubscription.unsubscribe();\r\n }\r\n if (this.checkAccountSub) {\r\n this.checkAccountSub.unsubscribe();\r\n }\r\n if (this.addTemplateSub) {\r\n this.addTemplateSub.unsubscribe();\r\n }\r\n }\r\n\r\n closeClick() {\r\n this.router.navigateByUrl(\r\n \"/products/accounts/\" + this.selectedAccountFrom.mainTitle\r\n );\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"TRANSFERS.TO_SOMEONE_ELSE\" | translate }}\r\n

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.FROM_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.TO_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.CHOOSE_BANK\" | translate }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ \"GENERAL.NAME\" | translate }}\r\n {{ selectedTemplate.name }}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

{{ \"GENERAL.DETAILS\" | translate }}

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.INSUFFICIENT_FUNDS\" | translate }}\r\n

\r\n

= 100000\r\n \">\r\n Please Note That You Can Only Transfer An Amount of Up to ZMW {{ \"GENERAL.AMOUNT\" | translate }}:{{ 100000 | moneyFormat }} , For All Transfers Above ZMW 100,000.00, and International Transfers, Kindly Visit Your Nearest Branch\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n

\r\n {{ \"GENERAL.FEE\" | translate }}\r\n {{ prepareTransfer?.fee | moneyFormat }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n Directive,\r\n ElementRef,\r\n Output,\r\n EventEmitter,\r\n HostListener,\r\n} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[clickOutside]\",\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @Output()\r\n public clickOutside = new EventEmitter();\r\n\r\n @HostListener(\"document:click\", [\"$event\", \"$event.target\"])\r\n public onClick(event: MouseEvent, targetElement: HTMLElement): void {\r\n if (!targetElement) {\r\n return;\r\n }\r\n\r\n const clickedInside = this.elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(event);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { accountsInfoBase } from \"../../shared/component-bases/accounts-info-base\";\r\n\r\n@Component({\r\n selector: \"app-transfers\",\r\n templateUrl: \"./transfers.component.html\",\r\n styleUrls: [\"./transfers.component.scss\"],\r\n})\r\nexport class TransfersComponent extends accountsInfoBase implements OnInit {\r\n constructor(private accountsInfoService: AccountsInfoService,private modalService:ModalWithTextService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n }\r\n\r\n checkIfAccountsMoreThanOne(): boolean {\r\n let temp: any = this.accountsInfo;\r\n if (temp) {\r\n if (temp.length === 1) {\r\n return false;\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TRANSFERS.TRANSFERS\" | translate }}

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ \"TRANSFERS.BETWEEN_OWN\" | translate }}\r\n \r\n \r\n \r\n {{\"TRANSFERS.TO_SOMEONE_BY_MOBILE_ID\" | translate}}\r\n \r\n \r\n \r\n {{ \"TRANSFERS.TO_SOMEONE\" | translate }}\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n

Please Note That You Can Only Transfer An Amount of Up to ZMW 100,000.00, For All Transfers Above ZMW 100,000.00, and International Transfers, Kindly Visit Your Nearest Branch

\r\n
\r\n
","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n AbstractControl,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n AccountsByMobileOrPnResponse,\r\n selectType,\r\n accountsInfo,\r\n TemplateDocumentInfo,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { TemplatesService } from \"../../templates/templates.service\";\r\nimport { TransferBase } from \"../transfers-base\";\r\nimport { TransfersService } from \"../transfers.service\";\r\n\r\n@Component({\r\n selector: \"app-transfer-with-mobile-or-pn\",\r\n templateUrl: \"./transfer-with-mobile-or-pn.component.html\",\r\n styleUrls: [\"./transfer-with-mobile-or-pn.component.scss\"],\r\n})\r\nexport class TransferWithMobileOrPnComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy\r\n{\r\n step: number = 1;\r\n\r\n guid: Guid;\r\n\r\n otpCode: string = \"\";\r\n\r\n mobileOrPnform: FormGroup;\r\n\r\n accountsToSub: Subscription;\r\n accountsToLoading: boolean = false;\r\n\r\n defaultAccount: selectType;\r\n accountsFrom: selectType;\r\n accountsTo: selectType;\r\n selectedTemplateTo?: selectType;\r\n selectedAccountFrom?: selectType;\r\n selectedAccountTo?: selectType;\r\n\r\n\r\n senderPerson: string = \"\";\r\n ownersCount:number=0;\r\n\r\n\r\n templatesLoading: boolean = true;\r\n showAddTemplateBlock: boolean = false;\r\n prepareTransferSub: Subscription;\r\n prepareTransferData;\r\n\r\n addTemplateSub: Subscription;\r\n templates: TemplateDocumentInfo;\r\n selectedTemplate: TemplateDocumentInfo;\r\n templateArr: selectType;\r\n\r\n makeTransferSub: Subscription;\r\n\r\n loading: boolean = false;\r\n errorMessage: string = \"\";\r\n accountErrorMessage: string = \"\";\r\n\r\n makeTemplateFavourite: boolean = false;\r\n\r\n constructor(\r\n private transfersService: TransfersService,\r\n private templateService: TemplatesService,\r\n private accountsInfoService: AccountsInfoService,\r\n private router: Router,\r\n private modalService: ModalWithTextService,\r\n private translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.selectedAccountFrom = null;\r\n this.selectedTemplateTo = null;\r\n this.selectedAccountTo = null;\r\n this.errorMessage = null;\r\n this.initializeForm();\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n });\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = true;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n\r\n this.fetchTemplates();\r\n this.getfullName();\r\n }\r\n\r\n initializeForm() {\r\n this.mobileOrPnform = new FormGroup({\r\n accountFrom: new FormControl(\"\", Validators.required),\r\n template: new FormControl(\"\", Validators.required),\r\n amount: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.max(100000),\r\n ]),\r\n description: new FormControl(\"\", Validators.required),\r\n name: new FormControl(\"\", Validators.required),\r\n accountTo: new FormControl(\"\", Validators.required),\r\n mobileOrPn: new FormControl(\"\", [Validators.required]),\r\n currency: new FormControl(\"\"),\r\n addToFavourites: new FormControl(false),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n mobileOrPnInputValidator(control: AbstractControl) {\r\n if (control.value.length !== 9 && control.value.length !== 11) {\r\n return { validUrl: true };\r\n }\r\n return null;\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.mobileOrPnform.get(input).invalid &&\r\n this.mobileOrPnform.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n checkIfSavingAccount(accNumber) {\r\n return accNumber.substring(10, 12) === \"21\";\r\n }\r\n\r\n prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n let accsWithoutSaving = temp.filter((element) => {\r\n let isSavingAccount = this.checkIfSavingAccount(element.accountNumber);\r\n if (!isSavingAccount) {\r\n return element;\r\n }\r\n });\r\n if (accsWithoutSaving) {\r\n this.accountsFrom = accsWithoutSaving.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n selectAccountFrom(tempFrom: selectType) {\r\n this.selectedAccountFrom = tempFrom;\r\n this.mobileOrPnform.controls.accountFrom.setValue(tempFrom.mainTitle);\r\n this.mobileOrPnform.controls.currency.setValue(\r\n tempFrom.rightInfo.substring(tempFrom.rightInfo.length - 3)\r\n );\r\n this.setMaxAmountBasedOnChoosenAccount(tempFrom);\r\n }\r\n setMaxAmountBasedOnChoosenAccount(account) {\r\n const accounts: any = this.accountsInfo;\r\n const choosenAccount = accounts.find(\r\n (x) => x.accountNumber === account.mainTitle\r\n );\r\n let maxAmount = choosenAccount.balance;\r\n if (maxAmount > 100000) maxAmount = 100000;\r\n this.mobileOrPnform.controls.amount.setValidators([\r\n Validators.required,\r\n Validators.max(maxAmount),\r\n ]);\r\n }\r\n fetchTemplates() {\r\n this.templatesLoading = true;\r\n this.templateService.fetchDocumentTemplates().subscribe((res: any) => {\r\n this.templatesLoading = false;\r\n this.templates = res.data.template.document;\r\n this.prepareTemplatesForToSelect();\r\n });\r\n }\r\n\r\n prepareTemplatesForToSelect() {\r\n let temp: any = this.templates;\r\n this.templateArr = temp.map((x: TemplateDocumentInfo) => ({\r\n id: x?.id,\r\n mainTitle: x?.name,\r\n rightInfo: decodeURIComponent(x?.documentNumber),\r\n }));\r\n }\r\n\r\n selectTemplateTo(accTo: selectType) {\r\n let temp: any = this.templates;\r\n this.selectedTemplate = temp.filter(\r\n (v: TemplateDocumentInfo) => v.id.toString() === accTo.id.toString()\r\n )[0];\r\n this.selectedTemplateTo = accTo;\r\n\r\n this.mobileOrPnform.controls.template.setValue(\r\n this.selectedTemplate.documentNumber\r\n );\r\n this.mobileOrPnform.controls.mobileOrPn.setValue(\r\n this.selectedTemplate.documentNumber\r\n );\r\n this.mobileOrPnform.controls.name.setValue(this.selectedTemplate.name);\r\n\r\n this.fetchAccountsByMobileOrPn();\r\n }\r\n\r\n selectAccountTo(accTo: selectType) {\r\n this.selectedAccountTo = accTo;\r\n this.mobileOrPnform.controls.accountTo.setValue(accTo.id);\r\n }\r\n\r\n prepNewTemplate() {\r\n this.selectedTemplateTo = {\r\n mainTitle: \"Add new template\",\r\n id: null,\r\n imgId: null,\r\n imgName: null,\r\n aboveTitle: null,\r\n underTitle: null,\r\n rightInfo: null,\r\n };\r\n this.selectedTemplate = null;\r\n this.mobileOrPnform.controls.template.setValue(\"new\");\r\n this.mobileOrPnform.controls.name.setValue(\"\");\r\n this.mobileOrPnform.controls.amount.setValue(\"\");\r\n this.mobileOrPnform.controls.accountTo.setValue(\"\");\r\n this.mobileOrPnform.controls.mobileOrPn.setValue(\"\");\r\n this.mobileOrPnform.controls.otpCode.setValue(\"\");\r\n this.selectedAccountTo = null;\r\n this.showAddTemplateBlock = true;\r\n this.clearErrorMessage();\r\n }\r\n\r\n checkAccountsOnBlur() {\r\n if (this.mobileOrPnform.controls.mobileOrPn.valid) {\r\n this.fetchAccountsByMobileOrPn();\r\n }\r\n }\r\n\r\n fetchAccountsByMobileOrPn() {\r\n this.loading = true;\r\n this.accountsToLoading = true;\r\n this.clearErrorMessage();\r\n\r\n let identifier =\r\n this.mobileOrPnform.controls.template.value === \"new\"\r\n ? this.mobileOrPnform.controls.mobileOrPn.value\r\n : this.mobileOrPnform.controls.template.value;\r\n this.accountsToSub = this.transfersService\r\n .fetchAccountsByMobileOrPn(decodeURIComponent(identifier.toString()))\r\n .subscribe((res: AccountsByMobileOrPnResponse) => {\r\n this.loading = false;\r\n this.accountsToLoading = false;\r\n this.accountErrorMessage = \"\";\r\n\r\n if (res.errors) {\r\n this.accountErrorMessage = \"NO_ACCOUNTS\";\r\n } else {\r\n let temp: any = res.data.accounts;\r\n this.accountsTo = temp.map((account) => ({\r\n id: account.accountId,\r\n mainTitle: \"******\" + account.accountNumber.substring(6),\r\n rightInfo: account.currency,\r\n }));\r\n if (\r\n this.mobileOrPnform.controls.template.value === \"new\" &&\r\n res.data.accounts\r\n ) {\r\n this.mobileOrPnform.controls.name.setValue(\r\n res.data.accounts[0].account\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n goToNextStep() {\r\n if (this.step === 1) {\r\n this.mobileOrPnform.controls.accountFrom.markAsTouched();\r\n this.mobileOrPnform.controls.template.markAsTouched();\r\n this.mobileOrPnform.controls.amount.markAsTouched();\r\n this.mobileOrPnform.controls.description.markAsTouched();\r\n this.mobileOrPnform.controls.name.markAsTouched();\r\n this.mobileOrPnform.controls.accountTo.markAsTouched();\r\n\r\n if (this.showAddTemplateBlock) {\r\n this.mobileOrPnform.controls.mobileOrPn.markAsTouched();\r\n }\r\n if (\r\n this.mobileOrPnform.controls.amount.value &&\r\n this.mobileOrPnform.controls.description.value &&\r\n this.mobileOrPnform.controls.name.value &&\r\n this.mobileOrPnform.controls.accountTo.value\r\n ) {\r\n if (this.mobileOrPnform.controls.template.value === \"new\") {\r\n if (this.mobileOrPnform.controls.mobileOrPn.valid) {\r\n this.prepareTransferMobile();\r\n }\r\n } else {\r\n this.prepareTransferMobile();\r\n }\r\n }\r\n } else if (this.step === 2) {\r\n this.mobileOrPnform.controls.otpCode.markAsTouched();\r\n\r\n if (this.mobileOrPnform.controls.otpCode.valid) {\r\n this.makeTransfer(false);\r\n }\r\n }\r\n this.clearErrorMessage();\r\n }\r\n\r\n goBack() {\r\n if (this.step !== 1) {\r\n this.step--;\r\n }\r\n this.clearErrorMessage();\r\n }\r\n\r\n clearErrorMessage() {\r\n this.errorMessage = \"\";\r\n }\r\n getfullName(){\r\n var userfullname = localStorage.getItem('fullname');\r\n this.senderPerson=userfullname\r\n\r\n }\r\n prepareTransferMobile() {\r\n this.loading = true;\r\n this.clearErrorMessage();\r\n\r\n this.guid = Guid.create();\r\n this.prepareTransferSub = this.transfersService\r\n .prepareTransfer(\r\n +this.mobileOrPnform.controls.amount.value,\r\n this.mobileOrPnform.controls.currency.value,\r\n \"INTERNAL_TRANSFER\",\r\n this.guid.toString()\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n this.prepareTransferData = res.data.prepareTransfer;\r\n this.step = 2;\r\n }\r\n });\r\n }\r\n\r\n makeTransfer(saveTemplate) {\r\n this.loading = true;\r\n this.clearErrorMessage();\r\n\r\n this.makeTransferSub = this.transfersService\r\n .transferToSomeoneInternalAccountConfirm(\r\n this.mobileOrPnform.controls.accountFrom.value,\r\n this.mobileOrPnform.controls.currency.value,\r\n +this.mobileOrPnform.controls.amount.value,\r\n this.prepareTransferData.fee,\r\n this.guid.toString(),\r\n this.mobileOrPnform.controls.otpCode.value,\r\n false,\r\n null,\r\n this.mobileOrPnform.controls.accountTo.value,\r\n this.mobileOrPnform.controls.name.value,\r\n this.mobileOrPnform.controls.description.value,\r\n this.senderPerson,\r\n this.ownersCount\r\n\r\n )\r\n .subscribe((res:any) => {\r\n if (res.errors) {\r\n this.loading = false;\r\n this.goBackToStepOne();\r\n this.modalService.generateErrorModal(\r\n \"ERROR_CODES.\" + res.errors[0].extensions.code\r\n );\r\n } else {\r\n if (saveTemplate) {\r\n this.addTemplate();\r\n } else {\r\n this.loading = false;\r\n // const voucherNumber = res?.data?.addInternalTransfer?.id??res?.data?.addExternalTransfer?.id;\r\n // this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n // console.log(res.data.addInternalTransfer.status)\r\n\r\n if( res.data.addInternalTransfer.status === \"SUCCESS\"\r\n ){\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addInternalTransfer?.id;\r\n // console.log(voucherNumber)\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n }else if(\r\n res.data.addInternalTransfer.status === \"PENDING\"){\r\n this.errorMessage = \"\";\r\n const externalId = res.data.addInternalTransfer.externalId;\r\n this.modalService.generateModal(`Transaction Initiated & Pending Approval ! Referance code : ${externalId}`);\r\n }\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n addTemplate() {\r\n const template = {\r\n template: {\r\n documentNumber:\r\n this.mobileOrPnform.controls.mobileOrPn.value.toString(),\r\n isFavorite: this.makeTemplateFavourite,\r\n name: this.mobileOrPnform.controls.name.value.toString(),\r\n },\r\n };\r\n\r\n this.addTemplateSub = this.templateService\r\n .addMobileOrPnTemplate(template)\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n const voucherNumber = res?.data?.addInternalTransfer?.id??res?.data?.addExternalTransfer?.id;\r\n const message = `Successful Transfer! Voucher Number : ${voucherNumber}`;\r\n this.modalService.generateModal(message??\"GENERAL.SUCC_TRANSFER\");\r\n });\r\n }\r\n\r\n goBackToStepOne() {\r\n this.step = 1;\r\n this.selectedAccountFrom = null;\r\n this.selectedTemplate = null;\r\n this.selectedTemplateTo = null;\r\n this.selectedAccountTo = null;\r\n this.accountsTo = null;\r\n this.showAddTemplateBlock = null;\r\n this.mobileOrPnform = null;\r\n this.initializeForm();\r\n }\r\n\r\n clickMakeTemplateFavourite() {\r\n this.makeTemplateFavourite = this.makeTemplateFavourite ? false : true;\r\n this.mobileOrPnform\r\n .get(\"addToFavourites\")\r\n .setValue(this.makeTemplateFavourite);\r\n }\r\n\r\n makeTransferAndSaveTemplate() {\r\n this.mobileOrPnform.controls.otpCode.markAsTouched();\r\n\r\n if (this.mobileOrPnform.controls.otpCode.valid) {\r\n let temp: any = this.templateArr;\r\n if (\r\n temp.find(\r\n (e) => e.rightInfo == this.mobileOrPnform.controls.mobileOrPn.value\r\n )\r\n ) {\r\n this.accountErrorMessage = \"ALREADY_EXISTS\";\r\n } else {\r\n this.makeTransfer(true);\r\n }\r\n }\r\n }\r\n\r\n getSmsCode(event) {\r\n this.otpCode = event;\r\n this.mobileOrPnform.controls.otpCode.setValue(event);\r\n }\r\n resendSMSCode(event) {\r\n this.prepareTransferMobile();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.addTemplateSub) {\r\n this.addTemplateSub.unsubscribe();\r\n }\r\n if (this.accountsToSub) {\r\n this.accountsToSub.unsubscribe();\r\n }\r\n if (this.makeTransferSub) {\r\n this.makeTransferSub.unsubscribe();\r\n }\r\n if (this.prepareTransferSub) {\r\n this.prepareTransferSub.unsubscribe();\r\n }\r\n }\r\n\r\n closeClick() {\r\n this.router.navigateByUrl(\r\n \"/products/accounts/\" + this.selectedAccountFrom.mainTitle\r\n );\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"TRANSFERS.TO_SOMEONE_BY_MOBILE_ID\" | translate }}\r\n

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.FROM_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ \"TRANSFERS.TO_ACC\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n\r\n \r\n
\r\n

\r\n {{ \"GENERAL.DETAILS\" | translate }}\r\n

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.INSUFFICIENT_FUNDS\" | translate }}\r\n

\r\n

= 100000\r\n \">\r\n Please Note That You Can Only Transfer An Amount of Up to ZMW {{ \"GENERAL.AMOUNT\" | translate }}:{{ 100000 | moneyFormat }} , For All Transfers Above ZMW 100,000.00, and International Transfers, Kindly Visit Your Nearest Branch\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + accountErrorMessage | translate }}\r\n

\r\n
\r\n
\r\n\r\n \r\n
\r\n

\r\n {{ \"GENERAL.FEE\" | translate }}\r\n {{ prepareTransferData?.fee | moneyFormat }}\r\n {{ prepareTransferData?.currency }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"GENERAL.NEXT\" | translate }}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ \"TRANSFERS.SAVE_AND_TRANSFER\" | translate }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TransactionsService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n}\r\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-full-date-picker',\r\n templateUrl: './full-date-picker.component.html',\r\n styleUrls: ['./full-date-picker.component.scss']\r\n})\r\nexport class FullDatePickerComponent implements OnInit {\r\n\r\n @ViewChild(\"pickYearChild\") child;\r\n @ViewChild(\"pickMonthChild\") childMonth;\r\n @ViewChild(\"pickDateChild\") childDate;\r\n\r\n todaysDate = new Date();\r\n\r\n @Input() pickedDate: Date;\r\n\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n\r\n @Input() step = \"year\";\r\n\r\n @Input() placeholder = \"Pick a date\";\r\n\r\n @Input() valid = true;\r\n @Input() disabled = false;\r\n\r\n showPicker = false;\r\n\r\n dateIsPicked = false;\r\n\r\n minYearList: any;\r\n maxYearList: any;\r\n\r\n @Output() giveDate = new EventEmitter();\r\n\r\n constructor(\r\n ) {}\r\n\r\n ngOnInit() {\r\n if(!this.maxDate || !this.minDate){\r\n this.newMaxMin();\r\n }\r\n if (!this.pickedDate) {\r\n this.pickedDate = this.maxDate;\r\n } else {\r\n this.finishPicking();\r\n }\r\n }\r\n\r\n newMaxMin(){\r\n this.minDate = new Date(\r\n new Date().getFullYear() - 100,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n this.maxDate = new Date(\r\n new Date().getFullYear() - 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n }\r\n\r\n showHidePicker() {\r\n if (!this.disabled) {\r\n if (this.showPicker === true) {\r\n this.showPicker = false;\r\n if (this.dateIsPicked === false) {\r\n this.valid = false;\r\n this.pickedDate = this.maxDate;\r\n } else {\r\n if (this.pickedDate <= this.maxDate) {\r\n this.valid = true;\r\n } else {\r\n this.pickedDate = this.maxDate;\r\n }\r\n }\r\n } else {\r\n this.showPicker = true;\r\n this.valid = true;\r\n }\r\n }\r\n }\r\n\r\n setDate(date) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear(),\r\n this.pickedDate.getMonth(),\r\n date\r\n );\r\n\r\n this.finishPicking();\r\n }\r\n\r\n setMonth(month) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear(),\r\n month,\r\n this.pickedDate.getDate()\r\n );\r\n\r\n this.step = \"date\";\r\n }\r\n\r\n setYear(year) {\r\n this.pickedDate = new Date(\r\n year,\r\n this.pickedDate.getMonth(),\r\n this.pickedDate.getDate()\r\n );\r\n this.step = \"month\";\r\n }\r\n\r\n changeStep() {\r\n if (this.step === \"year\") {\r\n\r\n let dateIsInRange = true;\r\n if (this.minDate) {\r\n if (this.minDate.getTime() > new Date().getTime()) {\r\n dateIsInRange = false;\r\n }\r\n }\r\n\r\n if (this.maxDate) {\r\n if (this.maxDate.getTime() < new Date().getTime()) {\r\n dateIsInRange = false;\r\n }\r\n }\r\n\r\n if (dateIsInRange === true) {\r\n this.pickedDate = new Date();\r\n\r\n this.finishPicking();\r\n }\r\n }\r\n if (this.step === \"month\") {\r\n this.step = \"year\";\r\n }\r\n if (this.step === \"date\") {\r\n this.step = \"month\";\r\n }\r\n }\r\n\r\n previousClicked() {\r\n if (\r\n this.step === \"year\" &&\r\n this.child.minYearList.value >= this.minDate.getFullYear()\r\n ) {\r\n this.child.generatePreviousYearList();\r\n }\r\n if (\r\n this.step === \"month\" &&\r\n this.pickedDate.getFullYear() > this.minDate.getFullYear()\r\n ) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear() - 1,\r\n this.pickedDate.getMonth(),\r\n this.pickedDate.getDate()\r\n );\r\n this.childMonth.generateMonths(this.pickedDate);\r\n }\r\n if (this.step === \"date\" && this.pickedDate > this.minDate) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear(),\r\n this.pickedDate.getMonth() - 1,\r\n this.pickedDate.getDate()\r\n );\r\n this.childDate.generateDates(this.pickedDate);\r\n }\r\n }\r\n\r\n nextClicked() {\r\n if (\r\n this.step === \"year\" &&\r\n this.maxDate.getFullYear() >= this.child.maxYearList.value\r\n ) {\r\n this.child.generateNextYearList();\r\n }\r\n\r\n if (\r\n this.step === \"month\" &&\r\n this.pickedDate.getFullYear() < this.maxDate.getFullYear()\r\n ) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear() + 1,\r\n this.maxDate.getMonth(),\r\n this.maxDate.getDate()\r\n );\r\n this.childMonth.generateMonths(this.pickedDate);\r\n }\r\n if (this.step === \"date\" && this.pickedDate < this.maxDate) {\r\n this.pickedDate = new Date(\r\n this.pickedDate.getFullYear(),\r\n this.pickedDate.getMonth() + 1,\r\n this.maxDate.getDate()\r\n );\r\n this.childDate.generateDates(this.pickedDate);\r\n }\r\n }\r\n\r\n finishPicking() {\r\n this.dateIsPicked = true;\r\n this.showPicker = false;\r\n this.valid = true;\r\n this.giveDate.emit(this.pickedDate);\r\n }\r\n}\r\n","\r\n \r\n

\r\n {{ valid ? placeholder : (\"GENERAL.ERROR\" | translate) }}\r\n

\r\n

\r\n {{ pickedDate | date: \"d LLLL yyyy\" }}\r\n

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ pickedDate | date: \"LLLL, yyyy\" }}\r\n

\r\n

\r\n {{ pickedDate | date: \"yyyy\" }}\r\n

\r\n

\r\n {{ \"CALENDAR.DATE_PICKER.TODAYS_DATE\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n","import { Branch } from './../../../../shared/models/models';\r\nimport { Component, OnInit, OnDestroy, Input } from \"@angular/core\";\r\nimport {\r\n selectType,\r\n accountsInfo,\r\n AccountTemplate,\r\n TransferInfo,\r\n Bank,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n FormControl,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { TransferBase } from \"../../../transfers/transfers-base\";\r\nimport { TransfersService } from \"src/app/core/transfers/transfers.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { DictionaryService } from \"src/app/shared/services/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"app-to-someone-mini\",\r\n templateUrl: \"./to-someone-mini.component.html\",\r\n styleUrls: [\"./to-someone-mini.component.scss\"],\r\n})\r\nexport class ToSomeoneMiniComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy\r\n{\r\n guid: Guid;\r\n form: FormGroup;\r\n step: number = 1;\r\n\r\n @Input() templates: AccountTemplate;\r\n @Input() templatesLoading = false;\r\n @Input() templatesErrors: any;\r\n\r\n loadingTemplateText: string = \"GENERAL.SELECT_ADD_BENEF\";\r\n\r\n selectedAccountFrom: accountsInfo;\r\n selectedAccountTo: AccountTemplate;\r\n transactionType: string = \"EXTERNAL_TRANSFER\";\r\n\r\n accountsFrom: selectType;\r\n templatesToArr: selectType;\r\n templateTo: selectType;\r\n defaultAccount: selectType;\r\n loadingSelectFromText: string = \"GENERAL.SELECT_ACC\";\r\n branchName: string=\"\";\r\n receiverBank: string = \"\";\r\n senderPerson: string = \"\";\r\n\r\n otpCode = \"\";\r\n smsCodeValidity = false;\r\n resendBtnHovered: boolean = false;\r\n ownersCount:number=0;\r\n\r\n isBetween: boolean = false;\r\n\r\n loading: boolean = true;\r\n prepareTransferLoading: boolean = false;\r\n\r\n transferConfirmationSub: Subscription;\r\n transferConfirmationLoading = false;\r\n transferConfirmationError: any;\r\n transferConfirmation: TransferInfo;\r\n modalClosedSub: Subscription;\r\n errorMessage: string;\r\n\r\n banksLoadingText = \"GENERAL.SELECT_BANKS\";\r\n banksForSelect: Array;\r\n choosenBank: selectType;\r\n\r\n isTransferTemplateSelected: boolean;\r\n\r\n constructor(\r\n public dictionaryService: DictionaryService,\r\n private accountsInfoService: AccountsInfoService,\r\n private transferService: TransfersService,\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private translateService: TranslateService,\r\n private modalService: ModalWithTextService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n this.modalClosedSub = this.modalService.modalClosed.subscribe(\r\n (res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClosed();\r\n }\r\n }\r\n );\r\n\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForFromSelect();\r\n }\r\n });\r\n }\r\n\r\n initializeForm() {\r\n // Validators.minLength(23),\r\n // Validators.maxLength(23),\r\n this.form = this.formBuilder.group({\r\n accountFrom: new FormControl(\"\", [Validators.required]),\r\n accountTo: new FormControl(\"\", [Validators.required]),\r\n amount: new FormControl(\r\n {\r\n value: null,\r\n disabled: this.isDisabledFirstStep(),\r\n },\r\n [Validators.required, Validators.max(100000)]\r\n ),\r\n bank: new FormControl(\"\", [Validators.required]),\r\n branchName: new FormControl(\"\", [Validators.required]),\r\n // branch: new FormControl(\"\", [Validators.required]),\r\n description: new FormControl(\r\n {\r\n value: \"\",\r\n disabled: this.isDisabledFirstStep(),\r\n },\r\n [Validators.required]\r\n ),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n isDisabledFirstStep() {\r\n return this.step === 2;\r\n }\r\n isfirstStepValid() {\r\n const { accountFrom, accountTo, amount, bank, description } =\r\n this.form.controls;\r\n return (\r\n accountFrom.valid &&\r\n accountTo.valid &&\r\n amount.valid &&\r\n bank.valid &&\r\n description.valid\r\n );\r\n }\r\n selectAccountFrom(account: selectType) {\r\n let temp: any = this.accountsInfo;\r\n this.selectedAccountFrom = temp.filter(\r\n (item: accountsInfo) => item.accountId === account.id\r\n )[0];\r\n this.form\r\n .get(\"accountFrom\")\r\n .setValue(this.selectedAccountFrom.accountNumber);\r\n this.setMaxAmountBasedOnChoosenAccount(this.selectedAccountFrom);\r\n }\r\n setMaxAmountBasedOnChoosenAccount(account) {\r\n let maxAmount = account.balance;\r\n if (maxAmount > 100000) maxAmount = 100000;\r\n this.form.controls.amount.setValidators([\r\n Validators.required,\r\n Validators.max(maxAmount),\r\n ]);\r\n }\r\n newItemClick() {\r\n this.router.navigateByUrl(\"/transfer/to-someones-account\", {\r\n state: { addNewTemplate: true },\r\n });\r\n }\r\n\r\n selectTemplateTo(template: selectType) {\r\n let temp: any = this.templates;\r\n this.templateTo = template;\r\n this.selectedAccountTo = temp.filter(\r\n (item: AccountTemplate) => item.id.toString() === template.id.toString()\r\n )[0];\r\n if (this.isTemplateIsSelected(this.selectedAccountTo)) {\r\n this.setTemplateAsSelected(this.selectedAccountTo.bankBicCode);\r\n }\r\n\r\n this.form.get(\"accountTo\").setValue(this.templateTo.rightInfo);\r\n }\r\n isTemplateIsSelected(template): boolean {\r\n if (\r\n template &&\r\n template.beneficiaryAccountNumber &&\r\n template.bankBicCode &&\r\n template.type == \"TRANSFER\"\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n setTemplateAsSelected(industryNumber): void {\r\n this.isTransferTemplateSelected = true;\r\n this.form.controls.bank.setValue(industryNumber);\r\n }\r\n\r\n // getEmittedBranchCode(branchCode: string) {\r\n // if (branchCode) {\r\n // this.form.get(\"branch\").setValue(branchCode);\r\n // } else {\r\n // this.form.get(\"branch\").setValue(null);\r\n // }\r\n // }\r\n getEmittedIndustryNumber(bankCode: string) {\r\n this.form.get(\"bank\").setValue(bankCode);\r\n }\r\n prepareAccountsForFromSelect() {\r\n let temp: any = this.accountsInfo;\r\n\r\n if (temp) {\r\n this.accountsFrom = temp.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n aboveTitle: x.category,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n waitforTemplates() {\r\n let temp: any = this.templates;\r\n if (temp) {\r\n if (temp.length >= 0) {\r\n this.prepareTemplatesForToSelect();\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n prepareTemplatesForToSelect() {\r\n let temp: any = this.templates;\r\n if (temp) {\r\n this.templatesToArr = temp.map((x: AccountTemplate) => ({\r\n id: x.id,\r\n mainTitle: x.name,\r\n rightInfo: x.beneficiaryAccountNumber,\r\n }));\r\n }\r\n }\r\n\r\n prepare() {\r\n this.markFormGroupTouched(this.form);\r\n\r\n if (this.checkFirstStepValidity()) {\r\n this.checkIfInternalAccount();\r\n\r\n this.checkIfInternalIsBetweenOwn();\r\n if (this.isBetween) {\r\n this.transactionType = \"TRANSFER_BETWEEN_OWN_ACCOUNTS\";\r\n }\r\n\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transferService,\r\n +this.form.get(\"amount\").value,\r\n this.selectedAccountFrom.currency,\r\n this.guid.toString(),\r\n this.transactionType,\r\n () => (this.step = 2)\r\n );\r\n }\r\n }\r\n\r\n checkIfInternalAccount() {\r\n const choosenBankCode = this.form.controls.bank.value;\r\n const zambiaBankCode = \"ABBAK\";\r\n if (choosenBankCode === zambiaBankCode) {\r\n this.transactionType = \"INTERNAL_TRANSFER\";\r\n } else {\r\n this.transactionType = \"EXTERNAL_TRANSFER\";\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n checkFirstStepValidity() {\r\n if (\r\n this.form.get(\"accountFrom\").valid &&\r\n this.form.get(\"accountTo\").valid &&\r\n this.form.get(\"description\").valid &&\r\n this.form.get(\"amount\").valid\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n transferToSomeoneAccountConfirm() {\r\n if (this.form.valid) {\r\n this.unsubscribeTransferConfirmation();\r\n this.transferConfirmation = undefined;\r\n this.errorMessage = \"\";\r\n\r\n this.transferConfirmationLoading = true;\r\n this.loading = true;\r\n\r\n if (\r\n this.transactionType === \"INTERNAL_TRANSFER\" ||\r\n this.transactionType === \"TRANSFER_BETWEEN_OWN_ACCOUNTS\"\r\n ) {\r\n this.checkIfInternalIsBetweenOwn();\r\n\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneInternalAccountConfirm(\r\n this.selectedAccountFrom.accountNumber,\r\n this.selectedAccountFrom.currency,\r\n +this.form.get(\"amount\").value,\r\n this.prepareTransfer.fee,\r\n this.guid.toString(),\r\n this.form.get(\"otpCode\").value,\r\n this.isBetween,\r\n null,\r\n this.form.get(\"accountTo\").value,\r\n this.selectedAccountTo ? this.selectedAccountTo.name : null,\r\n this.form.get(\"description\").value\r\n )\r\n .subscribe((res: any) => {\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n\r\n if (res?.data?.addInternalTransfer) {\r\n if (\r\n res.data.addInternalTransfer.status === \"SUCESS\" &&\r\n res.data.addInternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addInternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else {\r\n this.errorMessage = \"GENERAL_ERROR\";\r\n }\r\n }\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n this.gotoFirstStep();\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n } else if (this.transactionType === \"EXTERNAL_TRANSFER\") {\r\n this.transferConfirmationSub = this.transferService\r\n .transferToSomeoneExternalAccountConfirm(\r\n this.selectedAccountFrom.accountNumber,\r\n this.form.controls.accountTo.value,\r\n this.selectedAccountFrom.currency,\r\n +this.form.controls.amount.value,\r\n this.form.controls.description.value,\r\n this.prepareTransfer.fee,\r\n this.selectedAccountTo ? this.selectedAccountTo.name : null,\r\n this.guid.toString(),\r\n this.form.controls.otpCode.value,\r\n this.form.controls.bank.value,\r\n this.form.controls.branchName.value,\r\n this.senderPerson,\r\n this.receiverBank,\r\n this.ownersCount\r\n )\r\n .subscribe((res: any) => {\r\n this.transferConfirmationLoading = false;\r\n this.loading = false;\r\n\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n this.gotoFirstStep();\r\n } else if (res.data) {\r\n if (\r\n res.data.addExternalTransfer.status === \"SUCCESS\" &&\r\n res.data.addExternalTransfer.id\r\n ) {\r\n this.errorMessage = \"\";\r\n const voucherNumber = res?.data?.addExternalTransfer?.id;\r\n this.modalService.generateModal(`Successful Transfer! Voucher Number : ${voucherNumber}`);\r\n } else {\r\n this.errorMessage = \"GENERAL_ERROR\";\r\n }\r\n }\r\n this.transferConfirmation =\r\n res[\"data\"] && res[\"data\"][\"addExternalTransfer\"]\r\n ? res[\"data\"][\"addExternalTransfer\"]\r\n : {};\r\n });\r\n }\r\n\r\n this.emptySmsCode();\r\n }\r\n }\r\n\r\n checkIfInternalIsBetweenOwn() {\r\n let temp: any = this.accountsFrom;\r\n if (this.form.controls.accountTo.value) {\r\n temp.forEach((element) => {\r\n if (element.id === this.form.controls.accountTo.value) {\r\n this.isBetween = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getSmsCode(event) {\r\n this.form.controls.otpCode.setValue(event);\r\n }\r\n\r\n resendSms() {\r\n this.guid = Guid.create();\r\n super.prepareForTransfer(\r\n this.transferService,\r\n +this.form.get(\"amount\").value,\r\n this.selectedAccountFrom.currency,\r\n this.guid.toString(),\r\n this.transactionType,\r\n () => (this.step = 2)\r\n );\r\n }\r\n\r\n gotoFirstStep() {\r\n this.step = 1;\r\n this.emptySmsCode();\r\n }\r\n\r\n emptySmsCode() {\r\n this.smsCodeValidity = false;\r\n this.otpCode = \"\";\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (this.form.get(input).invalid && this.form.get(input).touched) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n unsubscribeTransferConfirmation() {\r\n if (this.transferConfirmationSub) {\r\n this.transferConfirmationSub.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.unsubscribeAccountsInfo();\r\n }\r\n\r\n closeClick() {\r\n this.router.navigateByUrl(\r\n \"/products/accounts/\" + this.selectedAccountFrom?.accountNumber\r\n );\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n {{ \"GENERAL.FEE\" | translate }}: {{ prepareTransfer.fee | moneyFormat }}\r\n

\r\n
\r\n\r\n
\r\n

{{ \"ERROR_CODES.INSUFFICIENT_FUNDS\" | translate }}

\r\n

= 100000\r\n \">\r\n Max {{ \"GENERAL.AMOUNT\" | translate }}:{{ 100000 | moneyFormat }} ZMW\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
","import { Directive, OnInit, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appCurrency]\",\r\n})\r\nexport class CurrencyDirective implements OnInit {\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.el.nativeElement.value = this.transform(this.el.nativeElement.value);\r\n }, 0);\r\n }\r\n\r\n transform(value: any, args?: any): any {\r\n if (typeof value === \"number\") {\r\n const step1 = value.toFixed(2);\r\n\r\n if (step1.split(\".\")[1]) {\r\n return this.addCommas(step1.split(\".\")[0] + \".\" + step1.split(\".\")[1]);\r\n } else {\r\n return this.addCommas(step1.split(\".\")[0]);\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n @HostListener(\"blur\", [\"$event.target.value\", \"$event\"])\r\n onBlur(value) {\r\n if (Number(value)) {\r\n this.el.nativeElement.value = this.transform(Number(value));\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n @HostListener(\"focus\", [\"$event.target.value\", \"$event\"])\r\n onFocus(value, event) {\r\n const whole = value.replace(/\\,/g, \"\").split(\".\")[0];\r\n const decimal = value.replace(/\\,/g, \"\").split(\".\")[1];\r\n if (Number(whole) > 0 || Number(decimal) > 0) {\r\n if (Number(decimal) > 0) {\r\n this.el.nativeElement.value = String(whole) + \".\" + String(decimal);\r\n } else {\r\n this.el.nativeElement.value = whole;\r\n }\r\n } else {\r\n this.el.nativeElement.value = \"\";\r\n }\r\n }\r\n\r\n @HostListener(\"keydown\", [\"$event\"]) onKeyDown(e) {\r\n if (\r\n e.key === \".\" &&\r\n e.target.value.split(\"\").filter((x) => x === \".\").length > 0\r\n ) {\r\n e.preventDefault();\r\n }\r\n\r\n if (\r\n [46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode === 65 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode === 67 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+V\r\n (e.keyCode === 86 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode === 88 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || e.keyCode < 48 || e.keyCode > 57) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n addCommas(nStr) {\r\n nStr += \"\";\r\n const x = nStr.split(\".\");\r\n let x1 = x[0];\r\n const x2 = x.length > 1 ? \".\" + x[1] : \"\";\r\n const rgx = /(\\d+)(\\d{3})/;\r\n while (rgx.test(x1)) {\r\n x1 = x1.replace(rgx, \"$1\" + \",\" + \"$2\");\r\n }\r\n return x1 + x2;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { GraphQLRequestService } from '../../graph-ql-request.service';\r\nimport gql from 'graphql-tag';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResetPasswordService {\r\n\r\n constructor(\r\n private graphQL: GraphQLRequestService\r\n ) { }\r\n\r\n resetCheckUser(userName, mobile){\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($userName: String!, $mobile: String!){\r\n restorePasswordCheckUser(\r\n userName: $userName,\r\n mobile: $mobile)\r\n }`,\r\n {userName,\r\n mobile}\r\n );\r\n }\r\n\r\n generateResetPasswordOtp(data){\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($data: OtpInput!) {\r\n generateRestorePasswordOtp(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n\r\n validateResetPasswordOtp(data){\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($data: OtpInput!) {\r\n validateRestorePasswordOtp(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n\r\n resetPassword(userName, mobile, password){\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($userName: String!,\r\n $mobile: String!,\r\n $password: String!) {\r\n restorePassword(\r\n userName:$userName,\r\n mobile: $mobile,\r\n password: $password\r\n )\r\n }\r\n `,\r\n {userName,\r\n mobile,\r\n password\r\n }\r\n );\r\n }\r\n\r\n changePassword(data){\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($data: ChangePasswordDetailsInput!) {\r\n changePassword(data: $data)\r\n }`,\r\n data\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { clientType } from \"../../shared/enums/enums\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Router } from \"@angular/router\";\r\nimport { FunctionsService } from \"../../shared/functions/functions.service\";\r\nimport { RegisterService } from \"../register/register.service\";\r\nimport {\r\n registrationCheckCustomerResponse,\r\n validateRegistrationOTPResponse,\r\n} from \"../../shared/models/models\";\r\nimport { OtpService } from \"../../shared/services/otp.service\";\r\nimport { ResetPasswordService } from \"./reset-password.service\";\r\nimport { DateFormatPipe } from \"src/app/shared/pipes/date-format.pipe\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\n\r\n@Component({\r\n selector: \"app-reset-password\",\r\n templateUrl: \"./reset-password.component.html\",\r\n styleUrls: [\"./reset-password.component.scss\"],\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n clientTypeEnum = clientType;\r\n clientType: string = \"\";\r\n\r\n resetPasswordStep: number = 1;\r\n\r\n resetPasswordForm: FormGroup;\r\n\r\n disabledClass: boolean = false;\r\n\r\n // for datepicker\r\n minDate: Date;\r\n maxDate: Date;\r\n pickedDate: Date;\r\n\r\n resetPasswordCheckCustomerSub: Subscription;\r\n\r\n errorMessage: string = \"\";\r\n loading: boolean = false;\r\n\r\n otpLoading: boolean = false;\r\n resendBtnHovered: boolean = false;\r\n generateOtpSub: Subscription;\r\n validateOtpSub: Subscription;\r\n otpCode: string = \"\";\r\n guid: Guid;\r\n\r\n resetPasswordSub: Subscription;\r\n\r\n isModalOpen: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private functionsService: FunctionsService,\r\n private resetPasswordService: ResetPasswordService,\r\n private dateFormat: DateFormatPipe,\r\n private modalService: ModalWithTextService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.modalService.modalClosed.subscribe((res: boolean) => {\r\n if (res === true) {\r\n this.onPopupClose();\r\n }\r\n });\r\n this.initParametersForDatePicker();\r\n this.initializeForm();\r\n this.giveCustomValidator();\r\n }\r\n\r\n pickClientType(type: clientType) {\r\n this.clientType = type;\r\n }\r\n\r\n goBack() {\r\n if (this.resetPasswordStep === 1) {\r\n this.router.navigateByUrl(\"/landing\");\r\n } else if (this.resetPasswordStep === 2) {\r\n this.initializeForm();\r\n this.otpLoading = false;\r\n this.resendBtnHovered = false;\r\n this.otpCode = \"\";\r\n this.resetPasswordStep = 1;\r\n } else if (this.resetPasswordStep === 3) {\r\n this.resetPasswordStep = 1;\r\n this.initializeForm();\r\n }\r\n }\r\n\r\n nextStep() {\r\n if (this.resetPasswordStep === 1) {\r\n this.submitForm();\r\n } else if (this.resetPasswordStep === 2) {\r\n this.resetPasswordForm.get(\"smsCode\").markAsTouched();\r\n this.validateOtp();\r\n }\r\n }\r\n\r\n initializeForm() {\r\n this.resetPasswordForm = new FormGroup({\r\n mobile: new FormControl(\"\", [\r\n Validators.required,\r\n // Validators.pattern(\"[0-9]*\"),\r\n\r\n ]),\r\n username: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.maxLength(32),\r\n Validators.pattern(\"^[A-Za-z0-9]*$\"),\r\n ]),\r\n smsCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.pattern(\"[0-9]*\"),\r\n Validators.maxLength(4),\r\n Validators.minLength(4),\r\n ]),\r\n newPassword: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.pattern(\r\n \"^(?=.*[A-Z])(?=.*[!@#^$&*])(?=.*[0-9])(?=.*[a-z]).{8,}$\"\r\n ),\r\n ]),\r\n repeatNewPassword: new FormControl(\"\"),\r\n tempPassword: new FormControl(\"\", Validators.required),\r\n });\r\n this.errorMessage = \"\";\r\n }\r\n\r\n giveCustomValidator() {\r\n this.resetPasswordForm.controls.repeatNewPassword.setValidators([\r\n this.passwordsMatchValidation(\r\n this.resetPasswordForm.controls.newPassword\r\n ),\r\n Validators.required,\r\n ]);\r\n }\r\n\r\n passwordsMatchValidation(password: AbstractControl) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n const passwordValue = password.value;\r\n return passwordValue !== value ? { passwordsDonotMatch: true } : null;\r\n };\r\n }\r\n\r\n initParametersForDatePicker() {\r\n this.minDate = new Date(\r\n new Date().getFullYear() - 100,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n this.maxDate = new Date(\r\n new Date().getFullYear() - 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n }\r\n\r\n pickDate(date: Date) {\r\n this.resetPasswordForm\r\n .get(\"birthDate\")\r\n .setValue(this.dateFormat.transform(date));\r\n }\r\n\r\n giveClassesToCustomInputs(input: AbstractControl) {\r\n if (this.resetPasswordStep === 2) {\r\n return \"disabled\";\r\n } else {\r\n return this.functionsService.giveClassesToCustomInputs(input);\r\n }\r\n }\r\n\r\n checkInputToGiveClass(input) {\r\n if (this.resetPasswordForm.controls[input].value) {\r\n return \"disabled\";\r\n }\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupAsTouched();\r\n this.resetPasswordCheckCustomer();\r\n }\r\n\r\n markFormGroupAsTouched() {\r\n this.resetPasswordForm.get(\"mobile\").markAsTouched();\r\n this.resetPasswordForm.get(\"username\").markAsTouched();\r\n }\r\n\r\n resetPasswordCheckCustomer() {\r\n if (this.formValidForFirstStep()) {\r\n this.errorMessage = \"\";\r\n this.loading = true;\r\n\r\n const data = {\r\n userName: this.resetPasswordForm.get(\"username\").value,\r\n mobile: this.resetPasswordForm.get(\"mobile\").value,\r\n };\r\n this.resetPasswordCheckCustomerSub = this.resetPasswordService\r\n .resetCheckUser(\r\n this.resetPasswordForm.get(\"username\").value,\r\n this.resetPasswordForm.get(\"mobile\").value\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code\r\n ? res.errors[0].extensions.code\r\n : \"GENERAL_ERROR\";\r\n } else if (res.data.restorePasswordCheckUser) {\r\n this.resetPasswordStep = 2;\r\n this.generateOtp();\r\n } else {\r\n this.errorMessage = \"NOT_FOUND_RESET_USER\";\r\n }\r\n });\r\n } else {\r\n this.errorMessage = \"INVALID_INPUT\";\r\n }\r\n }\r\n\r\n disableInputs() {\r\n this.resetPasswordForm.get(\"birthDate\").invalid;\r\n }\r\n\r\n getSmsCode(code) {\r\n this.resetPasswordForm.get(\"smsCode\").setValue(code);\r\n }\r\n\r\n generateGUID() {\r\n this.guid = Guid.create();\r\n }\r\n\r\n generateOtp() {\r\n this.errorMessage = \"\";\r\n this.generateGUID();\r\n this.loading = true;\r\n this.otpLoading = false;\r\n\r\n const data = {\r\n mobile: this.resetPasswordForm.get(\"mobile\").value,\r\n sessionId: this.guid.toString(),\r\n code: \"\",\r\n };\r\n\r\n this.generateOtpSub = this.resetPasswordService\r\n .generateResetPasswordOtp({ data })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n this.otpLoading = false;\r\n\r\n if (res.errors) {\r\n this.errorMessage = \"RESEND_CODE\";\r\n this.otpLoading = true;\r\n this.resendBtnHovered = true;\r\n this.resetPasswordForm.controls.smsCode.markAsUntouched();\r\n }\r\n this.resetPasswordStep = 2;\r\n });\r\n }\r\n\r\n validateOtp() {\r\n if (this.formValidForSecondStep()) {\r\n this.errorMessage = \"\";\r\n this.loading = true;\r\n this.otpLoading = true;\r\n\r\n const data = {\r\n mobile: this.resetPasswordForm.get(\"mobile\").value,\r\n sessionId: this.guid.toString(),\r\n code: this.resetPasswordForm.get(\"smsCode\").value,\r\n };\r\n\r\n this.validateOtpSub = this.resetPasswordService\r\n .validateResetPasswordOtp({ data })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n if (res.errors) {\r\n this.otpLoading = true;\r\n this.resendBtnHovered = true;\r\n this.resetPasswordForm.controls.smsCode.markAsUntouched();\r\n this.errorMessage = res.errors[0].extensions.code\r\n ? res.errors[0].extensions.code\r\n : \"GENERAL_ERROR\";\r\n } else {\r\n this.resetPasswordStep = 3;\r\n }\r\n });\r\n }\r\n }\r\n\r\n resetPassword() {\r\n if (this.formValidForThirdStep()) {\r\n this.loading = true;\r\n \r\n this.resetPasswordSub = this.resetPasswordService\r\n .resetPassword(\r\n this.resetPasswordForm.get(\"username\").value,\r\n this.resetPasswordForm.get(\"mobile\").value,\r\n this.resetPasswordForm.get(\"newPassword\").value\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n \r\n if (res.errors) {\r\n if (res.errors[0].message === 'GraphQL.ExecutionError: YOUR_USERNAME_IS_BLOCKED,PLEASE_VISIT_THE_SERVICE_CENTER ') {\r\n this.errorMessage = 'USER_BLOCKED';\r\n } else {\r\n this.errorMessage = res.errors[0].extensions.code\r\n ? res.errors[0].extensions.code\r\n : 'GENERAL_ERROR';\r\n }\r\n } else {\r\n this.modalService.generateModal('LANDING.PASS_CHANGED');\r\n }\r\n });\r\n }\r\n }\r\n \r\n\r\n resendSMSCode() {\r\n this.resendBtnHovered = false;\r\n this.generateOtp();\r\n }\r\n\r\n formValidForFirstStep() {\r\n if (\r\n this.resetPasswordForm.get(\"mobile\").valid &&\r\n this.resetPasswordForm.get(\"username\").valid &&\r\n !this.loading\r\n ) {\r\n return true;\r\n }\r\n }\r\n\r\n formValidForSecondStep() {\r\n if (\r\n this.resetPasswordForm.get(\"mobile\").valid &&\r\n this.resetPasswordForm.get(\"username\").valid &&\r\n this.resetPasswordForm.get(\"smsCode\").valid &&\r\n !this.loading\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n formValidForThirdStep() {\r\n if (\r\n this.resetPasswordForm.get(\"mobile\").valid &&\r\n this.resetPasswordForm.get(\"username\").valid &&\r\n this.resetPasswordForm.get(\"newPassword\").valid &&\r\n !this.loading\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n passwordValidatorLength() {\r\n return this.resetPasswordForm.get(\"newPassword\").value.length < 8 &&\r\n this.resetPasswordForm.get(\"newPassword\").touched\r\n ? true\r\n : false;\r\n }\r\n\r\n passwordValidatorLowercaseLetter() {\r\n const regex = new RegExp(/[a-z]/g);\r\n return (\r\n !regex.test(this.resetPasswordForm.get(\"newPassword\").value) &&\r\n this.resetPasswordForm.get(\"newPassword\").touched\r\n );\r\n }\r\n\r\n passwordValidatorUppercaseLetter() {\r\n const regex = new RegExp(/[A-Z]/g);\r\n return (\r\n !regex.test(this.resetPasswordForm.get(\"newPassword\").value) &&\r\n this.resetPasswordForm.get(\"newPassword\").touched\r\n );\r\n }\r\n\r\n passwordValidatorNumber() {\r\n const regex = new RegExp(/[0-9]/g);\r\n return (\r\n !regex.test(this.resetPasswordForm.get(\"newPassword\").value) &&\r\n this.resetPasswordForm.get(\"newPassword\").touched\r\n );\r\n }\r\n\r\n passwordValidatorSymbol() {\r\n const regex = new RegExp(/[$@$!%*#?&]/g);\r\n return (\r\n !regex.test(this.resetPasswordForm.get(\"newPassword\").value) &&\r\n this.resetPasswordForm.get(\"newPassword\").touched\r\n );\r\n }\r\n\r\n // popup\r\n closeClick() {\r\n this.router.navigateByUrl(\"/\");\r\n }\r\n\r\n onPopupClose() {\r\n this.closeClick();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.resetPasswordCheckCustomerSub) {\r\n this.resetPasswordCheckCustomerSub.unsubscribe();\r\n }\r\n if (this.generateOtpSub) {\r\n this.generateOtpSub.unsubscribe();\r\n }\r\n if (this.validateOtpSub) {\r\n this.validateOtpSub.unsubscribe();\r\n }\r\n if (this.resetPasswordSub) {\r\n this.resetPasswordSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{ \"LANDING.RESET_PASSWORD\" | translate }}

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{\r\n resetPasswordForm.controls.username.invalid &&\r\n resetPasswordForm.controls.username.touched\r\n ? (\"LANDING.USERNAME_INV\" | translate)\r\n : (\"LANDING.USERNAME\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{\r\n resetPasswordForm.controls.mobile.invalid &&\r\n resetPasswordForm.controls.mobile.touched\r\n ? (\"LANDING.MOBILE_INV\" | translate)\r\n : (\"LANDING.MOBILE\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{\r\n resetPasswordForm.controls.newPassword.invalid &&\r\n resetPasswordForm.controls.newPassword.touched\r\n ? (\"LANDING.NEW_PASS_INV\" | translate)\r\n : (\"LANDING.NEW_PASS\" | translate)\r\n }}\r\n
\r\n
\r\n\r\n

\r\n {{ \"VALIDATION_ERRORS.MIN_8_CHARS\" | translate }}\r\n

\r\n

\r\n {{ \"VALIDATION_ERRORS.MIN_1_UPPER\" | translate }}\r\n

\r\n

\r\n {{ \"VALIDATION_ERRORS.MIN_1_LOWER\" | translate }}\r\n

\r\n

\r\n {{ \"VALIDATION_ERRORS.MIN_1_NUMBER\" | translate }}\r\n

\r\n

\r\n {{ \"VALIDATION_ERRORS.MIN_1_SYMBOL\" | translate }}\r\n

\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{\r\n resetPasswordForm.controls.repeatNewPassword.invalid &&\r\n resetPasswordForm.controls.repeatNewPassword.touched\r\n ? (\"LANDING.REPEAT_PASS_INV\" | translate)\r\n : (\"LANDING.REPEAT_PASS\" | translate)\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CalendarService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n createCalendarEvent(event) {\r\n let {eventName, amount, eventDate, currency, eventTypeId, eventTriggeringQuantity} = event.calendarEvent;\r\n return this.graphQL.mutate(gql`\r\n mutation($eventName:String!,\r\n $amount:Decimal,\r\n $eventDate:DateTime!,\r\n $currency:String,\r\n $eventTypeId:Int!,\r\n $eventTriggeringQuantity:Int!\r\n ){\r\n createCalendarEvent(calendarEvent:\r\n {\r\n eventName: $eventName,\r\n amount: $amount,\r\n eventDate: $eventDate,\r\n currency: $currency,\r\n eventTypeId: $eventTypeId,\r\n eventTriggeringQuantity:$eventTriggeringQuantity\r\n })\r\n {\r\n id\r\n eventName\r\n eventDate\r\n eventTypeId\r\n }\r\n }`,{eventName, amount, eventDate, currency, eventTypeId, eventTriggeringQuantity});\r\n }\r\n\r\n f(event, property) {\r\n return typeof event[property] !== null ? property : \"\";\r\n }\r\n editCalendarEvent(event) {\r\n const loanId = typeof event.loanId !== null ? \"loanId,\" : \"\";\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($updateEvent: CalendarEventInput!)\r\n {\r\n updateCalendarEvent(calendarEvent: $updateEvent)\r\n {\r\n id,\r\n currency,\r\n eventName,\r\n amount,\r\n eventDate,\r\n ${this.f(event, \"identifier\")}\r\n ${this.f(event, \"label\")}\r\n ${this.f(event, \"loanId\")}\r\n ${this.f(event, \"providerId\")}\r\n ${this.f(event, \"repeatType\")}\r\n eventTypeId,\r\n eventTriggeringQuantity\r\n }\r\n }\r\n `,\r\n event\r\n );\r\n }\r\n\r\n deleteCalendarEvent(event) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($calendarEventId: Int!) {\r\n deleteCalendarEvent(calendarEventId: $calendarEventId)\r\n }\r\n `,\r\n event\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { TakeALoanService } from \"./take-a-loan.service\";\r\nimport data from \"src/assets/jsons/loan-compilation.json\";\r\nimport { selectType } from \"src/app/shared/models/models\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\nimport { CustomerInfoBase } from \"src/app/shared/component-bases/customer-info-base\";\r\n\r\n@Component({\r\n selector: \"app-take-a-loan\",\r\n templateUrl: \"./take-a-loan.component.html\",\r\n styleUrls: [\"./take-a-loan.component.scss\"],\r\n})\r\nexport class TakeALoanComponent extends CustomerInfoBase implements OnInit {\r\n\r\n loading: boolean = false;\r\n selectLoanTypeLoading: boolean = true;\r\n\r\n selectedLoanType: selectType;\r\n loanTypes;\r\n loanTypeArray: selectType;\r\n selectedLoanTypeFiltered;\r\n\r\n amount: number = 1000;\r\n duration: number = 4;\r\n minAmount: number;\r\n maxAmount: number;\r\n mortgage: boolean = false;\r\n maxMonth: number;\r\n aplicationFee: number;\r\n rate: number;\r\n\r\n monthly: number = 0;\r\n\r\n errorMessage: string = \"\";\r\n success: boolean = false;\r\n\r\n constructor(\r\n private takeALoanService: TakeALoanService,\r\n private customerInfoService: CustomerInfoService,\r\n private modalService: ModalWithTextService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.customerInfo = null;\r\n super.loadCustomerInfo(this.customerInfoService);\r\n this.loanTypes = JSON.parse(JSON.stringify(data.loanTypes));\r\n }\r\n\r\n prepMail() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n if (this.isLoanInfo) {\r\n const data = {\r\n amount: +this.amount,\r\n fullName: this.customerInfo.firstNameLat + \" \" + this.customerInfo.lastNameLat,\r\n period: +this.duration,\r\n personalNumber: decodeURIComponent(this.customerInfo.personalN),\r\n phoneNumber: this.customerInfo.mobile,\r\n to: this.customerInfo.email,\r\n };\r\n this.sendMail(data);\r\n } else {\r\n this.errorMessage = \"CUSTOMER_INFO_ERROR\";\r\n this.loading = false;\r\n }\r\n }\r\n isLoanInfo(): boolean {\r\n if (\r\n this.customerInfo.firstNameLat &&\r\n this.customerInfo.lastNameLat &&\r\n this.duration &&\r\n this.customerInfo.personalN &&\r\n this.customerInfo.mobile\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n sendMail(data) {\r\n this.takeALoanService.sendMail(data).subscribe((res: any) => {\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n this.modalService.generateModal(\"LOANS_P.SUCCESS_SEND\");\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n setParams() {\r\n this.aplicationFee = this.selectedLoanTypeFiltered.insuranceFee;\r\n this.rate = this.selectedLoanTypeFiltered.annualRate;\r\n this.calculateLoan();\r\n }\r\n\r\n calculateLoan() {\r\n this.monthly = this.takeALoanService.calculateLoan(\r\n this.amount,\r\n this.rate,\r\n this.duration,\r\n this.aplicationFee\r\n );\r\n }\r\n\r\n getdisburementFee(): number {\r\n if (!this.selectedLoanTypeFiltered?.disbursementFee) return 0;\r\n const fee =\r\n (this.amount / 100) * this.selectedLoanTypeFiltered.disbursementFee;\r\n return fee;\r\n }\r\n setAmount(amo) {\r\n this.amount = amo;\r\n const loanType = this.getLoanTypeBasedOnAmount(this.amount);\r\n this.selectChoosenLoanType(loanType);\r\n }\r\n setPeriod(period) {\r\n this.duration = period;\r\n this.setParams();\r\n }\r\n selectChoosenLoanType(loanType) {\r\n this.selectedLoanType = loanType;\r\n this.selectedLoanTypeFiltered = loanType;\r\n this.setParams();\r\n }\r\n getLoanTypeBasedOnAmount(amount: number) {\r\n return this.loanTypes.find((x) => x.min <= amount && x.max >= amount);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ \"LOANS_P.LOAN_CAL\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n {{ \"LOANS_P.MONTLY_P\" | translate }}:\r\n {{ monthly | moneyFormat }} ZMW\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {{ \"LOANS_P.SEND_MAIL\" | translate }}\r\n \r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { TemplatesService } from '../../templates.service';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: \"app-edit-phone-number-template\",\r\n templateUrl: \"./edit-phone-number-template.component.html\",\r\n styleUrls: [\"./edit-phone-number-template.component.scss\"],\r\n})\r\nexport class EditPhoneNumberTemplateComponent implements OnInit, OnDestroy {\r\n template;\r\n\r\n mobileTemplateForm: FormGroup;\r\n\r\n editTemplateSub: Subscription;\r\n toggleFavouriteSub: Subscription;\r\n deleteTemplateSub: Subscription;\r\n\r\n loading = false;\r\n\r\n questionText: string = \"Are you sure that you want to delete this template?\";\r\n\r\n errorMessage = \"\";\r\n\r\n showDeletePopup = false;\r\n\r\n constructor(\r\n private templateService: TemplatesService,\r\n private router: Router\r\n\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeMobileTemplateForm();\r\n\r\n if (window.history.state.template) {\r\n this.template = window.history.state.template;\r\n this.loadTemplate();\r\n } else {\r\n this.router.navigateByUrl(\"/templates\");\r\n }\r\n }\r\n\r\n initializeMobileTemplateForm() {\r\n this.mobileTemplateForm = new FormGroup({\r\n name: new FormControl(\"\", { validators: [Validators.required] }),\r\n phoneNumber: new FormControl({ value: \"\", disabled: true }),\r\n isFavourite: new FormControl(\"\"),\r\n });\r\n }\r\n\r\n loadTemplate() {\r\n this.mobileTemplateForm.controls.isFavourite.setValue(\r\n this.template.isFavorite\r\n );\r\n this.mobileTemplateForm.controls.phoneNumber.setValue(\r\n this.template.identifiers[0].fieldValue\r\n );\r\n this.mobileTemplateForm.controls.name.setValue(this.template.name);\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.mobileTemplateForm.get(input).invalid &&\r\n this.mobileTemplateForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.mobileTemplateForm);\r\n\r\n if (this.mobileTemplateForm.valid) {\r\n this.editTemplate();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n editTemplate() {\r\n this.loading = true;\r\n\r\n const templateToGive = {\r\n template: {\r\n id: this.template.id,\r\n identifiers: [\r\n {\r\n fieldId: this.template.identifiers[0].fieldId,\r\n fieldValue: this.template.identifiers[0].fieldValue,\r\n },\r\n ],\r\n type: \"MOBILE\",\r\n isFavorite: this.template.isFavorite,\r\n name: this.mobileTemplateForm.controls.name.value,\r\n serviceId: this.template.serviceId,\r\n },\r\n };\r\n\r\n }\r\n\r\n toggleFavourite() {\r\n this.loading = true;\r\n\r\n const templateToGive = {\r\n template: {\r\n id: this.template.id,\r\n identifiers: [\r\n {\r\n fieldId: this.template.identifiers[0].fieldId,\r\n fieldValue: this.template.identifiers[0].fieldValue,\r\n },\r\n ],\r\n type: \"MOBILE\",\r\n isFavorite: !this.mobileTemplateForm.controls.isFavourite.value,\r\n name: this.template.name,\r\n serviceId: this.template.serviceId,\r\n },\r\n };\r\n\r\n }\r\n\r\n deleteTemplatePrompt() {\r\n this.showDeletePopup = true;\r\n }\r\n\r\n deleteTemplate() {\r\n this.showDeletePopup = false;\r\n this.loading = true;\r\n\r\n this.deleteTemplateSub = this.templateService\r\n .deleteTemplate({ templateId: this.template.id })\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n\r\n if (res.data.deleteTemplate) {\r\n this.router.navigateByUrl(\"/templates\");\r\n } else {\r\n this.errorMessage = res.errors[0][\"extensions\"][\"code\"];\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.editTemplateSub) {\r\n this.editTemplateSub.unsubscribe();\r\n }\r\n if (this.toggleFavouriteSub) {\r\n this.toggleFavouriteSub.unsubscribe();\r\n }\r\n if (this.deleteTemplateSub) {\r\n this.deleteTemplateSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"TEMPLATES_C.TEMPLATES\" | translate }}

\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"TEMPLATES_C.SAVE\" | translate }}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{ \"TEMPLATES_C.REMOVE_FROM_FAV\" | translate }}\r\n {{ \"TEMPLATES_C.ADD_TO_FAV\" | translate }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ errorMessage }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { TermsOfUseComponent } from './terms-of-use/terms-of-use.component';\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { LandingComponent } from \"./landing.component\";\r\nimport { AuthComponent } from \"./auth/auth.component\";\r\nimport { RegisterComponent } from \"./register/register.component\";\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\n\r\nconst routes: Routes = [\r\n { path: \"landing\", redirectTo: \"landing/auth\", pathMatch: \"full\" },\r\n {\r\n path: \"landing\",\r\n component: LandingComponent,\r\n children: [\r\n { path: \"auth\", component: AuthComponent },\r\n { path: \"register\", component: RegisterComponent },\r\n { path: \"reset-password\", component: ResetPasswordComponent },\r\n { path: \"terms-of-use\", component: TermsOfUseComponent }\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 LandingRoutingModule {}\r\n","export enum productsBoxActiveTab {\r\n Accounts = \"accounts\",\r\n Loans = \"Loans\",\r\n Deposits = \"Deposits\",\r\n}\r\n\r\nexport enum clientType {\r\n Retail = \"Retail client\",\r\n Entity = \"Entity client\",\r\n}\r\n\r\n// TemplateType for tempaltes\r\nexport enum TemplateTypeEnum {\r\n TRANSFER = \"TRANSFER\",\r\n MOBILE = \"MOBILE\",\r\n UTILITY = \"UTILITY\",\r\n DOCUMENT = \"DOCUMENT\",\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n\r\n data:any\r\n\r\n constructor() { }\r\n\r\n setData(data){\r\n this.data=data\r\n // console.log(this.data)\r\n }\r\n\r\n getData(){\r\n return this.data\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CalendarService } from \"../calendar.service\";\r\n\r\n@Component({\r\n selector: \"app-edit-event\",\r\n templateUrl: \"./edit-event.component.html\",\r\n styleUrls: [\"./edit-event.component.scss\"],\r\n})\r\nexport class EditEventComponent implements OnInit, OnDestroy {\r\n eventType: string = \"\";\r\n\r\n repeatEvent: boolean = false;\r\n\r\n currentDate: Date;\r\n\r\n pickedRepeatfrequency: number = 1;\r\n\r\n eventInfo;\r\n\r\n editEventForm: FormGroup;\r\n\r\n editEventSub: Subscription;\r\n\r\n loading: boolean = false;\r\n\r\n minDate: Date;\r\n maxDate: Date;\r\n\r\n errorMessage: string;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private router: Router,\r\n private calendarService: CalendarService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n this.newMaxMin();\r\n this.handleDateIfPassed();\r\n }\r\n handleDateIfPassed() {\r\n if (window.history.state.notification) {\r\n const notification = window.history.state.notification;\r\n this.eventInfo = notification;\r\n this.editEventForm.setValue({\r\n eventName: notification.eventName,\r\n amount: notification.amount,\r\n eventType: notification.eventTypeId,\r\n });\r\n this.currentDate = new Date(\r\n notification.eventDate.getFullYear(),\r\n notification.eventDate.getMonth(),\r\n notification.eventDate.getDate()\r\n );\r\n this.eventType = notification.eventTypeId;\r\n this.repeatEvent = notification.repeatType > 1 ? true : false;\r\n } else {\r\n this.router.navigate([\"/calendar\"]);\r\n }\r\n }\r\n initializeForm() {\r\n this.editEventForm = this.formBuilder.group({\r\n eventName: new FormControl(\"\", [Validators.required]),\r\n amount: new FormControl(\"\", [Validators.required]),\r\n eventType: new FormControl(\"\", [Validators.required]),\r\n });\r\n }\r\n\r\n newMaxMin() {\r\n this.minDate = new Date();\r\n this.maxDate = new Date(\r\n new Date().getFullYear() + 5,\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n }\r\n\r\n pickEventType(type) {\r\n this.editEventForm.controls.eventType.setValue(type);\r\n }\r\n\r\n eventRepeatType(type) {\r\n this.repeatEvent = type;\r\n }\r\n\r\n pickRepeatFrequency(frequency) {\r\n this.pickedRepeatfrequency = frequency;\r\n }\r\n\r\n pickDate(date) {\r\n this.currentDate = date;\r\n }\r\n\r\n onSubmit() {\r\n this.markFormGroupTouched(this.editEventForm);\r\n\r\n if (this.editEventForm.valid) {\r\n this.editEvent();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach((control) => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n editEvent() {\r\n this.loading = true;\r\n\r\n const id = this.eventInfo.id;\r\n const eventName = this.editEventForm.controls.eventName.value;\r\n const amount = this.editEventForm.controls.amount.value;\r\n const eventDate = new Date(\r\n this.currentDate.getFullYear(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getDate(),\r\n 12\r\n );\r\n const currency = this.eventInfo.currency;\r\n const eventTypeId = this.editEventForm.controls.eventType.value ?? 4;\r\n const eventTriggeringQuantity = 1;\r\n const identifier = this.eventInfo.identifier;\r\n const label = this.eventInfo.label;\r\n const loanId = this.eventInfo.loanId;\r\n const providerId = this.eventInfo.providerId;\r\n const repeatType = this.eventInfo.repeatType;\r\n\r\n const editEvent = {\r\n updateEvent: {\r\n id,\r\n currency,\r\n eventName,\r\n amount,\r\n eventDate,\r\n identifier: identifier === null ? undefined : identifier,\r\n label: label === null ? undefined : label,\r\n loanId: loanId === null ? undefined : loanId,\r\n providerId: providerId === null ? undefined : providerId,\r\n repeatType: repeatType === null ? undefined : repeatType,\r\n eventTypeId,\r\n eventTriggeringQuantity,\r\n },\r\n };\r\n this.editEventSub = this.calendarService\r\n .editCalendarEvent(editEvent)\r\n .subscribe((res) => {\r\n this.loading = false;\r\n\r\n if (!res.errors) {\r\n this.router.navigate([\"/calendar\"]);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.editEventSub) {\r\n this.editEventSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ \"CALENDAR.EDIT_EVENT\" | translate }}

\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n {{ \"CALENDAR.CHOOSE_LABEL\" | translate }}\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{ \"CALENDAR.CUSTOM\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ \"GENERAL.DETAILS\" | translate }}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n SimpleChanges,\r\n SimpleChange,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-sms-request\",\r\n templateUrl: \"./sms-request.component.html\",\r\n styleUrls: [\"./sms-request.component.scss\"],\r\n})\r\nexport class SmsRequestComponent implements OnInit {\r\n\r\n @Input() time: number;\r\n @Input() valid = false;\r\n @Input() disabled = false;\r\n @Input() resendBtnHovered = false;\r\n\r\n @Input() loading;\r\n\r\n Math: any;\r\n\r\n inputNumbers = {\r\n 1: null,\r\n 2: null,\r\n 3: null,\r\n 4: null,\r\n };\r\n\r\n interval;\r\n\r\n\r\n\r\n smsCode = \"\";\r\n\r\n @Output() giveCode = new EventEmitter();\r\n @Output() resend = new EventEmitter();\r\n\r\n constructor() {\r\n this.Math = Math;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const disabled: SimpleChange = changes.disabled;\r\n if (disabled) {\r\n if (\r\n (disabled.previousValue === undefined ||\r\n disabled.previousValue === true) &&\r\n disabled.currentValue === false\r\n ) {\r\n this.time = 300;\r\n this.timerFunction();\r\n }\r\n }\r\n }\r\n\r\n smsOnInput() {\r\n this.giveCode.emit(this.smsCode);\r\n }\r\n\r\n disableSelect(e) {\r\n e.target.selectionStart = e.target.selectionEnd;\r\n }\r\n\r\n disableArrows(e) {\r\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n onResendHover() {\r\n this.resendBtnHovered = true;\r\n }\r\n\r\n onResendBlur() {\r\n this.resendBtnHovered = false;\r\n }\r\n\r\n resetOnTimePassed() {\r\n clearInterval(this.interval);\r\n this.smsCode = \"\";\r\n this.giveCode.emit(this.smsCode);\r\n }\r\n\r\n resendCode() {\r\n this.resetOnTimePassed();\r\n this.resend.emit();\r\n this.disabled = false;\r\n this.time = 300;\r\n this.timerFunction();\r\n }\r\n\r\n timerFunction() {\r\n if (this.interval) {\r\n clearInterval(this.interval);\r\n }\r\n\r\n this.interval = setInterval(() => {\r\n this.time = this.time - 1;\r\n if (this.time === 0) {\r\n clearInterval(this.interval);\r\n this.resetOnTimePassed();\r\n this.disabled = true;\r\n }\r\n }, 1000);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

SMS

\r\n \r\n
\r\n \r\n {{ smsCode.charAt(0) }}\r\n \r\n \r\n {{ smsCode.charAt(1) }}\r\n \r\n \r\n {{ smsCode.charAt(2) }}\r\n \r\n \r\n {{ smsCode.charAt(3) }}\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

0 && !loading\">\r\n {{ \"GENERAL.CODE_IS_ACTIVE\" | translate }}\r\n {{ Math.floor(time / 60) }}\r\n {{ \"GENERAL.MINUTES\" | translate }}\r\n {{ time % 60 }}\r\n {{ \"GENERAL.SECONDS\" | translate }}\r\n

\r\n \r\n {{ \"GENERAL.RESEND_CODE\" | translate }}\r\n \r\n
\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule, DatePipe } from \"@angular/common\";\r\nimport { CoreComponent } from \"./core.component\";\r\nimport { HomeComponent } from \"./home/home.component\";\r\nimport { HeaderComponent } from \"./header/header.component\";\r\nimport { MenuComponent } from \"./menu/menu.component\";\r\nimport { FooterComponent } from \"./footer/footer.component\";\r\nimport { HomeModule } from \"./home/home.module\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { SettingsComponent } from \"./settings/settings.component\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ProductsComponent } from './products/products.component';\r\nimport { ProductMenuComponent } from './products/product-menu/product-menu.component';\r\nimport { ProductListLoansComponent } from './products/product-lists/product-list-loans/product-list-loans.component';\r\nimport { ProductsModule } from './products/products.module';\r\nimport { TransfersComponent } from './transfers/transfers.component';\r\nimport { TransferToOwnComponent } from './transfers/transfer-to-own/transfer-to-own.component';\r\nimport { TransferToSomeoneComponent } from './transfers/transfer-to-someone/transfer-to-someone.component';\r\nimport { TransferWithMobileOrPnComponent } from './transfers/transfer-with-mobile-or-pn/transfer-with-mobile-or-pn.component';\r\nimport { TemplatesModule } from './templates/templates.module';\r\nimport { CalendarComponent } from './calendar/calendar.component';\r\nimport { TimerComponent } from './timer/timer.component';\r\nimport { CalendarModule } from './calendar/calendar.module';\r\nimport { TakeALoanModule } from './take-a-loan/take-a-loan.module';\r\nimport { UtilityComponent } from './transfers/utility/utility.component';\r\nimport { TransactionsComponent } from './transactions/transactions.component';\r\nimport { CoreRoutingModule } from \"./core-routing.module\";\r\nimport { PedingTransferComponent } from './transfers/peding-transfer/peding-transfer.component';\r\nimport { ResendTransferComponent } from './transfers/resend-transfer/resend-transfer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CoreComponent,\r\n HeaderComponent,\r\n MenuComponent,\r\n FooterComponent,\r\n SettingsComponent,\r\n TransfersComponent,\r\n TransferToOwnComponent,\r\n TransferToSomeoneComponent,\r\n TransferWithMobileOrPnComponent,\r\n TimerComponent,\r\n UtilityComponent,\r\n TransactionsComponent,\r\n PedingTransferComponent,\r\n ResendTransferComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoreRoutingModule,\r\n HomeModule,\r\n SharedModule,\r\n ReactiveFormsModule,\r\n ProductsModule,\r\n TemplatesModule,\r\n CalendarModule,\r\n TakeALoanModule\r\n ],\r\n providers:[DatePipe]\r\n})\r\nexport class CoreModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ProductsComponent } from './products.component';\r\nimport { ProductMenuComponent } from './product-menu/product-menu.component';\r\nimport { ProductListLoansComponent } from './product-lists/product-list-loans/product-list-loans.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ProductListAccountsComponent } from './product-lists/product-list-accounts/product-list-accounts.component';\r\nimport { ProductListDepositsComponent } from './product-lists/product-list-deposits/product-list-deposits.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ProductsComponent,\r\n ProductMenuComponent,\r\n ProductListLoansComponent,\r\n ProductListAccountsComponent,\r\n ProductListDepositsComponent,\r\n ],\r\n imports: [CommonModule, RouterModule, SharedModule, FormsModule],\r\n exports: [ProductListLoansComponent],\r\n})\r\nexport class ProductsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport gql from 'graphql-tag';\r\nimport { GraphQLRequestService } from 'src/app/graph-ql-request.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CalendarDataService {\r\n currentDate: Date = new Date(\r\n new Date().getFullYear(),\r\n new Date().getMonth(),\r\n new Date().getDate()\r\n );\r\n\r\n weekDayNames: string[] = [\r\n \"MON\",\r\n \"TUE\",\r\n \"WED\",\r\n \"THU\",\r\n \"FRI\",\r\n \"SAT\",\r\n \"SUN\",\r\n ];\r\n monthNames = [\r\n { value: 0, label: \"CALENDAR.MONTHS.JANUARY\" },\r\n { value: 1, label: \"CALENDAR.MONTHS.FEBRUARY\" },\r\n { value: 2, label: \"CALENDAR.MONTHS.MARCH\" },\r\n { value: 3, label: \"CALENDAR.MONTHS.APRIL\" },\r\n { value: 4, label: \"CALENDAR.MONTHS.MAY\" },\r\n { value: 5, label: \"CALENDAR.MONTHS.JUNE\" },\r\n { value: 6, label: \"CALENDAR.MONTHS.JULY\" },\r\n { value: 7, label: \"CALENDAR.MONTHS.AUGUST\" },\r\n { value: 8, label: \"CALENDAR.MONTHS.SEPTEMBER\" },\r\n { value: 9, label: \"CALENDAR.MONTHS.OCTOBER\" },\r\n {\r\n value: 10,\r\n label: \"CALENDAR.MONTHS.NOVEMBER\",\r\n },\r\n { value: 11, label: \"CALENDAR.MONTHS.DECEMBER\" },\r\n ];\r\n yearsList = [\r\n { value: 2010, label: \"2010\" },\r\n { value: 2011, label: \"2011\" },\r\n { value: 2012, label: \"2012\" },\r\n { value: 2013, label: \"2013\" },\r\n { value: 2014, label: \"2014\" },\r\n { value: 2015, label: \"2015\" },\r\n { value: 2016, label: \"2016\" },\r\n { value: 2017, label: \"2017\" },\r\n { value: 2018, label: \"2018\" },\r\n { value: 2019, label: \"2019\" },\r\n ];\r\n\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n getCurrentDate() {\r\n return this.currentDate;\r\n }\r\n\r\n getWeekDayNames() {\r\n return this.weekDayNames;\r\n }\r\n\r\n getMonthNames() {\r\n return this.monthNames;\r\n }\r\n\r\n getYears() {\r\n return this.yearsList;\r\n }\r\n\r\n getDatesArray(year, month) {\r\n const lastDayOfMonth: number = new Date(year, month + 1, 0).getDate();\r\n const datesArray: number[] = [];\r\n for (let i = 1; i <= lastDayOfMonth; i++) {\r\n datesArray.push(i);\r\n }\r\n return datesArray;\r\n }\r\n\r\n getPadding(year, month) {\r\n let firstDayOfMonth: number = new Date(year, month, 1).getDay();\r\n if (firstDayOfMonth === 0) {\r\n firstDayOfMonth = 6;\r\n } else {\r\n firstDayOfMonth = firstDayOfMonth - 1;\r\n }\r\n const paddingArray: number[] = [];\r\n for (let i = 0; i < firstDayOfMonth; i++) {\r\n paddingArray.push(i);\r\n }\r\n return paddingArray;\r\n }\r\n\r\n getPrevMonthPadding(year, month) {\r\n let firstDayOfMonth: number = new Date(year, month, 1).getDay();\r\n const lastDayOfPrevMonth: number = new Date(year, month, 0).getDate();\r\n if (firstDayOfMonth === 0) {\r\n firstDayOfMonth = 6;\r\n } else {\r\n firstDayOfMonth = firstDayOfMonth - 1;\r\n }\r\n const paddingArray: number[] = [];\r\n for (\r\n let i = lastDayOfPrevMonth - firstDayOfMonth + 1;\r\n i <= lastDayOfPrevMonth;\r\n i++\r\n ) {\r\n paddingArray.push(i);\r\n }\r\n return paddingArray;\r\n }\r\n\r\n getNextMonthPadding(year, month) {\r\n const lastDayOfMonth: number = new Date(year, month + 1, 0).getDate();\r\n const prevMonthPadding = this.getPrevMonthPadding(year, month).length;\r\n const daysInTotal = lastDayOfMonth + prevMonthPadding;\r\n\r\n let paddingCount: number;\r\n const paddingArray: number[] = [];\r\n\r\n if (daysInTotal % 7 === 0) {\r\n paddingCount = 0;\r\n } else {\r\n paddingCount = 7 - (daysInTotal % 7);\r\n }\r\n\r\n for (let i = 1; i <= paddingCount; i++) {\r\n paddingArray.push(i);\r\n }\r\n\r\n return paddingArray;\r\n }\r\n\r\n getDatesArrayWeekly(year, month, date) {\r\n const daysArray: number[] = [];\r\n const prevMonthDaysArray: number[] = [];\r\n const nextMonthDaysArray: number[] = [];\r\n\r\n const lastDayOfMonth: number = new Date(year, month + 1, 0).getDate();\r\n const lastDayOfPrevMonth: number = new Date(year, month, 0).getDate();\r\n\r\n let weekDay: number = new Date(year, month, date).getDay();\r\n if (weekDay === 0) {\r\n weekDay = 6;\r\n } else {\r\n weekDay = weekDay - 1;\r\n }\r\n\r\n for (let i = date; i < date + (7 - weekDay); i++) {\r\n if (i <= lastDayOfMonth) {\r\n daysArray.push(i);\r\n } else {\r\n nextMonthDaysArray.push(i - lastDayOfMonth);\r\n }\r\n }\r\n\r\n for (let i = date - 1; i > date - 1 - weekDay; i--) {\r\n if (i > 0) {\r\n daysArray.splice(0, 0, i);\r\n } else {\r\n prevMonthDaysArray.splice(0, 0, lastDayOfPrevMonth + i);\r\n }\r\n }\r\n\r\n return {\r\n current: daysArray,\r\n previous: prevMonthDaysArray,\r\n next: nextMonthDaysArray,\r\n };\r\n }\r\n\r\n getNextWeekDate(currentYear, currentMonth, currentDate) {\r\n const lastDayOfMonth: number = new Date(\r\n currentYear,\r\n currentMonth + 1,\r\n 0\r\n ).getDate();\r\n\r\n if (currentDate + 7 < lastDayOfMonth) {\r\n currentDate += 7;\r\n } else {\r\n currentDate = 7 - (lastDayOfMonth - currentDate);\r\n\r\n if (currentMonth < 12) {\r\n currentMonth += 1;\r\n } else {\r\n currentMonth = 0;\r\n }\r\n }\r\n\r\n return new Date(currentYear, currentMonth, currentDate);\r\n }\r\n\r\n getPrevWeekDate(currentYear, currentMonth, currentDate) {\r\n const lastDayOfPrevMonth = new Date(currentYear, currentMonth, 0).getDate();\r\n\r\n if (currentDate - 7 > 0) {\r\n currentDate -= 7;\r\n } else {\r\n currentDate = lastDayOfPrevMonth - (7 - currentDate);\r\n\r\n if (currentMonth > 0) {\r\n currentMonth -= 1;\r\n } else {\r\n currentMonth = 11;\r\n }\r\n }\r\n\r\n return new Date(currentYear, currentMonth, currentDate);\r\n }\r\n\r\n checkDateValidation(\r\n minDate: Date,\r\n maxDate: Date,\r\n year?: number,\r\n month?: string,\r\n day?: number\r\n ) {\r\n if (year && !month && !day) {\r\n if (year <= maxDate.getFullYear() && year >= minDate.getFullYear()) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n let tempMonth = Number(month);\r\n if (year && tempMonth >= 0 && !day) {\r\n if (year < maxDate.getFullYear() && year > minDate.getFullYear()) {\r\n return true;\r\n }\r\n if (\r\n (year === maxDate.getFullYear() && tempMonth <= maxDate.getMonth()) ||\r\n (year === minDate.getFullYear() && tempMonth >= minDate.getMonth())\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n if (year && tempMonth >= 0 && day) {\r\n if (year < maxDate.getFullYear() && year > minDate.getFullYear()) {\r\n return true;\r\n }\r\n if (\r\n (year === maxDate.getFullYear() && tempMonth < maxDate.getMonth()) ||\r\n (year === minDate.getFullYear() && tempMonth > minDate.getMonth())\r\n ) {\r\n return true;\r\n }\r\n if (\r\n (year === maxDate.getFullYear() &&\r\n tempMonth === maxDate.getMonth() &&\r\n day <= maxDate.getDate()) ||\r\n (year === minDate.getFullYear() &&\r\n tempMonth === minDate.getMonth() &&\r\n day >= minDate.getDate())\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n fetchNotifications() {\r\n const currentYear = new Date().getFullYear();\r\n return this.graphQL.request(gql`\r\n {\r\n calendarEvents(startDate: \"${currentYear}-01-01\", endDate: \"${\r\n currentYear + 1\r\n }-01-01\") {\r\n amount\r\n createdDate\r\n currency\r\n eventDate\r\n eventName\r\n eventTypeId\r\n identifier\r\n label\r\n loanId\r\n providerId\r\n repeatType\r\n id\r\n }\r\n }\r\n `);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"mobileOrPnTemplatesFilter\",\r\n})\r\nexport class MobileOrPnTemplatesFilterPipe implements PipeTransform {\r\n transform(array: any, searchQuerry: any): any {\r\n if (searchQuerry === undefined) {\r\n return array;\r\n }\r\n\r\n return array.filter(\r\n (item) =>\r\n item.name.toLowerCase().includes(searchQuerry.toLowerCase()) ||\r\n item.documentNumber.toLowerCase().includes(searchQuerry.toLowerCase())\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\n\r\n@Component({\r\n selector: 'app-terms-of-use',\r\n templateUrl: './terms-of-use.component.html',\r\n styleUrls: ['./terms-of-use.component.scss']\r\n})\r\nexport class TermsOfUseComponent implements OnInit {\r\n showMe:boolean=false;\r\n showMe1:boolean=false;\r\n showMe2:boolean=false;\r\n showMe3:boolean=false;\r\n showMe4:boolean=false;\r\n showMe5:boolean=false;\r\n showMe6:boolean=false;\r\n showMe7:boolean=false;\r\n showMe8:boolean=false;\r\n showMe9:boolean=false;\r\n showMe10:boolean=false;\r\n showMe11:boolean=false;\r\n showMe12:boolean=false;\r\n showMe13:boolean=false;\r\n showMe14:boolean=false;\r\n showMe15:boolean=false;\r\n showMe16:boolean=false;\r\n showMe17:boolean=false;\r\n showMe18:boolean=false;\r\n showMe19:boolean=false;\r\n showMe20:boolean=false;\r\n showMe21:boolean=false;\r\n showMe22:boolean=false;\r\n showMe23:boolean=false;\r\n showMe24:boolean=false;\r\n showMe25:boolean=false;\r\n showMe26:boolean=false;\r\n showMe27:boolean=false;\r\n showMe28:boolean=false;\r\n showMe29:boolean=false;\r\n showMe30:boolean=false;\r\n showMe31:boolean=false;\r\n showMe32:boolean=false;\r\n showMe33:boolean=false;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n modal(){\r\nthis.showMe=!this.showMe\r\n }\r\n\r\n modal1(){\r\n this.showMe1=!this.showMe1\r\n}\r\nmodal2(){\r\n this.showMe2=!this.showMe2\r\n}\r\nmodal3(){\r\n this.showMe3=!this.showMe3\r\n}\r\n\r\nmodal4(){\r\n this.showMe4=!this.showMe4\r\n}\r\n\r\nmodal5(){\r\n this.showMe5=!this.showMe5\r\n}\r\nmodal6(){\r\n this.showMe6=!this.showMe6\r\n}\r\n\r\nmodal7(){\r\n this.showMe7=!this.showMe7\r\n}\r\n\r\nmodal8(){\r\n this.showMe8=!this.showMe8\r\n}\r\n\r\nmodal9(){\r\n this.showMe9=!this.showMe9\r\n}\r\n\r\nmodal10(){\r\n this.showMe10=!this.showMe10\r\n}\r\n\r\nmodal11(){\r\n this.showMe11=!this.showMe11\r\n}\r\n\r\nmodal12(){\r\n this.showMe12=!this.showMe12\r\n}\r\n\r\nmodal13(){\r\n this.showMe13=!this.showMe13\r\n}\r\n\r\nmodal14(){\r\n this.showMe14=!this.showMe14\r\n}\r\n\r\nmodal15(){\r\n this.showMe15=!this.showMe15\r\n}\r\n\r\nmodal16(){\r\n this.showMe16=!this.showMe16\r\n}\r\n\r\nmodal17(){\r\n this.showMe17=!this.showMe17\r\n}\r\n\r\nmodal18(){\r\n this.showMe18=!this.showMe18\r\n}\r\n\r\nmodal19(){\r\n this.showMe19=!this.showMe19\r\n}\r\n\r\nmodal20(){\r\n this.showMe20=!this.showMe20\r\n}\r\n\r\nmodal21(){\r\n this.showMe21=!this.showMe21\r\n}\r\nmodal22(){\r\n this.showMe22=!this.showMe22\r\n}\r\n\r\nmodal23(){\r\n this.showMe23=!this.showMe23\r\n}\r\n\r\nmodal24(){\r\n this.showMe24=!this.showMe24\r\n}\r\n\r\nmodal25(){\r\n this.showMe25=!this.showMe25\r\n}\r\n\r\nmodal26(){\r\n this.showMe26=!this.showMe26\r\n}\r\n\r\nmodal27(){\r\n this.showMe27=!this.showMe27\r\n}\r\n\r\nmodal28(){\r\n this.showMe28=!this.showMe28\r\n}\r\n\r\nmodal29(){\r\n this.showMe29=!this.showMe29\r\n}\r\n\r\nmodal30(){\r\n this.showMe30=!this.showMe30\r\n}\r\n\r\nmodal31(){\r\n this.showMe31=!this.showMe31\r\n}\r\n\r\nmodal32(){\r\n this.showMe32=!this.showMe32\r\n}\r\n\r\nmodal33(){\r\n this.showMe33=!this.showMe33\r\n}\r\n\r\n\r\n}\r\n","\r\n\r\n

Terms and Conditions

\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n This agreement becomes effective between you and AB Bank Zambia Limited ('the bank ', 'we' or 'us') at the time of registering for Online Banking or at the time you access Online Banking, whichever occurs first. For purposes of this agreement 'Online\r\n Banking' includes, GSM, email, Online Banking, E-statements, debit card, ATM, Banking and transaction notification services.\r\n

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n The terms and conditions of your accounts, AB Bank electronic wallet or facility terms and conditions (other terms) shall apply to all transactions you carry out or instruct us to carry out through bank accounts linked to the account number you select\r\n when using our Online Banking Platform. In the event of conflict between the provisions of this agreement and the any other term, the provisions of this agreement shall prevail. Where other terms require amendments or additions thereto to\r\n be reduced to writing and/or signed, your acceptance of this agreement shall be deemed to satisfy such requirements.\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n The device which you select to access our Online Banking Platform may include a computer, cell phone, telephone, television or similar technologies (the device) and the medium through which you access Online Banking Platform may include the Internet,\r\n wireless application protocol (WAP), wireless Internet gateway (WIG), or similar technologies (the medium). We will refer to the device and the medium collectively as \"the communication system \".\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n We may amend this agreement from time to time and you are bound by the version of this agreement that exists at the time you access Online Banking. The date of the version is recorded above clause 1.\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n To access Online Banking follow the steps below:

a. You must first have an active account with AB Bank Zambia;

b. Register for Online Banking by filling in the registration form; You will be issued an OTP (One Time Password)\r\n via SMS that you will use to move to the next stage of accepting terms and to complete the registration process;

c. You must then create your own password;
You can contact our Contact Center for more information at 888 or you\r\n can visit an AB Bank Branch.

Verification:\r\n\r\n
You are not permitted to create a password using account details belonging to another individual or company. Before we allow you access to Online Banking, we may require additional information from you to verify your identity. We will\r\n require your prior consent (express or implied), which consent will be deemed to have been granted by you at the time that you sign the registration form referred to above or at the time you accept these terms and conditions, to perform credit\r\n or other checks on you before we process an instruction.\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n Access to the online Banking platform is free, you will however be billed standard rates applicable on the type of account you hold and the nature of the transaction you are performing. You may view the applicable tariffs on our website by clicking the\r\n following link: https://www.abbank.co.zm/tariff-guides/. If you fail to pay the fees or if you have insufficient funds in the accounts which you have selected for this purpose, we reserve the right to refuse you access to the relevant Online\r\n Banking service and to debit all outstanding fees to any other account you have with the bank.\r\n

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You are responsible for giving correct information and instructions when registering for Online banking and when conducting transactions. You are also responsible for the safety of your access codes and the Bank will not be liable for any loss or damage\r\n caused by your error.
Instructions with valid credentials will be acted upon. You are required to notify the Bank in the event that you wish to change your access codes.
Use of a communication system means we do not interact\r\n face-to-face. Unless you notify us before we give effect to an instruction, you authorize us to rely on and perform all instructions that appear to originate from you (even if someone else is impersonating you).\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Your instructions to us will be subject to the same turn-around times and processes that apply to your customer profile, the type of account you have and type of transaction involved. You will not hold us liable if you execute the same instruction more\r\n than once and neither instruction will be reversible.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n An instruction is deemed to be received by us only once we have confirmed we have received it. If we fail to confirm receipt of your instruction, do not re-send the same instruction before checking your statements and contacting our Contact Centre at\r\n 888. This is because the initial instruction may still be processed and re-sending the instruction may lead to a double transaction for which we will not be held liable.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n An \"access code\" refers to your password and username. You must always protect and keep your access codes confidential. We rely on you to report any compromise of your access codes to us without delay. You may do this by calling our Contact Centre or\r\n by visiting an AB Bank Branch. We may ask you to verify your identity. Once you ask us to disable an access code, we have the right to:

a. Reject all instructions received after such notification;
b. Suspend the\r\n processing of all instructions not yet to be executed;
c. Reverse (if possible) all executed transactions from such date and time as we may reasonably determine the unauthorized use to have commenced;
d. Deactivate the access code\r\n without further notice.

Your access code is confidential and must not be shared with anyone; no AB Bank staff will ask for your access code. Report any irregularities to our Contact Centre or any of our branches.\r\n\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n A unique and time-sensitive password is used as added security on our Online Banking platform. The OTP does not replace the password you use to log on to Internet banking but provides a second layer of security. The OTP will be sent to you by SMS when\r\n need arises and is valid such as when adding beneficiaries, a changing your password or your cell phone number.\r\n\r\n

\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You must ensure that you log off from the Online Banking service once you have finished using the Online Banking Platform. If you do not do this, unauthorized transactions may result, for which we will not be liable for.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n By accepting these terms and conditions, you permit us to regard all activities you conduct, or instructions sent after you enter your access code as being authorized by you and intended to have legal force and effect.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You permit us to issue notices required in terms of this agreement, legislation, or regulation by making such notification available via our communication systems or sending such notification by email, SMS or similar future technologies. Any notices so\r\n issued by us, will as far as they contain contractual terms relating to electronic banking, also form part of this agreement. You permit us to securely process, share and store (via physical or cloud) your personal information to optimize\r\n your personal experience.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Unless clearly stated, all material on the communication system merely constitutes an invitation to do business with us. It does not constitute an offer or solicitation to buy or sell, or dispose in any way, of any investment, or to enter into any transaction.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Information on the communication system is intended to provide you with only general information about the bank, its products, services, and objectives. From time to time, we may provide information on:

a. projected revenues, income,\r\n capital structure or other financial items;
b. our plans, objectives and projections for future operations and services;
\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We may use the services of other organizations to provide information on the communication system. We have no control over this information and make no representations or warranties of any nature as to its accuracy, appropriateness or correctness. You\r\n agree that such information is provided \"as is \" and we will not be directly or indirectly liable for any damage that may arise from you relying on it. All quotes, news, market information such as share prices or data shown on the communication\r\n system by way of live information feeds are delayed unless otherwise stated. You should always select the \"refresh \" or similar page or screen update function on your Internet browser or handset to ensure that the information you are viewing\r\n is the most current.\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n The communication system may contain links to other communication systems that carry information and material produced by other parties. While we try to provide links only to reputable communication systems, we cannot accept responsibility or liability\r\n for the information provided on other communication systems. A link from our communication system to any other communication system does not mean that we have scrutinized or endorsed the owners or administrators of such communication systems\r\n or their business or security practices and operations.\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We retain all copyright and other intellectual property rights in all material, including logos and other graphics and multimedia works published on or via the communication system. You are authorized to view and download one copy to a local hard drive\r\n or disk, print and make copies of such printouts provided that:

a. the material is used for considering or using Internet Banking and for no other commercial purposes; and
b. any reproduction of any portion of our\r\n proprietary material must include our entire copyright notice.
c. future economic performance. These will be only estimates so actual events or results may differ. All information is provided \"as is \" and should not be treated as professional\r\n or investment advice of any kind. You should consult your own professional advisers before relying on any information on the communication system.
d. The logos and trademarks shown on our communication system are our registered and unregistered\r\n trademarks or those of third parties. Nothing contained on our communication system should be construed as granting any license or right to use any trademark or other intellectual property without our prior written permission or that of the\r\n relevant third parties. Your application to use any content from our communication system must be submitted in writing. On receipt we may respond and enter into further discussions with you. Consider your request as declined if you do not\r\n get a written response from us within five business days. Irrespective of the existence of copyright, you acknowledge that we are the proprietor of all material on the communication system, whether it constitutes confidential information or\r\n not, and that you shall have no right, title, or interest in any such material.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Your failure to use appropriate software or hardware may result in a higher security risk and cause the communication system not to operate properly or not at all. Software, if any, made available for download on or via the communication system is governed\r\n by license conditions that establish a legal relationship with the licensor. You indemnify us against any breach of these license conditions. We give no warranty and make no representation, whether expressly or implied, as to the quality or\r\n fitness for purpose or use of such software. No warranty, whether express or implied is given that any files, downloads, or applications available via this communication system are free of viruses, Trojans, bombs, time-locks or any other data\r\n or code which could corrupt or affect the operation of your computer, database, network, or other information system.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n Information transmitted via an unsecured link over a communication system is susceptible to potential unlawful access, distortion, or monitoring. You must comply with the security tips which are published on our website from time to time. As we do not\r\n have the ability to prevent unlawful activities by unscrupulous persons, you accept that we cannot be held liable for any loss, harm or damage suffered by you as a result thereof. To limit these risks, we may request independent verification\r\n of any information transmitted by you via our communication system from time to time.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We respect your privacy and your personal information. We will take all reasonable measures to protect your personal information and to keep it confidential, even when you are no longer our customer. If you call our contact center, you permit and hereby\r\n consent to us recording your calls for security reasons, and for the purposes of customer care\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You indemnify us for all losses and costs we may incur on your behalf due to:

a. Non-payment.
b. Any instruction or transaction exceeding the amount available in your bank account; or
c. Unauthorized instructions executed\r\n by us were not due to our negligence.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We will always and for whatever reason, have the sole and exclusive right to suspend or terminate Online Banking without any prior notification or giving any reasons for such termination or suspension. You acknowledge and accept that Online Banking may\r\n be unavailable from time to time for any reason, including: technical failure or problems with the communication system itself or our communication system underlying banking systems (the bank system); technical failure or problems with a communication\r\n system directly or indirectly underlying Online Banking that is owned or controlled by other persons (third party system); unavailability of telecommunication or electricity services; or other circumstances beyond our control. You undertake,\r\n in the event of unavailability of Online Banking, to limit your potential losses by using any other means of communication with us for the duration of the unavailability of Online Banking.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We do not warrant that the communication system or Online Banking will be error-free or will meet any criteria of accuracy, completeness or reliability of information, performance, or quality. We expressly disclaim all implied warranties, including, without\r\n limitation, warranties of merchantability, title, fitness for a particular purpose, non-infringement, compatibility, security and accuracy.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n For purposes of this clause \"we \" or \"us \" or \"our \" includes the bank as well as its affiliates, shareholders, employees, consultants, and agents. Although we have taken care to ensure that the content provided on the Online Banking Platform is accurate\r\n and that you suffer no loss or damage as a result of your using it, the Online Banking Platform is provided \"as is \". We are not liable for any damages whatsoever relating to your use of the Online Banking Platform. This includes the information\r\n contained on the Online Banking Platform or your inability to use the Online Banking Platform, including, without limitation, any direct, indirect, special, incidental or consequential damages, whether arising out of contract, statute, delict\r\n or otherwise and regardless of whether we were expressly advised of the possibility of such loss or damage. Without derogating from the generality of the foregoing, we are not liable for:

a. any damages which you suffer\r\n as a result of a compromise of your access codes.
b. any interruption, malfunction, downtime or other failure of the communication system or Online Banking, our banking system, third party system, databases or any component part thereof\r\n for whatever reason.
c. any loss or damage which arises from your orders, investment decisions, purchases or disposal of goods and services, including financial instruments or currencies, from third parties based upon the information\r\n provided on the communication system.
d. any loss or damage with regard to your or any other data directly or indirectly caused by malfunction of our bank system, third party systems, power failures, unlawful access to or theft of data,\r\n computer viruses or destructive code on the bank system or third-party systems; programming defects, negligence on our part.
e. any interruption, malfunction, downtime or other failure of goods or services provided by third parties, including,\r\n without limitation, third party systems such as the public switched telecommunication service providers, internet service providers, electricity and water suppliers, local authorities and certification authorities
f. any event over which\r\n we have no direct control.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n We may terminate your access to Online Banking if you breach a material term of this agreement and fail to remedy it within five days of you being notified of it. We may do this without detracting from our right to take any other steps available to us\r\n at law or under this agreement, including the right to obtain an interdict.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n All disputes arising as a result of your use of Online Banking, the interpretation of this agreement or any matter which in terms of this agreement requires agreement by the parties will be decided before a Zambian Court of Competent Jurisdiction.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You warrant to us that you have the required legal capacity to enter into and be bound by this agreement. Anyone below the age of 18 must be assisted by their legal guardian when reading this agreement. If you are below 18 years of age you have to speak\r\n to your legal guardian or parents. If you are unsure whether you have the legal capacity to enter into agreements, you have to contact someone able to provide you with this information before you continue to use Online Banking. Our Customer\r\n Care Centre will be able to help you on 888\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n You agree that unless you can prove otherwise, a certificate signed by a manager of the Bank whose appointment/capacity need not be proved or his representative is sufficient proof of the date of publication, withdrawal, transmission and content of:

a. the current version and all previous versions of this agreement,
b. notices and disclaimers posted on the communication system, and
c. notification sent under this agreement.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n For the purpose of service of any legal process we choose the following registered address:

The Legal Counsel
AB Bank Zambia Limited
Plot 7393 Chainda Place
Cairo Road
Lusaka\r\n
\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n This agreement will be governed and construed in accordance with the laws of the Republic of Zambia.\r\n\r\n

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n

\r\n The headings of the clauses in this agreement are provided for convenience and ease of reference only and will not be used to interpret, modify, or amplify this agreement. No failure or delay by us to exercise any of our rights is to be construed as a\r\n waiver of any such right, whether this is done expressly or is implied. It will also not affect the validity of any part of these conditions or prejudice our right to take subsequent action against you. If any of these terms, conditions or\r\n provisions are held to be invalid, unlawful or unenforceable to any extent; such term, condition or provision will be severed from the remaining terms, conditions and provisions, which will continue to be valid to the full extent permitted\r\n by law. If you have any questions about this agreement or do not understand anything in this agreement, please call our Customer Care Centre 888.\r\n\r\n

\r\n
\r\n\r\n
","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class OtpService {\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n generateOtp(data) {\r\n // console.log(data);\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: OtpInput!) {\r\n generateOtp(data: $data)\r\n }\r\n `,\r\n {data}\r\n );\r\n }\r\n\r\n validateOtp(data) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation ($data: OtpInput!) {\r\n validateOtp(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { LandingService } from \"../../landing/landing.service\";\r\nimport { CoreService } from \"../../shared/services/core.service\";\r\n\r\n@Component({\r\n selector: \"app-timer\",\r\n templateUrl: \"./timer.component.html\",\r\n styleUrls: [\"./timer.component.scss\"],\r\n})\r\nexport class TimerComponent implements OnInit, OnDestroy {\r\n\r\n timeOfLastActivity: Date;\r\n newActivity: number;\r\n inactivityLimitInMS: number = 180000;\r\n popupWaitingLimitInMS: number;\r\n timeOut: any;\r\n interval: any;\r\n\r\n constructor(\r\n private coreService: CoreService,\r\n private landingService: LandingService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.startIntervals();\r\n\r\n document.addEventListener(\"mousemove\", this.userMoved);\r\n document.addEventListener(\"touchstart\", this.userMoved);\r\n }\r\n\r\n userMoved = () => {\r\n this.clearIntervals();\r\n this.popupWaitingLimitInMS = null;\r\n this.startIntervals();\r\n };\r\n\r\n startIntervals() {\r\n this.timeOut = setTimeout(() => {\r\n this.interval = setInterval(() => {\r\n this.popupWaitingLimitInMS = this.popupWaitingLimitInMS\r\n ? this.popupWaitingLimitInMS - 1000\r\n : 20000;\r\n if (this.popupWaitingLimitInMS <= 0) {\r\n this.popupWaitingLimitInMS = 0;\r\n this.clearIntervals();\r\n this.logout();\r\n }\r\n }, 1000);\r\n }, this.inactivityLimitInMS);\r\n }\r\n\r\n updatateSessionTime() {\r\n const date = new Date();\r\n\r\n if (\r\n this.timeOfLastActivity &&\r\n date.getTime() - this.timeOfLastActivity.getTime() >\r\n this.inactivityLimitInMS + 20000\r\n ) {\r\n this.logout();\r\n }\r\n this.timeOfLastActivity = date;\r\n }\r\n\r\n logout() {\r\n this.coreService.logOut();\r\n this.landingService.showPopupOnLanding = true;\r\n }\r\n\r\n clearIntervals() {\r\n clearInterval(this.interval);\r\n clearTimeout(this.timeOut);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearIntervals();\r\n\r\n document.removeEventListener(\"mousemove\", this.userMoved);\r\n document.removeEventListener(\"touchstart\", this.userMoved);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{ \"POPUPS.INACTIVITY_TEXT_1\" | translate\r\n }}{{ popupWaitingLimitInMS / 1000 }}{{ \"POPUPS.INACTIVITY_TEXT_2\" | translate }}\r\n

\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\nimport { clientType } from 'src/app/shared/enums/enums';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelperService {\r\n\r\n constructor() { }\r\n\r\n public returnDateOfBirthPlaceHolder(client,control:AbstractControl):string{\r\n let prefix = \"LANDING.\";\r\n let placeHolder = \"DATE_OF_BIRTH\";\r\n if(control.invalid && control.touched) placeHolder = `${placeHolder}_INV`;\r\n if(client == clientType.Entity) placeHolder = `LEGAL_${placeHolder}`;\r\n\r\n return prefix+placeHolder;\r\n }\r\n public returnNRCPlaceHolder(client,control:AbstractControl):string{\r\n let prefix = \"LANDING.\";\r\n let placeHolder = \"PERS_NUM\";\r\n if(control.invalid && control.touched) placeHolder = `${placeHolder}_INV`;\r\n if(client == clientType.Entity) placeHolder = `LEGAL_${placeHolder}`;\r\n\r\n return prefix+placeHolder;\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CalendarDataService } from 'src/app/shared/services/calendar/calendarData.service';\r\n\r\n@Component({\r\n selector: 'app-pick-year',\r\n templateUrl: './pick-year.component.html',\r\n styleUrls: ['./pick-year.component.scss']\r\n})\r\nexport class PickYearComponent implements OnInit {\r\n\r\n @Input() pickedDate: Date;\r\n @Input() minDate: Date;\r\n @Input() maxDate: Date;\r\n\r\n @Output() giveYear = new EventEmitter();\r\n maxYearList;\r\n minYearList;\r\n\r\n yearsList = [];\r\n counter = 0;\r\n\r\n constructor(private calendarDataService: CalendarDataService) {}\r\n\r\n ngOnInit() {\r\n this.generateYears();\r\n }\r\n\r\n generateYears() {\r\n const currentYear = this.pickedDate.getFullYear();\r\n this.counter = 0;\r\n for (let i = currentYear - 12; i < currentYear; i++) {\r\n this.yearsList[this.counter] = { valid: true, value: i };\r\n this.counter++;\r\n }\r\n for (let i = currentYear; i <= currentYear + 12; i++) {\r\n this.yearsList[this.counter] = { valid: true, value: i };\r\n this.counter++;\r\n }\r\n this.minYearList = this.yearsList[0];\r\n this.maxYearList = this.yearsList[24];\r\n this.counter = 0;\r\n\r\n this.checkdate();\r\n }\r\n\r\n generatePreviousYearList() {\r\n const firstYear = this.yearsList[0].value;\r\n\r\n this.yearsList = [];\r\n this.counter = 0;\r\n\r\n for (let i = firstYear - 25; i < firstYear; i++) {\r\n this.yearsList[this.counter] = { valid: true, value: i };\r\n this.counter++;\r\n }\r\n this.counter = 0;\r\n this.minYearList = this.yearsList[0];\r\n this.maxYearList = this.yearsList[24];\r\n\r\n this.checkdate();\r\n }\r\n\r\n generateNextYearList() {\r\n const lastYear = this.yearsList[24].value;\r\n\r\n this.yearsList = [];\r\n this.counter = 0;\r\n\r\n for (let i = lastYear + 1; i <= lastYear + 25; i++) {\r\n this.yearsList[this.counter] = { valid: true, value: i };\r\n this.counter++;\r\n }\r\n this.counter = 0;\r\n this.minYearList = this.yearsList[0];\r\n this.maxYearList = this.yearsList[24];\r\n\r\n this.checkdate();\r\n }\r\n\r\n checkdate() {\r\n let testDate: Date;\r\n testDate = this.pickedDate;\r\n this.yearsList.forEach((temp) => {\r\n this.yearsList[\r\n this.yearsList.indexOf(temp)\r\n ].valid = this.calendarDataService.checkDateValidation(\r\n this.minDate,\r\n this.maxDate,\r\n temp.value\r\n );\r\n });\r\n }\r\n\r\n pickYear(year) {\r\n if (year.valid) {\r\n this.giveYear.emit(year.value);\r\n }\r\n }\r\n\r\n giveClassAndCheck(year) {\r\n let className = \"\";\r\n\r\n if (this.pickedDate.getFullYear() === year.value) {\r\n className = \"active\";\r\n } else if (!year.valid) {\r\n className = \"disabled\";\r\n }\r\n\r\n return className;\r\n }\r\n}\r\n","
\r\n \r\n {{ year.value }}\r\n
\r\n \r\n ","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport gql from 'graphql-tag';\r\nimport { GraphQLRequestService } from 'src/app/graph-ql-request.service';\r\nimport { AccountsInfoService } from './accounts-info.service';\r\nimport { CustomerInfoService } from './customer-info.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CoreService {\r\n\r\n constructor(\r\n private router: Router,\r\n private graphQL: GraphQLRequestService,\r\n private accountInfoService: AccountsInfoService,\r\n private customerIndoService: CustomerInfoService\r\n ) { }\r\n\r\n changeTemporaryPassword(data) {\r\n return this.graphQL.mutate(\r\n gql`\r\n mutation($data: ChangePasswordDetailsInput!) {\r\n changePassword(data: $data)\r\n }\r\n `,\r\n data\r\n );\r\n }\r\n\r\n logOut(){\r\n this.customerIndoService.clearCustomerInfo();\r\n sessionStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"username\");\r\n this.router.navigate([\"/landing/auth\"]);\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Guid } from \"guid-typescript\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { TransferBase } from \"src/app/core/transfers/transfers-base\";\r\nimport { TransfersService } from \"src/app/core/transfers/transfers.service\";\r\nimport {\r\n accountsInfo,\r\n customerInfo,\r\n selectType,\r\n} from \"src/app/shared/models/models\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\nimport { CalendarDataService } from \"src/app/shared/services/calendar/calendarData.service\";\r\nimport { CustomerInfoService } from \"src/app/shared/services/customer-info.service\";\r\nimport { OtpService } from \"src/app/shared/services/otp.service\";\r\nimport { ModalWithTextService } from \"src/app/shared/shared-components/popups/modal-with-text/modal-with-text.service\";\r\n\r\n@Component({\r\n selector: \"app-utility-mini\",\r\n templateUrl: \"./utility-mini.component.html\",\r\n styleUrls: [\"./utility-mini.component.scss\"],\r\n})\r\nexport class UtilityMiniComponent\r\n extends TransferBase\r\n implements OnInit, OnDestroy {\r\n loading: boolean = false;\r\n step: number = 1;\r\n errorMessage: string = \"\";\r\n\r\n utilityForm: FormGroup;\r\n\r\n customerInfoSub: Subscription;\r\n customerInfo: customerInfo;\r\n\r\n monthNames;\r\n\r\n checkJiramaBillSub: Subscription;\r\n jiramaDetails: any;\r\n jiramaMonth: number;\r\n\r\n payJiramaSub: Subscription;\r\n\r\n // select\r\n loadingSelectText: string = \"Select account number\";\r\n loadinfSelect: boolean = true;\r\n selectedAccountFrom?: selectType;\r\n accountsArray: selectType;\r\n defaultAccount: selectType;\r\n\r\n guid: Guid;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private transfersService: TransfersService,\r\n private calendarDataService: CalendarDataService,\r\n private accountsInfoService: AccountsInfoService,\r\n private otpService: OtpService,\r\n private customerInfoService: CustomerInfoService,\r\n private router: Router,\r\n private modalService: ModalWithTextService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n this.monthNames = this.calendarDataService.getMonthNames();\r\n\r\n this.getCustomerInfo();\r\n }\r\n\r\n getCustomerInfo() {\r\n this.customerInfoSub = this.customerInfoService.customerInfo.subscribe(\r\n (res: customerInfo) => {\r\n this.customerInfo = res;\r\n }\r\n );\r\n }\r\n\r\n initializeForm() {\r\n this.utilityForm = this.formBuilder.group({\r\n compteEnc: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.maxLength(6),\r\n Validators.pattern(\"[0-9]*\"),\r\n ]),\r\n numeroFacture: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(14),\r\n Validators.pattern(\"[0-9]*\"),\r\n ]),\r\n account: new FormControl(\"\", Validators.required),\r\n otpCode: new FormControl(\"\", [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(4),\r\n ]),\r\n });\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.utilityForm.get(input).invalid &&\r\n this.utilityForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n next() {\r\n if (this.step === 1) {\r\n this.utilityForm.get(\"compteEnc\").markAllAsTouched();\r\n this.utilityForm.get(\"numeroFacture\").markAllAsTouched();\r\n this.checkUtility();\r\n } else if (this.step === 2) {\r\n this.utilityForm.get(\"account\").markAllAsTouched();\r\n this.step = 3;\r\n } else if (this.step === 3) {\r\n this.utilityForm.get(\"otpCode\").markAllAsTouched();\r\n\r\n if (this.utilityForm.get(\"otpCode\").valid) {\r\n this.payJirama();\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n if (this.step === 2) {\r\n this.step = 1;\r\n this.initializeForm();\r\n } else if (this.step === 3) {\r\n this.step = 2;\r\n this.selectedAccountFrom = null;\r\n this.utilityForm.get(\"account\").setValue(\"\");\r\n this.utilityForm.get(\"otpCode\").setValue(\"\");\r\n }\r\n }\r\n\r\n checkUtility() {\r\n this.loading = true;\r\n this.guid = Guid.create();\r\n this.errorMessage = \"\";\r\n\r\n this.checkJiramaBillSub = this.transfersService\r\n .checkJiramaBill(\r\n this.utilityForm.get(\"compteEnc\").value,\r\n this.utilityForm.get(\"numeroFacture\").value,\r\n this.guid.toString()\r\n )\r\n .subscribe((res: any) => {\r\n let data = res.data.checkJiramaBill;\r\n this.loading = false;\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else if (!data.code && !data.message) {\r\n this.jiramaDetails = data;\r\n this.jiramaMonth = parseInt(\r\n this.jiramaDetails.moisFacture.substring(5, 7),\r\n 10\r\n );\r\n this.prepareAccounts();\r\n this.errorMessage = \"\";\r\n this.step = 2;\r\n } else {\r\n if (data) {\r\n if (!data.code && !data.message) {\r\n this.jiramaDetails = data;\r\n this.jiramaMonth = parseInt(\r\n this.jiramaDetails.moisFacture.substring(5, 7),\r\n 10\r\n );\r\n this.prepareAccounts();\r\n this.errorMessage = \"\";\r\n this.step = 2;\r\n } else {\r\n if (data.message === \"Facture introuvable chez Jirama.\") {\r\n this.errorMessage = \"INVOICE_NOT_FOUND\";\r\n } else if (\r\n data.message === \"Ce site n'est pas encore disponible.\"\r\n ) {\r\n this.errorMessage = \"SITE_NOT_FOUND\";\r\n } else {\r\n this.errorMessage = \"ALREADY_PAID\";\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n prepareAccounts() {\r\n if (!this.accountsInfo) {\r\n setTimeout(() => {\r\n this.accountsInfoService.fetchAccountsInfo();\r\n });\r\n }\r\n super.subscribeToAccountsInfo(this.accountsInfoService);\r\n this.accountsInfoService.accountsInfoErrorMessage.subscribe((res: any) => {\r\n this.loading = false;\r\n if (res) {\r\n this.prepareTransferLoading = true;\r\n this.errorMessage = res;\r\n }\r\n });\r\n this.accountsInfoService.accountsInfo.subscribe((res: any) => {\r\n if (res) {\r\n this.prepareTransferLoading = false;\r\n this.prepareAccountsForSelect();\r\n }\r\n });\r\n }\r\n\r\n prepareAccountsForSelect() {\r\n let temp: any = this.accountsInfo;\r\n\r\n if (temp) {\r\n this.accountsArray = temp.map((x: accountsInfo) => ({\r\n id: x.accountId,\r\n mainTitle: x.accountNumber,\r\n rightInfo: x.balance.toString() + \" \" + x.currency,\r\n }));\r\n }\r\n\r\n let defTemp: any = this.defaultAccountInfo;\r\n if (defTemp) {\r\n if (defTemp.length !== 0) {\r\n this.defaultAccount = {\r\n id: this.defaultAccountInfo.accountId,\r\n imgId: null,\r\n imgName: \"\",\r\n mainTitle: this.defaultAccountInfo.accountNumber,\r\n aboveTitle: \"\",\r\n underTitle: \"\",\r\n rightInfo:\r\n this.defaultAccountInfo.balance.toString() +\r\n \" \" +\r\n this.defaultAccountInfo.currency,\r\n };\r\n }\r\n }\r\n }\r\n\r\n payJirama() {\r\n this.loading = true;\r\n this.errorMessage = \"\";\r\n\r\n this.payJiramaSub = this.transfersService\r\n .payJiramaBill(\r\n this.utilityForm.get(\"account\").value,\r\n this.utilityForm.get(\"compteEnc\").value,\r\n this.utilityForm.get(\"numeroFacture\").value,\r\n this.guid.toString(),\r\n this.utilityForm.get(\"otpCode\").value\r\n )\r\n .subscribe((res: any) => {\r\n this.loading = false;\r\n\r\n if (res.errors) {\r\n this.errorMessage = res.errors[0].extensions.code;\r\n } else {\r\n if (res.data.payJiramaBill.code == \"200\") {\r\n this.modalService.generateModal(\"GENERAL.SUCC_TRANSFER\");\r\n } else {\r\n this.errorMessage = \"SOMETHING_WENT_WRONG\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectAccount(acc: selectType) {\r\n this.selectedAccountFrom = acc;\r\n this.utilityForm.get(\"account\").setValue(acc.mainTitle);\r\n }\r\n\r\n getSmsCode(event) {\r\n this.utilityForm.get(\"otpCode\").setValue(event);\r\n }\r\n resendSMSCode(event) {\r\n this.checkUtility();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.checkJiramaBillSub) {\r\n this.checkJiramaBillSub.unsubscribe;\r\n }\r\n if (this.payJiramaSub) {\r\n this.payJiramaSub.unsubscribe;\r\n }\r\n }\r\n\r\n // popup\r\n closeClick() {\r\n this.step = 1;\r\n this.initializeForm();\r\n this.selectedAccountFrom = null;\r\n this.errorMessage = \"\";\r\n }\r\n\r\n onPopupClosed() {\r\n this.closeClick();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
= 2\">\r\n
\r\n
\r\n

\r\n {{\"TRANSFERS.NUMERO_FACTURE\" | translate}}\r\n \r\n {{ jiramaDetails.numeroFacture }}\r\n \r\n

\r\n
\r\n
\r\n

\r\n {{\"TRANSFERS.NOM_CLIENT\" | translate}}\r\n {{ jiramaDetails.nomClient }}\r\n

\r\n
\r\n
\r\n

\r\n {{\"TRANSFERS.MONTANT\" | translate}}\r\n {{ jiramaDetails.montant }} \r\n

\r\n
\r\n
\r\n

\r\n {{\"TRANSFERS.JIRAMA_MONTH\" | translate}}\r\n \r\n {{ monthNames[jiramaMonth - 1].label | translate }}\r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n
= 2\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n = 3\">\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{\"GENERAL.BACK\" | translate}}\r\n \r\n
\r\n
\r\n \r\n {{\"GENERAL.CHECK\" | translate}}\r\n \r\n
\r\n
\r\n \r\n {{\"GENERAL.NEXT\" | translate}}\r\n \r\n
\r\n
\r\n \r\n {{\"GENERAL.PAY\" | translate}}\r\n \r\n
\r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\nimport { start } from \"repl\";\r\nimport { DatePipe } from \"@angular/common\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TransactionListService {\r\n constructor(\r\n private graphQL: GraphQLRequestService,\r\n private datePipe: DatePipe\r\n ) {}\r\n\r\n fetchTransactions(startDate?, endDate?, accountNumber?) {\r\n let params;\r\n if (startDate && endDate && accountNumber) {\r\n params = `(startDate: \"${startDate}\", endDate: \"${endDate}\", accountNumber: \"${accountNumber}\")`;\r\n } else if (!accountNumber) {\r\n let tempStartDate = new Date();\r\n let tempEndDate = new Date();\r\n tempStartDate.setMonth(tempEndDate.getMonth() - 3);\r\n params = `(startDate: \"${this.datePipe.transform(\r\n tempStartDate,\r\n \"yyyy-MM-dd\"\r\n )}\", endDate: \"${this.datePipe.transform(tempEndDate, \"yyyy-MM-dd\")}\")`;\r\n } else {\r\n params = \"\";\r\n }\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n transactions${params} {\r\n amount\r\n balance\r\n channelCode\r\n description1\r\n description2\r\n externalId\r\n providerId\r\n status\r\n transactionExecutionTime\r\n transactionType\r\n transactionValueDate\r\n voucherNumber\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n exportTransactionDetailsToPdf(voucherNumber) {\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n transaction(voucherNumber: \"${voucherNumber}\"){\r\n printForm\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport { Bank, Branch } from \"../models/models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DictionaryService {\r\n public branches = new BehaviorSubject>(null);\r\n public branchesLoading = new BehaviorSubject(false);\r\n public branchesErrorMessage = new BehaviorSubject(\"\");\r\n\r\n public banks = new BehaviorSubject>(null);\r\n public banksLoading = new BehaviorSubject(null);\r\n public banksErrorMessage = new BehaviorSubject(\"\");\r\n\r\n constructor(private graphQl: GraphQLRequestService) {}\r\n\r\n branchesQuery(bankId) {\r\n return this.graphQl.request(gql`\r\n {\r\n dictionary {\r\n branches(bankId: ${bankId}) {\r\n id\r\n bankId\r\n branchName\r\n code\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n banksQuery() {\r\n return this.graphQl.request(gql`\r\n {\r\n dictionary {\r\n banks {\r\n id\r\n bankCode\r\n bankName\r\n industryNumber\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchBranches(bankId) {\r\n this.branchesLoading.next(true);\r\n this.branchesErrorMessage.next(\"\");\r\n this.branchesQuery(bankId).subscribe((res: any) => {\r\n this.branchesLoading.next(false);\r\n if (res.errors) {\r\n this.branchesErrorMessage.next(res?.errors[0]?.message);\r\n } else {\r\n this.branches.next(res?.data?.dictionary?.branches);\r\n }\r\n });\r\n }\r\n\r\n fetchBanks() {\r\n this.banksLoading.next(true);\r\n this.banksErrorMessage.next(\"\");\r\n this.banksQuery().subscribe((res: any) => {\r\n this.banksLoading.next(false);\r\n if (res.errors) {\r\n this.banksErrorMessage.next(res?.errors[0]?.message);\r\n } else {\r\n this.banks.next(res?.data?.dictionary?.banks);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { TemplatesService } from '../../templates.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-add-phone-number-template',\r\n templateUrl: './add-phone-number-template.component.html',\r\n styleUrls: ['./add-phone-number-template.component.scss']\r\n})\r\nexport class AddPhoneNumberTemplateComponent implements OnInit, OnDestroy {\r\n mobileTemplateForm: FormGroup;\r\n\r\n formSubscription: Subscription;\r\n checkPhoneNumberSub: Subscription;\r\n addTemplateSub: Subscription;\r\n\r\n loading = false;\r\n\r\n wrongPhoneNumbers = [];\r\n\r\n errorMessage = \"\";\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private templateService: TemplatesService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.initializeForm();\r\n this.subscribeToForm();\r\n }\r\n\r\n initializeForm() {\r\n this.mobileTemplateForm = this.formBuilder.group({\r\n phoneNumber: new FormControl(\"\", {\r\n validators: [\r\n Validators.required,\r\n Validators.minLength(9),\r\n Validators.maxLength(9),\r\n this.phoneNumberValidation(this.wrongPhoneNumbers)\r\n ]\r\n }),\r\n name: new FormControl(\"\", { validators: [Validators.required] })\r\n });\r\n }\r\n\r\n subscribeToForm() {\r\n this.formSubscription = this.mobileTemplateForm\r\n .get(\"phoneNumber\")\r\n .valueChanges.subscribe(phoneNumber => {\r\n this.errorMessage = \"\";\r\n this.checkPhoneNumber(phoneNumber);\r\n });\r\n }\r\n\r\n checkPhoneNumber(phoneNumber) {\r\n if (\r\n phoneNumber.length === 9 &&\r\n !this.wrongPhoneNumbers.includes(phoneNumber)\r\n ) {\r\n this.loading = true;\r\n\r\n this.checkPhoneNumberSub = this.templateService\r\n .checkPhoneNumberProvider(phoneNumber)\r\n .subscribe(res => {\r\n this.loading = false;\r\n this.errorMessage = '';\r\n\r\n if (res.errors) {\r\n if (!this.wrongPhoneNumbers.includes(phoneNumber)) {\r\n this.wrongPhoneNumbers.push(phoneNumber);\r\n }\r\n this.errorMessage = res.errors[0].extensions.code;\r\n }\r\n });\r\n }\r\n }\r\n\r\n phoneNumberValidation(array: string[]) {\r\n return (input: FormControl) => {\r\n const value = input.value;\r\n return array.includes(value) ? { wrongPhoneNumber: true } : null;\r\n };\r\n }\r\n\r\n giveInputClasses(input) {\r\n if (\r\n this.mobileTemplateForm.get(input).invalid &&\r\n this.mobileTemplateForm.get(input).touched\r\n ) {\r\n return \"has-error\";\r\n }\r\n }\r\n\r\n submitForm() {\r\n this.markFormGroupTouched(this.mobileTemplateForm);\r\n\r\n if (this.mobileTemplateForm.valid && !this.errorMessage) {\r\n this.addTemplate();\r\n }\r\n }\r\n\r\n markFormGroupTouched(form: FormGroup) {\r\n (Object as any).values(form.controls).forEach(control => {\r\n control.markAsTouched();\r\n });\r\n }\r\n\r\n addTemplate() {\r\n this.loading = true;\r\n\r\n const template = {\r\n template: {\r\n identifiers: [\r\n {\r\n fieldId: \"0\",\r\n fieldValue: this.mobileTemplateForm.controls.phoneNumber.value.toString()\r\n }\r\n ],\r\n type: \"MOBILE\",\r\n isFavorite: false,\r\n serviceId: \"\",\r\n name: this.mobileTemplateForm.controls.name.value\r\n }\r\n };\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if(this.formSubscription){\r\n this.formSubscription.unsubscribe();\r\n }\r\n if (this.checkPhoneNumberSub) {\r\n this.checkPhoneNumberSub.unsubscribe();\r\n }\r\n if(this.addTemplateSub){\r\n this.addTemplateSub.unsubscribe();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

{{ \"TEMPLATES_C.ADD_PHONE_NUMBER_TEMP\" | translate }}

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n

\r\n {{ errorMessage }}\r\n

\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-landing-footer',\r\n templateUrl: './landing-footer.component.html',\r\n styleUrls: ['./landing-footer.component.scss']\r\n})\r\nexport class LandingFooterComponent {\r\n\r\n today:Date=new Date();\r\n\r\n public openPdf(fileName): void {\r\n let baseUrl = \"../../assets/files/\";\r\n if (fileName === \"FAQ\") {\r\n window.open(baseUrl+\"FAQ.pdf\", '_blank');\r\n } else if(fileName==\"TERMS\") {\r\n window.open(baseUrl+\"Terms and Conditions.pdf\",'_blank');\r\n }\r\n }\r\n}\r\n","\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { HomeComponent } from \"./home.component\";\r\nimport { AdsComponent } from \"./ads/ads.component\";\r\nimport { AdsRightComponent } from \"./ads-right/ads-right.component\";\r\nimport { CalendarBoxComponent } from \"./calendar-box/calendar-box.component\";\r\nimport { ExchangeBoxComponent } from \"./exchange-box/exchange-box.component\";\r\nimport { ProductsBoxComponent } from \"./products-box/products-box.component\";\r\nimport { TransferBoxComponent } from \"./transfer-box/transfer-box.component\";\r\nimport { TransactionsBoxComponent } from \"./transactions-box/transactions-box.component\";\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { AccountListMiniComponent } from './products-box/account-list-mini/account-list-mini.component';\r\nimport { LoanListMiniComponent } from './products-box/loan-list-mini/loan-list-mini.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ToSomeoneMiniComponent } from './transfer-box/to-someone-mini/to-someone-mini.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { WeeklyViewBoxComponent } from './calendar-box/weekly-view/weekly-view.component';\r\nimport { MonthlyViewBoxComponent } from './calendar-box/monthly-view/monthly-view.component';\r\nimport { UtilityMiniComponent } from './transfer-box/utility-mini/utility-mini.component';\r\nimport { DepositsListMiniComponent } from './products-box/deposits-list-mini/deposits-list-mini.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent,\r\n AdsComponent,\r\n AdsRightComponent,\r\n CalendarBoxComponent,\r\n WeeklyViewBoxComponent,\r\n MonthlyViewBoxComponent,\r\n ExchangeBoxComponent,\r\n ProductsBoxComponent,\r\n TransferBoxComponent,\r\n TransactionsBoxComponent,\r\n AccountListMiniComponent,\r\n LoanListMiniComponent,\r\n ToSomeoneMiniComponent,\r\n UtilityMiniComponent,\r\n DepositsListMiniComponent,\r\n ],\r\n imports: [\r\n CommonModule, \r\n SharedModule, \r\n RouterModule,\r\n BrowserModule,\r\n FormsModule,\r\n ReactiveFormsModule],\r\n})\r\nexport class HomeModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GraphQLRequestService } from \"src/app/graph-ql-request.service\";\r\nimport gql from \"graphql-tag\";\r\nimport { Subscription, BehaviorSubject } from \"rxjs\";\r\nimport { accountsInfo, accountsInfoResponse } from \"../models/models\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AccountsInfoService {\r\n // Custmer Info variables\r\n accountsInfoSub: Subscription;\r\n accountsInfoLoading: BehaviorSubject = new BehaviorSubject(\r\n false\r\n );\r\n accountsInfoErrorMessage: BehaviorSubject = new BehaviorSubject(\r\n \"\"\r\n );\r\n accountsInfo: BehaviorSubject = new BehaviorSubject(\r\n undefined\r\n );\r\n defaultAccountInfo: BehaviorSubject = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor(private graphQL: GraphQLRequestService) {}\r\n\r\n accountsInfoQuery() {\r\n return this.graphQL.request(gql`\r\n {\r\n customer {\r\n accounts {\r\n account\r\n accountId\r\n accountNumber\r\n availableBalance\r\n availableBalanceEqu\r\n balance\r\n blockedAmount\r\n category\r\n categoryId\r\n currency\r\n currencyPriority\r\n hasCard\r\n status\r\n statusId\r\n }\r\n }\r\n }\r\n `);\r\n }\r\n\r\n fetchAccountsInfo() {\r\n this.accountsInfoLoading.next(true);\r\n this.accountsInfoSub = this.accountsInfoQuery().subscribe(\r\n (res: accountsInfoResponse): any => {\r\n this.accountsInfoLoading.next(false);\r\n if (res.errors) {\r\n this.accountsInfoErrorMessage.next(res.errors[0].extensions.code);\r\n } else {\r\n this.accountsInfoErrorMessage.next(\"\");\r\n this.accountsInfo.next(res.data.customer.accounts);\r\n let temp: any = res.data.customer.accounts;\r\n\r\n this.defaultAccountInfo.next(temp.filter((d: accountsInfo) => false));\r\n }\r\n }\r\n );\r\n }\r\n\r\n clearAccountsInfo() {\r\n if (this.accountsInfo) {\r\n this.accountsInfo = null;\r\n this.accountsInfo = new BehaviorSubject(undefined);\r\n this.defaultAccountInfo = null;\r\n this.defaultAccountInfo = new BehaviorSubject(undefined);\r\n }\r\n if (this.accountsInfoErrorMessage) {\r\n this.accountsInfoErrorMessage.next(\"\");\r\n }\r\n }\r\n}\r\n","import { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AccountsInfoService } from \"src/app/shared/services/accounts-info.service\";\r\n\r\n@Component({\r\n selector: \"app-transactions-box\",\r\n templateUrl: \"./transactions-box.component.html\",\r\n styleUrls: [\"./transactions-box.component.scss\"],\r\n})\r\nexport class TransactionsBoxComponent implements OnInit {\r\n public accountNumber: string;\r\n public startDate;\r\n public endDate;\r\n\r\n private subs = new Subscription();\r\n\r\n constructor(\r\n private accountsInfoService: AccountsInfoService,\r\n private datePipe: DatePipe\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.setDate();\r\n this.subToFirstAccountNumber();\r\n }\r\n private setDate(): void {\r\n let tempStartDate = new Date();\r\n let tempEndDate = new Date();\r\n tempStartDate.setMonth(tempEndDate.getMonth() - 3);\r\n\r\n this.startDate = this.datePipe.transform(tempStartDate, \"yyyy-MM-dd\");\r\n this.endDate = this.datePipe.transform(tempEndDate, \"yyyy-MM-dd\");\r\n }\r\n\r\n private subToFirstAccountNumber(): void {\r\n this.subs.add(\r\n this.accountsInfoService.accountsInfo.subscribe((accountsInfo:any) => {\r\n if(accountsInfo && accountsInfo.length){\r\n this.accountNumber = accountsInfo[0].accountNumber;\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{ \"TRANSACTIONS.RECENT_TRANSACTIONS\" | translate }}\r\n

\r\n
\r\n \r\n
\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","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;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}
\r\n
\r\n
\r\n
\r\n

{{ \"CALENDAR.ADD_EVENT\" | translate }}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ \"CALENDAR.CHOOSE_LABEL\" | translate }}\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {{ \"CALENDAR.CUSTOM\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{ \"GENERAL.DETAILS\" | translate }}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n {{ \"ERROR_CODES.\" + errorMessage | translate }}\r\n

\r\n
\r\n
\r\n